///|
fn main {
  let source = "$ORIGIN example.\n$TTL 1h\nwww CNAME edge\nedge A 192.0.2.20\nedge AAAA 2001:db8::20"
  let document = @zone.parse_zone(source).unwrap()
  let index = @zone.index_zone(document)
  let start = @zone.parse_domain_name("www.example.").unwrap()
  match index.resolve_cname(start) {
    Err(error) => println(error.code() + ": " + error.message())
    Ok(resolution) => {
      println("chain: " + resolution.chain_texts().join(" -> "))
      for record in resolution.terminal_records() {
        println(record.to_text())
      }
    }
  }
}