///|
fn print_usage() -> Unit {
  println("profinet-master CLI")
  println("")
  println("Usage:")
  println(
    "  moon run cmd/main -- identify  [xid] [destination-mac]",
  )
  println(
    "  moon run cmd/main -- get   [selectors] [xid]",
  )
  println(
    "  moon run cmd/main -- get --iface   [selectors] [timeout-ms] [xid]",
  )
  println(
    "  moon run cmd/main -- set-name    [xid]",
  )
  println(
    "  moon run cmd/main -- set-name --iface    [timeout-ms] [xid]",
  )
  println(
    "  moon run cmd/main -- set-ip      [xid]",
  )
  println(
    "  moon run cmd/main -- set-ip --iface      [timeout-ms] [xid]",
  )
  println(
    "  moon run cmd/main -- observe-set-name --iface    [timeout-ms] [observe-window-ms] [xid]",
  )
  println(
    "  moon run cmd/main -- observe-set-ip --iface      [timeout-ms] [observe-window-ms] [xid]",
  )
  println("  moon run cmd/main -- list-ifaces")
  println("  moon run cmd/main -- scan --iface  [timeout-ms]")
  println("  moon run cmd/main -- scan --fixture ")
  println(
    "  moon run cmd/main -- scan --fixtures  ...",
  )
  println(
    "  moon run cmd/main -- rpc-connect --iface   [station-name] [timeout-ms] [ar-uuid] [activity-uuid] [object-uuid]",
  )
  println(
    "  moon run cmd/main -- rpc-release --iface   [station-name] [timeout-ms] [ar-uuid] [activity-uuid] [object-uuid]",
  )
  println(
    "  moon run cmd/main -- rpc-read-iam0 --iface   [station-name] [timeout-ms] [slot subslot] [ar-uuid] [activity-uuid] [object-uuid]",
  )
  println(
    "  moon run cmd/main -- rpc-read-record --iface      [station-name] [timeout-ms] [ar-uuid] [activity-uuid] [object-uuid]",
  )
  println(
    "  moon run cmd/main -- rpc-write-iam1 --iface   [station-name] [timeout-ms] [function-tag] [location-tag] [slot subslot] [ar-uuid] [activity-uuid] [object-uuid]",
  )
  println(
    "  moon run cmd/main -- modify-iam1 --iface     [station-name] [timeout-ms]",
  )
  println(
    "  moon run cmd/main -- snmp-get  [community] [timeout-ms]",
  )
  println(
    "  moon run cmd/main -- lldp-capture --iface  [timeout-ms] [source-mac]",
  )
  println(
    "  moon run cmd/main -- dhcp-discover-live --iface  [timeout-ms] [hostname] [xid] [bind-ip]",
  )
  println(
    "  moon run cmd/main -- pcap-baseline --iface    [timeout-ms] [device-ip] [station-name] [cycle-count] [--clock highres|monotonic-ms|receive-paced(deprecated)] [--period-us ] [--rt-period-us ] [--data-hold-factor <3..0x1E00>] [--data-hold-ms ] [--rt-output-vlan-pcp <0..7>|--rt-output-vlan-tci <0..0xFFFF>] [--win-rt ...]",
  )
  println(
    "  moon run cmd/main -- alarm-listen --iface  [timeout-ms] [source-mac] [--ack]",
  )
  println(
    "  moon run cmd/main -- rpc-b4 --iface   [station-name] [timeout-ms] [finite-cycle-count] [ar-uuid] [activity-uuid] [object-uuid] [--clock highres|monotonic-ms|receive-paced(deprecated)] [--period-us ] [--rt-period-us ] [--data-hold-factor <3..0x1E00>] [--data-hold-ms ] [--rt-output-vlan-pcp <0..7>|--rt-output-vlan-tci <0..0xFFFF>] [--win-rt --win-rt-mask  --win-rt-thread-priority <16..31>]",
  )
  println(
    "  moon run cmd/main -- rpc-b4-update-io --iface     [station-name] [timeout-ms] [finite-cycle-count] [change-cycle] [--clock highres|monotonic-ms|receive-paced(deprecated)] [--period-us ] [--rt-period-us ] [--data-hold-factor <3..0x1E00>] [--data-hold-ms ] [--rt-output-vlan-pcp <0..7>|--rt-output-vlan-tci <0..0xFFFF>] [--win-rt --win-rt-mask  --win-rt-thread-priority <16..31>]",
  )
  println(
    "  moon run cmd/main -- rpc-b4-io-write --iface    [station-name] [timeout-ms] [finite-cycle-count] [--clock highres|monotonic-ms|receive-paced(deprecated)] [--period-us ] [--rt-period-us ] [--data-hold-factor <3..0x1E00>] [--data-hold-ms ] [--rt-output-vlan-pcp <0..7>|--rt-output-vlan-tci <0..0xFFFF>] [--win-rt --win-rt-mask  --win-rt-thread-priority <16..31>]",
  )
  println(
    "  moon run cmd/main -- rpc-b4-read-io --iface   [station-name] [timeout-ms] [finite-cycle-count] [sample-every] [--clock highres|monotonic-ms|receive-paced(deprecated)] [--period-us ] [--rt-period-us ] [--data-hold-factor <3..0x1E00>] [--data-hold-ms ] [--rt-output-vlan-pcp <0..7>|--rt-output-vlan-tci <0..0xFFFF>] [--win-rt --win-rt-mask  --win-rt-thread-priority <16..31>]",
  )
  println(
    "  moon run cmd/main -- rpc-b4-alarm --iface   [station-name] [timeout-ms] [finite-cycle-count] [ar-uuid] [activity-uuid] [object-uuid] [--clock highres|monotonic-ms|receive-paced(deprecated)] [--period-us ] [--rt-period-us ] [--data-hold-factor <3..0x1E00>] [--data-hold-ms ] [--rt-output-vlan-pcp <0..7>|--rt-output-vlan-tci <0..0xFFFF>] [--win-rt --win-rt-mask  --win-rt-thread-priority <16..31>]",
  )
  println("  moon run cmd/main -- gsd-info ")
  println("  moon run cmd/main -- gsd-info-text ")
  println(
    "  moon run cmd/main -- read-pd-port (--file  | --text )",
  )
  println(
    "  moon run cmd/main -- read-pd-port-mrp (--file  | --text )",
  )
  println(
    "  moon run cmd/main -- read-pd-port-mrplc (--file  | --text )",
  )
  println(
    "  moon run cmd/main -- read-pd-interface (--file  | --text )",
  )
  println(
    "  moon run cmd/main -- read-pd-interface-mrp (--file  | --text )",
  )
  println(
    "  moon run cmd/main -- read-pd-port-statistic (--file  | --text )",
  )
  println(
    "  moon run cmd/main -- read-pdev (--file  | --text )",
  )
  println(
    "  moon run cmd/main -- read-pd-real (--file  | --text )",
  )
  println(
    "  moon run cmd/main -- baseline-report [--probe-matrix] [--grouped] [--markdown] [--extensions]",
  )
  println(
    "  moon run cmd/main -- validate-device --fixture   [set-usage-ms] [ip-startup-ms] [reset-to-factory-ms] [ar-release-ms] [autoneg-ms]",
  )
  println(
    "  moon run cmd/main -- validate-device --iface   [timeout-ms] [set-usage-ms] [ip-startup-ms] [reset-to-factory-ms] [ar-release-ms] [autoneg-ms]",
  )
  println(
    "  moon run cmd/main -- validate-device --set-name --iface     [timeout-ms] [observe-window-ms] [xid]",
  )
  println(
    "  moon run cmd/main -- validate-device --set-ip --iface       [timeout-ms] [observe-window-ms] [xid]",
  )
  println("  moon run cmd/main -- gsd-detail ")
  println("  moon run cmd/main -- gsd-detail-text ")
  println("  moon run cmd/main -- profidrive-state ")
  println("  moon run cmd/main -- security-info")
  println("  moon run cmd/main -- decode-alarm ")
  println("  moon run cmd/main -- decode-rpc ")
  println("  moon run cmd/main -- ar-info [station-name]")
  println("  moon run cmd/main -- iocr-info [frame-id]")
  println("  moon run cmd/main -- decode-io ")
  println("  moon run cmd/main -- decode-iam0 ")
  println("  moon run cmd/main -- encode-record-read   ")
  println(
    "  moon run cmd/main -- encode-record-write    ",
  )
  println(
    "  moon run cmd/main -- encode-record-control   [properties]",
  )
  println("  moon run cmd/main -- encode-snmp-get  [community]")
  println("  moon run cmd/main -- decode-lldp ")
  println("  moon run cmd/main -- decode-dhcp ")
  println("  moon run cmd/main -- encode-dhcp-discover  [hostname]")
  println("")
  println("Implemented now:")
  println(
    "  identify   Encode a DCP Identify request and print its raw frame bytes.",
  )
  println(
    "  get        Encode a DCP Get request and print its raw frame bytes.",
  )
  println(
    "             Supported named selectors: all, vendor, name, identity, role, options, alias, instance, oem, ip, mac, full-ip, initiative.",
  )
  println(
    "             Raw selectors may also be passed as