///|
/// Verify a worker response against the original wire metadata and nested limits.
fn decode_prepared_chunk(
  original : Bytes,
  expanded : Bytes,
  limits : Limits,
) -> Chunk raise McapError {
  if limits.max_decompressed_bytes > 2147483607 ||
    expanded.length() > limits.max_decompressed_bytes + 40 {
    raise Invalid("expanded worker Chunk exceeds budget")
  }
  let wire = cursor(original, limits)
  let times = wire.take(16)
  let size = wire.u64()
  let checksum = wire.u32()
  ignore(wire.text())
  let bytes = wire.u64()
  if bytes != (original.length() - wire.pos).to_uint64() {
    raise Invalid("original Chunk length mismatch")
  }
  let metadata = cursor(expanded, {
    ..limits,
    max_record_bytes: limits.max_decompressed_bytes + 40,
  })
  if metadata.take(16) != times ||
    metadata.u64() != size ||
    metadata.u32() != checksum ||
    metadata.text() != "" ||
    metadata.u64() != size {
    raise Invalid("expanded Chunk differs from original properties")
  }
  decode_chunk_internal(expanded, limits, limits.max_decompressed_bytes + 40)
}