docs: def hex_decode(input, errors='strict'):
      """ Decodes the object input and returns a tuple (output
          object, length consumed).
  
          input must be an object which provides the bf_getreadbuf
          buffer slot. Python strings, buffer objects and memory
          mapped files are examples of objects providing this slot.
  
          errors defines the error handling to apply. It defaults to
          'strict' handling which is the only currently supported
          error handling for this codec.
  
      """
      assert errors == 'strict'
      output = binascii.a2b_hex("".join(char for char in input if char in hexdigits))
      return (output, len(input))