The symbol "::" MUST NOT be used to shorten just one 16-bit 0 field.
For example, the representation 2001:db8:0:1:1:1:1:1 is correct, but
2001:db8::1:1:1:1:1 is not correct.
I think the bug fix is to change line 75 of ipv6.py from
if best_len > 0:
to
if best_len > 1: