async def load_blob(reader, elem_type, params=None, elem=None):
    """
    Loads blob from reader to the element. Returns the loaded blob.

    :param reader:
    :param elem_type:
    :param params:
    :param elem:
    :return:
    """
    ivalue = await load_varint(reader)
    fvalue = bytearray(ivalue)
    await reader.areadinto(fvalue)

    if elem is None:
        return fvalue  # array by default

    elif isinstance(elem, x.BlobType):
        setattr(elem, elem_type.DATA_ATTR, fvalue)
        return elem

    else:
        elem.extend(fvalue)

    return elem
async def load_blob ( reader , elem_type , params = None , elem = None ) : ivalue = await load_varint ( reader ) fvalue = bytearray ( ivalue ) await reader . areadinto ( fvalue ) if elem is None : return fvalue elif isinstance ( elem , x . BlobType ) : setattr ( elem , elem_type . DATA_ATTR , fvalue ) return elem else : elem . extend ( fvalue ) return elem
Loads blob from reader to the element. Returns the loaded blob.

    :param reader:
    :param elem_type:
    :param params:
    :param elem:
    :return: