<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _stream_dat(file_name, pb_dir, byte_count, start_byte, dtype):
 """ Stream data from a remote dat file, into a 1d numpy array. Parameters file_name : str The name of the dat file to be read. pb_dir : str The physiobank directory where the dat file is located. byte_count : int The number of bytes to be read. start_byte : int The starting byte number to read from. dtype : str The numpy dtype to load the data into. Returns ------- sig_data : numpy array The data read from the dat file. """


    # Full url of dat file
    url = posixpath.join(config.db_index_url, pb_dir, file_name)

    # Specify the byte range
    end_byte = start_byte + byte_count - 1
    headers = {"Range":"bytes=%d-%d" % (start_byte, end_byte),
               'Accept-Encoding': '*'}

    # Get the content
    response = requests.get(url, headers=headers, stream=True)

    # Raise HTTPError if invalid url
    response.raise_for_status()

    # Convert to numpy array
    sig_data = np.fromstring(response.content, dtype=dtype)

    return sig_data