See base class.

def _from_binary_ea_entry(cls, binary_stream):
    """See base class."""
    ''' Offset to the next EA  - 4
        Flags - 1
        Name length - 1
        Value length - 2
    '''
    offset_next_ea, flags, name_len, value_len = cls._REPR.unpack(binary_stream[:cls._REPR.size])

    name = binary_stream[cls._REPR.size:cls._REPR.size + name_len].tobytes().decode("ascii")
    #it looks like the value is 8 byte aligned, do some math to compensate
    #TODO confirm if this is true
    value_alignment = (_ceil((cls._REPR.size + name_len) / 8) * 8)
    value = binary_stream[value_alignment:value_alignment + value_len].tobytes()

    nw_obj = cls((offset_next_ea, EAFlags(flags), name, value))

    _MOD_LOGGER.debug("Attempted to unpack EA entry from \"%s\"\nResult: %s", binary_stream.tobytes(), nw_obj)

    return nw_obj