def _read_para_r1_counter(self, code, cbit, clen, *, desc, length, version):
if clen != <NUM_LIT:12>:<EOL><INDENT>raise ProtocolError(f'<STR_LIT>')<EOL><DEDENT>if code == <NUM_LIT> and version != <NUM_LIT:1>:<EOL><INDENT>raise ProtocolError(f'<STR_LIT>')<EOL><DEDENT>_resv = self._read_fileng(<NUM_LIT:4>)<EOL>_genc = self._read_unpack(<NUM_LIT:8>)<EOL>r1_counter = dict(<EOL>type=desc,<EOL>critical=cbit,<EOL>length=clen,<EOL>count=_genc,<EOL>)<EOL>return r1_counter<EOL>
Read HIP R1_COUNTER parameter.

        Structure of HIP R1_COUNTER parameter [RFC 5201][RFC 7401]:
             0                   1                   2                   3
             0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            |             Type              |             Length            |
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            |                       Reserved, 4 bytes                       |
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            |                R1 generation counter, 8 bytes                 |
            |                                                               |
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            Octets      Bits        Name                    Description
              0           0     ri_counter.type         Parameter Type
              1          15     ri_counter.critical     Critical Bit
              2          16     ri_counter.length       Length of Contents
              4          32     -                       Reserved
              8          64     ri_counter.count        Generation of Valid Puzzles