def deserialize_packet_id(packet_id: str) -> dict:
if packet_id == '<STR_LIT>':<EOL><INDENT>return {'<STR_LIT>': UNKNOWN}<EOL><DEDENT>protocol, *id_switch = packet_id.split(PACKET_ID_SEP)<EOL>assert len(id_switch) < <NUM_LIT:3><EOL>packet_identifiers = {<EOL>'<STR_LIT>': protocol_translations.get(protocol, protocol),<EOL>}<EOL>if id_switch:<EOL><INDENT>packet_identifiers['<STR_LIT:id>'] = id_switch[<NUM_LIT:0>]<EOL><DEDENT>if len(id_switch) > <NUM_LIT:1>:<EOL><INDENT>packet_identifiers['<STR_LIT>'] = id_switch[<NUM_LIT:1>]<EOL><DEDENT>return packet_identifiers<EOL>
r"""Turn a packet id into individual packet components.

    >>> deserialize_packet_id('newkaku_000001_01') == {
    ...     'protocol': 'newkaku',
    ...     'id': '000001',
    ...     'switch': '01',
    ... }
    True
    >>> deserialize_packet_id('ikeakoppla_000080_0') == {
    ...     'protocol': 'ikea koppla',
    ...     'id': '000080',
    ...     'switch': '0',
    ... }
    True