It looks like % characters in the hash-fragment are meant to be interpreted as a URI-encoding, so we should decode them.