content: [package]
  name = "evtx"
  description = "A Fast (and safe) parser for the Windows XML Event Log (EVTX) format"
  homepage = "https://github.com/omerbenamram/EVTX"
  repository = "https://github.com/omerbenamram/EVTX"
  license = "MIT/Apache-2.0"
  readme = "README.md"
  
  version = "0.9.0"
  authors = ["Omer Ben-Amram <omerbenamram@gmail.com>"]
  edition = "2024"
  
  exclude = ["**/*.evtx", "**/*.dat"]
  
  [dependencies]
  bitflags = "2"
  crc32fast = "1"
  chrono = { version = "0.4", features = ["serde"] }
  encoding = "0.2.33"
  byteorder = "1"
  quick-xml = "^0.37"
  thiserror = "2"
  log = { version = "0.4.17", features = ["release_max_level_debug"] }
  winstructs = "0.3.0"
  hashbrown = { version = "^0.15", features = ["inline-more"] }
  # Optional for multithreading.
  rayon = { version = "1", optional = true }
  
  # `evtx_dump` dependencies
  anyhow = { version = "1", optional = true }
  simplelog = { version = "0.12.0", optional = true }
  clap = { version = "4", optional = true }
  dialoguer = { version = "0.11", optional = true }
  indoc = { version = "2", optional = true }
  
  serde = "1"
  serde_json = { version = "1", features = ["preserve_order"]}
  
  [target.'cfg(not(windows))'.dependencies]
  # jemalloc is significantly more peformant than the system allocator.
  tikv-jemallocator = { version = "0.6.0", optional = true }
  
  [target.'cfg(windows)'.dependencies]
  # jemalloc is significantly more peformant than the system allocator.
  rpmalloc = { version = "0.2.2", optional = true }
  
  
  [features]
  default = ["multithreading", "evtx_dump"]
  fast-alloc = ["tikv-jemallocator", "rpmalloc"]
  evtx_dump = ["simplelog", "clap", "dialoguer", "indoc", "anyhow"]
  multithreading = ["rayon"]
  
  [dev-dependencies]
  insta = { version = "1", features = ["json"] }
  pretty_assertions = "1.2.1"
  criterion = "0.5.1"
  assert_cmd = "2.0.4"
  predicates = "3.1"
  env_logger = "0.11.0"
  tempfile = "3.3.0"
  
  [profile.release]
  opt-level = 3
  codegen-units = 1
  lto = "thin"
  
  # rexpect relies on unix process semantics, but it's only used for process interaction tests.
  [target.'cfg(not(target_os = "windows"))'.dev-dependencies]
  rexpect = "0.6.0"
  
  [build-dependencies]
  skeptic = "0.13.7"
  
  [[bin]]
  name = "evtx_dump"
  required-features = ["evtx_dump"]
  
  [[bench]]
  name = "benchmark"
  path = "./src/benches/benchmark.rs"
  harness = false
  