class="language-dart">static List&lt;int&gt; parseIPv6Address(String host, [int start = 0, int end]) {
  end ??= host.length;
  &#47;&#47; An IPv6 address consists of exactly 8 parts of 1-4 hex digits, separated
  &#47;&#47; by `:`&#39;s, with the following exceptions:
  &#47;&#47;
  &#47;&#47;  - One (and only one) wildcard (`::`) may be present, representing a fill
  &#47;&#47;    of 0&#39;s. The IPv6 `::` is thus 16 bytes of `0`.
  &#47;&#47;  - The last two parts may be replaced by an IPv4 &quot;dotted-