+ manifest_streams = mt.split "\n"
+ adjusted_streams = []
+ manifest_streams.each do |stream|
+ manifest_parts = stream.split
+ adjusted_parts = []
+ manifest_files = files_in_dirs[manifest_parts[0]]
+ if !manifest_files
+ manifest_files = []
+ files_in_dirs[manifest_parts[0]] = manifest_files
+ end
+
+ manifest_parts.each do |part|
+ part_match = /\d*:\d*:(.*)/.match(part)
+ if part_match
+ uniq_file = derive_unique_filename(part_match[1], manifest_files)
+ adjusted_parts << (part.gsub(part_match[1]) {|s| uniq_file})
+ manifest_files << uniq_file
+ else
+ adjusted_parts << part
+ end
+ end
+ adjusted_streams << adjusted_parts.join(' ')
+ end
+ adjusted_streams.each do |stream|
+ combined += (stream + "\n")
+ end