@classmethod
def from_name(cls, name: str) ->'Curve':
    """
        Alternate constructor to generate a curve instance by its name.

        Raises NotImplementedError if the name cannot be mapped to a known
        supported curve NID.

        """
    name = name.casefold()
    for supported_nid, supported_name in cls._supported_curves.items():
        if name == supported_name:
            instance = cls(nid=supported_nid)
            break
    else:
        message = '{} is not supported curve name.'.format(name)
        raise NotImplementedError(message)
    return instance
