def sign(self, message, do_hash=True):
    " Signs message using this private key.\n\n        Note:\n            This differs from `raw_sign()` since it returns a\n            Signature object.\n\n        Args:\n            message (bytes or str): The message to be signed. If a\n               string is provided it is assumed the encoding is\n               'ascii' and converted to bytes. If this is not the\n               case, it is up to the caller to convert the string to\n               bytes appropriately and pass in the bytes.\n            do_hash (bool): True if the message should be hashed prior\n               to signing, False if not. This should always be left as\n               True except in special situations which require doing\n               the hash outside (e.g. handling Bitcoin bugs).\n\n        Returns:\n            Signature: The signature corresponding to message.\n        "
    raise NotImplementedError
Signs message using this private key.

Note:
    This differs from `raw_sign()` since it returns a
    Signature object.

Args:
    message (bytes or str): The message to be signed. If a
       string is provided it is assumed the encoding is
       'ascii' and converted to bytes. If this is not the
       case, it is up to the caller to convert the string to
       bytes appropriately and pass in the bytes.
    do_hash (bool): True if the message should be hashed prior
       to signing, False if not. This should always be left as
       True except in special situations which require doing
       the hash outside (e.g. handling Bitcoin bugs).

Returns:
    Signature: The signature corresponding to message.
def sign(self, message, do_hash=True):
    " Signs message using this private key.\n\n        Note:\n            This differs from `raw_sign()` since it returns a\n            Signature object.\n\n        Args:\n            message (bytes or str): The message to be signed. If a\n               string is provided it is assumed the encoding is\n               'ascii' and converted to bytes. If this is not the\n               case, it is up to the caller to convert the string to\n               bytes appropriately and pass in the bytes.\n            do_hash (bool): True if the message should be hashed prior\n               to signing, False if not. This should always be left as\n               True except in special situations which require doing\n               the hash outside (e.g. handling Bitcoin bugs).\n\n        Returns:\n            Signature: The signature corresponding to message.\n        "
    raise NotImplementedError