code: def copy_parallel_text(file_list: List[str], dest_prefix: str):
      
      # Group files into source-target pairs
      file_sets = []
      for i in range(0, len(file_list), 2):
          file_sets.append((file_list[i], file_list[i + 1]))
      multiple_sets = len(file_sets) > 1
      for i, (source_fname, target_fname) in enumerate(file_sets):
          if multiple_sets:
              source_dest = dest_prefix + str(i) + "." + SUFFIX_SRC_GZ
              target_dest = dest_prefix + str(i) + "." + SUFFIX_TRG_GZ
          else:
              source_dest = dest_prefix + SUFFIX_SRC_GZ
              target_dest = dest_prefix + SUFFIX_TRG_GZ
          logging.info("Populate: %s %s", source_dest, target_dest)
          with gzip.open(source_dest, "wb") as source_out, gzip.open(target_dest, "wb") as target_out:
              with third_party.bin_open(source_fname) as inp:
                  for line in inp:
                      line = (re.sub(r"\s", " ", line.decode("utf-8"))).encode("utf-8") + b"\n"
                      source_out.write(line)
              with third_party.bin_open(target_fname) as inp:
                  for line in inp:
                      line = (re.sub(r"\s", " ", line.decode("utf-8"))).encode("utf-8") + b"\n"
                      target_out.write(line)
docs: Copy pre-compiled raw parallel files with a given prefix.  Perform
      whitespace character normalization to ensure that only ASCII newlines are
      considered line breaks.
  
      :param file_list: List of file pairs to use.
      :param dest_prefix: Prefix for output files.