<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def auto_decompress_stream(src):
 """Decompress data from `src` if required. If the first block of `src` appears to be compressed, then the entire stream will be uncompressed. Otherwise the stream will be passed along as-is. Args: src (iterable):
 iterable that yields blocks of data Yields: blocks of uncompressed data """

    block = next(src)
    compression = guess_compression(block)
    if compression == 'bz2':
        src = bz2_decompress_stream(chain([block], src))
    elif compression == 'xz':
        src = xz_decompress_stream(chain([block], src))
    else:
        src = chain([block], src)

    for block in src:
        yield block