<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def read_tlv(data):
 """Parse TLV8 bytes into a dict. If value is larger than 255 bytes, it is split up in multiple chunks. So the same tag might occurr several times. """

    def _parse(data, pos, size, result=None):
        if result is None:
            result = {}
        if pos >= size:
            return result

        tag = str(data[pos])
        length = data[pos+1]
        value = data[pos+2:pos+2+length]

        if tag in result:
            result[tag] += value  # value > 255 is split up
        else:
            result[tag] = value
        return _parse(data, pos+2+length, size, result)

    return _parse(data, 0, len(data))