about summary refs log tree commit diff
path: root/web/tvixbolt/Cargo.nix
# This file was @generated by crate2nix 0.14.1 with the command:
#   "generate" "--all-features"
# See https://github.com/kolloch/crate2nix for more info.

{ nixpkgs ? <nixpkgs>
, pkgs ? import nixpkgs { config = { }; }
, lib ? pkgs.lib
, stdenv ? pkgs.stdenv
, buildRustCrateForPkgs ? pkgs: pkgs.buildRustCrate
  # This is used as the `crateOverrides` argument for `buildRustCrate`.
, defaultCrateOverrides ? pkgs.defaultCrateOverrides
  # The features to enable for the root_crate or the workspace_members.
, rootFeatures ? [ "default" ]
  # If true, throw errors instead of issueing deprecation warnings.
, strictDeprecation ? false
  # Elements to add to the `-C target-feature=` argument passed to `rustc`
  # (separated by `,`, prefixed with `+`).
  # Used for conditional compilation based on CPU feature detection.
, targetFeatures ? [ ]
  # Whether to perform release builds: longer compile times, faster binaries.
, release ? true
  # Additional crate2nix configuration if it exists.
, crateConfig ? if builtins.pathExists ./crate-config.nix
  then pkgs.callPackage ./crate-config.nix { }
  else { }
}:

rec {
  #
  # "public" attributes that we attempt to keep stable with new versions of crate2nix.
  #

  rootCrate = rec {
    packageId = "tvixbolt";

    # Use this attribute to refer to the derivation building your root crate package.
    # You can override the features with rootCrate.build.override { features = [ "default" "feature1" ... ]; }.
    build = internal.buildRustCrateWithFeatures {
      inherit packageId;
    };

    # Debug support which might change between releases.
    # File a bug if you depend on any for non-debug work!
    debug = internal.debugCrate { inherit packageId; };
  };
  # Refer your crate build derivation by name here.
  # You can override the features with
  # workspaceMembers."${crateName}".build.override { features = [ "default" "feature1" ... ]; }.
  workspaceMembers = {
    "tvixbolt" = rec {
      packageId = "tvixbolt";
      build = internal.buildRustCrateWithFeatures {
        packageId = "tvixbolt";
      };

      # Debug support which might change between releases.
      # File a bug if you depend on any for non-debug work!
      debug = internal.debugCrate { inherit packageId; };
    };
  };

  # A derivation that joins the outputs of all workspace members together.
  allWorkspaceMembers = pkgs.symlinkJoin {
    name = "all-workspace-members";
    paths =
      let members = builtins.attrValues workspaceMembers;
      in builtins.map (m: m.build) members;
  };

  #
  # "internal" ("private") attributes that may change in every new version of crate2nix.
  #

  internal = rec {
    # Build and dependency information for crates.
    # Many of the fields are passed one-to-one to buildRustCrate.
    #
    # Noteworthy:
    # * `dependencies`/`buildDependencies`: similar to the corresponding fields for buildRustCrate.
    #   but with additional information which is used during dependency/feature resolution.
    # * `resolvedDependencies`: the selected default features reported by cargo - only included for debugging.
    # * `devDependencies` as of now not used by `buildRustCrate` but used to
    #   inject test dependencies into the build

    crates = {
      "addr2line" = rec {
        crateName = "addr2line";
        version = "0.22.0";
        edition = "2018";
        sha256 = "0y66f1sa27i9kvmlh76ynk60rxfrmkba9ja8x527h32wdb206ibf";
        dependencies = [
          {
            name = "gimli";
            packageId = "gimli";
            usesDefaultFeatures = false;
            features = [ "read" ];
          }
        ];
        features = {
          "alloc" = [ "dep:alloc" ];
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "cpp_demangle" = [ "dep:cpp_demangle" ];
          "default" = [ "rustc-demangle" "cpp_demangle" "std-object" "fallible-iterator" "smallvec" "memmap2" ];
          "fallible-iterator" = [ "dep:fallible-iterator" ];
          "memmap2" = [ "dep:memmap2" ];
          "object" = [ "dep:object" ];
          "rustc-demangle" = [ "dep:rustc-demangle" ];
          "rustc-dep-of-std" = [ "core" "alloc" "compiler_builtins" "gimli/rustc-dep-of-std" ];
          "smallvec" = [ "dep:smallvec" ];
          "std" = [ "gimli/std" ];
          "std-object" = [ "std" "object" "object/std" "object/compression" "gimli/endian-reader" ];
        };
      };
      "adler" = rec {
        crateName = "adler";
        version = "1.0.2";
        edition = "2015";
        sha256 = "1zim79cvzd5yrkzl3nyfx0avijwgk9fqv3yrscdy1cc79ih02qpj";
        authors = [
          "Jonas Schievink <jonasschievink@gmail.com>"
        ];
        features = {
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "default" = [ "std" ];
          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
        };
      };
      "aho-corasick" = rec {
        crateName = "aho-corasick";
        version = "1.1.2";
        edition = "2021";
        sha256 = "1w510wnixvlgimkx1zjbvlxh6xps2vjgfqgwf5a6adlbjp5rv5mj";
        libName = "aho_corasick";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        dependencies = [
          {
            name = "memchr";
            packageId = "memchr";
            optional = true;
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "default" = [ "std" "perf-literal" ];
          "logging" = [ "dep:log" ];
          "perf-literal" = [ "dep:memchr" ];
          "std" = [ "memchr?/std" ];
        };
        resolvedDefaultFeatures = [ "default" "perf-literal" "std" ];
      };
      "anymap2" = rec {
        crateName = "anymap2";
        version = "0.13.0";
        edition = "2018";
        sha256 = "031kw3bp0zh2pn9fcayaw0w0gydgpgfhm08pg4yz5cml9jwv60fk";
        authors = [
          "Chris Morgan <me@chrismorgan.info>"
          "Azriel Hoh <azriel91@gmail.com>"
        ];

      };
      "autocfg" = rec {
        crateName = "autocfg";
        version = "1.3.0";
        edition = "2015";
        sha256 = "1c3njkfzpil03k92q0mij5y1pkhhfr4j3bf0h53bgl2vs85lsjqc";
        authors = [
          "Josh Stone <cuviper@gmail.com>"
        ];

      };
      "backtrace" = rec {
        crateName = "backtrace";
        version = "0.3.73";
        edition = "2021";
        sha256 = "02iffg2pkg5nc36pgml8il7f77s138hhjw9f9l56v5zqlilk5hjw";
        authors = [
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "addr2line";
            packageId = "addr2line";
            usesDefaultFeatures = false;
            target = { target, features }: (!((target."windows" or false) && ("msvc" == target."env" or null) && (!("uwp" == target."vendor" or null))));
          }
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "libc";
            packageId = "libc";
            usesDefaultFeatures = false;
            target = { target, features }: (!((target."windows" or false) && ("msvc" == target."env" or null) && (!("uwp" == target."vendor" or null))));
          }
          {
            name = "miniz_oxide";
            packageId = "miniz_oxide";
            usesDefaultFeatures = false;
            target = { target, features }: (!((target."windows" or false) && ("msvc" == target."env" or null) && (!("uwp" == target."vendor" or null))));
          }
          {
            name = "object";
            packageId = "object";
            usesDefaultFeatures = false;
            target = { target, features }: (!((target."windows" or false) && ("msvc" == target."env" or null) && (!("uwp" == target."vendor" or null))));
            features = [ "read_core" "elf" "macho" "pe" "xcoff" "unaligned" "archive" ];
          }
          {
            name = "rustc-demangle";
            packageId = "rustc-demangle";
          }
        ];
        buildDependencies = [
          {
            name = "cc";
            packageId = "cc";
          }
        ];
        features = {
          "cpp_demangle" = [ "dep:cpp_demangle" ];
          "default" = [ "std" ];
          "serde" = [ "dep:serde" ];
          "serialize-serde" = [ "serde" ];
          "verify-winapi" = [ "winapi/dbghelp" "winapi/handleapi" "winapi/libloaderapi" "winapi/memoryapi" "winapi/minwindef" "winapi/processthreadsapi" "winapi/synchapi" "winapi/tlhelp32" "winapi/winbase" "winapi/winnt" "winapi/winnls" "winapi/stringapiset" ];
          "winapi" = [ "dep:winapi" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "bincode" = rec {
        crateName = "bincode";
        version = "1.3.3";
        edition = "2015";
        sha256 = "1bfw3mnwzx5g1465kiqllp5n4r10qrqy88kdlp3jfwnq2ya5xx5i";
        authors = [
          "Ty Overby <ty@pre-alpha.com>"
          "Francesco Mazzoli <f@mazzo.li>"
          "David Tolnay <dtolnay@gmail.com>"
          "Zoey Riordan <zoey@dos.cafe>"
        ];
        dependencies = [
          {
            name = "serde";
            packageId = "serde";
          }
        ];
        features = { };
      };
      "bitflags 1.3.2" = rec {
        crateName = "bitflags";
        version = "1.3.2";
        edition = "2018";
        sha256 = "12ki6w8gn1ldq7yz9y680llwk5gmrhrzszaa17g1sbrw2r2qvwxy";
        authors = [
          "The Rust Project Developers"
        ];
        features = {
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "bitflags 2.4.1" = rec {
        crateName = "bitflags";
        version = "2.4.1";
        edition = "2021";
        sha256 = "01ryy3kd671b0ll4bhdvhsz67vwz1lz53fz504injrd7wpv64xrj";
        authors = [
          "The Rust Project Developers"
        ];
        features = {
          "arbitrary" = [ "dep:arbitrary" ];
          "bytemuck" = [ "dep:bytemuck" ];
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
          "serde" = [ "dep:serde" ];
        };
      };
      "bitmaps" = rec {
        crateName = "bitmaps";
        version = "3.2.0";
        edition = "2021";
        sha256 = "00ql08pm4l9hizkldyy54v0pk96g7zg8x6i72c2vkcq0iawl4dkh";
        authors = [
          "Bodil Stokke <bodil@bodil.org>"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "block-buffer" = rec {
        crateName = "block-buffer";
        version = "0.10.4";
        edition = "2018";
        sha256 = "0w9sa2ypmrsqqvc20nhwr75wbb5cjr4kkyhpjm1z1lv2kdicfy1h";
        libName = "block_buffer";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "generic-array";
            packageId = "generic-array";
          }
        ];

      };
      "boolinator" = rec {
        crateName = "boolinator";
        version = "2.4.0";
        edition = "2015";
        sha256 = "1nccxzb1dfkjfrgzqaw1a90p26zlvv6nah5ckcpj6bn9a4zqga6g";
        authors = [
          "Daniel Keep <daniel.keep@gmail.com>"
        ];

      };
      "bstr" = rec {
        crateName = "bstr";
        version = "1.9.0";
        edition = "2021";
        sha256 = "1p6hzf3wqwwynv6w4pn17jg21amfafph9kb5sfvf1idlli8h13y4";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        dependencies = [
          {
            name = "memchr";
            packageId = "memchr";
            usesDefaultFeatures = false;
          }
          {
            name = "regex-automata";
            packageId = "regex-automata";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "dfa-search" ];
          }
          {
            name = "serde";
            packageId = "serde";
            optional = true;
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "alloc" = [ "memchr/alloc" "serde?/alloc" ];
          "default" = [ "std" "unicode" ];
          "serde" = [ "dep:serde" ];
          "std" = [ "alloc" "memchr/std" "serde?/std" ];
          "unicode" = [ "dep:regex-automata" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "serde" "std" "unicode" ];
      };
      "bumpalo" = rec {
        crateName = "bumpalo";
        version = "3.16.0";
        edition = "2021";
        sha256 = "0b015qb4knwanbdlp1x48pkb4pm57b8gidbhhhxr900q2wb6fabr";
        authors = [
          "Nick Fitzgerald <fitzgen@gmail.com>"
        ];
        features = {
          "allocator-api2" = [ "dep:allocator-api2" ];
          "serde" = [ "dep:serde" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "bytes" = rec {
        crateName = "bytes";
        version = "1.5.0";
        edition = "2018";
        sha256 = "08w2i8ac912l8vlvkv3q51cd4gr09pwlg3sjsjffcizlrb0i5gd2";
        authors = [
          "Carl Lerche <me@carllerche.com>"
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        features = {
          "default" = [ "std" ];
          "serde" = [ "dep:serde" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "cc" = rec {
        crateName = "cc";
        version = "1.1.7";
        edition = "2018";
        sha256 = "1g2w088mkhlyji5cpsw34mzppn5jcb9h2d9sga4y677sggyw7996";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        features = {
          "parallel" = [ "dep:libc" "dep:jobserver" ];
        };
      };
      "cfg-if" = rec {
        crateName = "cfg-if";
        version = "1.0.0";
        edition = "2018";
        sha256 = "1za0vb97n4brpzpv8lsbnzmq5r8f2b0cpqqr0sy8h5bn751xxwds";
        libName = "cfg_if";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        features = {
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
        };
      };
      "codemap" = rec {
        crateName = "codemap";
        version = "0.1.3";
        edition = "2015";
        sha256 = "091azkslwkcijj3lp9ymb084y9a0wm4fkil7m613ja68r2snkrxr";
        authors = [
          "Kevin Mehall <km@kevinmehall.net>"
        ];

      };
      "codemap-diagnostic" = rec {
        crateName = "codemap-diagnostic";
        version = "0.1.2";
        edition = "2015";
        sha256 = "08l1b84bn8r8a72rbvyi2v8a5i0j0kk0a5gr7fb6lmjvw05pf86c";
        libName = "codemap_diagnostic";
        authors = [
          "Kevin Mehall <km@kevinmehall.net>"
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "codemap";
            packageId = "codemap";
          }
          {
            name = "termcolor";
            packageId = "termcolor";
          }
        ];

      };
      "console_error_panic_hook" = rec {
        crateName = "console_error_panic_hook";
        version = "0.1.7";
        edition = "2015";
        sha256 = "1g5v8s0ndycc10mdn6igy914k645pgpcl8vjpz6nvxkhyirynsm0";
        authors = [
          "Nick Fitzgerald <fitzgen@gmail.com>"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
        ];

      };
      "countme" = rec {
        crateName = "countme";
        version = "3.0.1";
        edition = "2018";
        sha256 = "0dn62hhvgmwyxslh14r4nlbvz8h50cp5mnn1qhqsw63vs7yva13p";
        authors = [
          "Aleksey Kladov <aleksey.kladov@gmail.com>"
        ];
        features = {
          "dashmap" = [ "dep:dashmap" ];
          "enable" = [ "dashmap" "once_cell" "rustc-hash" ];
          "once_cell" = [ "dep:once_cell" ];
          "print_at_exit" = [ "enable" ];
          "rustc-hash" = [ "dep:rustc-hash" ];
        };
      };
      "cpufeatures" = rec {
        crateName = "cpufeatures";
        version = "0.2.12";
        edition = "2018";
        sha256 = "012m7rrak4girqlii3jnqwrr73gv1i980q4wra5yyyhvzwk5xzjk";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (stdenv.hostPlatform.rust.rustcTarget == "aarch64-linux-android");
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (("aarch64" == target."arch" or null) && ("linux" == target."os" or null));
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (("aarch64" == target."arch" or null) && ("apple" == target."vendor" or null));
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (("loongarch64" == target."arch" or null) && ("linux" == target."os" or null));
          }
        ];

      };
      "crypto-common" = rec {
        crateName = "crypto-common";
        version = "0.1.6";
        edition = "2018";
        sha256 = "1cvby95a6xg7kxdz5ln3rl9xh66nz66w46mm3g56ri1z5x815yqv";
        libName = "crypto_common";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "generic-array";
            packageId = "generic-array";
            features = [ "more_lengths" ];
          }
          {
            name = "typenum";
            packageId = "typenum";
          }
        ];
        features = {
          "getrandom" = [ "rand_core/getrandom" ];
          "rand_core" = [ "dep:rand_core" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "data-encoding" = rec {
        crateName = "data-encoding";
        version = "2.6.0";
        edition = "2018";
        sha256 = "1qnn68n4vragxaxlkqcb1r28d3hhj43wch67lm4rpxlw89wnjmp8";
        libName = "data_encoding";
        authors = [
          "Julien Cretin <git@ia0.eu>"
        ];
        features = {
          "default" = [ "std" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
      };
      "digest" = rec {
        crateName = "digest";
        version = "0.10.7";
        edition = "2018";
        sha256 = "14p2n6ih29x81akj097lvz7wi9b6b9hvls0lwrv7b6xwyy0s5ncy";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "block-buffer";
            packageId = "block-buffer";
            optional = true;
          }
          {
            name = "crypto-common";
            packageId = "crypto-common";
          }
        ];
        features = {
          "blobby" = [ "dep:blobby" ];
          "block-buffer" = [ "dep:block-buffer" ];
          "const-oid" = [ "dep:const-oid" ];
          "core-api" = [ "block-buffer" ];
          "default" = [ "core-api" ];
          "dev" = [ "blobby" ];
          "mac" = [ "subtle" ];
          "oid" = [ "const-oid" ];
          "rand_core" = [ "crypto-common/rand_core" ];
          "std" = [ "alloc" "crypto-common/std" ];
          "subtle" = [ "dep:subtle" ];
        };
        resolvedDefaultFeatures = [ "alloc" "block-buffer" "core-api" "default" "std" ];
      };
      "dirs" = rec {
        crateName = "dirs";
        version = "4.0.0";
        edition = "2015";
        sha256 = "0n8020zl4f0frfnzvgb9agvk4a14i1kjz4daqnxkgslndwmaffna";
        authors = [
          "Simon Ochsenreither <simon@ochsenreither.de>"
        ];
        dependencies = [
          {
            name = "dirs-sys";
            packageId = "dirs-sys";
          }
        ];

      };
      "dirs-sys" = rec {
        crateName = "dirs-sys";
        version = "0.3.7";
        edition = "2015";
        sha256 = "19md1cnkazham8a6kh22v12d8hh3raqahfk6yb043vrjr68is78v";
        libName = "dirs_sys";
        authors = [
          "Simon Ochsenreither <simon@ochsenreither.de>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "redox_users";
            packageId = "redox_users";
            usesDefaultFeatures = false;
            target = { target, features }: ("redox" == target."os" or null);
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: (target."windows" or false);
            features = [ "knownfolders" "objbase" "shlobj" "winbase" "winerror" ];
          }
        ];

      };
      "either" = rec {
        crateName = "either";
        version = "1.9.0";
        edition = "2018";
        sha256 = "01qy3anr7jal5lpc20791vxrw0nl6vksb5j7x56q2fycgcyy8sm2";
        authors = [
          "bluss"
        ];
        features = {
          "default" = [ "use_std" ];
          "serde" = [ "dep:serde" ];
        };
        resolvedDefaultFeatures = [ "use_std" ];
      };
      "equivalent" = rec {
        crateName = "equivalent";
        version = "1.0.1";
        edition = "2015";
        sha256 = "1malmx5f4lkfvqasz319lq6gb3ddg19yzf9s8cykfsgzdmyq0hsl";

      };
      "fnv" = rec {
        crateName = "fnv";
        version = "1.0.7";
        edition = "2015";
        sha256 = "1hc2mcqha06aibcaza94vbi81j6pr9a1bbxrxjfhc91zin8yr7iz";
        libPath = "lib.rs";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "form_urlencoded" = rec {
        crateName = "form_urlencoded";
        version = "1.2.1";
        edition = "2018";
        sha256 = "0milh8x7nl4f450s3ddhg57a3flcv6yq8hlkyk6fyr3mcb128dp1";
        authors = [
          "The rust-url developers"
        ];
        dependencies = [
          {
            name = "percent-encoding";
            packageId = "percent-encoding";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "alloc" = [ "percent-encoding/alloc" ];
          "default" = [ "std" ];
          "std" = [ "alloc" "percent-encoding/std" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
      };
      "futures" = rec {
        crateName = "futures";
        version = "0.3.30";
        edition = "2018";
        sha256 = "1c04g14bccmprwsvx2j9m2blhwrynq7vhl151lsvcv4gi0b6jp34";
        dependencies = [
          {
            name = "futures-channel";
            packageId = "futures-channel";
            usesDefaultFeatures = false;
            features = [ "sink" ];
          }
          {
            name = "futures-core";
            packageId = "futures-core";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-io";
            packageId = "futures-io";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-sink";
            packageId = "futures-sink";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-task";
            packageId = "futures-task";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-util";
            packageId = "futures-util";
            usesDefaultFeatures = false;
            features = [ "sink" ];
          }
        ];
        features = {
          "alloc" = [ "futures-core/alloc" "futures-task/alloc" "futures-sink/alloc" "futures-channel/alloc" "futures-util/alloc" ];
          "async-await" = [ "futures-util/async-await" "futures-util/async-await-macro" ];
          "bilock" = [ "futures-util/bilock" ];
          "compat" = [ "std" "futures-util/compat" ];
          "default" = [ "std" "async-await" "executor" ];
          "executor" = [ "std" "futures-executor/std" ];
          "futures-executor" = [ "dep:futures-executor" ];
          "io-compat" = [ "compat" "futures-util/io-compat" ];
          "std" = [ "alloc" "futures-core/std" "futures-task/std" "futures-io/std" "futures-sink/std" "futures-util/std" "futures-util/io" "futures-util/channel" ];
          "thread-pool" = [ "executor" "futures-executor/thread-pool" ];
          "unstable" = [ "futures-core/unstable" "futures-task/unstable" "futures-channel/unstable" "futures-io/unstable" "futures-util/unstable" ];
          "write-all-vectored" = [ "futures-util/write-all-vectored" ];
        };
        resolvedDefaultFeatures = [ "alloc" "async-await" "std" ];
      };
      "futures-channel" = rec {
        crateName = "futures-channel";
        version = "0.3.30";
        edition = "2018";
        sha256 = "0y6b7xxqdjm9hlcjpakcg41qfl7lihf6gavk8fyqijsxhvbzgj7a";
        libName = "futures_channel";
        dependencies = [
          {
            name = "futures-core";
            packageId = "futures-core";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-sink";
            packageId = "futures-sink";
            optional = true;
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "alloc" = [ "futures-core/alloc" ];
          "default" = [ "std" ];
          "futures-sink" = [ "dep:futures-sink" ];
          "sink" = [ "futures-sink" ];
          "std" = [ "alloc" "futures-core/std" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "futures-sink" "sink" "std" ];
      };
      "futures-core" = rec {
        crateName = "futures-core";
        version = "0.3.30";
        edition = "2018";
        sha256 = "07aslayrn3lbggj54kci0ishmd1pr367fp7iks7adia1p05miinz";
        libName = "futures_core";
        features = {
          "default" = [ "std" ];
          "portable-atomic" = [ "dep:portable-atomic" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
      };
      "futures-io" = rec {
        crateName = "futures-io";
        version = "0.3.30";
        edition = "2018";
        sha256 = "1hgh25isvsr4ybibywhr4dpys8mjnscw4wfxxwca70cn1gi26im4";
        libName = "futures_io";
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "futures-macro" = rec {
        crateName = "futures-macro";
        version = "0.3.30";
        edition = "2018";
        sha256 = "1b49qh9d402y8nka4q6wvvj0c88qq91wbr192mdn5h54nzs0qxc7";
        procMacro = true;
        libName = "futures_macro";
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn 2.0.68";
            features = [ "full" ];
          }
        ];

      };
      "futures-sink" = rec {
        crateName = "futures-sink";
        version = "0.3.30";
        edition = "2018";
        sha256 = "1dag8xyyaya8n8mh8smx7x6w2dpmafg2din145v973a3hw7f1f4z";
        libName = "futures_sink";
        features = {
          "default" = [ "std" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
      };
      "futures-task" = rec {
        crateName = "futures-task";
        version = "0.3.30";
        edition = "2018";
        sha256 = "013h1724454hj8qczp8vvs10qfiqrxr937qsrv6rhii68ahlzn1q";
        libName = "futures_task";
        features = {
          "default" = [ "std" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "std" ];
      };
      "futures-util" = rec {
        crateName = "futures-util";
        version = "0.3.30";
        edition = "2018";
        sha256 = "0j0xqhcir1zf2dcbpd421kgw6wvsk0rpxflylcysn1rlp3g02r1x";
        libName = "futures_util";
        dependencies = [
          {
            name = "futures-channel";
            packageId = "futures-channel";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
          {
            name = "futures-core";
            packageId = "futures-core";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-io";
            packageId = "futures-io";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
          {
            name = "futures-macro";
            packageId = "futures-macro";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "futures-sink";
            packageId = "futures-sink";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "futures-task";
            packageId = "futures-task";
            usesDefaultFeatures = false;
          }
          {
            name = "memchr";
            packageId = "memchr";
            optional = true;
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
          {
            name = "pin-utils";
            packageId = "pin-utils";
          }
          {
            name = "slab";
            packageId = "slab";
            optional = true;
          }
        ];
        features = {
          "alloc" = [ "futures-core/alloc" "futures-task/alloc" ];
          "async-await-macro" = [ "async-await" "futures-macro" ];
          "channel" = [ "std" "futures-channel" ];
          "compat" = [ "std" "futures_01" ];
          "default" = [ "std" "async-await" "async-await-macro" ];
          "futures-channel" = [ "dep:futures-channel" ];
          "futures-io" = [ "dep:futures-io" ];
          "futures-macro" = [ "dep:futures-macro" ];
          "futures-sink" = [ "dep:futures-sink" ];
          "futures_01" = [ "dep:futures_01" ];
          "io" = [ "std" "futures-io" "memchr" ];
          "io-compat" = [ "io" "compat" "tokio-io" ];
          "memchr" = [ "dep:memchr" ];
          "portable-atomic" = [ "futures-core/portable-atomic" ];
          "sink" = [ "futures-sink" ];
          "slab" = [ "dep:slab" ];
          "std" = [ "alloc" "futures-core/std" "futures-task/std" "slab" ];
          "tokio-io" = [ "dep:tokio-io" ];
          "unstable" = [ "futures-core/unstable" "futures-task/unstable" ];
          "write-all-vectored" = [ "io" ];
        };
        resolvedDefaultFeatures = [ "alloc" "async-await" "async-await-macro" "channel" "futures-channel" "futures-io" "futures-macro" "futures-sink" "io" "memchr" "sink" "slab" "std" ];
      };
      "genawaiter" = rec {
        crateName = "genawaiter";
        version = "0.99.1";
        edition = "2018";
        sha256 = "1861a6vy9lc9a8lbw496m9j9jcjcn9nf7rkm6jqkkpnb3cvd0sy8";
        authors = [
          "John Simon <john@whatisaph.one>"
        ];
        dependencies = [
          {
            name = "genawaiter-macro";
            packageId = "genawaiter-macro";
          }
        ];
        features = {
          "default" = [ "proc_macro" ];
          "futures-core" = [ "dep:futures-core" ];
          "futures03" = [ "futures-core" ];
          "genawaiter-proc-macro" = [ "dep:genawaiter-proc-macro" ];
          "proc-macro-hack" = [ "dep:proc-macro-hack" ];
          "proc_macro" = [ "genawaiter-proc-macro" "proc-macro-hack" "genawaiter-macro/proc_macro" ];
        };
      };
      "genawaiter-macro" = rec {
        crateName = "genawaiter-macro";
        version = "0.99.1";
        edition = "2018";
        sha256 = "1g6zmr88fk48f1ksz9ik1i2mwjsiam9s4p9aybhvs2zwzphxychb";
        libName = "genawaiter_macro";
        authors = [
          "Devin R <devin.ragotzy@gmail.com>"
        ];
        features = { };
      };
      "generic-array" = rec {
        crateName = "generic-array";
        version = "0.14.7";
        edition = "2015";
        sha256 = "16lyyrzrljfq424c3n8kfwkqihlimmsg5nhshbbp48np3yjrqr45";
        libName = "generic_array";
        authors = [
          "Bartล‚omiej Kamiล„ski <fizyk20@gmail.com>"
          "Aaron Trent <novacrazy@gmail.com>"
        ];
        dependencies = [
          {
            name = "typenum";
            packageId = "typenum";
          }
        ];
        buildDependencies = [
          {
            name = "version_check";
            packageId = "version_check";
          }
        ];
        features = {
          "serde" = [ "dep:serde" ];
          "zeroize" = [ "dep:zeroize" ];
        };
        resolvedDefaultFeatures = [ "more_lengths" ];
      };
      "getrandom" = rec {
        crateName = "getrandom";
        version = "0.2.15";
        edition = "2018";
        sha256 = "1mzlnrb3dgyd1fb84gvw10pyr8wdqdl4ry4sr64i1s8an66pqmn4";
        authors = [
          "The Rand Project Developers"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "js-sys";
            packageId = "js-sys";
            optional = true;
            target = { target, features }: ((("wasm32" == target."arch" or null) || ("wasm64" == target."arch" or null)) && ("unknown" == target."os" or null));
          }
          {
            name = "libc";
            packageId = "libc";
            usesDefaultFeatures = false;
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "wasi";
            packageId = "wasi";
            usesDefaultFeatures = false;
            target = { target, features }: ("wasi" == target."os" or null);
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
            optional = true;
            usesDefaultFeatures = false;
            target = { target, features }: ((("wasm32" == target."arch" or null) || ("wasm64" == target."arch" or null)) && ("unknown" == target."os" or null));
          }
        ];
        features = {
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "js" = [ "wasm-bindgen" "js-sys" ];
          "js-sys" = [ "dep:js-sys" ];
          "rustc-dep-of-std" = [ "compiler_builtins" "core" "libc/rustc-dep-of-std" "wasi/rustc-dep-of-std" ];
          "wasm-bindgen" = [ "dep:wasm-bindgen" ];
        };
        resolvedDefaultFeatures = [ "js" "js-sys" "std" "wasm-bindgen" ];
      };
      "gimli" = rec {
        crateName = "gimli";
        version = "0.29.0";
        edition = "2018";
        sha256 = "1zgzprnjaawmg6zyic4f2q2hc39kdhn116qnkqpgvsasgc3x9v20";
        features = {
          "default" = [ "read-all" "write" ];
          "endian-reader" = [ "read" "dep:stable_deref_trait" ];
          "fallible-iterator" = [ "dep:fallible-iterator" ];
          "read" = [ "read-core" ];
          "read-all" = [ "read" "std" "fallible-iterator" "endian-reader" ];
          "rustc-dep-of-std" = [ "dep:core" "dep:alloc" "dep:compiler_builtins" ];
          "std" = [ "fallible-iterator?/std" "stable_deref_trait?/std" ];
          "write" = [ "dep:indexmap" ];
        };
        resolvedDefaultFeatures = [ "read" "read-core" ];
      };
      "gloo 0.10.0" = rec {
        crateName = "gloo";
        version = "0.10.0";
        edition = "2021";
        sha256 = "0j82hwfn6ibqla1q849vhsmxnxw6wmnjkmmffzdw2mfc51n54dfd";
        authors = [
          "Rust and WebAssembly Working Group"
        ];
        dependencies = [
          {
            name = "gloo-console";
            packageId = "gloo-console 0.3.0";
            optional = true;
          }
          {
            name = "gloo-dialogs";
            packageId = "gloo-dialogs 0.2.0";
            optional = true;
          }
          {
            name = "gloo-events";
            packageId = "gloo-events 0.2.0";
            optional = true;
          }
          {
            name = "gloo-file";
            packageId = "gloo-file 0.3.0";
            optional = true;
          }
          {
            name = "gloo-history";
            packageId = "gloo-history 0.2.2";
            optional = true;
          }
          {
            name = "gloo-net";
            packageId = "gloo-net 0.4.0";
            optional = true;
          }
          {
            name = "gloo-render";
            packageId = "gloo-render 0.2.0";
            optional = true;
          }
          {
            name = "gloo-storage";
            packageId = "gloo-storage 0.3.0";
            optional = true;
          }
          {
            name = "gloo-timers";
            packageId = "gloo-timers 0.3.0";
            optional = true;
          }
          {
            name = "gloo-utils";
            packageId = "gloo-utils 0.2.0";
            optional = true;
          }
          {
            name = "gloo-worker";
            packageId = "gloo-worker 0.4.0";
            optional = true;
          }
        ];
        features = {
          "console" = [ "gloo-console" ];
          "default" = [ "timers" "events" "file" "dialogs" "storage" "render" "console" "utils" "history" "worker" "net" ];
          "dialogs" = [ "gloo-dialogs" ];
          "events" = [ "gloo-events" ];
          "file" = [ "gloo-file" ];
          "futures" = [ "timers" "file" "worker" "gloo-timers/futures" "gloo-file/futures" "gloo-worker/futures" ];
          "gloo-console" = [ "dep:gloo-console" ];
          "gloo-dialogs" = [ "dep:gloo-dialogs" ];
          "gloo-events" = [ "dep:gloo-events" ];
          "gloo-file" = [ "dep:gloo-file" ];
          "gloo-history" = [ "dep:gloo-history" ];
          "gloo-net" = [ "dep:gloo-net" ];
          "gloo-render" = [ "dep:gloo-render" ];
          "gloo-storage" = [ "dep:gloo-storage" ];
          "gloo-timers" = [ "dep:gloo-timers" ];
          "gloo-utils" = [ "dep:gloo-utils" ];
          "gloo-worker" = [ "dep:gloo-worker" ];
          "history" = [ "gloo-history" ];
          "net" = [ "gloo-net" ];
          "render" = [ "gloo-render" ];
          "storage" = [ "gloo-storage" ];
          "timers" = [ "gloo-timers" ];
          "utils" = [ "gloo-utils" ];
          "worker" = [ "gloo-worker" ];
        };
        resolvedDefaultFeatures = [ "console" "default" "dialogs" "events" "file" "futures" "gloo-console" "gloo-dialogs" "gloo-events" "gloo-file" "gloo-history" "gloo-net" "gloo-render" "gloo-storage" "gloo-timers" "gloo-utils" "gloo-worker" "history" "net" "render" "storage" "timers" "utils" "worker" ];
      };
      "gloo 0.8.1" = rec {
        crateName = "gloo";
        version = "0.8.1";
        edition = "2018";
        sha256 = "0kdr8ahxl77fby89fvfwq13kqqyyw63pnjpv6gynz4gnbvd9r698";
        authors = [
          "Rust and WebAssembly Working Group"
        ];
        dependencies = [
          {
            name = "gloo-console";
            packageId = "gloo-console 0.2.3";
            optional = true;
          }
          {
            name = "gloo-dialogs";
            packageId = "gloo-dialogs 0.1.1";
            optional = true;
          }
          {
            name = "gloo-events";
            packageId = "gloo-events 0.1.2";
            optional = true;
          }
          {
            name = "gloo-file";
            packageId = "gloo-file 0.2.3";
            optional = true;
          }
          {
            name = "gloo-history";
            packageId = "gloo-history 0.1.5";
            optional = true;
          }
          {
            name = "gloo-net";
            packageId = "gloo-net 0.3.1";
            optional = true;
          }
          {
            name = "gloo-render";
            packageId = "gloo-render 0.1.1";
            optional = true;
          }
          {
            name = "gloo-storage";
            packageId = "gloo-storage 0.2.2";
            optional = true;
          }
          {
            name = "gloo-timers";
            packageId = "gloo-timers 0.2.6";
            optional = true;
          }
          {
            name = "gloo-utils";
            packageId = "gloo-utils 0.1.7";
            optional = true;
          }
          {
            name = "gloo-worker";
            packageId = "gloo-worker 0.2.1";
            optional = true;
          }
        ];
        features = {
          "console" = [ "gloo-console" ];
          "default" = [ "timers" "events" "file" "dialogs" "storage" "render" "console" "utils" "history" "worker" "net" ];
          "dialogs" = [ "gloo-dialogs" ];
          "events" = [ "gloo-events" ];
          "file" = [ "gloo-file" ];
          "futures" = [ "timers" "file" "worker" "gloo-timers/futures" "gloo-file/futures" "gloo-worker/futures" ];
          "gloo-console" = [ "dep:gloo-console" ];
          "gloo-dialogs" = [ "dep:gloo-dialogs" ];
          "gloo-events" = [ "dep:gloo-events" ];
          "gloo-file" = [ "dep:gloo-file" ];
          "gloo-history" = [ "dep:gloo-history" ];
          "gloo-net" = [ "dep:gloo-net" ];
          "gloo-render" = [ "dep:gloo-render" ];
          "gloo-storage" = [ "dep:gloo-storage" ];
          "gloo-timers" = [ "dep:gloo-timers" ];
          "gloo-utils" = [ "dep:gloo-utils" ];
          "gloo-worker" = [ "dep:gloo-worker" ];
          "history" = [ "gloo-history" ];
          "net" = [ "gloo-net" ];
          "render" = [ "gloo-render" ];
          "storage" = [ "gloo-storage" ];
          "timers" = [ "gloo-timers" ];
          "utils" = [ "gloo-utils" ];
          "worker" = [ "gloo-worker" ];
        };
        resolvedDefaultFeatures = [ "console" "default" "dialogs" "events" "file" "gloo-console" "gloo-dialogs" "gloo-events" "gloo-file" "gloo-history" "gloo-net" "gloo-render" "gloo-storage" "gloo-timers" "gloo-utils" "gloo-worker" "history" "net" "render" "storage" "timers" "utils" "worker" ];
      };
      "gloo-console 0.2.3" = rec {
        crateName = "gloo-console";
        version = "0.2.3";
        edition = "2018";
        sha256 = "0gqd35vn0i5y6hzfrsb2i032p1j832c08sar6dr19gny0lycxdw2";
        libName = "gloo_console";
        authors = [
          "Rust and WebAssembly Working Group"
        ];
        dependencies = [
          {
            name = "gloo-utils";
            packageId = "gloo-utils 0.1.7";
            features = [ "serde" ];
          }
          {
            name = "js-sys";
            packageId = "js-sys";
          }
          {
            name = "serde";
            packageId = "serde";
            features = [ "derive" ];
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            features = [ "console" "Document" ];
          }
        ];

      };
      "gloo-console 0.3.0" = rec {
        crateName = "gloo-console";
        version = "0.3.0";
        edition = "2021";
        sha256 = "0qg24wbvql0bsr980hbrm0pi11c3jmlwpj0pgdklz8mlas7qc5ra";
        libName = "gloo_console";
        authors = [
          "Rust and WebAssembly Working Group"
        ];
        dependencies = [
          {
            name = "gloo-utils";
            packageId = "gloo-utils 0.2.0";
            features = [ "serde" ];
          }
          {
            name = "js-sys";
            packageId = "js-sys";
          }
          {
            name = "serde";
            packageId = "serde";
            features = [ "derive" ];
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            features = [ "console" "Document" ];
          }
        ];

      };
      "gloo-dialogs 0.1.1" = rec {
        crateName = "gloo-dialogs";
        version = "0.1.1";
        edition = "2018";
        sha256 = "1rh2j0l8rbj8pbypxqy99qi2x3hq52sclijs8h47zlkjmij261k7";
        libName = "gloo_dialogs";
        authors = [
          "Rust and WebAssembly Working Group"
        ];
        dependencies = [
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            features = [ "Window" ];
          }
        ];

      };
      "gloo-dialogs 0.2.0" = rec {
        crateName = "gloo-dialogs";
        version = "0.2.0";
        edition = "2021";
        sha256 = "1pqmg2z3x4c3id25jd0p8rjwy5qjbc4k1x8gflsi9c1207hlhixz";
        libName = "gloo_dialogs";
        authors = [
          "Rust and WebAssembly Working Group"
        ];
        dependencies = [
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            features = [ "Window" ];
          }
        ];

      };
      "gloo-events 0.1.2" = rec {
        crateName = "gloo-events";
        version = "0.1.2";
        edition = "2018";
        sha256 = "1z4j14r2lim77s0jm1dpk306jyycmx2kirid33j0b0gdmgw0gcb8";
        libName = "gloo_events";
        authors = [
          "Rust and WebAssembly Working Group"
        ];
        dependencies = [
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            features = [ "Event" "EventTarget" "AddEventListenerOptions" ];
          }
        ];
        devDependencies = [
          {
            name = "web-sys";
            packageId = "web-sys";
            features = [ "HtmlElement" "Window" "Document" "Element" "MouseEvent" "ProgressEvent" ];
          }
        ];

      };
      "gloo-events 0.2.0" = rec {
        crateName = "gloo-events";
        version = "0.2.0";
        edition = "2021";
        sha256 = "0h8yr4n1pvwp4rr87835w14kjdkycyn8gypmh2lmnf3wbys6zhi7";
        libName = "gloo_events";
        authors = [
          "Rust and WebAssembly Working Group"
        ];
        dependencies = [
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            features = [ "Event" "EventTarget" "AddEventListenerOptions" ];
          }
        ];
        devDependencies = [
          {
            name = "web-sys";
            packageId = "web-sys";
            features = [ "HtmlElement" "Window" "Document" "Element" "MouseEvent" "ProgressEvent" ];
          }
        ];

      };
      "gloo-file 0.2.3" = rec {
        crateName = "gloo-file";
        version = "0.2.3";
        edition = "2018";
        sha256 = "1mxnd7l8gglv5yqhah6ny329hc0c98vn7h5xg0yv8f0aax75dmd8";
        libName = "gloo_file";
        authors = [
          "Rust and WebAssembly Working Group"
        ];
        dependencies = [
          {
            name = "gloo-events";
            packageId = "gloo-events 0.1.2";
          }
          {
            name = "js-sys";
            packageId = "js-sys";
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            features = [ "Blob" "File" "FileList" "FileReader" "HtmlInputElement" "BlobPropertyBag" "FilePropertyBag" "DomException" "Url" ];
          }
        ];
        devDependencies = [
          {
            name = "web-sys";
            packageId = "web-sys";
            features = [ "Window" "Response" ];
          }
        ];
        features = {
          "futures" = [ "futures-channel" ];
          "futures-channel" = [ "dep:futures-channel" ];
          "mime" = [ "dep:mime" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "gloo-file 0.3.0" = rec {
        crateName = "gloo-file";
        version = "0.3.0";
        edition = "2021";
        sha256 = "07xxainnnrg6l3ccw2bvqiz4m76ih557aklp5r5q5cizhrqksmlp";
        libName = "gloo_file";
        authors = [
          "Rust and WebAssembly Working Group"
        ];
        dependencies = [
          {
            name = "futures-channel";
            packageId = "futures-channel";
            optional = true;
          }
          {
            name = "gloo-events";
            packageId = "gloo-events 0.2.0";
          }
          {
            name = "js-sys";
            packageId = "js-sys";
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            features = [ "Blob" "File" "FileList" "FileReader" "HtmlInputElement" "BlobPropertyBag" "FilePropertyBag" "DomException" "Url" ];
          }
        ];
        devDependencies = [
          {
            name = "web-sys";
            packageId = "web-sys";
            features = [ "Window" "Response" ];
          }
        ];
        features = {
          "futures" = [ "futures-channel" ];
          "futures-channel" = [ "dep:futures-channel" ];
          "mime" = [ "dep:mime" ];
        };
        resolvedDefaultFeatures = [ "default" "futures" "futures-channel" ];
      };
      "gloo-history 0.1.5" = rec {
        crateName = "gloo-history";
        version = "0.1.5";
        edition = "2018";
        sha256 = "0zsy3m5bgah8hyd95sc9b68afn1nhs7g43lkndip1m0fpy85swl5";
        libName = "gloo_history";
        authors = [
          "Rust and WebAssembly Working Group"
        ];
        dependencies = [
          {
            name = "gloo-events";
            packageId = "gloo-events 0.1.2";
          }
          {
            name = "gloo-utils";
            packageId = "gloo-utils 0.1.7";
          }
          {
            name = "serde";
            packageId = "serde";
            features = [ "derive" ];
          }
          {
            name = "serde-wasm-bindgen";
            packageId = "serde-wasm-bindgen 0.5.0";
          }
          {
            name = "serde_urlencoded";
            packageId = "serde_urlencoded";
            optional = true;
          }
          {
            name = "thiserror";
            packageId = "thiserror";
            optional = true;
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            features = [ "History" "Window" "Location" "Url" ];
          }
        ];
        features = {
          "default" = [ "query" ];
          "query" = [ "thiserror" "serde_urlencoded" ];
          "serde_urlencoded" = [ "dep:serde_urlencoded" ];
          "thiserror" = [ "dep:thiserror" ];
        };
        resolvedDefaultFeatures = [ "default" "query" "serde_urlencoded" "thiserror" ];
      };
      "gloo-history 0.2.2" = rec {
        crateName = "gloo-history";
        version = "0.2.2";
        edition = "2021";
        sha256 = "1mhphqywgbqj4agpi4zyc4hah12nys7085jymiz44d5swlml6gwh";
        libName = "gloo_history";
        authors = [
          "Rust and WebAssembly Working Group"
        ];
        dependencies = [
          {
            name = "getrandom";
            packageId = "getrandom";
            target = { target, features }: ("wasm32" == target."arch" or null);
            features = [ "js" ];
          }
          {
            name = "gloo-events";
            packageId = "gloo-events 0.2.0";
          }
          {
            name = "gloo-utils";
            packageId = "gloo-utils 0.2.0";
          }
          {
            name = "serde";
            packageId = "serde";
            features = [ "derive" ];
          }
          {
            name = "serde-wasm-bindgen";
            packageId = "serde-wasm-bindgen 0.6.5";
          }
          {
            name = "serde_urlencoded";
            packageId = "serde_urlencoded";
            optional = true;
          }
          {
            name = "thiserror";
            packageId = "thiserror";
            optional = true;
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            features = [ "History" "Window" "Location" "Url" ];
          }
        ];
        features = {
          "default" = [ "query" ];
          "query" = [ "thiserror" "serde_urlencoded" ];
          "serde_urlencoded" = [ "dep:serde_urlencoded" ];
          "thiserror" = [ "dep:thiserror" ];
        };
        resolvedDefaultFeatures = [ "default" "query" "serde_urlencoded" "thiserror" ];
      };
      "gloo-net 0.3.1" = rec {
        crateName = "gloo-net";
        version = "0.3.1";
        edition = "2018";
        sha256 = "0866ih3bff7dwxdfc813pk5nwz2ayyqwi5vbzlax7n4ygly4wsx6";
        libName = "gloo_net";
        authors = [
          "Rust and WebAssembly Working Group"
          "Muhammad Hamza <muhammadhamza1311@gmail.com>"
        ];
        dependencies = [
          {
            name = "futures-channel";
            packageId = "futures-channel";
            optional = true;
          }
          {
            name = "futures-core";
            packageId = "futures-core";
            optional = true;
          }
          {
            name = "futures-sink";
            packageId = "futures-sink";
            optional = true;
          }
          {
            name = "gloo-utils";
            packageId = "gloo-utils 0.1.7";
            usesDefaultFeatures = false;
          }
          {
            name = "http";
            packageId = "http";
          }
          {
            name = "js-sys";
            packageId = "js-sys";
          }
          {
            name = "pin-project";
            packageId = "pin-project";
            optional = true;
          }
          {
            name = "serde";
            packageId = "serde";
            optional = true;
          }
          {
            name = "serde_json";
            packageId = "serde_json";
            optional = true;
          }
          {
            name = "thiserror";
            packageId = "thiserror";
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
          {
            name = "wasm-bindgen-futures";
            packageId = "wasm-bindgen-futures";
          }
          {
            name = "web-sys";
            packageId = "web-sys";
          }
        ];
        devDependencies = [
          {
            name = "serde";
            packageId = "serde";
            features = [ "derive" ];
          }
        ];
        features = {
          "default" = [ "json" "websocket" "http" "eventsource" ];
          "eventsource" = [ "futures-channel" "futures-core" "pin-project" "web-sys/Event" "web-sys/EventTarget" "web-sys/EventSource" "web-sys/MessageEvent" ];
          "futures-channel" = [ "dep:futures-channel" ];
          "futures-core" = [ "dep:futures-core" ];
          "futures-sink" = [ "dep:futures-sink" ];
          "http" = [ "web-sys/Headers" "web-sys/UrlSearchParams" "web-sys/Url" "web-sys/Request" "web-sys/RequestInit" "web-sys/RequestMode" "web-sys/Response" "web-sys/ResponseInit" "web-sys/ResponseType" "web-sys/Window" "web-sys/RequestCache" "web-sys/RequestCredentials" "web-sys/ObserverCallback" "web-sys/RequestRedirect" "web-sys/ReferrerPolicy" "web-sys/AbortSignal" "web-sys/ReadableStream" "web-sys/Blob" "web-sys/FormData" "web-sys/WorkerGlobalScope" ];
          "json" = [ "serde" "serde_json" "gloo-utils/serde" ];
          "pin-project" = [ "dep:pin-project" ];
          "serde" = [ "dep:serde" ];
          "serde_json" = [ "dep:serde_json" ];
          "websocket" = [ "web-sys/WebSocket" "web-sys/AddEventListenerOptions" "web-sys/ErrorEvent" "web-sys/FileReader" "web-sys/MessageEvent" "web-sys/ProgressEvent" "web-sys/CloseEvent" "web-sys/CloseEventInit" "web-sys/BinaryType" "web-sys/Blob" "futures-channel" "futures-core" "futures-sink" "pin-project" ];
        };
        resolvedDefaultFeatures = [ "default" "eventsource" "futures-channel" "futures-core" "futures-sink" "http" "json" "pin-project" "serde" "serde_json" "websocket" ];
      };
      "gloo-net 0.4.0" = rec {
        crateName = "gloo-net";
        version = "0.4.0";
        edition = "2021";
        sha256 = "1i3x5fvp07valrxjsa25ycq1b2p3pxqaqmw6kzx35ip2i8lfijca";
        libName = "gloo_net";
        authors = [
          "Rust and WebAssembly Working Group"
          "Muhammad Hamza <muhammadhamza1311@gmail.com>"
        ];
        dependencies = [
          {
            name = "futures-channel";
            packageId = "futures-channel";
            optional = true;
          }
          {
            name = "futures-core";
            packageId = "futures-core";
            optional = true;
          }
          {
            name = "futures-sink";
            packageId = "futures-sink";
            optional = true;
          }
          {
            name = "gloo-utils";
            packageId = "gloo-utils 0.2.0";
            usesDefaultFeatures = false;
          }
          {
            name = "http";
            packageId = "http";
          }
          {
            name = "js-sys";
            packageId = "js-sys";
          }
          {
            name = "pin-project";
            packageId = "pin-project";
            optional = true;
          }
          {
            name = "serde";
            packageId = "serde";
            optional = true;
          }
          {
            name = "serde_json";
            packageId = "serde_json";
            optional = true;
          }
          {
            name = "thiserror";
            packageId = "thiserror";
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
          {
            name = "wasm-bindgen-futures";
            packageId = "wasm-bindgen-futures";
          }
          {
            name = "web-sys";
            packageId = "web-sys";
          }
        ];
        devDependencies = [
          {
            name = "serde";
            packageId = "serde";
            features = [ "derive" ];
          }
        ];
        features = {
          "default" = [ "json" "websocket" "http" "eventsource" ];
          "eventsource" = [ "futures-channel" "futures-core" "pin-project" "web-sys/Event" "web-sys/EventTarget" "web-sys/EventSource" "web-sys/MessageEvent" ];
          "futures-channel" = [ "dep:futures-channel" ];
          "futures-core" = [ "dep:futures-core" ];
          "futures-sink" = [ "dep:futures-sink" ];
          "http" = [ "web-sys/Headers" "web-sys/UrlSearchParams" "web-sys/Url" "web-sys/Request" "web-sys/RequestInit" "web-sys/RequestMode" "web-sys/Response" "web-sys/ResponseInit" "web-sys/ResponseType" "web-sys/Window" "web-sys/RequestCache" "web-sys/RequestCredentials" "web-sys/ObserverCallback" "web-sys/RequestRedirect" "web-sys/ReferrerPolicy" "web-sys/AbortSignal" "web-sys/ReadableStream" "web-sys/Blob" "web-sys/FormData" "web-sys/WorkerGlobalScope" ];
          "json" = [ "serde" "serde_json" "gloo-utils/serde" ];
          "pin-project" = [ "dep:pin-project" ];
          "serde" = [ "dep:serde" ];
          "serde_json" = [ "dep:serde_json" ];
          "websocket" = [ "web-sys/WebSocket" "web-sys/AddEventListenerOptions" "web-sys/ErrorEvent" "web-sys/FileReader" "web-sys/MessageEvent" "web-sys/ProgressEvent" "web-sys/CloseEvent" "web-sys/CloseEventInit" "web-sys/BinaryType" "web-sys/Blob" "futures-channel" "futures-core" "futures-sink" "pin-project" ];
        };
        resolvedDefaultFeatures = [ "default" "eventsource" "futures-channel" "futures-core" "futures-sink" "http" "json" "pin-project" "serde" "serde_json" "websocket" ];
      };
      "gloo-render 0.1.1" = rec {
        crateName = "gloo-render";
        version = "0.1.1";
        edition = "2018";
        sha256 = "0r3pxj22l489ldakj6521a0f0n1r9v8xrai3k12d9kv7xxm31n9g";
        libName = "gloo_render";
        authors = [
          "Rust and WebAssembly Working Group"
        ];
        dependencies = [
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            features = [ "Window" ];
          }
        ];

      };
      "gloo-render 0.2.0" = rec {
        crateName = "gloo-render";
        version = "0.2.0";
        edition = "2021";
        sha256 = "0cwqcka7l5p29idq174c6mi5cgal0rywngdck26qwfki8ikqn02n";
        libName = "gloo_render";
        authors = [
          "Rust and WebAssembly Working Group"
        ];
        dependencies = [
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            features = [ "Window" ];
          }
        ];

      };
      "gloo-storage 0.2.2" = rec {
        crateName = "gloo-storage";
        version = "0.2.2";
        edition = "2018";
        sha256 = "1074j754a6c21sbmqws5qwaha0a13fikv17ps476zzfvyl5vcsjx";
        libName = "gloo_storage";
        authors = [
          "Rust and WebAssembly Working Group"
        ];
        dependencies = [
          {
            name = "gloo-utils";
            packageId = "gloo-utils 0.1.7";
          }
          {
            name = "js-sys";
            packageId = "js-sys";
          }
          {
            name = "serde";
            packageId = "serde";
          }
          {
            name = "serde_json";
            packageId = "serde_json";
          }
          {
            name = "thiserror";
            packageId = "thiserror";
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            features = [ "Storage" "Window" ];
          }
        ];
        devDependencies = [
          {
            name = "serde";
            packageId = "serde";
            features = [ "derive" ];
          }
        ];

      };
      "gloo-storage 0.3.0" = rec {
        crateName = "gloo-storage";
        version = "0.3.0";
        edition = "2021";
        sha256 = "0yi7740iza6nyg6n8sxzzhy6yg6xpbxhig7r2bwqlxcjihg07j7v";
        libName = "gloo_storage";
        authors = [
          "Rust and WebAssembly Working Group"
        ];
        dependencies = [
          {
            name = "gloo-utils";
            packageId = "gloo-utils 0.2.0";
          }
          {
            name = "js-sys";
            packageId = "js-sys";
          }
          {
            name = "serde";
            packageId = "serde";
          }
          {
            name = "serde_json";
            packageId = "serde_json";
          }
          {
            name = "thiserror";
            packageId = "thiserror";
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            features = [ "Storage" "Window" ];
          }
        ];
        devDependencies = [
          {
            name = "serde";
            packageId = "serde";
            features = [ "derive" ];
          }
        ];

      };
      "gloo-timers 0.2.6" = rec {
        crateName = "gloo-timers";
        version = "0.2.6";
        edition = "2018";
        sha256 = "0p2yqcxw0q9kclhwpgshq1r4ijns07nmmagll3lvrgl7pdk5m6cv";
        libName = "gloo_timers";
        authors = [
          "Rust and WebAssembly Working Group"
        ];
        dependencies = [
          {
            name = "js-sys";
            packageId = "js-sys";
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
        ];
        features = {
          "futures" = [ "futures-core" "futures-channel" ];
          "futures-channel" = [ "dep:futures-channel" ];
          "futures-core" = [ "dep:futures-core" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "gloo-timers 0.3.0" = rec {
        crateName = "gloo-timers";
        version = "0.3.0";
        edition = "2021";
        sha256 = "1519157n7xppkk6pdw5w52vy1llzn5iljkqd7q1h5609jv7l7cdv";
        libName = "gloo_timers";
        authors = [
          "Rust and WebAssembly Working Group"
        ];
        dependencies = [
          {
            name = "futures-channel";
            packageId = "futures-channel";
            optional = true;
          }
          {
            name = "futures-core";
            packageId = "futures-core";
            optional = true;
          }
          {
            name = "js-sys";
            packageId = "js-sys";
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
        ];
        features = {
          "futures" = [ "futures-core" "futures-channel" ];
          "futures-channel" = [ "dep:futures-channel" ];
          "futures-core" = [ "dep:futures-core" ];
        };
        resolvedDefaultFeatures = [ "default" "futures" "futures-channel" "futures-core" ];
      };
      "gloo-utils 0.1.7" = rec {
        crateName = "gloo-utils";
        version = "0.1.7";
        edition = "2018";
        sha256 = "13m59g36spynspvhx0xsaahbkdshn1v03gcjf87s7cvc443wnzq3";
        libName = "gloo_utils";
        authors = [
          "Rust and WebAssembly Working Group"
        ];
        dependencies = [
          {
            name = "js-sys";
            packageId = "js-sys";
          }
          {
            name = "serde";
            packageId = "serde";
            optional = true;
          }
          {
            name = "serde_json";
            packageId = "serde_json";
            optional = true;
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            features = [ "Document" "History" "HtmlElement" "Location" "Window" "HtmlHeadElement" "Element" ];
          }
        ];
        features = {
          "default" = [ "serde" ];
          "serde" = [ "dep:serde" "dep:serde_json" ];
        };
        resolvedDefaultFeatures = [ "default" "serde" ];
      };
      "gloo-utils 0.2.0" = rec {
        crateName = "gloo-utils";
        version = "0.2.0";
        edition = "2021";
        sha256 = "1am31cd6889shb7158bg9zzsjcpvyzxrhfhxgia8rc8k84smam8b";
        libName = "gloo_utils";
        authors = [
          "Rust and WebAssembly Working Group"
        ];
        dependencies = [
          {
            name = "js-sys";
            packageId = "js-sys";
          }
          {
            name = "serde";
            packageId = "serde";
            optional = true;
          }
          {
            name = "serde_json";
            packageId = "serde_json";
            optional = true;
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            features = [ "Document" "History" "HtmlElement" "Location" "Window" "HtmlHeadElement" "Element" ];
          }
        ];
        features = {
          "default" = [ "serde" ];
          "serde" = [ "dep:serde" "dep:serde_json" ];
        };
        resolvedDefaultFeatures = [ "default" "serde" ];
      };
      "gloo-worker 0.2.1" = rec {
        crateName = "gloo-worker";
        version = "0.2.1";
        edition = "2018";
        sha256 = "0sjiw13069i7bpiyb03w3kyddn3q07fmj4vd60l1l1kqva21aiqk";
        libName = "gloo_worker";
        authors = [
          "Rust and WebAssembly Working Group"
        ];
        dependencies = [
          {
            name = "anymap2";
            packageId = "anymap2";
          }
          {
            name = "bincode";
            packageId = "bincode";
          }
          {
            name = "gloo-console";
            packageId = "gloo-console 0.2.3";
          }
          {
            name = "gloo-utils";
            packageId = "gloo-utils 0.1.7";
          }
          {
            name = "js-sys";
            packageId = "js-sys";
          }
          {
            name = "serde";
            packageId = "serde";
            features = [ "derive" ];
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
          {
            name = "wasm-bindgen-futures";
            packageId = "wasm-bindgen-futures";
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            features = [ "Blob" "BlobPropertyBag" "DedicatedWorkerGlobalScope" "MessageEvent" "Url" "Worker" "WorkerOptions" ];
          }
        ];
        features = { };
        resolvedDefaultFeatures = [ "default" ];
      };
      "gloo-worker 0.4.0" = rec {
        crateName = "gloo-worker";
        version = "0.4.0";
        edition = "2021";
        sha256 = "00744js1jcwdndzf22c8gzml7aqql4ymjfpsd2i1vrbxv0ymsjbn";
        libName = "gloo_worker";
        authors = [
          "Rust and WebAssembly Working Group"
        ];
        dependencies = [
          {
            name = "bincode";
            packageId = "bincode";
          }
          {
            name = "futures";
            packageId = "futures";
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
          {
            name = "gloo-utils";
            packageId = "gloo-utils 0.2.0";
          }
          {
            name = "gloo-worker-macros";
            packageId = "gloo-worker-macros";
          }
          {
            name = "js-sys";
            packageId = "js-sys";
          }
          {
            name = "pinned";
            packageId = "pinned";
          }
          {
            name = "serde";
            packageId = "serde";
            features = [ "derive" ];
          }
          {
            name = "thiserror";
            packageId = "thiserror";
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
          {
            name = "wasm-bindgen-futures";
            packageId = "wasm-bindgen-futures";
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            features = [ "Blob" "BlobPropertyBag" "DedicatedWorkerGlobalScope" "MessageEvent" "Url" "Worker" "WorkerOptions" ];
          }
        ];
        features = { };
        resolvedDefaultFeatures = [ "default" "futures" ];
      };
      "gloo-worker-macros" = rec {
        crateName = "gloo-worker-macros";
        version = "0.1.0";
        edition = "2021";
        sha256 = "1rs0f6b34mkhlmpmhqi747c34000sd5mxma92yacjyw5sicalv4m";
        procMacro = true;
        libName = "gloo_worker_macros";
        authors = [
          "Rust and WebAssembly Working Group"
        ];
        dependencies = [
          {
            name = "proc-macro-crate";
            packageId = "proc-macro-crate";
          }
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn 2.0.68";
            features = [ "full" ];
          }
        ];

      };
      "hashbrown 0.12.3" = rec {
        crateName = "hashbrown";
        version = "0.12.3";
        edition = "2021";
        sha256 = "1268ka4750pyg2pbgsr43f0289l5zah4arir2k4igx5a8c6fg7la";
        authors = [
          "Amanieu d'Antras <amanieu@gmail.com>"
        ];
        features = {
          "ahash" = [ "dep:ahash" ];
          "ahash-compile-time-rng" = [ "ahash/compile-time-rng" ];
          "alloc" = [ "dep:alloc" ];
          "bumpalo" = [ "dep:bumpalo" ];
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "default" = [ "ahash" "inline-more" ];
          "rayon" = [ "dep:rayon" ];
          "rustc-dep-of-std" = [ "nightly" "core" "compiler_builtins" "alloc" "rustc-internal-api" ];
          "serde" = [ "dep:serde" ];
        };
        resolvedDefaultFeatures = [ "raw" ];
      };
      "hashbrown 0.14.5" = rec {
        crateName = "hashbrown";
        version = "0.14.5";
        edition = "2021";
        sha256 = "1wa1vy1xs3mp11bn3z9dv0jricgr6a2j0zkf1g19yz3vw4il89z5";
        authors = [
          "Amanieu d'Antras <amanieu@gmail.com>"
        ];
        features = {
          "ahash" = [ "dep:ahash" ];
          "alloc" = [ "dep:alloc" ];
          "allocator-api2" = [ "dep:allocator-api2" ];
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "default" = [ "ahash" "inline-more" "allocator-api2" ];
          "equivalent" = [ "dep:equivalent" ];
          "nightly" = [ "allocator-api2?/nightly" "bumpalo/allocator_api" ];
          "rayon" = [ "dep:rayon" ];
          "rkyv" = [ "dep:rkyv" ];
          "rustc-dep-of-std" = [ "nightly" "core" "compiler_builtins" "alloc" "rustc-internal-api" ];
          "serde" = [ "dep:serde" ];
        };
        resolvedDefaultFeatures = [ "inline-more" "raw" ];
      };
      "hermit-abi" = rec {
        crateName = "hermit-abi";
        version = "0.3.9";
        edition = "2021";
        sha256 = "092hxjbjnq5fmz66grd9plxd0sh6ssg5fhgwwwqbrzgzkjwdycfj";
        libName = "hermit_abi";
        authors = [
          "Stefan Lankes"
        ];
        features = {
          "alloc" = [ "dep:alloc" ];
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "rustc-dep-of-std" = [ "core" "alloc" "compiler_builtins/rustc-dep-of-std" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "http" = rec {
        crateName = "http";
        version = "0.2.12";
        edition = "2018";
        sha256 = "1w81s4bcbmcj9bjp7mllm8jlz6b31wzvirz8bgpzbqkpwmbvn730";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
          "Carl Lerche <me@carllerche.com>"
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        dependencies = [
          {
            name = "bytes";
            packageId = "bytes";
          }
          {
            name = "fnv";
            packageId = "fnv";
          }
          {
            name = "itoa";
            packageId = "itoa";
          }
        ];

      };
      "imbl" = rec {
        crateName = "imbl";
        version = "3.0.0";
        edition = "2018";
        sha256 = "1sw1vw8qysyr9cxyxfi3fal9ykf46zw337w4n533mwrnrpcfhfxw";
        authors = [
          "Bodil Stokke <bodil@bodil.org>"
          "Joe Neeman <joeneeman@gmail.com>"
        ];
        dependencies = [
          {
            name = "bitmaps";
            packageId = "bitmaps";
          }
          {
            name = "imbl-sized-chunks";
            packageId = "imbl-sized-chunks";
          }
          {
            name = "rand_core";
            packageId = "rand_core";
          }
          {
            name = "rand_xoshiro";
            packageId = "rand_xoshiro";
          }
          {
            name = "serde";
            packageId = "serde";
            optional = true;
          }
        ];
        buildDependencies = [
          {
            name = "version_check";
            packageId = "version_check";
          }
        ];
        devDependencies = [
          {
            name = "serde";
            packageId = "serde";
          }
        ];
        features = {
          "arbitrary" = [ "dep:arbitrary" ];
          "proptest" = [ "dep:proptest" ];
          "quickcheck" = [ "dep:quickcheck" ];
          "rayon" = [ "dep:rayon" ];
          "refpool" = [ "dep:refpool" ];
          "serde" = [ "dep:serde" ];
          "triomphe" = [ "dep:triomphe" ];
        };
        resolvedDefaultFeatures = [ "serde" ];
      };
      "imbl-sized-chunks" = rec {
        crateName = "imbl-sized-chunks";
        version = "0.1.1";
        edition = "2021";
        sha256 = "0xhhmb7aldl92hxkmsx10n59zxsa0hw4bvykc6jmq72lnah7x5g6";
        libName = "imbl_sized_chunks";
        authors = [
          "Bodil Stokke <bodil@bodil.org>"
          "Joe Neeman <joeneeman@gmail.com>"
        ];
        dependencies = [
          {
            name = "bitmaps";
            packageId = "bitmaps";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "arbitrary" = [ "dep:arbitrary" ];
          "array-ops" = [ "dep:array-ops" ];
          "default" = [ "std" ];
          "refpool" = [ "dep:refpool" ];
          "ringbuffer" = [ "array-ops" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "implicit-clone" = rec {
        crateName = "implicit-clone";
        version = "0.4.9";
        edition = "2021";
        sha256 = "113agd9bqk7c0s2rqgarzkfp3wgbzl3q59mp6sv72nkv3iwsmagq";
        libName = "implicit_clone";
        authors = [
          "Cecile Tonglet <cecile.tonglet@cecton.com>"
        ];
        dependencies = [
          {
            name = "implicit-clone-derive";
            packageId = "implicit-clone-derive";
            optional = true;
          }
          {
            name = "indexmap";
            packageId = "indexmap 2.2.6";
            optional = true;
          }
        ];
        features = {
          "default" = [ "derive" ];
          "derive" = [ "implicit-clone-derive" ];
          "implicit-clone-derive" = [ "dep:implicit-clone-derive" ];
          "indexmap" = [ "dep:indexmap" ];
          "map" = [ "indexmap" ];
          "serde" = [ "dep:serde" "indexmap/serde" ];
        };
        resolvedDefaultFeatures = [ "default" "derive" "implicit-clone-derive" "indexmap" "map" ];
      };
      "implicit-clone-derive" = rec {
        crateName = "implicit-clone-derive";
        version = "0.1.1";
        edition = "2021";
        sha256 = "0fsfj6n56mg92f3899gcdck1dqlsmgyd52k0n2xhhj53p5g6h4ck";
        procMacro = true;
        libName = "implicit_clone_derive";
        authors = [
          "Cecile Tonglet <cecile.tonglet@cecton.com>"
        ];
        dependencies = [
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn 2.0.68";
            features = [ "full" ];
          }
        ];

      };
      "indexmap 1.9.3" = rec {
        crateName = "indexmap";
        version = "1.9.3";
        edition = "2021";
        sha256 = "16dxmy7yvk51wvnih3a3im6fp5lmx0wx76i03n06wyak6cwhw1xx";
        dependencies = [
          {
            name = "hashbrown";
            packageId = "hashbrown 0.12.3";
            usesDefaultFeatures = false;
            features = [ "raw" ];
          }
        ];
        buildDependencies = [
          {
            name = "autocfg";
            packageId = "autocfg";
          }
        ];
        features = {
          "arbitrary" = [ "dep:arbitrary" ];
          "quickcheck" = [ "dep:quickcheck" ];
          "rayon" = [ "dep:rayon" ];
          "rustc-rayon" = [ "dep:rustc-rayon" ];
          "serde" = [ "dep:serde" ];
          "serde-1" = [ "serde" ];
        };
      };
      "indexmap 2.2.6" = rec {
        crateName = "indexmap";
        version = "2.2.6";
        edition = "2021";
        sha256 = "09hgwi2ig0wyj5rjziia76zmhgfj95k0jb4ic3iiawm4vlavg3qn";
        dependencies = [
          {
            name = "equivalent";
            packageId = "equivalent";
            usesDefaultFeatures = false;
          }
          {
            name = "hashbrown";
            packageId = "hashbrown 0.14.5";
            usesDefaultFeatures = false;
            features = [ "raw" ];
          }
        ];
        features = {
          "arbitrary" = [ "dep:arbitrary" ];
          "borsh" = [ "dep:borsh" ];
          "default" = [ "std" ];
          "quickcheck" = [ "dep:quickcheck" ];
          "rayon" = [ "dep:rayon" ];
          "rustc-rayon" = [ "dep:rustc-rayon" ];
          "serde" = [ "dep:serde" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "itertools" = rec {
        crateName = "itertools";
        version = "0.12.0";
        edition = "2018";
        sha256 = "1c07gzdlc6a1c8p8jrvvw3gs52bss3y58cs2s21d9i978l36pnr5";
        authors = [
          "bluss"
        ];
        dependencies = [
          {
            name = "either";
            packageId = "either";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "default" = [ "use_std" ];
          "use_std" = [ "use_alloc" "either/use_std" ];
        };
        resolvedDefaultFeatures = [ "default" "use_alloc" "use_std" ];
      };
      "itoa" = rec {
        crateName = "itoa";
        version = "1.0.11";
        edition = "2018";
        sha256 = "0nv9cqjwzr3q58qz84dcz63ggc54yhf1yqar1m858m1kfd4g3wa9";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        features = {
          "no-panic" = [ "dep:no-panic" ];
        };
      };
      "js-sys" = rec {
        crateName = "js-sys";
        version = "0.3.69";
        edition = "2018";
        sha256 = "0v99rz97asnzapb0jsc3jjhvxpfxr7h7qd97yqyrf9i7viimbh99";
        libName = "js_sys";
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
        ];

      };
      "lazy_static" = rec {
        crateName = "lazy_static";
        version = "1.4.0";
        edition = "2015";
        sha256 = "0in6ikhw8mgl33wjv6q6xfrb5b9jr16q8ygjy803fay4zcisvaz2";
        authors = [
          "Marvin Lรถbel <loebel.marvin@gmail.com>"
        ];
        features = {
          "spin" = [ "dep:spin" ];
          "spin_no_std" = [ "spin" ];
        };
      };
      "lexical-core" = rec {
        crateName = "lexical-core";
        version = "0.8.5";
        edition = "2018";
        sha256 = "0ihf0x3vrk25fq3bv9q35m0xax0wmvwkh0j0pjm2yk4ddvh5vpic";
        libName = "lexical_core";
        authors = [
          "Alex Huszagh <ahuszagh@gmail.com>"
        ];
        dependencies = [
          {
            name = "lexical-parse-float";
            packageId = "lexical-parse-float";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "lexical-parse-integer";
            packageId = "lexical-parse-integer";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "lexical-util";
            packageId = "lexical-util";
            usesDefaultFeatures = false;
          }
          {
            name = "lexical-write-float";
            packageId = "lexical-write-float";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "lexical-write-integer";
            packageId = "lexical-write-integer";
            optional = true;
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "compact" = [ "lexical-write-integer/compact" "lexical-write-float/compact" "lexical-parse-integer/compact" "lexical-parse-float/compact" ];
          "default" = [ "std" "write-integers" "write-floats" "parse-integers" "parse-floats" ];
          "f128" = [ "lexical-util/f128" "lexical-parse-float/f128" "lexical-write-float/f128" ];
          "f16" = [ "lexical-util/f16" "lexical-parse-float/f16" "lexical-write-float/f16" ];
          "format" = [ "lexical-util/format" "lexical-parse-integer/format" "lexical-parse-float/format" "lexical-write-integer/format" "lexical-write-float/format" ];
          "lexical-parse-float" = [ "dep:lexical-parse-float" ];
          "lexical-parse-integer" = [ "dep:lexical-parse-integer" ];
          "lexical-write-float" = [ "dep:lexical-write-float" ];
          "lexical-write-integer" = [ "dep:lexical-write-integer" ];
          "lint" = [ "lexical-util/lint" "lexical-write-integer/lint" "lexical-write-float/lint" "lexical-parse-integer/lint" "lexical-parse-float/lint" ];
          "nightly" = [ "lexical-write-integer/nightly" "lexical-write-float/nightly" "lexical-parse-integer/nightly" "lexical-parse-float/nightly" ];
          "parse-floats" = [ "lexical-parse-float" "parse" "floats" ];
          "parse-integers" = [ "lexical-parse-integer" "parse" "integers" ];
          "power-of-two" = [ "lexical-util/power-of-two" "lexical-write-integer/power-of-two" "lexical-write-float/power-of-two" "lexical-parse-integer/power-of-two" "lexical-parse-float/power-of-two" ];
          "radix" = [ "lexical-util/radix" "lexical-write-integer/radix" "lexical-write-float/radix" "lexical-parse-integer/radix" "lexical-parse-float/radix" ];
          "safe" = [ "lexical-write-integer/safe" "lexical-write-float/safe" "lexical-parse-integer/safe" "lexical-parse-float/safe" ];
          "std" = [ "lexical-util/std" "lexical-write-integer/std" "lexical-write-float/std" "lexical-parse-integer/std" "lexical-parse-float/std" ];
          "write-floats" = [ "lexical-write-float" "write" "floats" ];
          "write-integers" = [ "lexical-write-integer" "write" "integers" ];
        };
        resolvedDefaultFeatures = [ "default" "floats" "format" "integers" "lexical-parse-float" "lexical-parse-integer" "lexical-write-float" "lexical-write-integer" "parse" "parse-floats" "parse-integers" "std" "write" "write-floats" "write-integers" ];
      };
      "lexical-parse-float" = rec {
        crateName = "lexical-parse-float";
        version = "0.8.5";
        edition = "2018";
        sha256 = "0py0gp8hlzcrlvjqmqlpl2v1as65iiqxq2xsabxvhc01pmg3lfv8";
        libName = "lexical_parse_float";
        authors = [
          "Alex Huszagh <ahuszagh@gmail.com>"
        ];
        dependencies = [
          {
            name = "lexical-parse-integer";
            packageId = "lexical-parse-integer";
            usesDefaultFeatures = false;
          }
          {
            name = "lexical-util";
            packageId = "lexical-util";
            usesDefaultFeatures = false;
            features = [ "parse-floats" ];
          }
          {
            name = "static_assertions";
            packageId = "static_assertions";
          }
        ];
        features = {
          "compact" = [ "lexical-util/compact" "lexical-parse-integer/compact" ];
          "default" = [ "std" ];
          "f128" = [ "lexical-util/f128" ];
          "f16" = [ "lexical-util/f16" ];
          "format" = [ "lexical-util/format" "lexical-parse-integer/format" ];
          "lint" = [ "lexical-util/lint" "lexical-parse-integer/lint" ];
          "nightly" = [ "lexical-parse-integer/nightly" ];
          "power-of-two" = [ "lexical-util/power-of-two" "lexical-parse-integer/power-of-two" ];
          "radix" = [ "lexical-util/radix" "lexical-parse-integer/radix" "power-of-two" ];
          "safe" = [ "lexical-parse-integer/safe" ];
          "std" = [ "lexical-util/std" "lexical-parse-integer/std" ];
        };
        resolvedDefaultFeatures = [ "format" "std" ];
      };
      "lexical-parse-integer" = rec {
        crateName = "lexical-parse-integer";
        version = "0.8.6";
        edition = "2018";
        sha256 = "1sayji3mpvb2xsjq56qcq3whfz8px9a6fxk5v7v15hyhbr4982bd";
        libName = "lexical_parse_integer";
        authors = [
          "Alex Huszagh <ahuszagh@gmail.com>"
        ];
        dependencies = [
          {
            name = "lexical-util";
            packageId = "lexical-util";
            usesDefaultFeatures = false;
            features = [ "parse-integers" ];
          }
          {
            name = "static_assertions";
            packageId = "static_assertions";
          }
        ];
        features = {
          "compact" = [ "lexical-util/compact" ];
          "default" = [ "std" ];
          "format" = [ "lexical-util/format" ];
          "lint" = [ "lexical-util/lint" ];
          "power-of-two" = [ "lexical-util/power-of-two" ];
          "radix" = [ "lexical-util/radix" "power-of-two" ];
          "std" = [ "lexical-util/std" ];
        };
        resolvedDefaultFeatures = [ "format" "std" ];
      };
      "lexical-util" = rec {
        crateName = "lexical-util";
        version = "0.8.5";
        edition = "2018";
        sha256 = "1z73qkv7yxhsbc4aiginn1dqmsj8jarkrdlyxc88g2gz2vzvjmaj";
        libName = "lexical_util";
        authors = [
          "Alex Huszagh <ahuszagh@gmail.com>"
        ];
        dependencies = [
          {
            name = "static_assertions";
            packageId = "static_assertions";
          }
        ];
        features = {
          "default" = [ "std" ];
          "f128" = [ "floats" ];
          "f16" = [ "floats" ];
          "parse-floats" = [ "parse" "floats" ];
          "parse-integers" = [ "parse" "integers" ];
          "radix" = [ "power-of-two" ];
          "write-floats" = [ "write" "floats" ];
          "write-integers" = [ "write" "integers" ];
        };
        resolvedDefaultFeatures = [ "floats" "format" "integers" "parse" "parse-floats" "parse-integers" "std" "write" "write-floats" "write-integers" ];
      };
      "lexical-write-float" = rec {
        crateName = "lexical-write-float";
        version = "0.8.5";
        edition = "2018";
        sha256 = "0qk825l0csvnksh9sywb51996cjc2bylq6rxjaiha7sqqjhvmjmc";
        libName = "lexical_write_float";
        authors = [
          "Alex Huszagh <ahuszagh@gmail.com>"
        ];
        dependencies = [
          {
            name = "lexical-util";
            packageId = "lexical-util";
            usesDefaultFeatures = false;
            features = [ "write-floats" ];
          }
          {
            name = "lexical-write-integer";
            packageId = "lexical-write-integer";
            usesDefaultFeatures = false;
          }
          {
            name = "static_assertions";
            packageId = "static_assertions";
          }
        ];
        features = {
          "compact" = [ "lexical-util/compact" "lexical-write-integer/compact" ];
          "default" = [ "std" ];
          "f128" = [ "lexical-util/f128" ];
          "f16" = [ "lexical-util/f16" ];
          "format" = [ "lexical-util/format" ];
          "lint" = [ "lexical-util/lint" "lexical-write-integer/lint" ];
          "nightly" = [ "lexical-write-integer/nightly" ];
          "power-of-two" = [ "lexical-util/power-of-two" "lexical-write-integer/power-of-two" ];
          "radix" = [ "lexical-util/radix" "lexical-write-integer/radix" "power-of-two" ];
          "safe" = [ "lexical-write-integer/safe" ];
          "std" = [ "lexical-util/std" "lexical-write-integer/std" ];
        };
        resolvedDefaultFeatures = [ "format" "std" ];
      };
      "lexical-write-integer" = rec {
        crateName = "lexical-write-integer";
        version = "0.8.5";
        edition = "2018";
        sha256 = "0ii4hmvqrg6pd4j9y1pkhkp0nw2wpivjzmljh6v6ca22yk8z7dp1";
        libName = "lexical_write_integer";
        authors = [
          "Alex Huszagh <ahuszagh@gmail.com>"
        ];
        dependencies = [
          {
            name = "lexical-util";
            packageId = "lexical-util";
            usesDefaultFeatures = false;
            features = [ "write-integers" ];
          }
          {
            name = "static_assertions";
            packageId = "static_assertions";
          }
        ];
        features = {
          "compact" = [ "lexical-util/compact" ];
          "default" = [ "std" ];
          "format" = [ "lexical-util/format" ];
          "lint" = [ "lexical-util/lint" ];
          "power-of-two" = [ "lexical-util/power-of-two" ];
          "radix" = [ "lexical-util/radix" "power-of-two" ];
          "std" = [ "lexical-util/std" ];
        };
        resolvedDefaultFeatures = [ "format" "std" ];
      };
      "libc" = rec {
        crateName = "libc";
        version = "0.2.155";
        edition = "2015";
        sha256 = "0z44c53z54znna8n322k5iwg80arxxpdzjj5260pxxzc9a58icwp";
        authors = [
          "The Rust Project Developers"
        ];
        features = {
          "default" = [ "std" ];
          "rustc-dep-of-std" = [ "align" "rustc-std-workspace-core" ];
          "rustc-std-workspace-core" = [ "dep:rustc-std-workspace-core" ];
          "use_std" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "libredox" = rec {
        crateName = "libredox";
        version = "0.0.1";
        edition = "2021";
        sha256 = "1s2fh4ikpp9xl0lsl01pi0n8pw1q9s3ld452vd8qh1v63v537j45";
        authors = [
          "4lDO2 <4lDO2@protonmail.com>"
        ];
        dependencies = [
          {
            name = "bitflags";
            packageId = "bitflags 2.4.1";
          }
          {
            name = "libc";
            packageId = "libc";
          }
          {
            name = "redox_syscall";
            packageId = "redox_syscall";
          }
        ];
        features = {
          "default" = [ "scheme" "call" ];
          "scheme" = [ "call" ];
        };
        resolvedDefaultFeatures = [ "call" ];
      };
      "log" = rec {
        crateName = "log";
        version = "0.4.22";
        edition = "2021";
        sha256 = "093vs0wkm1rgyykk7fjbqp2lwizbixac1w52gv109p5r4jh0p9x7";
        authors = [
          "The Rust Project Developers"
        ];
        features = {
          "kv_serde" = [ "kv_std" "value-bag/serde" "serde" ];
          "kv_std" = [ "std" "kv" "value-bag/error" ];
          "kv_sval" = [ "kv" "value-bag/sval" "sval" "sval_ref" ];
          "kv_unstable" = [ "kv" "value-bag" ];
          "kv_unstable_serde" = [ "kv_serde" "kv_unstable_std" ];
          "kv_unstable_std" = [ "kv_std" "kv_unstable" ];
          "kv_unstable_sval" = [ "kv_sval" "kv_unstable" ];
          "serde" = [ "dep:serde" ];
          "sval" = [ "dep:sval" ];
          "sval_ref" = [ "dep:sval_ref" ];
          "value-bag" = [ "dep:value-bag" ];
        };
      };
      "md-5" = rec {
        crateName = "md-5";
        version = "0.10.6";
        edition = "2018";
        sha256 = "1kvq5rnpm4fzwmyv5nmnxygdhhb2369888a06gdc9pxyrzh7x7nq";
        libName = "md5";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "digest";
            packageId = "digest";
          }
        ];
        devDependencies = [
          {
            name = "digest";
            packageId = "digest";
            features = [ "dev" ];
          }
        ];
        features = {
          "asm" = [ "md5-asm" ];
          "default" = [ "std" ];
          "md5-asm" = [ "dep:md5-asm" ];
          "oid" = [ "digest/oid" ];
          "std" = [ "digest/std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "memchr" = rec {
        crateName = "memchr";
        version = "2.7.4";
        edition = "2021";
        sha256 = "18z32bhxrax0fnjikv475z7ii718hq457qwmaryixfxsl2qrmjkq";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
          "bluss"
        ];
        features = {
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "default" = [ "std" ];
          "logging" = [ "dep:log" ];
          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
          "std" = [ "alloc" ];
          "use_std" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
      };
      "memoffset" = rec {
        crateName = "memoffset";
        version = "0.9.0";
        edition = "2015";
        sha256 = "0v20ihhdzkfw1jx00a7zjpk2dcp5qjq6lz302nyqamd9c4f4nqss";
        authors = [
          "Gilad Naaman <gilad.naaman@gmail.com>"
        ];
        buildDependencies = [
          {
            name = "autocfg";
            packageId = "autocfg";
          }
        ];
        features = { };
        resolvedDefaultFeatures = [ "default" ];
      };
      "miniz_oxide" = rec {
        crateName = "miniz_oxide";
        version = "0.7.4";
        edition = "2018";
        sha256 = "024wv14aa75cvik7005s5y2nfc8zfidddbd7g55g7sjgnzfl18mq";
        authors = [
          "Frommi <daniil.liferenko@gmail.com>"
          "oyvindln <oyvindln@users.noreply.github.com>"
        ];
        dependencies = [
          {
            name = "adler";
            packageId = "adler";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "alloc" = [ "dep:alloc" ];
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "default" = [ "with-alloc" ];
          "rustc-dep-of-std" = [ "core" "alloc" "compiler_builtins" "adler/rustc-dep-of-std" ];
          "simd" = [ "simd-adler32" ];
          "simd-adler32" = [ "dep:simd-adler32" ];
        };
      };
      "nohash-hasher" = rec {
        crateName = "nohash-hasher";
        version = "0.2.0";
        edition = "2018";
        sha256 = "0lf4p6k01w4wm7zn4grnihzj8s7zd5qczjmzng7wviwxawih5x9b";
        libName = "nohash_hasher";
        authors = [
          "Parity Technologies <admin@parity.io>"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "nom8" = rec {
        crateName = "nom8";
        version = "0.2.0";
        edition = "2018";
        sha256 = "1y6jzabxyrl05vxnh63r66ac2fh0symg5fnynxm4ii3zkif580df";
        dependencies = [
          {
            name = "memchr";
            packageId = "memchr";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "default" = [ "std" ];
          "std" = [ "alloc" "memchr/std" ];
          "unstable-doc" = [ "alloc" "std" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
      };
      "num_cpus" = rec {
        crateName = "num_cpus";
        version = "1.16.0";
        edition = "2015";
        sha256 = "0hra6ihpnh06dvfvz9ipscys0xfqa9ca9hzp384d5m02ssvgqqa1";
        authors = [
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        dependencies = [
          {
            name = "hermit-abi";
            packageId = "hermit-abi";
            target = { target, features }: ("hermit" == target."os" or null);
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (!(target."windows" or false));
          }
        ];

      };
      "object" = rec {
        crateName = "object";
        version = "0.36.2";
        edition = "2018";
        sha256 = "03hpcgwcsm5cfpvcmk8x0hbkvxlpw3c2pq8afrgiifx7val3y81z";
        dependencies = [
          {
            name = "memchr";
            packageId = "memchr";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "all" = [ "read" "write" "build" "std" "compression" "wasm" ];
          "alloc" = [ "dep:alloc" ];
          "build" = [ "build_core" "write_std" "elf" ];
          "build_core" = [ "read_core" "write_core" ];
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "compression" = [ "dep:flate2" "dep:ruzstd" "std" ];
          "core" = [ "dep:core" ];
          "default" = [ "read" "compression" ];
          "doc" = [ "read_core" "write_std" "build_core" "std" "compression" "archive" "coff" "elf" "macho" "pe" "wasm" "xcoff" ];
          "pe" = [ "coff" ];
          "read" = [ "read_core" "archive" "coff" "elf" "macho" "pe" "xcoff" "unaligned" ];
          "rustc-dep-of-std" = [ "core" "compiler_builtins" "alloc" "memchr/rustc-dep-of-std" ];
          "std" = [ "memchr/std" ];
          "unstable-all" = [ "all" "unstable" ];
          "wasm" = [ "dep:wasmparser" ];
          "write" = [ "write_std" "coff" "elf" "macho" "pe" "xcoff" ];
          "write_core" = [ "dep:crc32fast" "dep:indexmap" "dep:hashbrown" ];
          "write_std" = [ "write_core" "std" "indexmap?/std" "crc32fast?/std" ];
        };
        resolvedDefaultFeatures = [ "archive" "coff" "elf" "macho" "pe" "read_core" "unaligned" "xcoff" ];
      };
      "once_cell" = rec {
        crateName = "once_cell";
        version = "1.19.0";
        edition = "2021";
        sha256 = "14kvw7px5z96dk4dwdm1r9cqhhy2cyj1l5n5b29mynbb8yr15nrz";
        authors = [
          "Aleksey Kladov <aleksey.kladov@gmail.com>"
        ];
        features = {
          "alloc" = [ "race" ];
          "atomic-polyfill" = [ "critical-section" ];
          "critical-section" = [ "dep:critical-section" "portable-atomic" ];
          "default" = [ "std" ];
          "parking_lot" = [ "dep:parking_lot_core" ];
          "portable-atomic" = [ "dep:portable-atomic" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "race" "std" ];
      };
      "os_str_bytes" = rec {
        crateName = "os_str_bytes";
        version = "6.6.1";
        edition = "2021";
        sha256 = "1885z1x4sm86v5p41ggrl49m58rbzzhd1kj72x46yy53p62msdg2";
        authors = [
          "dylni"
        ];
        dependencies = [
          {
            name = "memchr";
            packageId = "memchr";
            optional = true;
          }
        ];
        features = {
          "checked_conversions" = [ "conversions" ];
          "default" = [ "memchr" "raw_os_str" ];
          "memchr" = [ "dep:memchr" ];
          "print_bytes" = [ "dep:print_bytes" ];
          "uniquote" = [ "dep:uniquote" ];
        };
        resolvedDefaultFeatures = [ "conversions" "default" "memchr" "raw_os_str" ];
      };
      "path-clean" = rec {
        crateName = "path-clean";
        version = "0.1.0";
        edition = "2015";
        sha256 = "1pcgqxw0mgg3ha5hi5xkjhyjf488bw5rw1g3qlr9awbq4szh3fpc";
        libName = "path_clean";
        authors = [
          "Dan Reeves <hey@danreev.es>"
        ];

      };
      "percent-encoding" = rec {
        crateName = "percent-encoding";
        version = "2.3.1";
        edition = "2018";
        sha256 = "0gi8wgx0dcy8rnv1kywdv98lwcx67hz0a0zwpib5v2i08r88y573";
        libName = "percent_encoding";
        authors = [
          "The rust-url developers"
        ];
        features = {
          "default" = [ "std" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "std" ];
      };
      "pin-project" = rec {
        crateName = "pin-project";
        version = "1.1.5";
        edition = "2021";
        sha256 = "1cxl146x0q7lawp0m1826wsgj8mmmfs6ja8q7m6f7ff5j6vl7gxn";
        libName = "pin_project";
        dependencies = [
          {
            name = "pin-project-internal";
            packageId = "pin-project-internal";
          }
        ];

      };
      "pin-project-internal" = rec {
        crateName = "pin-project-internal";
        version = "1.1.5";
        edition = "2021";
        sha256 = "0r9r4ivwiyqf45sv6b30l1dx282lxaax2f6gl84jwa3q590s8f1g";
        procMacro = true;
        libName = "pin_project_internal";
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn 2.0.68";
            features = [ "full" "visit-mut" ];
          }
        ];

      };
      "pin-project-lite" = rec {
        crateName = "pin-project-lite";
        version = "0.2.14";
        edition = "2018";
        sha256 = "00nx3f04agwjlsmd3mc5rx5haibj2v8q9b52b0kwn63wcv4nz9mx";
        libName = "pin_project_lite";

      };
      "pin-utils" = rec {
        crateName = "pin-utils";
        version = "0.1.0";
        edition = "2018";
        sha256 = "117ir7vslsl2z1a7qzhws4pd01cg2d3338c47swjyvqv2n60v1wb";
        libName = "pin_utils";
        authors = [
          "Josef Brandl <mail@josefbrandl.de>"
        ];

      };
      "pinned" = rec {
        crateName = "pinned";
        version = "0.1.0";
        edition = "2021";
        sha256 = "0nsrxs49dhjjz1gvg0pvac2rcidnwwd8l99y7vhwym2yv5xh4ad8";
        authors = [
          "Kaede Hoshiakwa <futursolo@icloud.com>"
        ];
        dependencies = [
          {
            name = "futures";
            packageId = "futures";
            usesDefaultFeatures = false;
            features = [ "std" "async-await" ];
          }
          {
            name = "rustversion";
            packageId = "rustversion";
          }
          {
            name = "thiserror";
            packageId = "thiserror";
          }
        ];

      };
      "prettyplease" = rec {
        crateName = "prettyplease";
        version = "0.2.20";
        edition = "2021";
        links = "prettyplease02";
        sha256 = "0pk4vm9fir1p0bl11p9fkgl9r1x9vi4avv8l7flb1wx2i1a364jz";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
            usesDefaultFeatures = false;
          }
          {
            name = "syn";
            packageId = "syn 2.0.68";
            usesDefaultFeatures = false;
            features = [ "full" ];
          }
        ];
        devDependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
            usesDefaultFeatures = false;
          }
          {
            name = "syn";
            packageId = "syn 2.0.68";
            usesDefaultFeatures = false;
            features = [ "parsing" ];
          }
        ];
        features = {
          "verbatim" = [ "syn/parsing" ];
        };
      };
      "proc-macro-crate" = rec {
        crateName = "proc-macro-crate";
        version = "1.3.1";
        edition = "2021";
        sha256 = "069r1k56bvgk0f58dm5swlssfcp79im230affwk6d9ck20g04k3z";
        libName = "proc_macro_crate";
        authors = [
          "Bastian Kรถcher <git@kchr.de>"
        ];
        dependencies = [
          {
            name = "once_cell";
            packageId = "once_cell";
          }
          {
            name = "toml_edit";
            packageId = "toml_edit 0.19.15";
          }
        ];

      };
      "proc-macro-error" = rec {
        crateName = "proc-macro-error";
        version = "1.0.4";
        edition = "2018";
        sha256 = "1373bhxaf0pagd8zkyd03kkx6bchzf6g0dkwrwzsnal9z47lj9fs";
        libName = "proc_macro_error";
        authors = [
          "CreepySkeleton <creepy-skeleton@yandex.ru>"
        ];
        dependencies = [
          {
            name = "proc-macro-error-attr";
            packageId = "proc-macro-error-attr";
          }
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn 1.0.109";
            optional = true;
            usesDefaultFeatures = false;
          }
        ];
        buildDependencies = [
          {
            name = "version_check";
            packageId = "version_check";
          }
        ];
        features = {
          "default" = [ "syn-error" ];
          "syn" = [ "dep:syn" ];
          "syn-error" = [ "syn" ];
        };
        resolvedDefaultFeatures = [ "default" "syn" "syn-error" ];
      };
      "proc-macro-error-attr" = rec {
        crateName = "proc-macro-error-attr";
        version = "1.0.4";
        edition = "2018";
        sha256 = "0sgq6m5jfmasmwwy8x4mjygx5l7kp8s4j60bv25ckv2j1qc41gm1";
        procMacro = true;
        libName = "proc_macro_error_attr";
        authors = [
          "CreepySkeleton <creepy-skeleton@yandex.ru>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
        ];
        buildDependencies = [
          {
            name = "version_check";
            packageId = "version_check";
          }
        ];

      };
      "proc-macro2" = rec {
        crateName = "proc-macro2";
        version = "1.0.86";
        edition = "2021";
        sha256 = "0xrv22p8lqlfdf1w0pj4si8n2ws4aw0kilmziwf0vpv5ys6rwway";
        libName = "proc_macro2";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "unicode-ident";
            packageId = "unicode-ident";
          }
        ];
        features = {
          "default" = [ "proc-macro" ];
        };
        resolvedDefaultFeatures = [ "default" "proc-macro" ];
      };
      "prokio" = rec {
        crateName = "prokio";
        version = "0.1.0";
        edition = "2021";
        sha256 = "127l9k5076xwlaf0b64hw3l14wqjss2krldb2ddgm4apdq85xd83";
        authors = [
          "Kaede Hoshikawa <futursolo@icloud.com>"
        ];
        dependencies = [
          {
            name = "futures";
            packageId = "futures";
            usesDefaultFeatures = false;
            features = [ "std" "async-await" ];
          }
          {
            name = "gloo";
            packageId = "gloo 0.8.1";
            target = { target, features }: ("wasm32" == target."arch" or null);
          }
          {
            name = "num_cpus";
            packageId = "num_cpus";
            target = { target, features }: (!("wasm32" == target."arch" or null));
          }
          {
            name = "once_cell";
            packageId = "once_cell";
            target = { target, features }: (!("wasm32" == target."arch" or null));
          }
          {
            name = "pin-project";
            packageId = "pin-project";
          }
          {
            name = "pinned";
            packageId = "pinned";
          }
          {
            name = "tokio";
            packageId = "tokio";
            target = { target, features }: (!("wasm32" == target."arch" or null));
            features = [ "rt" "time" ];
          }
          {
            name = "tokio-stream";
            packageId = "tokio-stream";
            target = { target, features }: (!("wasm32" == target."arch" or null));
            features = [ "time" ];
          }
          {
            name = "wasm-bindgen-futures";
            packageId = "wasm-bindgen-futures";
            target = { target, features }: ("wasm32" == target."arch" or null);
          }
        ];
        devDependencies = [
          {
            name = "tokio";
            packageId = "tokio";
            target = { target, features }: (!("wasm32" == target."arch" or null));
            features = [ "full" ];
          }
        ];
        features = { };
        resolvedDefaultFeatures = [ "default" ];
      };
      "quote" = rec {
        crateName = "quote";
        version = "1.0.36";
        edition = "2018";
        sha256 = "19xcmh445bg6simirnnd4fvkmp6v2qiwxh5f6rw4a70h76pnm9qg";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "default" = [ "proc-macro" ];
          "proc-macro" = [ "proc-macro2/proc-macro" ];
        };
        resolvedDefaultFeatures = [ "default" "proc-macro" ];
      };
      "rand_core" = rec {
        crateName = "rand_core";
        version = "0.6.4";
        edition = "2018";
        sha256 = "0b4j2v4cb5krak1pv6kakv4sz6xcwbrmy2zckc32hsigbrwy82zc";
        authors = [
          "The Rand Project Developers"
          "The Rust Project Developers"
        ];
        features = {
          "getrandom" = [ "dep:getrandom" ];
          "serde" = [ "dep:serde" ];
          "serde1" = [ "serde" ];
          "std" = [ "alloc" "getrandom" "getrandom/std" ];
        };
      };
      "rand_xoshiro" = rec {
        crateName = "rand_xoshiro";
        version = "0.6.0";
        edition = "2018";
        sha256 = "1ajsic84rzwz5qr0mzlay8vi17swqi684bqvwqyiim3flfrcv5vg";
        authors = [
          "The Rand Project Developers"
        ];
        dependencies = [
          {
            name = "rand_core";
            packageId = "rand_core";
          }
        ];
        features = {
          "serde" = [ "dep:serde" ];
          "serde1" = [ "serde" ];
        };
      };
      "redox_syscall" = rec {
        crateName = "redox_syscall";
        version = "0.4.1";
        edition = "2018";
        sha256 = "1aiifyz5dnybfvkk4cdab9p2kmphag1yad6iknc7aszlxxldf8j7";
        libName = "syscall";
        authors = [
          "Jeremy Soller <jackpot51@gmail.com>"
        ];
        dependencies = [
          {
            name = "bitflags";
            packageId = "bitflags 1.3.2";
          }
        ];
        features = {
          "core" = [ "dep:core" ];
          "rustc-dep-of-std" = [ "core" "bitflags/rustc-dep-of-std" ];
        };
      };
      "redox_users" = rec {
        crateName = "redox_users";
        version = "0.4.4";
        edition = "2021";
        sha256 = "1d1c7dhbb62sh8jrq9dhvqcyxqsh3wg8qknsi94iwq3r0wh7k151";
        authors = [
          "Jose Narvaez <goyox86@gmail.com>"
          "Wesley Hershberger <mggmugginsmc@gmail.com>"
        ];
        dependencies = [
          {
            name = "getrandom";
            packageId = "getrandom";
            features = [ "std" ];
          }
          {
            name = "libredox";
            packageId = "libredox";
            usesDefaultFeatures = false;
            features = [ "call" ];
          }
          {
            name = "thiserror";
            packageId = "thiserror";
          }
        ];
        features = {
          "auth" = [ "rust-argon2" "zeroize" ];
          "default" = [ "auth" ];
          "rust-argon2" = [ "dep:rust-argon2" ];
          "zeroize" = [ "dep:zeroize" ];
        };
      };
      "regex" = rec {
        crateName = "regex";
        version = "1.10.2";
        edition = "2021";
        sha256 = "0hxkd814n4irind8im5c9am221ri6bprx49nc7yxv02ykhd9a2rq";
        authors = [
          "The Rust Project Developers"
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        dependencies = [
          {
            name = "aho-corasick";
            packageId = "aho-corasick";
            optional = true;
          }
          {
            name = "memchr";
            packageId = "memchr";
            optional = true;
          }
          {
            name = "regex-automata";
            packageId = "regex-automata";
            usesDefaultFeatures = false;
            features = [ "alloc" "syntax" "meta" "nfa-pikevm" ];
          }
          {
            name = "regex-syntax";
            packageId = "regex-syntax";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "default" = [ "std" "perf" "unicode" "regex-syntax/default" ];
          "logging" = [ "aho-corasick?/logging" "memchr?/logging" "regex-automata/logging" ];
          "perf" = [ "perf-cache" "perf-dfa" "perf-onepass" "perf-backtrack" "perf-inline" "perf-literal" ];
          "perf-backtrack" = [ "regex-automata/nfa-backtrack" ];
          "perf-dfa" = [ "regex-automata/hybrid" ];
          "perf-dfa-full" = [ "regex-automata/dfa-build" "regex-automata/dfa-search" ];
          "perf-inline" = [ "regex-automata/perf-inline" ];
          "perf-literal" = [ "dep:aho-corasick" "dep:memchr" "regex-automata/perf-literal" ];
          "perf-onepass" = [ "regex-automata/dfa-onepass" ];
          "std" = [ "aho-corasick?/std" "memchr?/std" "regex-automata/std" "regex-syntax/std" ];
          "unicode" = [ "unicode-age" "unicode-bool" "unicode-case" "unicode-gencat" "unicode-perl" "unicode-script" "unicode-segment" "regex-automata/unicode" "regex-syntax/unicode" ];
          "unicode-age" = [ "regex-automata/unicode-age" "regex-syntax/unicode-age" ];
          "unicode-bool" = [ "regex-automata/unicode-bool" "regex-syntax/unicode-bool" ];
          "unicode-case" = [ "regex-automata/unicode-case" "regex-syntax/unicode-case" ];
          "unicode-gencat" = [ "regex-automata/unicode-gencat" "regex-syntax/unicode-gencat" ];
          "unicode-perl" = [ "regex-automata/unicode-perl" "regex-automata/unicode-word-boundary" "regex-syntax/unicode-perl" ];
          "unicode-script" = [ "regex-automata/unicode-script" "regex-syntax/unicode-script" ];
          "unicode-segment" = [ "regex-automata/unicode-segment" "regex-syntax/unicode-segment" ];
          "unstable" = [ "pattern" ];
          "use_std" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "perf" "perf-backtrack" "perf-cache" "perf-dfa" "perf-inline" "perf-literal" "perf-onepass" "std" "unicode" "unicode-age" "unicode-bool" "unicode-case" "unicode-gencat" "unicode-perl" "unicode-script" "unicode-segment" ];
      };
      "regex-automata" = rec {
        crateName = "regex-automata";
        version = "0.4.3";
        edition = "2021";
        sha256 = "0gs8q9yhd3kcg4pr00ag4viqxnh5l7jpyb9fsfr8hzh451w4r02z";
        libName = "regex_automata";
        authors = [
          "The Rust Project Developers"
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        dependencies = [
          {
            name = "aho-corasick";
            packageId = "aho-corasick";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "memchr";
            packageId = "memchr";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "regex-syntax";
            packageId = "regex-syntax";
            optional = true;
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "default" = [ "std" "syntax" "perf" "unicode" "meta" "nfa" "dfa" "hybrid" ];
          "dfa" = [ "dfa-build" "dfa-search" "dfa-onepass" ];
          "dfa-build" = [ "nfa-thompson" "dfa-search" ];
          "dfa-onepass" = [ "nfa-thompson" ];
          "hybrid" = [ "alloc" "nfa-thompson" ];
          "internal-instrument" = [ "internal-instrument-pikevm" ];
          "internal-instrument-pikevm" = [ "logging" "std" ];
          "logging" = [ "dep:log" "aho-corasick?/logging" "memchr?/logging" ];
          "meta" = [ "syntax" "nfa-pikevm" ];
          "nfa" = [ "nfa-thompson" "nfa-pikevm" "nfa-backtrack" ];
          "nfa-backtrack" = [ "nfa-thompson" ];
          "nfa-pikevm" = [ "nfa-thompson" ];
          "nfa-thompson" = [ "alloc" ];
          "perf" = [ "perf-inline" "perf-literal" ];
          "perf-literal" = [ "perf-literal-substring" "perf-literal-multisubstring" ];
          "perf-literal-multisubstring" = [ "std" "dep:aho-corasick" ];
          "perf-literal-substring" = [ "aho-corasick?/perf-literal" "dep:memchr" ];
          "std" = [ "regex-syntax?/std" "memchr?/std" "aho-corasick?/std" "alloc" ];
          "syntax" = [ "dep:regex-syntax" "alloc" ];
          "unicode" = [ "unicode-age" "unicode-bool" "unicode-case" "unicode-gencat" "unicode-perl" "unicode-script" "unicode-segment" "unicode-word-boundary" "regex-syntax?/unicode" ];
          "unicode-age" = [ "regex-syntax?/unicode-age" ];
          "unicode-bool" = [ "regex-syntax?/unicode-bool" ];
          "unicode-case" = [ "regex-syntax?/unicode-case" ];
          "unicode-gencat" = [ "regex-syntax?/unicode-gencat" ];
          "unicode-perl" = [ "regex-syntax?/unicode-perl" ];
          "unicode-script" = [ "regex-syntax?/unicode-script" ];
          "unicode-segment" = [ "regex-syntax?/unicode-segment" ];
        };
        resolvedDefaultFeatures = [ "alloc" "dfa-onepass" "dfa-search" "hybrid" "meta" "nfa-backtrack" "nfa-pikevm" "nfa-thompson" "perf-inline" "perf-literal" "perf-literal-multisubstring" "perf-literal-substring" "std" "syntax" "unicode" "unicode-age" "unicode-bool" "unicode-case" "unicode-gencat" "unicode-perl" "unicode-script" "unicode-segment" "unicode-word-boundary" ];
      };
      "regex-syntax" = rec {
        crateName = "regex-syntax";
        version = "0.8.2";
        edition = "2021";
        sha256 = "17rd2s8xbiyf6lb4aj2nfi44zqlj98g2ays8zzj2vfs743k79360";
        libName = "regex_syntax";
        authors = [
          "The Rust Project Developers"
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        features = {
          "arbitrary" = [ "dep:arbitrary" ];
          "default" = [ "std" "unicode" ];
          "unicode" = [ "unicode-age" "unicode-bool" "unicode-case" "unicode-gencat" "unicode-perl" "unicode-script" "unicode-segment" ];
        };
        resolvedDefaultFeatures = [ "default" "std" "unicode" "unicode-age" "unicode-bool" "unicode-case" "unicode-gencat" "unicode-perl" "unicode-script" "unicode-segment" ];
      };
      "rnix" = rec {
        crateName = "rnix";
        version = "0.11.0";
        edition = "2021";
        sha256 = "0pybq9gp4b7lp0066236jpqi9lgb1bzvqc9axymwrq3hxgdwwddv";
        authors = [
          "jD91mZM2 <me@krake.one>"
        ];
        dependencies = [
          {
            name = "rowan";
            packageId = "rowan";
          }
        ];

      };
      "route-recognizer" = rec {
        crateName = "route-recognizer";
        version = "0.3.1";
        edition = "2018";
        sha256 = "0ikp3blbina00jdbifxw1c9whg6mljli24lq5pv82iar53xr9axg";
        libName = "route_recognizer";
        authors = [
          "wycats"
          "rustasync"
        ];

      };
      "rowan" = rec {
        crateName = "rowan";
        version = "0.15.15";
        edition = "2021";
        sha256 = "0j9b340gsyf2h7v1q9xb4mqyqp4qbyzlbk1r9zn2mzyclyl8z99j";
        authors = [
          "Aleksey Kladov <aleksey.kladov@gmail.com>"
        ];
        dependencies = [
          {
            name = "countme";
            packageId = "countme";
          }
          {
            name = "hashbrown";
            packageId = "hashbrown 0.14.5";
            usesDefaultFeatures = false;
            features = [ "inline-more" ];
          }
          {
            name = "memoffset";
            packageId = "memoffset";
          }
          {
            name = "rustc-hash";
            packageId = "rustc-hash 1.1.0";
          }
          {
            name = "text-size";
            packageId = "text-size";
          }
        ];
        features = {
          "serde" = [ "dep:serde" ];
          "serde1" = [ "serde" "text-size/serde" ];
        };
      };
      "rustc-demangle" = rec {
        crateName = "rustc-demangle";
        version = "0.1.24";
        edition = "2015";
        sha256 = "07zysaafgrkzy2rjgwqdj2a8qdpsm6zv6f5pgpk9x0lm40z9b6vi";
        libName = "rustc_demangle";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        features = {
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
        };
      };
      "rustc-hash 1.1.0" = rec {
        crateName = "rustc-hash";
        version = "1.1.0";
        edition = "2015";
        sha256 = "1qkc5khrmv5pqi5l5ca9p5nl5hs742cagrndhbrlk3dhlrx3zm08";
        libName = "rustc_hash";
        authors = [
          "The Rust Project Developers"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "rustc-hash 2.0.0" = rec {
        crateName = "rustc-hash";
        version = "2.0.0";
        edition = "2021";
        sha256 = "0lni0lf846bzrf3jvci6jaf4142n1mdqxvcpczk5ch9pfgyk8c2q";
        libName = "rustc_hash";
        authors = [
          "The Rust Project Developers"
        ];
        features = {
          "default" = [ "std" ];
          "rand" = [ "dep:rand" "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "rustversion" = rec {
        crateName = "rustversion";
        version = "1.0.17";
        edition = "2018";
        sha256 = "1mm3fckyvb0l2209in1n2k05sws5d9mpkszbnwhq3pkq8apjhpcm";
        procMacro = true;
        build = "build/build.rs";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];

      };
      "ryu" = rec {
        crateName = "ryu";
        version = "1.0.18";
        edition = "2018";
        sha256 = "17xx2s8j1lln7iackzd9p0sv546vjq71i779gphjq923vjh5pjzk";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        features = {
          "no-panic" = [ "dep:no-panic" ];
        };
      };
      "serde" = rec {
        crateName = "serde";
        version = "1.0.204";
        edition = "2018";
        sha256 = "04kwpwqz559xlhxkggmm8rjxqgywy5swam3kscwsicnbw1cgaxmw";
        authors = [
          "Erick Tryzelaar <erick.tryzelaar@gmail.com>"
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "serde_derive";
            packageId = "serde_derive";
            optional = true;
          }
          {
            name = "serde_derive";
            packageId = "serde_derive";
            target = { target, features }: false;
          }
        ];
        devDependencies = [
          {
            name = "serde_derive";
            packageId = "serde_derive";
          }
        ];
        features = {
          "default" = [ "std" ];
          "derive" = [ "serde_derive" ];
          "serde_derive" = [ "dep:serde_derive" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "derive" "rc" "serde_derive" "std" ];
      };
      "serde-wasm-bindgen 0.5.0" = rec {
        crateName = "serde-wasm-bindgen";
        version = "0.5.0";
        edition = "2018";
        sha256 = "03m01y4l2kqz63pb1bip52j8bqilzlhhsa7asfdanmrwhgi47cgk";
        libName = "serde_wasm_bindgen";
        authors = [
          "Ingvar Stepanyan <me@rreverser.com>"
        ];
        dependencies = [
          {
            name = "js-sys";
            packageId = "js-sys";
          }
          {
            name = "serde";
            packageId = "serde";
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
        ];
        devDependencies = [
          {
            name = "serde";
            packageId = "serde";
            features = [ "derive" ];
          }
        ];

      };
      "serde-wasm-bindgen 0.6.5" = rec {
        crateName = "serde-wasm-bindgen";
        version = "0.6.5";
        edition = "2018";
        sha256 = "0sz1l4v8059hiizf5z7r2spm6ws6sqcrs4qgqwww3p7dy1ly20l3";
        libName = "serde_wasm_bindgen";
        authors = [
          "Ingvar Stepanyan <me@rreverser.com>"
        ];
        dependencies = [
          {
            name = "js-sys";
            packageId = "js-sys";
          }
          {
            name = "serde";
            packageId = "serde";
            features = [ "derive" ];
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
        ];

      };
      "serde_derive" = rec {
        crateName = "serde_derive";
        version = "1.0.204";
        edition = "2015";
        sha256 = "08p25262mbmhsr2cg0508d5b1wvljj956rvpg0v3qgg6gc8pxkg0";
        procMacro = true;
        authors = [
          "Erick Tryzelaar <erick.tryzelaar@gmail.com>"
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
            usesDefaultFeatures = false;
            features = [ "proc-macro" ];
          }
          {
            name = "quote";
            packageId = "quote";
            usesDefaultFeatures = false;
            features = [ "proc-macro" ];
          }
          {
            name = "syn";
            packageId = "syn 2.0.68";
            usesDefaultFeatures = false;
            features = [ "clone-impls" "derive" "parsing" "printing" "proc-macro" ];
          }
        ];
        features = { };
        resolvedDefaultFeatures = [ "default" ];
      };
      "serde_json" = rec {
        crateName = "serde_json";
        version = "1.0.120";
        edition = "2021";
        sha256 = "1idpv3zxcvl76z2z47jgg1f1wjqdnhfc204asmd27qfam34j23af";
        authors = [
          "Erick Tryzelaar <erick.tryzelaar@gmail.com>"
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "itoa";
            packageId = "itoa";
          }
          {
            name = "ryu";
            packageId = "ryu";
          }
          {
            name = "serde";
            packageId = "serde";
            usesDefaultFeatures = false;
          }
        ];
        devDependencies = [
          {
            name = "serde";
            packageId = "serde";
            features = [ "derive" ];
          }
        ];
        features = {
          "alloc" = [ "serde/alloc" ];
          "default" = [ "std" ];
          "indexmap" = [ "dep:indexmap" ];
          "preserve_order" = [ "indexmap" "std" ];
          "std" = [ "serde/std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "serde_spanned" = rec {
        crateName = "serde_spanned";
        version = "0.6.5";
        edition = "2021";
        sha256 = "1hgh6s3jjwyzhfk3xwb6pnnr1misq9nflwq0f026jafi37s24dpb";
        dependencies = [
          {
            name = "serde";
            packageId = "serde";
            optional = true;
          }
        ];
        devDependencies = [
          {
            name = "serde";
            packageId = "serde";
          }
        ];
        features = {
          "serde" = [ "dep:serde" ];
        };
        resolvedDefaultFeatures = [ "serde" ];
      };
      "serde_urlencoded" = rec {
        crateName = "serde_urlencoded";
        version = "0.7.1";
        edition = "2018";
        sha256 = "1zgklbdaysj3230xivihs30qi5vkhigg323a9m62k8jwf4a1qjfk";
        authors = [
          "Anthony Ramine <n.oxyde@gmail.com>"
        ];
        dependencies = [
          {
            name = "form_urlencoded";
            packageId = "form_urlencoded";
          }
          {
            name = "itoa";
            packageId = "itoa";
          }
          {
            name = "ryu";
            packageId = "ryu";
          }
          {
            name = "serde";
            packageId = "serde";
          }
        ];

      };
      "sha1" = rec {
        crateName = "sha1";
        version = "0.10.6";
        edition = "2018";
        sha256 = "1fnnxlfg08xhkmwf2ahv634as30l1i3xhlhkvxflmasi5nd85gz3";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "cpufeatures";
            packageId = "cpufeatures";
            target = { target, features }: (("aarch64" == target."arch" or null) || ("x86" == target."arch" or null) || ("x86_64" == target."arch" or null));
          }
          {
            name = "digest";
            packageId = "digest";
          }
        ];
        devDependencies = [
          {
            name = "digest";
            packageId = "digest";
            features = [ "dev" ];
          }
        ];
        features = {
          "asm" = [ "sha1-asm" ];
          "default" = [ "std" ];
          "oid" = [ "digest/oid" ];
          "sha1-asm" = [ "dep:sha1-asm" ];
          "std" = [ "digest/std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "sha2" = rec {
        crateName = "sha2";
        version = "0.10.8";
        edition = "2018";
        sha256 = "1j1x78zk9il95w9iv46dh9wm73r6xrgj32y6lzzw7bxws9dbfgbr";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "cpufeatures";
            packageId = "cpufeatures";
            target = { target, features }: (("aarch64" == target."arch" or null) || ("x86_64" == target."arch" or null) || ("x86" == target."arch" or null));
          }
          {
            name = "digest";
            packageId = "digest";
          }
        ];
        devDependencies = [
          {
            name = "digest";
            packageId = "digest";
            features = [ "dev" ];
          }
        ];
        features = {
          "asm" = [ "sha2-asm" ];
          "asm-aarch64" = [ "asm" ];
          "default" = [ "std" ];
          "oid" = [ "digest/oid" ];
          "sha2-asm" = [ "dep:sha2-asm" ];
          "std" = [ "digest/std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "slab" = rec {
        crateName = "slab";
        version = "0.4.9";
        edition = "2018";
        sha256 = "0rxvsgir0qw5lkycrqgb1cxsvxzjv9bmx73bk5y42svnzfba94lg";
        authors = [
          "Carl Lerche <me@carllerche.com>"
        ];
        buildDependencies = [
          {
            name = "autocfg";
            packageId = "autocfg";
          }
        ];
        features = {
          "default" = [ "std" ];
          "serde" = [ "dep:serde" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "smol_str" = rec {
        crateName = "smol_str";
        version = "0.2.0";
        edition = "2018";
        sha256 = "1779hpx5ipbcvkdj5zw8zqk3ynn160qvls1gkcr54hwsprmjw8bl";
        authors = [
          "Aleksey Kladov <aleksey.kladov@gmail.com>"
        ];
        dependencies = [
          {
            name = "serde";
            packageId = "serde";
            optional = true;
            usesDefaultFeatures = false;
          }
        ];
        devDependencies = [
          {
            name = "serde";
            packageId = "serde";
            features = [ "derive" ];
          }
        ];
        features = {
          "arbitrary" = [ "dep:arbitrary" ];
          "default" = [ "std" ];
          "serde" = [ "dep:serde" ];
          "std" = [ "serde?/std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "static_assertions" = rec {
        crateName = "static_assertions";
        version = "1.1.0";
        edition = "2015";
        sha256 = "0gsl6xmw10gvn3zs1rv99laj5ig7ylffnh71f9l34js4nr4r7sx2";
        authors = [
          "Nikolai Vazquez"
        ];
        features = { };
      };
      "syn 1.0.109" = rec {
        crateName = "syn";
        version = "1.0.109";
        edition = "2018";
        sha256 = "0ds2if4600bd59wsv7jjgfkayfzy3hnazs394kz6zdkmna8l3dkj";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
            usesDefaultFeatures = false;
          }
          {
            name = "quote";
            packageId = "quote";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "unicode-ident";
            packageId = "unicode-ident";
          }
        ];
        features = {
          "default" = [ "derive" "parsing" "printing" "clone-impls" "proc-macro" ];
          "printing" = [ "quote" ];
          "proc-macro" = [ "proc-macro2/proc-macro" "quote/proc-macro" ];
          "quote" = [ "dep:quote" ];
          "test" = [ "syn-test-suite/all-features" ];
        };
        resolvedDefaultFeatures = [ "clone-impls" "default" "derive" "extra-traits" "full" "parsing" "printing" "proc-macro" "quote" "visit" "visit-mut" ];
      };
      "syn 2.0.68" = rec {
        crateName = "syn";
        version = "2.0.68";
        edition = "2021";
        sha256 = "1sf1y2hajhjav38ipg63c934xrgkz4v42fz24a0ckmmri06sf7wh";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
            usesDefaultFeatures = false;
          }
          {
            name = "quote";
            packageId = "quote";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "unicode-ident";
            packageId = "unicode-ident";
          }
        ];
        features = {
          "default" = [ "derive" "parsing" "printing" "clone-impls" "proc-macro" ];
          "printing" = [ "dep:quote" ];
          "proc-macro" = [ "proc-macro2/proc-macro" "quote?/proc-macro" ];
          "test" = [ "syn-test-suite/all-features" ];
        };
        resolvedDefaultFeatures = [ "clone-impls" "default" "derive" "extra-traits" "full" "parsing" "printing" "proc-macro" "visit" "visit-mut" ];
      };
      "tabwriter" = rec {
        crateName = "tabwriter";
        version = "1.4.0";
        edition = "2021";
        sha256 = "1xp5j7v8jsk92zcmiyh4ya9akhrchjvc595vwcvxrxk49wn2h9x3";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        dependencies = [
          {
            name = "unicode-width";
            packageId = "unicode-width";
          }
        ];
        features = { };
        resolvedDefaultFeatures = [ "default" ];
      };
      "termcolor" = rec {
        crateName = "termcolor";
        version = "1.4.1";
        edition = "2018";
        sha256 = "0mappjh3fj3p2nmrg4y7qv94rchwi9mzmgmfflr8p2awdj7lyy86";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        dependencies = [
          {
            name = "winapi-util";
            packageId = "winapi-util";
            target = { target, features }: (target."windows" or false);
          }
        ];

      };
      "text-size" = rec {
        crateName = "text-size";
        version = "1.1.1";
        edition = "2018";
        sha256 = "0cwjbkl7w3xc8mnkhg1nwij6p5y2qkcfldgss8ddnawvhf3s32pi";
        libName = "text_size";
        authors = [
          "Aleksey Kladov <aleksey.kladov@gmail.com>"
          "Christopher Durham (CAD97) <cad97@cad97.com>"
        ];
        features = {
          "serde" = [ "dep:serde" ];
        };
      };
      "thiserror" = rec {
        crateName = "thiserror";
        version = "1.0.61";
        edition = "2021";
        sha256 = "028prh962l16cmjivwb1g9xalbpqip0305zhq006mg74dc6whin5";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "thiserror-impl";
            packageId = "thiserror-impl";
          }
        ];

      };
      "thiserror-impl" = rec {
        crateName = "thiserror-impl";
        version = "1.0.61";
        edition = "2021";
        sha256 = "0cvm37hp0kbcyk1xac1z0chpbd9pbn2g456iyid6sah0a113ihs6";
        procMacro = true;
        libName = "thiserror_impl";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn 2.0.68";
          }
        ];

      };
      "tokio" = rec {
        crateName = "tokio";
        version = "1.39.2";
        edition = "2021";
        sha256 = "1cb7yhba7nnf00cylcywk7rai5kkdb8b4jzwrc26zgbqqwdzp96s";
        authors = [
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "backtrace";
            packageId = "backtrace";
            target = { target, features }: (target."tokio_taskdump" or false);
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
        ];
        features = {
          "bytes" = [ "dep:bytes" ];
          "full" = [ "fs" "io-util" "io-std" "macros" "net" "parking_lot" "process" "rt" "rt-multi-thread" "signal" "sync" "time" ];
          "io-util" = [ "bytes" ];
          "libc" = [ "dep:libc" ];
          "macros" = [ "tokio-macros" ];
          "mio" = [ "dep:mio" ];
          "net" = [ "libc" "mio/os-poll" "mio/os-ext" "mio/net" "socket2" "windows-sys/Win32_Foundation" "windows-sys/Win32_Security" "windows-sys/Win32_Storage_FileSystem" "windows-sys/Win32_System_Pipes" "windows-sys/Win32_System_SystemServices" ];
          "parking_lot" = [ "dep:parking_lot" ];
          "process" = [ "bytes" "libc" "mio/os-poll" "mio/os-ext" "mio/net" "signal-hook-registry" "windows-sys/Win32_Foundation" "windows-sys/Win32_System_Threading" "windows-sys/Win32_System_WindowsProgramming" ];
          "rt-multi-thread" = [ "rt" ];
          "signal" = [ "libc" "mio/os-poll" "mio/net" "mio/os-ext" "signal-hook-registry" "windows-sys/Win32_Foundation" "windows-sys/Win32_System_Console" ];
          "signal-hook-registry" = [ "dep:signal-hook-registry" ];
          "socket2" = [ "dep:socket2" ];
          "test-util" = [ "rt" "sync" "time" ];
          "tokio-macros" = [ "dep:tokio-macros" ];
          "tracing" = [ "dep:tracing" ];
          "windows-sys" = [ "dep:windows-sys" ];
        };
        resolvedDefaultFeatures = [ "default" "rt" "sync" "time" ];
      };
      "tokio-stream" = rec {
        crateName = "tokio-stream";
        version = "0.1.15";
        edition = "2021";
        sha256 = "1brpbsqyg8yfmfc4y0j9zxvc8xsxjc31d48kb0g6jvpc1fgchyi6";
        libName = "tokio_stream";
        authors = [
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "futures-core";
            packageId = "futures-core";
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "sync" ];
          }
        ];
        devDependencies = [
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "full" "test-util" ];
          }
        ];
        features = {
          "default" = [ "time" ];
          "fs" = [ "tokio/fs" ];
          "full" = [ "time" "net" "io-util" "fs" "sync" "signal" ];
          "io-util" = [ "tokio/io-util" ];
          "net" = [ "tokio/net" ];
          "signal" = [ "tokio/signal" ];
          "sync" = [ "tokio/sync" "tokio-util" ];
          "time" = [ "tokio/time" ];
          "tokio-util" = [ "dep:tokio-util" ];
        };
        resolvedDefaultFeatures = [ "default" "time" ];
      };
      "toml" = rec {
        crateName = "toml";
        version = "0.6.0";
        edition = "2021";
        sha256 = "05zjz69wjymp9yrgccg5vhvxpf855rgn23vl1yvri4nwwj8difag";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "serde";
            packageId = "serde";
          }
          {
            name = "serde_spanned";
            packageId = "serde_spanned";
            features = [ "serde" ];
          }
          {
            name = "toml_datetime";
            packageId = "toml_datetime 0.5.1";
            features = [ "serde" ];
          }
          {
            name = "toml_edit";
            packageId = "toml_edit 0.18.1";
            optional = true;
            features = [ "serde" ];
          }
        ];
        devDependencies = [
          {
            name = "serde";
            packageId = "serde";
            features = [ "derive" ];
          }
        ];
        features = {
          "default" = [ "parse" "display" ];
          "display" = [ "dep:toml_edit" ];
          "indexmap" = [ "dep:indexmap" ];
          "parse" = [ "dep:toml_edit" ];
          "preserve_order" = [ "indexmap" ];
        };
        resolvedDefaultFeatures = [ "default" "display" "parse" ];
      };
      "toml_datetime 0.5.1" = rec {
        crateName = "toml_datetime";
        version = "0.5.1";
        edition = "2021";
        sha256 = "1xcw3kyklh3s2gxp65ma26rgkl7505la4xx1r55kfgcfmikz8ls5";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "serde";
            packageId = "serde";
            optional = true;
          }
        ];
        features = {
          "serde" = [ "dep:serde" ];
        };
        resolvedDefaultFeatures = [ "serde" ];
      };
      "toml_datetime 0.6.7" = rec {
        crateName = "toml_datetime";
        version = "0.6.7";
        edition = "2021";
        sha256 = "1nx11ng5fxp8f8bw4y0wiw9351qpv92ca2ll3l7q8hj865j9zyzq";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        features = {
          "serde" = [ "dep:serde" ];
        };
      };
      "toml_edit 0.18.1" = rec {
        crateName = "toml_edit";
        version = "0.18.1";
        edition = "2021";
        sha256 = "0ax1bwzd4xclpids3b69nd1nxqi3x3qa4ymz51jbrp6hsy6rvian";
        authors = [
          "Andronik Ordian <write@reusable.software>"
          "Ed Page <eopage@gmail.com>"
        ];
        dependencies = [
          {
            name = "indexmap";
            packageId = "indexmap 1.9.3";
          }
          {
            name = "nom8";
            packageId = "nom8";
          }
          {
            name = "serde";
            packageId = "serde";
            optional = true;
          }
          {
            name = "serde_spanned";
            packageId = "serde_spanned";
            optional = true;
            features = [ "serde" ];
          }
          {
            name = "toml_datetime";
            packageId = "toml_datetime 0.5.1";
          }
        ];
        features = {
          "easy" = [ "serde" ];
          "perf" = [ "dep:kstring" ];
          "serde" = [ "dep:serde" "toml_datetime/serde" "dep:serde_spanned" ];
        };
        resolvedDefaultFeatures = [ "default" "serde" ];
      };
      "toml_edit 0.19.15" = rec {
        crateName = "toml_edit";
        version = "0.19.15";
        edition = "2021";
        sha256 = "08bl7rp5g6jwmfpad9s8jpw8wjrciadpnbaswgywpr9hv9qbfnqv";
        authors = [
          "Andronik Ordian <write@reusable.software>"
          "Ed Page <eopage@gmail.com>"
        ];
        dependencies = [
          {
            name = "indexmap";
            packageId = "indexmap 2.2.6";
            features = [ "std" ];
          }
          {
            name = "toml_datetime";
            packageId = "toml_datetime 0.6.7";
          }
          {
            name = "winnow";
            packageId = "winnow";
          }
        ];
        features = {
          "perf" = [ "dep:kstring" ];
          "serde" = [ "dep:serde" "toml_datetime/serde" "dep:serde_spanned" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "tracing" = rec {
        crateName = "tracing";
        version = "0.1.40";
        edition = "2018";
        sha256 = "1vv48dac9zgj9650pg2b4d0j3w6f3x9gbggf43scq5hrlysklln3";
        authors = [
          "Eliza Weisman <eliza@buoyant.io>"
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
          {
            name = "tracing-attributes";
            packageId = "tracing-attributes";
            optional = true;
          }
          {
            name = "tracing-core";
            packageId = "tracing-core";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "attributes" = [ "tracing-attributes" ];
          "default" = [ "std" "attributes" ];
          "log" = [ "dep:log" ];
          "log-always" = [ "log" ];
          "std" = [ "tracing-core/std" ];
          "tracing-attributes" = [ "dep:tracing-attributes" ];
          "valuable" = [ "tracing-core/valuable" ];
        };
        resolvedDefaultFeatures = [ "attributes" "default" "std" "tracing-attributes" ];
      };
      "tracing-attributes" = rec {
        crateName = "tracing-attributes";
        version = "0.1.27";
        edition = "2018";
        sha256 = "1rvb5dn9z6d0xdj14r403z0af0bbaqhg02hq4jc97g5wds6lqw1l";
        procMacro = true;
        libName = "tracing_attributes";
        authors = [
          "Tokio Contributors <team@tokio.rs>"
          "Eliza Weisman <eliza@buoyant.io>"
          "David Barsky <dbarsky@amazon.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn 2.0.68";
            usesDefaultFeatures = false;
            features = [ "full" "parsing" "printing" "visit-mut" "clone-impls" "extra-traits" "proc-macro" ];
          }
        ];
        features = { };
      };
      "tracing-core" = rec {
        crateName = "tracing-core";
        version = "0.1.32";
        edition = "2018";
        sha256 = "0m5aglin3cdwxpvbg6kz0r9r0k31j48n0kcfwsp6l49z26k3svf0";
        libName = "tracing_core";
        authors = [
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "once_cell";
            packageId = "once_cell";
            optional = true;
          }
        ];
        features = {
          "default" = [ "std" "valuable/std" ];
          "once_cell" = [ "dep:once_cell" ];
          "std" = [ "once_cell" ];
          "valuable" = [ "dep:valuable" ];
        };
        resolvedDefaultFeatures = [ "once_cell" "std" ];
      };
      "tvix-eval" = rec {
        crateName = "tvix-eval";
        version = "0.1.0";
        edition = "2021";
        src = lib.cleanSourceWith { filter = sourceFilter; src = ../../tvix/eval; };
        libName = "tvix_eval";
        dependencies = [
          {
            name = "bstr";
            packageId = "bstr";
            features = [ "serde" ];
          }
          {
            name = "bytes";
            packageId = "bytes";
          }
          {
            name = "codemap";
            packageId = "codemap";
          }
          {
            name = "codemap-diagnostic";
            packageId = "codemap-diagnostic";
          }
          {
            name = "data-encoding";
            packageId = "data-encoding";
          }
          {
            name = "dirs";
            packageId = "dirs";
          }
          {
            name = "genawaiter";
            packageId = "genawaiter";
            usesDefaultFeatures = false;
          }
          {
            name = "imbl";
            packageId = "imbl";
            features = [ "serde" ];
          }
          {
            name = "itertools";
            packageId = "itertools";
          }
          {
            name = "lazy_static";
            packageId = "lazy_static";
          }
          {
            name = "lexical-core";
            packageId = "lexical-core";
            features = [ "format" "parse-floats" ];
          }
          {
            name = "md-5";
            packageId = "md-5";
          }
          {
            name = "nohash-hasher";
            packageId = "nohash-hasher";
          }
          {
            name = "os_str_bytes";
            packageId = "os_str_bytes";
            features = [ "conversions" ];
          }
          {
            name = "path-clean";
            packageId = "path-clean";
          }
          {
            name = "regex";
            packageId = "regex";
          }
          {
            name = "rnix";
            packageId = "rnix";
          }
          {
            name = "rowan";
            packageId = "rowan";
          }
          {
            name = "rustc-hash";
            packageId = "rustc-hash 2.0.0";
          }
          {
            name = "serde";
            packageId = "serde";
            features = [ "rc" "derive" ];
          }
          {
            name = "serde_json";
            packageId = "serde_json";
          }
          {
            name = "sha1";
            packageId = "sha1";
          }
          {
            name = "sha2";
            packageId = "sha2";
          }
          {
            name = "smol_str";
            packageId = "smol_str";
          }
          {
            name = "tabwriter";
            packageId = "tabwriter";
          }
          {
            name = "toml";
            packageId = "toml";
          }
          {
            name = "tvix-eval-builtin-macros";
            packageId = "tvix-eval-builtin-macros";
            rename = "builtin-macros";
          }
          {
            name = "vu128";
            packageId = "vu128";
          }
        ];
        devDependencies = [
          {
            name = "itertools";
            packageId = "itertools";
          }
        ];
        features = {
          "arbitrary" = [ "proptest" "test-strategy" "imbl/proptest" ];
          "default" = [ "impure" "arbitrary" "nix_tests" ];
          "proptest" = [ "dep:proptest" ];
          "test-strategy" = [ "dep:test-strategy" ];
        };
      };
      "tvix-eval-builtin-macros" = rec {
        crateName = "tvix-eval-builtin-macros";
        version = "0.0.1";
        edition = "2021";
        src = lib.cleanSourceWith { filter = sourceFilter; src = ../../tvix/eval/builtin-macros; };
        procMacro = true;
        libName = "tvix_eval_builtin_macros";
        authors = [
          "Griffin Smith <root@gws.fyi>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn 1.0.109";
            features = [ "full" "parsing" "printing" "visit" "visit-mut" "extra-traits" ];
          }
        ];

      };
      "tvixbolt" = rec {
        crateName = "tvixbolt";
        version = "0.1.0";
        edition = "2021";
        src = lib.cleanSourceWith { filter = sourceFilter; src = ./.; };
        type = [ "cdylib" ];
        dependencies = [
          {
            name = "serde";
            packageId = "serde";
            features = [ "derive" ];
          }
          {
            name = "tvix-eval";
            packageId = "tvix-eval";
            usesDefaultFeatures = false;
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            features = [ "HtmlDetailsElement" ];
          }
          {
            name = "yew";
            packageId = "yew";
            features = [ "csr" ];
          }
          {
            name = "yew-router";
            packageId = "yew-router";
          }
        ];

      };
      "typenum" = rec {
        crateName = "typenum";
        version = "1.17.0";
        edition = "2018";
        sha256 = "09dqxv69m9lj9zvv6xw5vxaqx15ps0vxyy5myg33i0kbqvq0pzs2";
        build = "build/main.rs";
        authors = [
          "Paho Lurie-Gregg <paho@paholg.com>"
          "Andre Bogus <bogusandre@gmail.com>"
        ];
        features = {
          "scale-info" = [ "dep:scale-info" ];
          "scale_info" = [ "scale-info/derive" ];
        };
      };
      "unicode-ident" = rec {
        crateName = "unicode-ident";
        version = "1.0.12";
        edition = "2018";
        sha256 = "0jzf1znfpb2gx8nr8mvmyqs1crnv79l57nxnbiszc7xf7ynbjm1k";
        libName = "unicode_ident";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];

      };
      "unicode-width" = rec {
        crateName = "unicode-width";
        version = "0.1.11";
        edition = "2015";
        sha256 = "11ds4ydhg8g7l06rlmh712q41qsrd0j0h00n1jm74kww3kqk65z5";
        libName = "unicode_width";
        authors = [
          "kwantam <kwantam@gmail.com>"
          "Manish Goregaokar <manishsmail@gmail.com>"
        ];
        features = {
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "rustc-dep-of-std" = [ "std" "core" "compiler_builtins" ];
          "std" = [ "dep:std" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "urlencoding" = rec {
        crateName = "urlencoding";
        version = "2.1.3";
        edition = "2021";
        sha256 = "1nj99jp37k47n0hvaz5fvz7z6jd0sb4ppvfy3nphr1zbnyixpy6s";
        authors = [
          "Kornel <kornel@geekhood.net>"
          "Bertram Truong <b@bertramtruong.com>"
        ];

      };
      "version_check" = rec {
        crateName = "version_check";
        version = "0.9.4";
        edition = "2015";
        sha256 = "0gs8grwdlgh0xq660d7wr80x14vxbizmd8dbp29p2pdncx8lp1s9";
        authors = [
          "Sergio Benitez <sb@sergio.bz>"
        ];

      };
      "vu128" = rec {
        crateName = "vu128";
        version = "1.0.0";
        edition = "2018";
        sha256 = "049fsvml8rsyfj9j53ijhsxqcvp1x7fg651baj35shiziy61f6n5";
        libPath = "vu128/vu128.rs";
        authors = [
          "John Millikin <john@john-millikin.com>"
        ];

      };
      "wasi" = rec {
        crateName = "wasi";
        version = "0.11.0+wasi-snapshot-preview1";
        edition = "2018";
        sha256 = "08z4hxwkpdpalxjps1ai9y7ihin26y9f476i53dv98v45gkqg3cw";
        authors = [
          "The Cranelift Project Developers"
        ];
        features = {
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "default" = [ "std" ];
          "rustc-dep-of-std" = [ "compiler_builtins" "core" "rustc-std-workspace-alloc" ];
          "rustc-std-workspace-alloc" = [ "dep:rustc-std-workspace-alloc" ];
        };
      };
      "wasm-bindgen" = rec {
        crateName = "wasm-bindgen";
        version = "0.2.92";
        edition = "2018";
        sha256 = "1a4mcw13nsk3fr8fxjzf9kk1wj88xkfsmnm0pjraw01ryqfm7qjb";
        libName = "wasm_bindgen";
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "wasm-bindgen-macro";
            packageId = "wasm-bindgen-macro";
          }
        ];
        features = {
          "default" = [ "spans" "std" ];
          "enable-interning" = [ "std" ];
          "gg-alloc" = [ "wasm-bindgen-test/gg-alloc" ];
          "serde" = [ "dep:serde" ];
          "serde-serialize" = [ "serde" "serde_json" "std" ];
          "serde_json" = [ "dep:serde_json" ];
          "spans" = [ "wasm-bindgen-macro/spans" ];
          "strict-macro" = [ "wasm-bindgen-macro/strict-macro" ];
          "xxx_debug_only_print_generated_code" = [ "wasm-bindgen-macro/xxx_debug_only_print_generated_code" ];
        };
        resolvedDefaultFeatures = [ "default" "spans" "std" ];
      };
      "wasm-bindgen-backend" = rec {
        crateName = "wasm-bindgen-backend";
        version = "0.2.92";
        edition = "2018";
        sha256 = "1nj7wxbi49f0rw9d44rjzms26xlw6r76b2mrggx8jfbdjrxphkb1";
        libName = "wasm_bindgen_backend";
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "bumpalo";
            packageId = "bumpalo";
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "once_cell";
            packageId = "once_cell";
          }
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn 2.0.68";
            features = [ "full" ];
          }
          {
            name = "wasm-bindgen-shared";
            packageId = "wasm-bindgen-shared";
          }
        ];
        features = {
          "extra-traits" = [ "syn/extra-traits" ];
        };
        resolvedDefaultFeatures = [ "spans" ];
      };
      "wasm-bindgen-futures" = rec {
        crateName = "wasm-bindgen-futures";
        version = "0.4.42";
        edition = "2018";
        sha256 = "1h322zjvpjllcpj7dahfxjsv6inkr6y0baw7nkdwivr1c4v19g3n";
        libName = "wasm_bindgen_futures";
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "js-sys";
            packageId = "js-sys";
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            target = { target, features }: (builtins.elem "atomics" targetFeatures);
            features = [ "MessageEvent" "Worker" ];
          }
        ];
        features = {
          "futures-core" = [ "dep:futures-core" ];
          "futures-core-03-stream" = [ "futures-core" ];
        };
      };
      "wasm-bindgen-macro" = rec {
        crateName = "wasm-bindgen-macro";
        version = "0.2.92";
        edition = "2018";
        sha256 = "09npa1srjjabd6nfph5yc03jb26sycjlxhy0c2a1pdrpx4yq5y51";
        procMacro = true;
        libName = "wasm_bindgen_macro";
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "wasm-bindgen-macro-support";
            packageId = "wasm-bindgen-macro-support";
          }
        ];
        features = {
          "spans" = [ "wasm-bindgen-macro-support/spans" ];
          "strict-macro" = [ "wasm-bindgen-macro-support/strict-macro" ];
        };
        resolvedDefaultFeatures = [ "spans" ];
      };
      "wasm-bindgen-macro-support" = rec {
        crateName = "wasm-bindgen-macro-support";
        version = "0.2.92";
        edition = "2018";
        sha256 = "1dqv2xs8zcyw4kjgzj84bknp2h76phmsb3n7j6hn396h4ssifkz9";
        libName = "wasm_bindgen_macro_support";
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn 2.0.68";
            features = [ "visit" "full" ];
          }
          {
            name = "wasm-bindgen-backend";
            packageId = "wasm-bindgen-backend";
          }
          {
            name = "wasm-bindgen-shared";
            packageId = "wasm-bindgen-shared";
          }
        ];
        features = {
          "extra-traits" = [ "syn/extra-traits" ];
          "spans" = [ "wasm-bindgen-backend/spans" ];
        };
        resolvedDefaultFeatures = [ "spans" ];
      };
      "wasm-bindgen-shared" = rec {
        crateName = "wasm-bindgen-shared";
        version = "0.2.92";
        edition = "2018";
        links = "wasm_bindgen";
        sha256 = "15kyavsrna2cvy30kg03va257fraf9x00ny554vxngvpyaa0q6dg";
        libName = "wasm_bindgen_shared";
        authors = [
          "The wasm-bindgen Developers"
        ];

      };
      "web-sys" = rec {
        crateName = "web-sys";
        version = "0.3.69";
        edition = "2018";
        sha256 = "1vqkxk935xa8zcnsi4bd88sb267ly2i24xl1yiq26d1n32hskbvp";
        libName = "web_sys";
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "js-sys";
            packageId = "js-sys";
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
        ];
        features = {
          "AbortSignal" = [ "EventTarget" ];
          "AnalyserNode" = [ "AudioNode" "EventTarget" ];
          "Animation" = [ "EventTarget" ];
          "AnimationEvent" = [ "Event" ];
          "AnimationPlaybackEvent" = [ "Event" ];
          "Attr" = [ "EventTarget" "Node" ];
          "AudioBufferSourceNode" = [ "AudioNode" "AudioScheduledSourceNode" "EventTarget" ];
          "AudioContext" = [ "BaseAudioContext" "EventTarget" ];
          "AudioDestinationNode" = [ "AudioNode" "EventTarget" ];
          "AudioNode" = [ "EventTarget" ];
          "AudioProcessingEvent" = [ "Event" ];
          "AudioScheduledSourceNode" = [ "AudioNode" "EventTarget" ];
          "AudioStreamTrack" = [ "EventTarget" "MediaStreamTrack" ];
          "AudioTrackList" = [ "EventTarget" ];
          "AudioWorklet" = [ "Worklet" ];
          "AudioWorkletGlobalScope" = [ "WorkletGlobalScope" ];
          "AudioWorkletNode" = [ "AudioNode" "EventTarget" ];
          "AuthenticatorAssertionResponse" = [ "AuthenticatorResponse" ];
          "AuthenticatorAttestationResponse" = [ "AuthenticatorResponse" ];
          "BaseAudioContext" = [ "EventTarget" ];
          "BatteryManager" = [ "EventTarget" ];
          "BeforeUnloadEvent" = [ "Event" ];
          "BiquadFilterNode" = [ "AudioNode" "EventTarget" ];
          "BlobEvent" = [ "Event" ];
          "Bluetooth" = [ "EventTarget" ];
          "BluetoothAdvertisingEvent" = [ "Event" ];
          "BluetoothDevice" = [ "EventTarget" ];
          "BluetoothPermissionResult" = [ "EventTarget" "PermissionStatus" ];
          "BluetoothRemoteGattCharacteristic" = [ "EventTarget" ];
          "BluetoothRemoteGattService" = [ "EventTarget" ];
          "BroadcastChannel" = [ "EventTarget" ];
          "CanvasCaptureMediaStream" = [ "EventTarget" "MediaStream" ];
          "CanvasCaptureMediaStreamTrack" = [ "EventTarget" "MediaStreamTrack" ];
          "CdataSection" = [ "CharacterData" "EventTarget" "Node" "Text" ];
          "ChannelMergerNode" = [ "AudioNode" "EventTarget" ];
          "ChannelSplitterNode" = [ "AudioNode" "EventTarget" ];
          "CharacterData" = [ "EventTarget" "Node" ];
          "ChromeWorker" = [ "EventTarget" "Worker" ];
          "Clipboard" = [ "EventTarget" ];
          "ClipboardEvent" = [ "Event" ];
          "CloseEvent" = [ "Event" ];
          "Comment" = [ "CharacterData" "EventTarget" "Node" ];
          "CompositionEvent" = [ "Event" "UiEvent" ];
          "ConstantSourceNode" = [ "AudioNode" "AudioScheduledSourceNode" "EventTarget" ];
          "ConvolverNode" = [ "AudioNode" "EventTarget" ];
          "CssAnimation" = [ "Animation" "EventTarget" ];
          "CssConditionRule" = [ "CssGroupingRule" "CssRule" ];
          "CssCounterStyleRule" = [ "CssRule" ];
          "CssFontFaceRule" = [ "CssRule" ];
          "CssFontFeatureValuesRule" = [ "CssRule" ];
          "CssGroupingRule" = [ "CssRule" ];
          "CssImportRule" = [ "CssRule" ];
          "CssKeyframeRule" = [ "CssRule" ];
          "CssKeyframesRule" = [ "CssRule" ];
          "CssMediaRule" = [ "CssConditionRule" "CssGroupingRule" "CssRule" ];
          "CssNamespaceRule" = [ "CssRule" ];
          "CssPageRule" = [ "CssRule" ];
          "CssStyleRule" = [ "CssRule" ];
          "CssStyleSheet" = [ "StyleSheet" ];
          "CssSupportsRule" = [ "CssConditionRule" "CssGroupingRule" "CssRule" ];
          "CssTransition" = [ "Animation" "EventTarget" ];
          "CustomEvent" = [ "Event" ];
          "DedicatedWorkerGlobalScope" = [ "EventTarget" "WorkerGlobalScope" ];
          "DelayNode" = [ "AudioNode" "EventTarget" ];
          "DeviceLightEvent" = [ "Event" ];
          "DeviceMotionEvent" = [ "Event" ];
          "DeviceOrientationEvent" = [ "Event" ];
          "DeviceProximityEvent" = [ "Event" ];
          "Document" = [ "EventTarget" "Node" ];
          "DocumentFragment" = [ "EventTarget" "Node" ];
          "DocumentTimeline" = [ "AnimationTimeline" ];
          "DocumentType" = [ "EventTarget" "Node" ];
          "DomMatrix" = [ "DomMatrixReadOnly" ];
          "DomPoint" = [ "DomPointReadOnly" ];
          "DomRect" = [ "DomRectReadOnly" ];
          "DomRequest" = [ "EventTarget" ];
          "DragEvent" = [ "Event" "MouseEvent" "UiEvent" ];
          "DynamicsCompressorNode" = [ "AudioNode" "EventTarget" ];
          "Element" = [ "EventTarget" "Node" ];
          "ErrorEvent" = [ "Event" ];
          "EventSource" = [ "EventTarget" ];
          "ExtendableEvent" = [ "Event" ];
          "ExtendableMessageEvent" = [ "Event" "ExtendableEvent" ];
          "FetchEvent" = [ "Event" "ExtendableEvent" ];
          "FetchObserver" = [ "EventTarget" ];
          "File" = [ "Blob" ];
          "FileReader" = [ "EventTarget" ];
          "FileSystemDirectoryEntry" = [ "FileSystemEntry" ];
          "FileSystemDirectoryHandle" = [ "FileSystemHandle" ];
          "FileSystemFileEntry" = [ "FileSystemEntry" ];
          "FileSystemFileHandle" = [ "FileSystemHandle" ];
          "FileSystemWritableFileStream" = [ "WritableStream" ];
          "FocusEvent" = [ "Event" "UiEvent" ];
          "FontFaceSet" = [ "EventTarget" ];
          "FontFaceSetLoadEvent" = [ "Event" ];
          "GainNode" = [ "AudioNode" "EventTarget" ];
          "GamepadAxisMoveEvent" = [ "Event" "GamepadEvent" ];
          "GamepadButtonEvent" = [ "Event" "GamepadEvent" ];
          "GamepadEvent" = [ "Event" ];
          "GpuDevice" = [ "EventTarget" ];
          "GpuInternalError" = [ "GpuError" ];
          "GpuOutOfMemoryError" = [ "GpuError" ];
          "GpuPipelineError" = [ "DomException" ];
          "GpuUncapturedErrorEvent" = [ "Event" ];
          "GpuValidationError" = [ "GpuError" ];
          "HashChangeEvent" = [ "Event" ];
          "Hid" = [ "EventTarget" ];
          "HidConnectionEvent" = [ "Event" ];
          "HidDevice" = [ "EventTarget" ];
          "HidInputReportEvent" = [ "Event" ];
          "HtmlAnchorElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlAreaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlAudioElement" = [ "Element" "EventTarget" "HtmlElement" "HtmlMediaElement" "Node" ];
          "HtmlBaseElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlBodyElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlBrElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlButtonElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlCanvasElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDataElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDataListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDetailsElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDialogElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDirectoryElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDivElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDocument" = [ "Document" "EventTarget" "Node" ];
          "HtmlElement" = [ "Element" "EventTarget" "Node" ];
          "HtmlEmbedElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlFieldSetElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlFontElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlFormControlsCollection" = [ "HtmlCollection" ];
          "HtmlFormElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlFrameElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlFrameSetElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlHeadElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlHeadingElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlHrElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlHtmlElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlIFrameElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlImageElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlInputElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlLabelElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlLegendElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlLiElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlLinkElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlMapElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlMediaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlMenuElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlMenuItemElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlMetaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlMeterElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlModElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlOListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlObjectElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlOptGroupElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlOptionElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlOptionsCollection" = [ "HtmlCollection" ];
          "HtmlOutputElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlParagraphElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlParamElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlPictureElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlPreElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlProgressElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlQuoteElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlScriptElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlSelectElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlSlotElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlSourceElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlSpanElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlStyleElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTableCaptionElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTableCellElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTableColElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTableElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTableRowElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTableSectionElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTemplateElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTextAreaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTimeElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTitleElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTrackElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlUListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlUnknownElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlVideoElement" = [ "Element" "EventTarget" "HtmlElement" "HtmlMediaElement" "Node" ];
          "IdbCursorWithValue" = [ "IdbCursor" ];
          "IdbDatabase" = [ "EventTarget" ];
          "IdbFileHandle" = [ "EventTarget" ];
          "IdbFileRequest" = [ "DomRequest" "EventTarget" ];
          "IdbLocaleAwareKeyRange" = [ "IdbKeyRange" ];
          "IdbMutableFile" = [ "EventTarget" ];
          "IdbOpenDbRequest" = [ "EventTarget" "IdbRequest" ];
          "IdbRequest" = [ "EventTarget" ];
          "IdbTransaction" = [ "EventTarget" ];
          "IdbVersionChangeEvent" = [ "Event" ];
          "IirFilterNode" = [ "AudioNode" "EventTarget" ];
          "ImageCaptureErrorEvent" = [ "Event" ];
          "ImageTrack" = [ "EventTarget" ];
          "InputEvent" = [ "Event" "UiEvent" ];
          "KeyboardEvent" = [ "Event" "UiEvent" ];
          "KeyframeEffect" = [ "AnimationEffect" ];
          "LocalMediaStream" = [ "EventTarget" "MediaStream" ];
          "MediaDevices" = [ "EventTarget" ];
          "MediaElementAudioSourceNode" = [ "AudioNode" "EventTarget" ];
          "MediaEncryptedEvent" = [ "Event" ];
          "MediaKeyError" = [ "Event" ];
          "MediaKeyMessageEvent" = [ "Event" ];
          "MediaKeySession" = [ "EventTarget" ];
          "MediaQueryList" = [ "EventTarget" ];
          "MediaQueryListEvent" = [ "Event" ];
          "MediaRecorder" = [ "EventTarget" ];
          "MediaRecorderErrorEvent" = [ "Event" ];
          "MediaSource" = [ "EventTarget" ];
          "MediaStream" = [ "EventTarget" ];
          "MediaStreamAudioDestinationNode" = [ "AudioNode" "EventTarget" ];
          "MediaStreamAudioSourceNode" = [ "AudioNode" "EventTarget" ];
          "MediaStreamEvent" = [ "Event" ];
          "MediaStreamTrack" = [ "EventTarget" ];
          "MediaStreamTrackEvent" = [ "Event" ];
          "MediaStreamTrackGenerator" = [ "EventTarget" "MediaStreamTrack" ];
          "MessageEvent" = [ "Event" ];
          "MessagePort" = [ "EventTarget" ];
          "MidiAccess" = [ "EventTarget" ];
          "MidiConnectionEvent" = [ "Event" ];
          "MidiInput" = [ "EventTarget" "MidiPort" ];
          "MidiMessageEvent" = [ "Event" ];
          "MidiOutput" = [ "EventTarget" "MidiPort" ];
          "MidiPort" = [ "EventTarget" ];
          "MouseEvent" = [ "Event" "UiEvent" ];
          "MouseScrollEvent" = [ "Event" "MouseEvent" "UiEvent" ];
          "MutationEvent" = [ "Event" ];
          "NetworkInformation" = [ "EventTarget" ];
          "Node" = [ "EventTarget" ];
          "Notification" = [ "EventTarget" ];
          "NotificationEvent" = [ "Event" "ExtendableEvent" ];
          "OfflineAudioCompletionEvent" = [ "Event" ];
          "OfflineAudioContext" = [ "BaseAudioContext" "EventTarget" ];
          "OfflineResourceList" = [ "EventTarget" ];
          "OffscreenCanvas" = [ "EventTarget" ];
          "OscillatorNode" = [ "AudioNode" "AudioScheduledSourceNode" "EventTarget" ];
          "PageTransitionEvent" = [ "Event" ];
          "PaintWorkletGlobalScope" = [ "WorkletGlobalScope" ];
          "PannerNode" = [ "AudioNode" "EventTarget" ];
          "PaymentMethodChangeEvent" = [ "Event" "PaymentRequestUpdateEvent" ];
          "PaymentRequestUpdateEvent" = [ "Event" ];
          "Performance" = [ "EventTarget" ];
          "PerformanceMark" = [ "PerformanceEntry" ];
          "PerformanceMeasure" = [ "PerformanceEntry" ];
          "PerformanceNavigationTiming" = [ "PerformanceEntry" "PerformanceResourceTiming" ];
          "PerformanceResourceTiming" = [ "PerformanceEntry" ];
          "PermissionStatus" = [ "EventTarget" ];
          "PointerEvent" = [ "Event" "MouseEvent" "UiEvent" ];
          "PopStateEvent" = [ "Event" ];
          "PopupBlockedEvent" = [ "Event" ];
          "PresentationAvailability" = [ "EventTarget" ];
          "PresentationConnection" = [ "EventTarget" ];
          "PresentationConnectionAvailableEvent" = [ "Event" ];
          "PresentationConnectionCloseEvent" = [ "Event" ];
          "PresentationConnectionList" = [ "EventTarget" ];
          "PresentationRequest" = [ "EventTarget" ];
          "ProcessingInstruction" = [ "CharacterData" "EventTarget" "Node" ];
          "ProgressEvent" = [ "Event" ];
          "PromiseRejectionEvent" = [ "Event" ];
          "PublicKeyCredential" = [ "Credential" ];
          "PushEvent" = [ "Event" "ExtendableEvent" ];
          "RadioNodeList" = [ "NodeList" ];
          "RtcDataChannel" = [ "EventTarget" ];
          "RtcDataChannelEvent" = [ "Event" ];
          "RtcPeerConnection" = [ "EventTarget" ];
          "RtcPeerConnectionIceErrorEvent" = [ "Event" ];
          "RtcPeerConnectionIceEvent" = [ "Event" ];
          "RtcTrackEvent" = [ "Event" ];
          "RtcdtmfSender" = [ "EventTarget" ];
          "RtcdtmfToneChangeEvent" = [ "Event" ];
          "Screen" = [ "EventTarget" ];
          "ScreenOrientation" = [ "EventTarget" ];
          "ScriptProcessorNode" = [ "AudioNode" "EventTarget" ];
          "ScrollAreaEvent" = [ "Event" "UiEvent" ];
          "SecurityPolicyViolationEvent" = [ "Event" ];
          "Serial" = [ "EventTarget" ];
          "SerialPort" = [ "EventTarget" ];
          "ServiceWorker" = [ "EventTarget" ];
          "ServiceWorkerContainer" = [ "EventTarget" ];
          "ServiceWorkerGlobalScope" = [ "EventTarget" "WorkerGlobalScope" ];
          "ServiceWorkerRegistration" = [ "EventTarget" ];
          "ShadowRoot" = [ "DocumentFragment" "EventTarget" "Node" ];
          "SharedWorker" = [ "EventTarget" ];
          "SharedWorkerGlobalScope" = [ "EventTarget" "WorkerGlobalScope" ];
          "SourceBuffer" = [ "EventTarget" ];
          "SourceBufferList" = [ "EventTarget" ];
          "SpeechRecognition" = [ "EventTarget" ];
          "SpeechRecognitionError" = [ "Event" ];
          "SpeechRecognitionEvent" = [ "Event" ];
          "SpeechSynthesis" = [ "EventTarget" ];
          "SpeechSynthesisErrorEvent" = [ "Event" "SpeechSynthesisEvent" ];
          "SpeechSynthesisEvent" = [ "Event" ];
          "SpeechSynthesisUtterance" = [ "EventTarget" ];
          "StereoPannerNode" = [ "AudioNode" "EventTarget" ];
          "StorageEvent" = [ "Event" ];
          "SubmitEvent" = [ "Event" ];
          "SvgAnimateElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ];
          "SvgAnimateMotionElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ];
          "SvgAnimateTransformElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ];
          "SvgAnimationElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgCircleElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
          "SvgClipPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgComponentTransferFunctionElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgDefsElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgDescElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgElement" = [ "Element" "EventTarget" "Node" ];
          "SvgEllipseElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
          "SvgFilterElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgForeignObjectElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgGeometryElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgGradientElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgGraphicsElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgImageElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgLineElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
          "SvgLinearGradientElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGradientElement" ];
          "SvgMarkerElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgMaskElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgMetadataElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
          "SvgPathSegArcAbs" = [ "SvgPathSeg" ];
          "SvgPathSegArcRel" = [ "SvgPathSeg" ];
          "SvgPathSegClosePath" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoCubicAbs" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoCubicRel" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoCubicSmoothAbs" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoCubicSmoothRel" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoQuadraticAbs" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoQuadraticRel" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoQuadraticSmoothAbs" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoQuadraticSmoothRel" = [ "SvgPathSeg" ];
          "SvgPathSegLinetoAbs" = [ "SvgPathSeg" ];
          "SvgPathSegLinetoHorizontalAbs" = [ "SvgPathSeg" ];
          "SvgPathSegLinetoHorizontalRel" = [ "SvgPathSeg" ];
          "SvgPathSegLinetoRel" = [ "SvgPathSeg" ];
          "SvgPathSegLinetoVerticalAbs" = [ "SvgPathSeg" ];
          "SvgPathSegLinetoVerticalRel" = [ "SvgPathSeg" ];
          "SvgPathSegMovetoAbs" = [ "SvgPathSeg" ];
          "SvgPathSegMovetoRel" = [ "SvgPathSeg" ];
          "SvgPatternElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgPolygonElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
          "SvgPolylineElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
          "SvgRadialGradientElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGradientElement" ];
          "SvgRectElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
          "SvgScriptElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgSetElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ];
          "SvgStopElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgStyleElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgSwitchElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgSymbolElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgTextContentElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgTextElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" "SvgTextPositioningElement" ];
          "SvgTextPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" ];
          "SvgTextPositioningElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" ];
          "SvgTitleElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgUseElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgViewElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgaElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgfeBlendElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeColorMatrixElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeComponentTransferElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeCompositeElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeConvolveMatrixElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeDiffuseLightingElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeDisplacementMapElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeDistantLightElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeDropShadowElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeFloodElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeFuncAElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ];
          "SvgfeFuncBElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ];
          "SvgfeFuncGElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ];
          "SvgfeFuncRElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ];
          "SvgfeGaussianBlurElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeImageElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeMergeElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeMergeNodeElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeMorphologyElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeOffsetElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfePointLightElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeSpecularLightingElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeSpotLightElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeTileElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeTurbulenceElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvggElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgmPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgsvgElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgtSpanElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" "SvgTextPositioningElement" ];
          "TaskController" = [ "AbortController" ];
          "TaskPriorityChangeEvent" = [ "Event" ];
          "TaskSignal" = [ "AbortSignal" "EventTarget" ];
          "TcpServerSocket" = [ "EventTarget" ];
          "TcpServerSocketEvent" = [ "Event" ];
          "TcpSocket" = [ "EventTarget" ];
          "TcpSocketErrorEvent" = [ "Event" ];
          "TcpSocketEvent" = [ "Event" ];
          "Text" = [ "CharacterData" "EventTarget" "Node" ];
          "TextTrack" = [ "EventTarget" ];
          "TextTrackCue" = [ "EventTarget" ];
          "TextTrackList" = [ "EventTarget" ];
          "TimeEvent" = [ "Event" ];
          "TouchEvent" = [ "Event" "UiEvent" ];
          "TrackEvent" = [ "Event" ];
          "TransitionEvent" = [ "Event" ];
          "UiEvent" = [ "Event" ];
          "Usb" = [ "EventTarget" ];
          "UsbConnectionEvent" = [ "Event" ];
          "UsbPermissionResult" = [ "EventTarget" "PermissionStatus" ];
          "UserProximityEvent" = [ "Event" ];
          "ValueEvent" = [ "Event" ];
          "VideoStreamTrack" = [ "EventTarget" "MediaStreamTrack" ];
          "VideoTrackList" = [ "EventTarget" ];
          "VrDisplay" = [ "EventTarget" ];
          "VttCue" = [ "EventTarget" "TextTrackCue" ];
          "WakeLockSentinel" = [ "EventTarget" ];
          "WaveShaperNode" = [ "AudioNode" "EventTarget" ];
          "WebGlContextEvent" = [ "Event" ];
          "WebKitCssMatrix" = [ "DomMatrix" "DomMatrixReadOnly" ];
          "WebSocket" = [ "EventTarget" ];
          "WebTransportError" = [ "DomException" ];
          "WebTransportReceiveStream" = [ "ReadableStream" ];
          "WebTransportSendStream" = [ "WritableStream" ];
          "WheelEvent" = [ "Event" "MouseEvent" "UiEvent" ];
          "Window" = [ "EventTarget" ];
          "WindowClient" = [ "Client" ];
          "Worker" = [ "EventTarget" ];
          "WorkerDebuggerGlobalScope" = [ "EventTarget" ];
          "WorkerGlobalScope" = [ "EventTarget" ];
          "XmlDocument" = [ "Document" "EventTarget" "Node" ];
          "XmlHttpRequest" = [ "EventTarget" "XmlHttpRequestEventTarget" ];
          "XmlHttpRequestEventTarget" = [ "EventTarget" ];
          "XmlHttpRequestUpload" = [ "EventTarget" "XmlHttpRequestEventTarget" ];
          "XrBoundedReferenceSpace" = [ "EventTarget" "XrReferenceSpace" "XrSpace" ];
          "XrInputSourceEvent" = [ "Event" ];
          "XrInputSourcesChangeEvent" = [ "Event" ];
          "XrJointPose" = [ "XrPose" ];
          "XrJointSpace" = [ "EventTarget" "XrSpace" ];
          "XrLayer" = [ "EventTarget" ];
          "XrPermissionStatus" = [ "EventTarget" "PermissionStatus" ];
          "XrReferenceSpace" = [ "EventTarget" "XrSpace" ];
          "XrReferenceSpaceEvent" = [ "Event" ];
          "XrSession" = [ "EventTarget" ];
          "XrSessionEvent" = [ "Event" ];
          "XrSpace" = [ "EventTarget" ];
          "XrSystem" = [ "EventTarget" ];
          "XrViewerPose" = [ "XrPose" ];
          "XrWebGlLayer" = [ "EventTarget" "XrLayer" ];
        };
        resolvedDefaultFeatures = [ "AbortSignal" "AddEventListenerOptions" "AnimationEvent" "BinaryType" "Blob" "BlobPropertyBag" "CharacterData" "CloseEvent" "CloseEventInit" "DedicatedWorkerGlobalScope" "Document" "DocumentFragment" "DomException" "DragEvent" "Element" "ErrorEvent" "Event" "EventInit" "EventSource" "EventTarget" "File" "FileList" "FilePropertyBag" "FileReader" "FocusEvent" "FormData" "Headers" "History" "HtmlBaseElement" "HtmlCollection" "HtmlDetailsElement" "HtmlElement" "HtmlHeadElement" "HtmlInputElement" "HtmlScriptElement" "HtmlTextAreaElement" "InputEvent" "InputEventInit" "KeyboardEvent" "Location" "MessageEvent" "MouseEvent" "Node" "NodeList" "ObserverCallback" "PointerEvent" "ProgressEvent" "ReadableStream" "ReferrerPolicy" "Request" "RequestCache" "RequestCredentials" "RequestInit" "RequestMode" "RequestRedirect" "Response" "ResponseInit" "ResponseType" "ShadowRoot" "Storage" "SubmitEvent" "Text" "TouchEvent" "TransitionEvent" "UiEvent" "Url" "UrlSearchParams" "WebSocket" "WheelEvent" "Window" "Worker" "WorkerGlobalScope" "WorkerOptions" "console" ];
      };
      "winapi" = rec {
        crateName = "winapi";
        version = "0.3.9";
        edition = "2015";
        sha256 = "06gl025x418lchw1wxj64ycr7gha83m44cjr5sarhynd9xkrm0sw";
        authors = [
          "Peter Atashian <retep998@gmail.com>"
        ];
        dependencies = [
          {
            name = "winapi-i686-pc-windows-gnu";
            packageId = "winapi-i686-pc-windows-gnu";
            target = { target, features }: (stdenv.hostPlatform.rust.rustcTarget == "i686-pc-windows-gnu");
          }
          {
            name = "winapi-x86_64-pc-windows-gnu";
            packageId = "winapi-x86_64-pc-windows-gnu";
            target = { target, features }: (stdenv.hostPlatform.rust.rustcTarget == "x86_64-pc-windows-gnu");
          }
        ];
        features = {
          "debug" = [ "impl-debug" ];
        };
        resolvedDefaultFeatures = [ "consoleapi" "errhandlingapi" "fileapi" "knownfolders" "minwindef" "objbase" "processenv" "shlobj" "std" "sysinfoapi" "winbase" "wincon" "winerror" "winnt" ];
      };
      "winapi-i686-pc-windows-gnu" = rec {
        crateName = "winapi-i686-pc-windows-gnu";
        version = "0.4.0";
        edition = "2015";
        sha256 = "1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc";
        libName = "winapi_i686_pc_windows_gnu";
        authors = [
          "Peter Atashian <retep998@gmail.com>"
        ];

      };
      "winapi-util" = rec {
        crateName = "winapi-util";
        version = "0.1.6";
        edition = "2021";
        sha256 = "15i5lm39wd44004i9d5qspry2cynkrpvwzghr6s2c3dsk28nz7pj";
        libName = "winapi_util";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        dependencies = [
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: (target."windows" or false);
            features = [ "std" "consoleapi" "errhandlingapi" "fileapi" "minwindef" "processenv" "sysinfoapi" "winbase" "wincon" "winerror" "winnt" ];
          }
        ];

      };
      "winapi-x86_64-pc-windows-gnu" = rec {
        crateName = "winapi-x86_64-pc-windows-gnu";
        version = "0.4.0";
        edition = "2015";
        sha256 = "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki";
        libName = "winapi_x86_64_pc_windows_gnu";
        authors = [
          "Peter Atashian <retep998@gmail.com>"
        ];

      };
      "winnow" = rec {
        crateName = "winnow";
        version = "0.5.40";
        edition = "2021";
        sha256 = "0xk8maai7gyxda673mmw3pj1hdizy5fpi7287vaywykkk19sk4zm";
        dependencies = [
          {
            name = "memchr";
            packageId = "memchr";
            optional = true;
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "debug" = [ "dep:anstream" "dep:anstyle" "dep:is-terminal" "dep:terminal_size" ];
          "default" = [ "std" ];
          "simd" = [ "dep:memchr" ];
          "std" = [ "alloc" "memchr?/std" ];
          "unstable-doc" = [ "alloc" "std" "simd" "unstable-recover" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
      };
      "yew" = rec {
        crateName = "yew";
        version = "0.21.0";
        edition = "2021";
        sha256 = "1b0ccqqlyyhcrk0l6d8jch2xwbhl5wliabn6x6ipl367apr066jz";
        authors = [
          "Denis Kolodin <deniskolodin@gmail.com>"
          "Justin Starry <justin@yew.rs>"
        ];
        dependencies = [
          {
            name = "console_error_panic_hook";
            packageId = "console_error_panic_hook";
          }
          {
            name = "futures";
            packageId = "futures";
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
          {
            name = "gloo";
            packageId = "gloo 0.10.0";
          }
          {
            name = "implicit-clone";
            packageId = "implicit-clone";
            features = [ "map" ];
          }
          {
            name = "indexmap";
            packageId = "indexmap 2.2.6";
            features = [ "std" ];
          }
          {
            name = "js-sys";
            packageId = "js-sys";
          }
          {
            name = "prokio";
            packageId = "prokio";
          }
          {
            name = "rustversion";
            packageId = "rustversion";
          }
          {
            name = "serde";
            packageId = "serde";
            features = [ "derive" ];
          }
          {
            name = "slab";
            packageId = "slab";
          }
          {
            name = "thiserror";
            packageId = "thiserror";
          }
          {
            name = "tokio";
            packageId = "tokio";
            target = { target, features }: (!("wasm32" == target."arch" or null));
            features = [ "rt" ];
          }
          {
            name = "tracing";
            packageId = "tracing";
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
          {
            name = "wasm-bindgen-futures";
            packageId = "wasm-bindgen-futures";
            target = { target, features }: ("wasm32" == target."arch" or null);
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            features = [ "AnimationEvent" "Document" "DragEvent" "Element" "ErrorEvent" "Event" "EventInit" "EventTarget" "FocusEvent" "HtmlElement" "HtmlInputElement" "HtmlCollection" "HtmlTextAreaElement" "InputEvent" "InputEventInit" "KeyboardEvent" "Location" "MouseEvent" "Node" "NodeList" "PointerEvent" "ProgressEvent" "ShadowRoot" "Text" "TouchEvent" "TransitionEvent" "UiEvent" "WheelEvent" "Window" "HtmlScriptElement" "SubmitEvent" ];
          }
          {
            name = "yew-macro";
            packageId = "yew-macro";
          }
        ];
        devDependencies = [
          {
            name = "gloo";
            packageId = "gloo 0.10.0";
            features = [ "futures" ];
          }
          {
            name = "tokio";
            packageId = "tokio";
            target = { target, features }: (!("wasm32" == target."arch" or null));
            features = [ "full" ];
          }
          {
            name = "wasm-bindgen-futures";
            packageId = "wasm-bindgen-futures";
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            features = [ "ShadowRootInit" "ShadowRootMode" "HtmlButtonElement" ];
          }
        ];
        features = {
          "hydration" = [ "csr" "dep:bincode" ];
          "ssr" = [ "dep:html-escape" "dep:base64ct" "dep:bincode" ];
        };
        resolvedDefaultFeatures = [ "csr" "default" ];
      };
      "yew-macro" = rec {
        crateName = "yew-macro";
        version = "0.21.0";
        edition = "2021";
        sha256 = "1qix6k8f8gzxb750icxvxknm3xrg8g7a4035g6gyasbd2sjqrz82";
        procMacro = true;
        libName = "yew_macro";
        authors = [
          "Justin Starry <justin@yew.rs>"
        ];
        dependencies = [
          {
            name = "boolinator";
            packageId = "boolinator";
          }
          {
            name = "once_cell";
            packageId = "once_cell";
          }
          {
            name = "prettyplease";
            packageId = "prettyplease";
          }
          {
            name = "proc-macro-error";
            packageId = "proc-macro-error";
          }
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn 2.0.68";
            features = [ "full" "extra-traits" "visit-mut" ];
          }
        ];

      };
      "yew-router" = rec {
        crateName = "yew-router";
        version = "0.18.0";
        edition = "2021";
        sha256 = "1ip071apn35gbycpki768ba5hxsrxnnsh2b29lmpdrln5h2xb8ac";
        libName = "yew_router";
        authors = [
          "Hamza <muhammadhamza1311@gmail.com>"
        ];
        dependencies = [
          {
            name = "gloo";
            packageId = "gloo 0.10.0";
            features = [ "futures" ];
          }
          {
            name = "js-sys";
            packageId = "js-sys";
          }
          {
            name = "route-recognizer";
            packageId = "route-recognizer";
          }
          {
            name = "serde";
            packageId = "serde";
          }
          {
            name = "serde_urlencoded";
            packageId = "serde_urlencoded";
          }
          {
            name = "tracing";
            packageId = "tracing";
          }
          {
            name = "urlencoding";
            packageId = "urlencoding";
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            features = [ "Document" "HtmlBaseElement" "Window" ];
          }
          {
            name = "yew";
            packageId = "yew";
            usesDefaultFeatures = false;
          }
          {
            name = "yew-router-macro";
            packageId = "yew-router-macro";
          }
        ];
        devDependencies = [
          {
            name = "serde";
            packageId = "serde";
            features = [ "derive" ];
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            features = [ "HtmlHeadElement" ];
          }
          {
            name = "yew";
            packageId = "yew";
            features = [ "csr" ];
          }
        ];

      };
      "yew-router-macro" = rec {
        crateName = "yew-router-macro";
        version = "0.18.0";
        edition = "2021";
        sha256 = "134pcmiyi5x6v8s8rnr3fg03v033qhx2piflgkgcza3wl28d3gs2";
        procMacro = true;
        libName = "yew_router_macro";
        authors = [
          "Hamza <muhammadhamza1311@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn 2.0.68";
            features = [ "full" "extra-traits" ];
          }
        ];

      };
    };

    #
    # crate2nix/default.nix (excerpt start)
    #

    /* Target (platform) data for conditional dependencies.
      This corresponds roughly to what buildRustCrate is setting.
    */
    makeDefaultTarget = platform: {
      unix = platform.isUnix;
      windows = platform.isWindows;
      fuchsia = true;
      test = false;

      inherit (platform.rust.platform)
        arch
        os
        vendor;
      family = platform.rust.platform.target-family;
      env = "gnu";
      endian =
        if platform.parsed.cpu.significantByte.name == "littleEndian"
        then "little" else "big";
      pointer_width = toString platform.parsed.cpu.bits;
      debug_assertions = false;
    };

    /* Filters common temp files and build files. */
    # TODO(pkolloch): Substitute with gitignore filter
    sourceFilter = name: type:
      let
        baseName = builtins.baseNameOf (builtins.toString name);
      in
        ! (
          # Filter out git
          baseName == ".gitignore"
          || (type == "directory" && baseName == ".git")

          # Filter out build results
          || (
            type == "directory" && (
              baseName == "target"
              || baseName == "_site"
              || baseName == ".sass-cache"
              || baseName == ".jekyll-metadata"
              || baseName == "build-artifacts"
            )
          )

          # Filter out nix-build result symlinks
          || (
            type == "symlink" && lib.hasPrefix "result" baseName
          )

          # Filter out IDE config
          || (
            type == "directory" && (
              baseName == ".idea" || baseName == ".vscode"
            )
          ) || lib.hasSuffix ".iml" baseName

          # Filter out nix build files
          || baseName == "Cargo.nix"

          # Filter out editor backup / swap files.
          || lib.hasSuffix "~" baseName
          || builtins.match "^\\.sw[a-z]$$" baseName != null
          || builtins.match "^\\..*\\.sw[a-z]$$" baseName != null
          || lib.hasSuffix ".tmp" baseName
          || lib.hasSuffix ".bak" baseName
          || baseName == "tests.nix"
        );

    /* Returns a crate which depends on successful test execution
      of crate given as the second argument.

      testCrateFlags: list of flags to pass to the test exectuable
      testInputs: list of packages that should be available during test execution
    */
    crateWithTest = { crate, testCrate, testCrateFlags, testInputs, testPreRun, testPostRun }:
      assert builtins.typeOf testCrateFlags == "list";
      assert builtins.typeOf testInputs == "list";
      assert builtins.typeOf testPreRun == "string";
      assert builtins.typeOf testPostRun == "string";
      let
        # override the `crate` so that it will build and execute tests instead of
        # building the actual lib and bin targets We just have to pass `--test`
        # to rustc and it will do the right thing.  We execute the tests and copy
        # their log and the test executables to $out for later inspection.
        test =
          let
            drv = testCrate.override
              (
                _: {
                  buildTests = true;
                  release = false;
                }
              );
            # If the user hasn't set any pre/post commands, we don't want to
            # insert empty lines. This means that any existing users of crate2nix
            # don't get a spurious rebuild unless they set these explicitly.
            testCommand = pkgs.lib.concatStringsSep "\n"
              (pkgs.lib.filter (s: s != "") [
                testPreRun
                "$f $testCrateFlags 2>&1 | tee -a $out"
                testPostRun
              ]);
          in
          pkgs.stdenvNoCC.mkDerivation {
            name = "run-tests-${testCrate.name}";

            inherit (crate) src;

            inherit testCrateFlags;

            buildInputs = testInputs;

            buildPhase = ''
              set -e
              export RUST_BACKTRACE=1

              # build outputs
              testRoot=target/debug
              mkdir -p $testRoot

              # executables of the crate
              # we copy to prevent std::env::current_exe() to resolve to a store location
              for i in ${crate}/bin/*; do
                cp "$i" "$testRoot"
              done
              chmod +w -R .

              # test harness executables are suffixed with a hash, like cargo does
              # this allows to prevent name collision with the main
              # executables of the crate
              hash=$(basename $out)
              for file in ${drv}/tests/*; do
                f=$testRoot/$(basename $file)-$hash
                cp $file $f
                ${testCommand}
              done
            '';
          };
      in
      pkgs.runCommand "${crate.name}-linked"
        {
          inherit (crate) outputs crateName;
          passthru = (crate.passthru or { }) // {
            inherit test;
          };
        }
        (lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
          echo tested by ${test}
        '' + ''
          ${lib.concatMapStringsSep "\n" (output: "ln -s ${crate.${output}} ${"$"}${output}") crate.outputs}
        '');

    /* A restricted overridable version of builtRustCratesWithFeatures. */
    buildRustCrateWithFeatures =
      { packageId
      , features ? rootFeatures
      , crateOverrides ? defaultCrateOverrides
      , buildRustCrateForPkgsFunc ? null
      , runTests ? false
      , testCrateFlags ? [ ]
      , testInputs ? [ ]
        # Any command to run immediatelly before a test is executed.
      , testPreRun ? ""
        # Any command run immediatelly after a test is executed.
      , testPostRun ? ""
      }:
      lib.makeOverridable
        (
          { features
          , crateOverrides
          , runTests
          , testCrateFlags
          , testInputs
          , testPreRun
          , testPostRun
          }:
          let
            buildRustCrateForPkgsFuncOverriden =
              if buildRustCrateForPkgsFunc != null
              then buildRustCrateForPkgsFunc
              else
                (
                  if crateOverrides == pkgs.defaultCrateOverrides
                  then buildRustCrateForPkgs
                  else
                    pkgs: (buildRustCrateForPkgs pkgs).override {
                      defaultCrateOverrides = crateOverrides;
                    }
                );
            builtRustCrates = builtRustCratesWithFeatures {
              inherit packageId features;
              buildRustCrateForPkgsFunc = buildRustCrateForPkgsFuncOverriden;
              runTests = false;
            };
            builtTestRustCrates = builtRustCratesWithFeatures {
              inherit packageId features;
              buildRustCrateForPkgsFunc = buildRustCrateForPkgsFuncOverriden;
              runTests = true;
            };
            drv = builtRustCrates.crates.${packageId};
            testDrv = builtTestRustCrates.crates.${packageId};
            derivation =
              if runTests then
                crateWithTest
                  {
                    crate = drv;
                    testCrate = testDrv;
                    inherit testCrateFlags testInputs testPreRun testPostRun;
                  }
              else drv;
          in
          derivation
        )
        { inherit features crateOverrides runTests testCrateFlags testInputs testPreRun testPostRun; };

    /* Returns an attr set with packageId mapped to the result of buildRustCrateForPkgsFunc
      for the corresponding crate.
    */
    builtRustCratesWithFeatures =
      { packageId
      , features
      , crateConfigs ? crates
      , buildRustCrateForPkgsFunc
      , runTests
      , makeTarget ? makeDefaultTarget
      } @ args:
        assert (builtins.isAttrs crateConfigs);
        assert (builtins.isString packageId);
        assert (builtins.isList features);
        assert (builtins.isAttrs (makeTarget stdenv.hostPlatform));
        assert (builtins.isBool runTests);
        let
          rootPackageId = packageId;
          mergedFeatures = mergePackageFeatures
            (
              args // {
                inherit rootPackageId;
                target = makeTarget stdenv.hostPlatform // { test = runTests; };
              }
            );
          # Memoize built packages so that reappearing packages are only built once.
          builtByPackageIdByPkgs = mkBuiltByPackageIdByPkgs pkgs;
          mkBuiltByPackageIdByPkgs = pkgs:
            let
              self = {
                crates = lib.mapAttrs (packageId: value: buildByPackageIdForPkgsImpl self pkgs packageId) crateConfigs;
                target = makeTarget stdenv.hostPlatform;
                build = mkBuiltByPackageIdByPkgs pkgs.buildPackages;
              };
            in
            self;
          buildByPackageIdForPkgsImpl = self: pkgs: packageId:
            let
              features = mergedFeatures."${packageId}" or [ ];
              crateConfig' = crateConfigs."${packageId}";
              crateConfig =
                builtins.removeAttrs crateConfig' [ "resolvedDefaultFeatures" "devDependencies" ];
              devDependencies =
                lib.optionals
                  (runTests && packageId == rootPackageId)
                  (crateConfig'.devDependencies or [ ]);
              dependencies =
                dependencyDerivations {
                  inherit features;
                  inherit (self) target;
                  buildByPackageId = depPackageId:
                    # proc_macro crates must be compiled for the build architecture
                    if crateConfigs.${depPackageId}.procMacro or false
                    then self.build.crates.${depPackageId}
                    else self.crates.${depPackageId};
                  dependencies =
                    (crateConfig.dependencies or [ ])
                    ++ devDependencies;
                };
              buildDependencies =
                dependencyDerivations {
                  inherit features;
                  inherit (self.build) target;
                  buildByPackageId = depPackageId:
                    self.build.crates.${depPackageId};
                  dependencies = crateConfig.buildDependencies or [ ];
                };
              dependenciesWithRenames =
                let
                  buildDeps = filterEnabledDependencies {
                    inherit features;
                    inherit (self) target;
                    dependencies = crateConfig.dependencies or [ ] ++ devDependencies;
                  };
                  hostDeps = filterEnabledDependencies {
                    inherit features;
                    inherit (self.build) target;
                    dependencies = crateConfig.buildDependencies or [ ];
                  };
                in
                lib.filter (d: d ? "rename") (hostDeps ++ buildDeps);
              # Crate renames have the form:
              #
              # {
              #    crate_name = [
              #       { version = "1.2.3"; rename = "crate_name01"; }
              #    ];
              #    # ...
              # }
              crateRenames =
                let
                  grouped =
                    lib.groupBy
                      (dependency: dependency.name)
                      dependenciesWithRenames;
                  versionAndRename = dep:
                    let
                      package = crateConfigs."${dep.packageId}";
                    in
                    { inherit (dep) rename; inherit (package) version; };
                in
                lib.mapAttrs (name: builtins.map versionAndRename) grouped;
            in
            buildRustCrateForPkgsFunc pkgs
              (
                crateConfig // {
                  src = crateConfig.src or (
                    pkgs.fetchurl rec {
                      name = "${crateConfig.crateName}-${crateConfig.version}.tar.gz";
                      # https://www.pietroalbini.org/blog/downloading-crates-io/
                      # Not rate-limited, CDN URL.
                      url = "https://static.crates.io/crates/${crateConfig.crateName}/${crateConfig.crateName}-${crateConfig.version}.crate";
                      sha256 =
                        assert (lib.assertMsg (crateConfig ? sha256) "Missing sha256 for ${name}");
                        crateConfig.sha256;
                    }
                  );
                  extraRustcOpts = lib.lists.optional (targetFeatures != [ ]) "-C target-feature=${lib.concatMapStringsSep "," (x: "+${x}") targetFeatures}";
                  inherit features dependencies buildDependencies crateRenames release;
                }
              );
        in
        builtByPackageIdByPkgs;

    /* Returns the actual derivations for the given dependencies. */
    dependencyDerivations =
      { buildByPackageId
      , features
      , dependencies
      , target
      }:
        assert (builtins.isList features);
        assert (builtins.isList dependencies);
        assert (builtins.isAttrs target);
        let
          enabledDependencies = filterEnabledDependencies {
            inherit dependencies features target;
          };
          depDerivation = dependency: buildByPackageId dependency.packageId;
        in
        map depDerivation enabledDependencies;

    /* Returns a sanitized version of val with all values substituted that cannot
      be serialized as JSON.
    */
    sanitizeForJson = val:
      if builtins.isAttrs val
      then lib.mapAttrs (n: sanitizeForJson) val
      else if builtins.isList val
      then builtins.map sanitizeForJson val
      else if builtins.isFunction val
      then "function"
      else val;

    /* Returns various tools to debug a crate. */
    debugCrate = { packageId, target ? makeDefaultTarget stdenv.hostPlatform }:
      assert (builtins.isString packageId);
      let
        debug = rec {
          # The built tree as passed to buildRustCrate.
          buildTree = buildRustCrateWithFeatures {
            buildRustCrateForPkgsFunc = _: lib.id;
            inherit packageId;
          };
          sanitizedBuildTree = sanitizeForJson buildTree;
          dependencyTree = sanitizeForJson
            (
              buildRustCrateWithFeatures {
                buildRustCrateForPkgsFunc = _: crate: {
                  "01_crateName" = crate.crateName or false;
                  "02_features" = crate.features or [ ];
                  "03_dependencies" = crate.dependencies or [ ];
                };
                inherit packageId;
              }
            );
          mergedPackageFeatures = mergePackageFeatures {
            features = rootFeatures;
            inherit packageId target;
          };
          diffedDefaultPackageFeatures = diffDefaultPackageFeatures {
            inherit packageId target;
          };
        };
      in
      { internal = debug; };

    /* Returns differences between cargo default features and crate2nix default
      features.

      This is useful for verifying the feature resolution in crate2nix.
    */
    diffDefaultPackageFeatures =
      { crateConfigs ? crates
      , packageId
      , target
      }:
        assert (builtins.isAttrs crateConfigs);
        let
          prefixValues = prefix: lib.mapAttrs (n: v: { "${prefix}" = v; });
          mergedFeatures =
            prefixValues
              "crate2nix"
              (mergePackageFeatures { inherit crateConfigs packageId target; features = [ "default" ]; });
          configs = prefixValues "cargo" crateConfigs;
          combined = lib.foldAttrs (a: b: a // b) { } [ mergedFeatures configs ];
          onlyInCargo =
            builtins.attrNames
              (lib.filterAttrs (n: v: !(v ? "crate2nix") && (v ? "cargo")) combined);
          onlyInCrate2Nix =
            builtins.attrNames
              (lib.filterAttrs (n: v: (v ? "crate2nix") && !(v ? "cargo")) combined);
          differentFeatures = lib.filterAttrs
            (
              n: v:
                (v ? "crate2nix")
                && (v ? "cargo")
                && (v.crate2nix.features or [ ]) != (v."cargo".resolved_default_features or [ ])
            )
            combined;
        in
        builtins.toJSON {
          inherit onlyInCargo onlyInCrate2Nix differentFeatures;
        };

    /* Returns an attrset mapping packageId to the list of enabled features.

      If multiple paths to a dependency enable different features, the
      corresponding feature sets are merged. Features in rust are additive.
    */
    mergePackageFeatures =
      { crateConfigs ? crates
      , packageId
      , rootPackageId ? packageId
      , features ? rootFeatures
      , dependencyPath ? [ crates.${packageId}.crateName ]
      , featuresByPackageId ? { }
      , target
        # Adds devDependencies to the crate with rootPackageId.
      , runTests ? false
      , ...
      } @ args:
        assert (builtins.isAttrs crateConfigs);
        assert (builtins.isString packageId);
        assert (builtins.isString rootPackageId);
        assert (builtins.isList features);
        assert (builtins.isList dependencyPath);
        assert (builtins.isAttrs featuresByPackageId);
        assert (builtins.isAttrs target);
        assert (builtins.isBool runTests);
        let
          crateConfig = crateConfigs."${packageId}" or (builtins.throw "Package not found: ${packageId}");
          expandedFeatures = expandFeatures (crateConfig.features or { }) features;
          enabledFeatures = enableFeatures (crateConfig.dependencies or [ ]) expandedFeatures;
          depWithResolvedFeatures = dependency:
            let
              inherit (dependency) packageId;
              features = dependencyFeatures enabledFeatures dependency;
            in
            { inherit packageId features; };
          resolveDependencies = cache: path: dependencies:
            assert (builtins.isAttrs cache);
            assert (builtins.isList dependencies);
            let
              enabledDependencies = filterEnabledDependencies {
                inherit dependencies target;
                features = enabledFeatures;
              };
              directDependencies = map depWithResolvedFeatures enabledDependencies;
              foldOverCache = op: lib.foldl op cache directDependencies;
            in
            foldOverCache
              (
                cache: { packageId, features }:
                  let
                    cacheFeatures = cache.${packageId} or [ ];
                    combinedFeatures = sortedUnique (cacheFeatures ++ features);
                  in
                  if cache ? ${packageId} && cache.${packageId} == combinedFeatures
                  then cache
                  else
                    mergePackageFeatures {
                      features = combinedFeatures;
                      featuresByPackageId = cache;
                      inherit crateConfigs packageId target runTests rootPackageId;
                    }
              );
          cacheWithSelf =
            let
              cacheFeatures = featuresByPackageId.${packageId} or [ ];
              combinedFeatures = sortedUnique (cacheFeatures ++ enabledFeatures);
            in
            featuresByPackageId // {
              "${packageId}" = combinedFeatures;
            };
          cacheWithDependencies =
            resolveDependencies cacheWithSelf "dep"
              (
                crateConfig.dependencies or [ ]
                ++ lib.optionals
                  (runTests && packageId == rootPackageId)
                  (crateConfig.devDependencies or [ ])
              );
          cacheWithAll =
            resolveDependencies
              cacheWithDependencies "build"
              (crateConfig.buildDependencies or [ ]);
        in
        cacheWithAll;

    /* Returns the enabled dependencies given the enabled features. */
    filterEnabledDependencies = { dependencies, features, target }:
      assert (builtins.isList dependencies);
      assert (builtins.isList features);
      assert (builtins.isAttrs target);

      lib.filter
        (
          dep:
          let
            targetFunc = dep.target or (features: true);
          in
          targetFunc { inherit features target; }
          && (
            !(dep.optional or false)
            || builtins.any (doesFeatureEnableDependency dep) features
          )
        )
        dependencies;

    /* Returns whether the given feature should enable the given dependency. */
    doesFeatureEnableDependency = dependency: feature:
      let
        name = dependency.rename or dependency.name;
        prefix = "${name}/";
        len = builtins.stringLength prefix;
        startsWithPrefix = builtins.substring 0 len feature == prefix;
      in
      feature == name || feature == "dep:" + name || startsWithPrefix;

    /* Returns the expanded features for the given inputFeatures by applying the
      rules in featureMap.

      featureMap is an attribute set which maps feature names to lists of further
      feature names to enable in case this feature is selected.
    */
    expandFeatures = featureMap: inputFeatures:
      assert (builtins.isAttrs featureMap);
      assert (builtins.isList inputFeatures);
      let
        expandFeaturesNoCycle = oldSeen: inputFeatures:
          if inputFeatures != [ ]
          then
            let
              # The feature we're currently expanding.
              feature = builtins.head inputFeatures;
              # All the features we've seen/expanded so far, including the one
              # we're currently processing.
              seen = oldSeen // { ${feature} = 1; };
              # Expand the feature but be careful to not re-introduce a feature
              # that we've already seen: this can easily cause a cycle, see issue
              # #209.
              enables = builtins.filter (f: !(seen ? "${f}")) (featureMap."${feature}" or [ ]);
            in
            [ feature ] ++ (expandFeaturesNoCycle seen (builtins.tail inputFeatures ++ enables))
          # No more features left, nothing to expand to.
          else [ ];
        outFeatures = expandFeaturesNoCycle { } inputFeatures;
      in
      sortedUnique outFeatures;

    /* This function adds optional dependencies as features if they are enabled
      indirectly by dependency features. This function mimics Cargo's behavior
      described in a note at:
      https://doc.rust-lang.org/nightly/cargo/reference/features.html#dependency-features
    */
    enableFeatures = dependencies: features:
      assert (builtins.isList features);
      assert (builtins.isList dependencies);
      let
        additionalFeatures = lib.concatMap
          (
            dependency:
              assert (builtins.isAttrs dependency);
              let
                enabled = builtins.any (doesFeatureEnableDependency dependency) features;
              in
              if (dependency.optional or false) && enabled
              then [ (dependency.rename or dependency.name) ]
              else [ ]
          )
          dependencies;
      in
      sortedUnique (features ++ additionalFeatures);

    /*
      Returns the actual features for the given dependency.

      features: The features of the crate that refers this dependency.
    */
    dependencyFeatures = features: dependency:
      assert (builtins.isList features);
      assert (builtins.isAttrs dependency);
      let
        defaultOrNil =
          if dependency.usesDefaultFeatures or true
          then [ "default" ]
          else [ ];
        explicitFeatures = dependency.features or [ ];
        additionalDependencyFeatures =
          let
            name = dependency.rename or dependency.name;
            stripPrefixMatch = prefix: s:
              if lib.hasPrefix prefix s
              then lib.removePrefix prefix s
              else null;
            extractFeature = feature: lib.findFirst
              (f: f != null)
              null
              (map (prefix: stripPrefixMatch prefix feature) [
                (name + "/")
                (name + "?/")
              ]);
            dependencyFeatures = lib.filter (f: f != null) (map extractFeature features);
          in
          dependencyFeatures;
      in
      defaultOrNil ++ explicitFeatures ++ additionalDependencyFeatures;

    /* Sorts and removes duplicates from a list of strings. */
    sortedUnique = features:
      assert (builtins.isList features);
      assert (builtins.all builtins.isString features);
      let
        outFeaturesSet = lib.foldl (set: feature: set // { "${feature}" = 1; }) { } features;
        outFeaturesUnique = builtins.attrNames outFeaturesSet;
      in
      builtins.sort (a: b: a < b) outFeaturesUnique;

    deprecationWarning = message: value:
      if strictDeprecation
      then builtins.throw "strictDeprecation enabled, aborting: ${message}"
      else builtins.trace message value;

    #
    # crate2nix/default.nix (excerpt end)
    #
  };
}