/* sbt -- Simple Build Tool
 * Copyright 2008, 2009 Mark Harrah
 */
package sbt

trait trait TaskAnalysis[Source, Product, External] extends java.lang.Object with NotNullTaskAnalysis[>: Nothing <: AnySource, >: Nothing <: AnyProduct, >: Nothing <: AnyExternal] extends NotNullNotNull
{
	import scala.collection.Set
	def ()Option[String]save(): Option[String]Option[String]
	def ()Option[String]revert(): Option[String]Option[String]
	def ()Unitclear(): UnitUnit
	
	def => scala.collection.Set[Source]allSources: scala.collection.Set[Source]Set[Source]
	def => scala.collection.Set[Product]allProducts: scala.collection.Set[Product]Set[Product]
	def => scala.collection.Set[External]allExternals: scala.collection.Set[External]Set[External]
	
	def (Source)Option[scala.collection.Set[Source]]sourceDependencies(Sourcesource: SourceSource): Option[scala.collection.Set[Source]]Option[Set[Source]]
	def (Source)Option[scala.collection.Set[Product]]products(Sourcesource: SourceSource): Option[scala.collection.Set[Product]]Option[Set[Product]]
	def (External)Option[scala.collection.Set[Source]]externalDependencies(Externalexternal: ExternalExternal): Option[scala.collection.Set[Source]]Option[Set[Source]]
	
	def (Source)UnitaddSource(Sourcesource: SourceSource): UnitUnit
	def (External,Source)UnitaddExternalDependency(ExternaldependsOn: ExternalExternal, Sourcesource: SourceSource): UnitUnit
	def (Source,Source)UnitaddSourceDependency(SourcedependsOn: SourceSource, Sourcesource: SourceSource): UnitUnit
	def (Source,Product)UnitaddProduct(Sourcesource: SourceSource, Productproduct: ProductProduct): UnitUnit
	
	def (Source)UnitremoveSource(Sourcesource: SourceSource): UnitUnit
	def (Source)UnitremoveDependent(Sourcesource: SourceSource): UnitUnit
	def (Source)Option[scala.collection.Set[Source]]removeDependencies(Sourcesource: SourceSource): Option[scala.collection.Set[Source]]Option[Set[Source]]
	def (External)UnitremoveExternalDependency(Externalexternal: ExternalExternal): UnitUnit
}

import java.io.File
import BasicAnalysis._
import MapUtilities._
import scala.collection.mutable.{HashMap, HashSet, ListBuffer, Map, Set}

sealed class class BasicAnalysis extends java.lang.Object with sbt.TaskAnalysis[sbt.Path,sbt.Path,java.io.File] with ScalaObjectBasicAnalysis(sbt.PathanalysisPath: sbt.PathPath, sbt.PathprojectPath: sbt.PathPath, sbt.Loggerlog: sbt.LoggerLogger) extends sbt.TaskAnalysis[sbt.Path,sbt.Path,java.io.File]TaskAnalysis[Path, Path, File]
{
	private val scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]sourceDependencyMap: scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]Map[Path, Set[Path]] = scala.collection.mutable.HashMap[sbt.Path,scala.collection.mutable.Set[sbt.Path]]new scala.collection.mutable.HashMap[sbt.Path,scala.collection.mutable.Set[sbt.Path]]HashMap
	private val scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]productMap: scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]Map[Path, Set[Path]] = scala.collection.mutable.HashMap[sbt.Path,scala.collection.mutable.Set[sbt.Path]]new scala.collection.mutable.HashMap[sbt.Path,scala.collection.mutable.Set[sbt.Path]]HashMap
	private val scala.collection.mutable.Map[java.io.File,scala.collection.mutable.Set[sbt.Path]]externalDependencyMap: scala.collection.mutable.Map[java.io.File,scala.collection.mutable.Set[sbt.Path]]Map[File, Set[Path]] = scala.collection.mutable.HashMap[java.io.File,scala.collection.mutable.Set[sbt.Path]]new scala.collection.mutable.HashMap[java.io.File,scala.collection.mutable.Set[sbt.Path]]HashMap
	
	final type scala.collection.mutable.Map[_, scala.collection.mutable.Set[sbt.Path]]AnyMapToSource = Map[K, Set[Path]] scala.collection.mutable.Map[_, scala.collection.mutable.Set[sbt.Path]]forSome {type K}
	final type scala.collection.mutable.Map[sbt.Path, _]AnySourceMap = Map[Path, T] scala.collection.mutable.Map[sbt.Path, _]forSome {type T}
	final type scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[T]] forSome { type T }AnySourceSetMap = Map[Path, Set[T]] scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[T]] forSome { type T }forSome {type T}
	final type scala.collection.mutable.Map[_, _]AnyMap = Map[K, V] scala.collection.mutable.Map[_, _]forSome { type K; type V }
	
	protected def => List[BasicAnalysis.this.AnyMap]mapsToClear = (BasicAnalysis.this.AnyMap*)List[BasicAnalysis.this.AnyMap]List[BasicAnalysis.this.AnyMapAnyMap](=> scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]sourceDependencyMap, => scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]productMap, => scala.collection.mutable.Map[java.io.File,scala.collection.mutable.Set[sbt.Path]]externalDependencyMap)
	protected def => List[BasicAnalysis.this.AnySourceMap]mapsToRemoveSource = (BasicAnalysis.this.AnySourceMap*)List[BasicAnalysis.this.AnySourceMap]List[BasicAnalysis.this.AnySourceMapAnySourceMap](=> scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]sourceDependencyMap, => scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]productMap)
	protected def => List[BasicAnalysis.this.AnyMapToSource]mapsToRemoveDependent = (BasicAnalysis.this.AnyMapToSource*)List[BasicAnalysis.this.AnyMapToSource]List[BasicAnalysis.this.AnyMapToSourceAnyMapToSource](=> scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]sourceDependencyMap, => scala.collection.mutable.Map[java.io.File,scala.collection.mutable.Set[sbt.Path]]externalDependencyMap)
	protected def => List[BasicAnalysis.this.AnySourceSetMap]mapsToMark = (BasicAnalysis.this.AnySourceSetMap*)List[BasicAnalysis.this.AnySourceSetMap]List[BasicAnalysis.this.AnySourceSetMapAnySourceSetMap](=> scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]sourceDependencyMap, => scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]productMap)
	
	def ()Unitclear()
	{
		for(((BasicAnalysis.this.AnyMap) => Unit)Unitmap <- => List[BasicAnalysis.this.AnyMap]mapsToClear)
			BasicAnalysis.this.AnyMapmap.()Unitclear()
	}
	def (sbt.Path)UnitremoveSource(sbt.Pathsource: sbt.PathPath)
	{
		for(((scala.collection.mutable.Set[sbt.Path]) => Unit)UnitsourceProducts <- => scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]productMap.(sbt.Path)Option[scala.collection.mutable.Set[sbt.Path]]get(sbt.Pathsource))
			object sbt.FileUtilitiesFileUtilities.(Iterable[sbt.Path],Boolean,sbt.Logger)Option[String]clean(scala.collection.mutable.Set[sbt.Path]sourceProducts, Boolean(true)true, sbt.Loggerlog)
		for(((BasicAnalysis.this.AnySourceMap) => Unit)Unitmap <- => List[BasicAnalysis.this.AnySourceMap]mapsToRemoveSource)
			BasicAnalysis.this.AnySourceMapmap (sbt.Path)Unit-= sbt.Pathsource
	}
	def (sbt.Path)UnitremoveSelfDependency(sbt.Pathsource: sbt.PathPath)
	{
		for(((scala.collection.mutable.Set[sbt.Path]) => Unit)Unitdeps <- => scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]sourceDependencyMap.(sbt.Path)Option[scala.collection.mutable.Set[sbt.Path]]get(sbt.Pathsource))
			scala.collection.mutable.Set[sbt.Path]deps (sbt.Path)Unit-= sbt.Pathsource
	}
	def (sbt.Path)UnitremoveDependent(sbt.Pathsource: sbt.PathPath)
	{
		for(((BasicAnalysis.this.AnyMapToSource) => Unit)Unitmap <- => List[BasicAnalysis.this.AnyMapToSource]mapsToRemoveDependent; ((scala.collection.mutable.Set[sbt.Path]) => Unit)Unitdeps <- BasicAnalysis.this.AnyMapToSourcemap.=> Iterator[scala.collection.mutable.Set[sbt.Path]]values)
			scala.collection.mutable.Set[sbt.Path]deps (sbt.Path)Unit-= sbt.Pathsource
	}
	def (sbt.Path)Option[scala.collection.mutable.Set[sbt.Path]]removeDependencies(sbt.Pathsource: sbt.PathPath) = => scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]sourceDependencyMap.(sbt.Path)Option[scala.collection.mutable.Set[sbt.Path]]removeKey(sbt.Pathsource)
	def (java.io.File)UnitremoveExternalDependency(java.io.Filedep: java.io.FileFile) = => scala.collection.mutable.Map[java.io.File,scala.collection.mutable.Set[sbt.Path]]externalDependencyMap.(java.io.File)Option[scala.collection.mutable.Set[sbt.Path]]removeKey(java.io.Filedep.()java.io.FilegetAbsoluteFile)
	
	def (java.io.File)Option[scala.collection.mutable.Set[sbt.Path]]externalDependencies(java.io.Fileexternal: java.io.FileFile) = => scala.collection.mutable.Map[java.io.File,scala.collection.mutable.Set[sbt.Path]]externalDependencyMap.(java.io.File)Option[scala.collection.mutable.Set[sbt.Path]]get(java.io.Fileexternal.()java.io.FilegetAbsoluteFile)
	def (sbt.Path)Option[scala.collection.mutable.Set[sbt.Path]]sourceDependencies(sbt.Pathsource: sbt.PathPath) = => scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]sourceDependencyMap.(sbt.Path)Option[scala.collection.mutable.Set[sbt.Path]]get(sbt.Pathsource)
	def (Iterable[sbt.Path])Iterable[sbt.Path]products(Iterable[sbt.Path]sources: Iterable[sbt.Path]Iterable[Path]): Iterable[sbt.Path]Iterable[Path] =
	{
		val scala.collection.mutable.ListBuffer[sbt.Path]buffer = scala.collection.mutable.ListBuffer[sbt.Path]new scala.collection.mutable.ListBuffer[sbt.Path]ListBuffer[Path]
		for(((sbt.Path) => Unit)Unitsource <- Iterable[sbt.Path]sources; ((scala.collection.mutable.Set[sbt.Path]) => Unit)UnitsourceProducts <- => scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]productMap.(sbt.Path)Option[scala.collection.mutable.Set[sbt.Path]]get(sbt.Pathsource))
			scala.collection.mutable.ListBuffer[sbt.Path]buffer (Iterable[sbt.Path])Unit++= scala.collection.mutable.Set[sbt.Path]sourceProducts
		scala.collection.mutable.ListBuffer[sbt.Path]buffer.=> List[sbt.Path]readOnly
	}
	def (sbt.Path)Option[scala.collection.mutable.Set[sbt.Path]]products(sbt.Pathsource: sbt.PathPath) = => scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]productMap.(sbt.Path)Option[scala.collection.mutable.Set[sbt.Path]]get(sbt.Pathsource)
	
	def => scala.collection.Set[sbt.Path]allSources = => scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]sourceDependencyMap.=> scala.collection.Set[sbt.Path]keySet
	def => scala.collection.mutable.Set[sbt.Path]allProducts: scala.collection.mutable.Set[sbt.Path]Set[Path] = (sbt.Path*)scala.collection.mutable.Set[sbt.Path]HashSet(=> scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]productMap.=> Iterator[scala.collection.mutable.Set[sbt.Path]]values.=> List[scala.collection.mutable.Set[sbt.Path]]toList.(implicit (scala.collection.mutable.Set[sbt.Path]) => Iterable[sbt.Path])List[sbt.Path]flatten[sbt.PathPath].=> Seq[sbt.Path]toSeq : _*)
	def => scala.collection.Set[java.io.File]allExternals = => scala.collection.mutable.Map[java.io.File,scala.collection.mutable.Set[sbt.Path]]externalDependencyMap.=> scala.collection.Set[java.io.File]keySet
	
	def => Iterable[(java.io.File, scala.collection.Set[sbt.Path])]allExternalDependencies = (scala.collection.mutable.Map[java.io.File,scala.collection.mutable.Set[sbt.Path]])Iterable[(java.io.File, scala.collection.Set[sbt.Path])]readOnlyIterable(=> scala.collection.mutable.Map[java.io.File,scala.collection.mutable.Set[sbt.Path]]externalDependencyMap)
	def => Iterable[(sbt.Path, scala.collection.Set[sbt.Path])]allDependencies = (scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]])Iterable[(sbt.Path, scala.collection.Set[sbt.Path])]readOnlyIterable(=> scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]sourceDependencyMap)
	
	def (sbt.Path,sbt.Path)UnitaddSourceDependency(sbt.Pathon: sbt.PathPath, sbt.Pathfrom: sbt.PathPath) = (sbt.Path,sbt.Path,scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]])Unitadd(sbt.Pathon, sbt.Pathfrom, => scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]sourceDependencyMap)
	def (java.io.File,sbt.Path)UnitaddExternalDependency(java.io.Fileon: java.io.FileFile, sbt.Pathfrom: sbt.PathPath) = (java.io.File,sbt.Path,scala.collection.mutable.Map[java.io.File,scala.collection.mutable.Set[sbt.Path]])Unitadd(java.io.Fileon.()java.io.FilegetAbsoluteFile, sbt.Pathfrom, => scala.collection.mutable.Map[java.io.File,scala.collection.mutable.Set[sbt.Path]]externalDependencyMap)
	def (sbt.Path,sbt.Path)UnitaddProduct(sbt.Pathsource: sbt.PathPath, sbt.Pathfile: sbt.PathPath) = (sbt.Path,sbt.Path,scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]])Unitadd(sbt.Pathsource, sbt.Pathfile, => scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]productMap)
	def (sbt.Path)UnitaddSource(sbt.Pathsource: sbt.PathPath) =
	{
		for(((BasicAnalysis.this.AnySourceSetMap) => Unit)Unitmap <- => List[BasicAnalysis.this.AnySourceSetMap]mapsToMark)
			(sbt.Path,scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[T]])Unitmark(sbt.Pathsource, BasicAnalysis.this.AnySourceSetMapmap)
	}
	
	def ()Option[String]revert() = ()Option[String]load()
	final def ()Option[String]load(): Option[String]Option[String] =
	{
		(scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]],sbt.Path,sbt.Path,sbt.Logger)Option[String]loadPaths(=> scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]sourceDependencyMap, sbt.PathanalysisPath (String)sbt.Path/ => java.lang.StringDependenciesFileName, sbt.PathprojectPath, sbt.Loggerlog) (=> Option[String])Option[String]orElse
			(scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]],sbt.Path,sbt.Path,sbt.Logger)Option[String]loadPaths(=> scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]productMap, sbt.PathanalysisPath (String)sbt.Path/ => java.lang.StringGeneratedFileName, sbt.PathprojectPath, sbt.Loggerlog) (=> Option[String])Option[String]orElse
			(scala.collection.mutable.Map[java.io.File,scala.collection.mutable.Set[sbt.Path]],sbt.Path,sbt.Path,sbt.Logger)Option[String]loadFilePaths(=> scala.collection.mutable.Map[java.io.File,scala.collection.mutable.Set[sbt.Path]]externalDependencyMap, sbt.PathanalysisPath (String)sbt.Path/ => java.lang.StringExternalDependenciesFileName, sbt.PathprojectPath, sbt.Loggerlog) (=> Option[String])Option[String]orElse
			()Option[String]loadExtra()
	}
	protected def ()Option[String]loadExtra(): Option[String]Option[String] = object NoneNone
	
	final def ()Option[String]save(): Option[String]Option[String] =
	{
		object sbt.FileUtilitiesFileUtilities.(java.io.File,sbt.Logger)Option[String]createDirectory(sbt.PathanalysisPath.=> java.io.FileasFile, sbt.Loggerlog) (=> Option[String])Option[String]orElse
			(scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]],String,sbt.Path,sbt.Logger)Option[String]writePaths(=> scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]sourceDependencyMap, => java.lang.StringDependenciesLabel, sbt.PathanalysisPath (String)sbt.Path/ => java.lang.StringDependenciesFileName, sbt.Loggerlog) (=> Option[String])Option[String]orElse
			(scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]],String,sbt.Path,sbt.Logger)Option[String]writePaths(=> scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]productMap, => java.lang.StringGeneratedLabel, sbt.PathanalysisPath (String)sbt.Path/ => java.lang.StringGeneratedFileName, sbt.Loggerlog) (=> Option[String])Option[String]orElse
			(scala.collection.mutable.Map[java.io.File,scala.collection.mutable.Set[sbt.Path]],String,sbt.Path,sbt.Logger)Option[String]writeFilePaths(=> scala.collection.mutable.Map[java.io.File,scala.collection.mutable.Set[sbt.Path]]externalDependencyMap, => java.lang.StringExternalDependenciesLabel, sbt.PathanalysisPath (String)sbt.Path/ => java.lang.StringExternalDependenciesFileName, sbt.Loggerlog) (=> Option[String])Option[String]orElse
			()Option[String]saveExtra()
	}
	protected def ()Option[String]saveExtra(): Option[String]Option[String] = object NoneNone
}
object object sbt.BasicAnalysisBasicAnalysis
{
	val java.lang.StringGeneratedFileName = java.lang.String("generated_files")"generated_files"
	val java.lang.StringDependenciesFileName = java.lang.String("dependencies")"dependencies"
	val java.lang.StringExternalDependenciesFileName = java.lang.String("external")"external"
	
	val java.lang.StringGeneratedLabel = java.lang.String("Generated Classes")"Generated Classes"
	val java.lang.StringDependenciesLabel = java.lang.String("Source Dependencies")"Source Dependencies"
	val java.lang.StringExternalDependenciesLabel = java.lang.String("External Dependencies")"External Dependencies"
	
	def (sbt.Path,sbt.Path,sbt.Logger)Either[String,sbt.BasicAnalysis]load(sbt.PathanalysisPath: sbt.PathPath, sbt.PathprojectPath: sbt.PathPath, sbt.Loggerlog: sbt.LoggerLogger): Either[String,sbt.BasicAnalysis]Either[String, BasicAnalysis] =
	{
		val sbt.BasicAnalysisanalysis = sbt.BasicAnalysisnew sbt.BasicAnalysisBasicAnalysis(sbt.PathanalysisPath, sbt.PathprojectPath, sbt.Loggerlog)
		sbt.BasicAnalysisanalysis.()Option[String]load().(=> sbt.BasicAnalysis)Either[String,sbt.BasicAnalysis] with ProducttoLeft(sbt.BasicAnalysisanalysis)
	}
}
object object sbt.CompileAnalysisCompileAnalysis
{
	val java.lang.StringHashesFileName = java.lang.String("hashes")"hashes"
	val java.lang.StringTestsFileName = java.lang.String("tests")"tests"
	val java.lang.StringProjectDefinitionsName = java.lang.String("projects")"projects"
	
	val java.lang.StringHashesLabel = java.lang.String("Source Hashes")"Source Hashes"
	val java.lang.StringTestsLabel = java.lang.String("Tests")"Tests"
	val java.lang.StringProjectDefinitionsLabel = java.lang.String("Project Definitions")"Project Definitions"
	
	def (sbt.Path,sbt.Path,sbt.Logger)Either[String,sbt.CompileAnalysis]load(sbt.PathanalysisPath: sbt.PathPath, sbt.PathprojectPath: sbt.PathPath, sbt.Loggerlog: sbt.LoggerLogger): Either[String,sbt.CompileAnalysis]Either[String, CompileAnalysis] =
	{
		val sbt.CompileAnalysisanalysis = sbt.CompileAnalysisnew sbt.CompileAnalysisCompileAnalysis(sbt.PathanalysisPath, sbt.PathprojectPath, sbt.Loggerlog)
		sbt.CompileAnalysisanalysis.()Option[String]load().(=> sbt.CompileAnalysis)Either[String,sbt.CompileAnalysis] with ProducttoLeft(sbt.CompileAnalysisanalysis)
	}
}
final class class CompileAnalysis extends sbt.BasicAnalysis with ScalaObjectCompileAnalysis(sbt.PathanalysisPath: sbt.PathPath, sbt.PathprojectPath: sbt.PathPath, sbt.Loggerlog: sbt.LoggerLogger)
	extends sbt.BasicAnalysisBasicAnalysis(sbt.PathanalysisPath, sbt.PathprojectPath, sbt.Loggerlog)
{
	import CompileAnalysis._
	private val scala.collection.mutable.HashMap[sbt.Path,scala.collection.mutable.Set[sbt.TestDefinition]]testMap = scala.collection.mutable.HashMap[sbt.Path,scala.collection.mutable.Set[sbt.TestDefinition]]new scala.collection.mutable.HashMap[sbt.Path,scala.collection.mutable.Set[sbt.TestDefinition]]HashMap[Path, Set[TestDefinition]]
	private val scala.collection.mutable.HashMap[sbt.Path,scala.collection.mutable.Set[String]]projectDefinitionMap = scala.collection.mutable.HashMap[sbt.Path,scala.collection.mutable.Set[String]]new scala.collection.mutable.HashMap[sbt.Path,scala.collection.mutable.Set[String]]HashMap[Path, Set[String]]
	private val scala.collection.mutable.HashMap[sbt.Path,Array[Byte]]hashesMap = scala.collection.mutable.HashMap[sbt.Path,Array[Byte]]new scala.collection.mutable.HashMap[sbt.Path,Array[Byte]]HashMap[Path, Array[Byte]]
	
	override protected def => List[CompileAnalysis.this.AnyMap]mapsToClear = => scala.collection.mutable.HashMap[sbt.Path,Array[Byte]]hashesMap (CompileAnalysis.this.AnyMap)List[CompileAnalysis.this.AnyMap]:: => scala.collection.mutable.HashMap[sbt.Path,scala.collection.mutable.Set[sbt.TestDefinition]]testMap (CompileAnalysis.this.AnyMap)List[CompileAnalysis.this.AnyMap]:: => scala.collection.mutable.HashMap[sbt.Path,scala.collection.mutable.Set[String]]projectDefinitionMap (CompileAnalysis.this.AnyMap)List[CompileAnalysis.this.AnyMap]:: super.=> List[CompileAnalysis.this.AnyMap]mapsToClear
	override protected def => List[CompileAnalysis.this.AnySourceMap]mapsToRemoveSource = => scala.collection.mutable.HashMap[sbt.Path,Array[Byte]]hashesMap (CompileAnalysis.this.AnySourceMap)List[CompileAnalysis.this.AnySourceMap]:: => scala.collection.mutable.HashMap[sbt.Path,scala.collection.mutable.Set[sbt.TestDefinition]]testMap (CompileAnalysis.this.AnySourceMap)List[CompileAnalysis.this.AnySourceMap]:: => scala.collection.mutable.HashMap[sbt.Path,scala.collection.mutable.Set[String]]projectDefinitionMap (CompileAnalysis.this.AnySourceMap)List[CompileAnalysis.this.AnySourceMap]:: super.=> List[CompileAnalysis.this.AnySourceMap]mapsToRemoveSource
	
	def => Iterable[sbt.TestDefinition]allTests = (scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.TestDefinition]])Iterable[sbt.TestDefinition]all(=> scala.collection.mutable.HashMap[sbt.Path,scala.collection.mutable.Set[sbt.TestDefinition]]testMap)
	def => Iterable[String]allProjects = (scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[String]])Iterable[String]all(=> scala.collection.mutable.HashMap[sbt.Path,scala.collection.mutable.Set[String]]projectDefinitionMap)
	def => scala.collection.mutable.Map[String,sbt.Path]testSourceMap: scala.collection.mutable.Map[String,sbt.Path]Map[String, Path] =
	{
		val scala.collection.mutable.HashMap[String,sbt.Path]map = scala.collection.mutable.HashMap[String,sbt.Path]new scala.collection.mutable.HashMap[String,sbt.Path]HashMap[String, Path]
		for( (((sbt.Path, scala.collection.mutable.Set[sbt.TestDefinition])) => Unit)Unit(sbt.Pathsource, scala.collection.mutable.Set[sbt.TestDefinition]tests) <- => scala.collection.mutable.HashMap[sbt.Path,scala.collection.mutable.Set[sbt.TestDefinition]]testMap; ((sbt.TestDefinition) => Unit)Unittest <- scala.collection.mutable.Set[sbt.TestDefinition]tests) scala.collection.mutable.HashMap[String,sbt.Path]map(sbt.TestDefinitiontest.=> StringtestClassName) = sbt.Pathsource
		scala.collection.mutable.HashMap[String,sbt.Path]map
	}
	
	def (sbt.Path,sbt.TestDefinition)UnitaddTest(sbt.Pathsource: sbt.PathPath, sbt.TestDefinitiontest: sbt.TestDefinitionTestDefinition) = (sbt.Path,sbt.TestDefinition,scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.TestDefinition]])Unitadd(sbt.Pathsource, sbt.TestDefinitiontest, => scala.collection.mutable.HashMap[sbt.Path,scala.collection.mutable.Set[sbt.TestDefinition]]testMap)
	def (sbt.Path,String)UnitaddProjectDefinition(sbt.Pathsource: sbt.PathPath, StringclassName: StringString) = (sbt.Path,String,scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[String]])Unitadd(sbt.Pathsource, StringclassName, => scala.collection.mutable.HashMap[sbt.Path,scala.collection.mutable.Set[String]]projectDefinitionMap)
	def (sbt.Path,Array[Byte])UnitsetHash(sbt.Pathsource: sbt.PathPath, Array[Byte]hash: Array[Byte]Array[Byte]) { => scala.collection.mutable.HashMap[sbt.Path,Array[Byte]]hashesMap(sbt.Pathsource) = Array[Byte]hash }
	def (sbt.Path)UnitclearHash(sbt.Pathsource: sbt.PathPath) { => scala.collection.mutable.HashMap[sbt.Path,Array[Byte]]hashesMap.(sbt.Path)Option[Array[Byte]]removeKey(sbt.Pathsource) }
	def (sbt.Path)Option[Array[Byte]]hash(sbt.Pathsource: sbt.PathPath) = => scala.collection.mutable.HashMap[sbt.Path,Array[Byte]]hashesMap.(sbt.Path)Option[Array[Byte]]get(sbt.Pathsource)
	def ()UnitclearHashes() { => scala.collection.mutable.HashMap[sbt.Path,Array[Byte]]hashesMap.()Unitclear() }
	
	def (sbt.PathFinder,sbt.Path)sbt.PathFindergetClasses(sbt.PathFindersources: sbt.PathFinderPathFinder, sbt.PathoutputDirectory: sbt.PathPath): sbt.PathFinderPathFinder =
		object sbt.PathPath.(=> Iterable[sbt.Path])sbt.PathFinderlazyPathFinder
		{
			val sbt.PathbasePath = (sbt.PathoutputDirectory => sbt.Path##)
			for(((sbt.Path) => sbt.Path)Iterable[sbt.Path]c <- (Iterable[sbt.Path])Iterable[sbt.Path]products(sbt.PathFindersources.=> scala.collection.Set[sbt.Path]get)) yield
				object sbt.PathPath.(sbt.Path,sbt.Path)Option[sbt.Path]relativize(sbt.PathbasePath, sbt.Pathc).(=> sbt.Path)sbt.PathgetOrElse(sbt.Pathc)
		}
		
	override protected def ()Option[String]loadExtra() =
	{
		(scala.collection.mutable.Map[sbt.Path,Array[Byte]],sbt.Path,sbt.Path,sbt.Logger)Option[String]loadHashes(=> scala.collection.mutable.HashMap[sbt.Path,Array[Byte]]hashesMap, sbt.PathanalysisPath (String)sbt.Path/ => java.lang.StringHashesFileName, sbt.PathprojectPath, sbt.Loggerlog) (=> Option[String])Option[String]orElse
		(scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.TestDefinition]],sbt.Path,sbt.Path,sbt.Logger)Option[String]loadTestDefinitions(=> scala.collection.mutable.HashMap[sbt.Path,scala.collection.mutable.Set[sbt.TestDefinition]]testMap, sbt.PathanalysisPath (String)sbt.Path/ => java.lang.StringTestsFileName, sbt.PathprojectPath, sbt.Loggerlog) (=> Option[String])Option[String]orElse
		(scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[String]],sbt.Path,sbt.Path,sbt.Logger)Option[String]loadStrings(=> scala.collection.mutable.HashMap[sbt.Path,scala.collection.mutable.Set[String]]projectDefinitionMap, sbt.PathanalysisPath (String)sbt.Path/ => java.lang.StringProjectDefinitionsName, sbt.PathprojectPath, sbt.Loggerlog)
	}
	override protected def ()Option[String]saveExtra() =
	{
		(scala.collection.mutable.Map[sbt.Path,Array[Byte]],String,sbt.Path,sbt.Logger)Option[String]writeHashes(=> scala.collection.mutable.HashMap[sbt.Path,Array[Byte]]hashesMap, => java.lang.StringHashesLabel, sbt.PathanalysisPath (String)sbt.Path/ => java.lang.StringHashesFileName, sbt.Loggerlog) (=> Option[String])Option[String]orElse
		(scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.TestDefinition]],String,sbt.Path,sbt.Logger)Option[String]writeTestDefinitions(=> scala.collection.mutable.HashMap[sbt.Path,scala.collection.mutable.Set[sbt.TestDefinition]]testMap, => java.lang.StringTestsLabel, sbt.PathanalysisPath (String)sbt.Path/ => java.lang.StringTestsFileName, sbt.Loggerlog) (=> Option[String])Option[String]orElse
		(scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[String]],String,sbt.Path,sbt.Logger)Option[String]writeStrings(=> scala.collection.mutable.HashMap[sbt.Path,scala.collection.mutable.Set[String]]projectDefinitionMap, => java.lang.StringProjectDefinitionsLabel, sbt.PathanalysisPath (String)sbt.Path/ => java.lang.StringProjectDefinitionsName, sbt.Loggerlog)
	}
}

import java.util.Properties
import java.io.{FileInputStream, FileOutputStream, InputStream, OutputStream}
object object sbt.PropertiesUtilitiesPropertiesUtilities
{
	def (java.util.Properties,String,sbt.Path,sbt.Logger)Option[String]write(java.util.Propertiesproperties: java.util.PropertiesProperties, Stringlabel: StringString, sbt.Pathto: sbt.PathPath, sbt.Loggerlog: sbt.LoggerLogger) =
		object sbt.FileUtilitiesFileUtilities.(java.io.File,sbt.Logger)((java.io.OutputStream) => Option[String])Option[String]writeStream(sbt.Pathto.=> java.io.FileasFile, sbt.Loggerlog)((java.io.OutputStreamoutput: java.io.OutputStreamOutputStream) => { java.util.Propertiesproperties.(java.io.OutputStream,java.lang.String)Unitstore(java.io.OutputStreamoutput, Stringlabel); object NoneNone })
	
	def (java.util.Properties,sbt.Path,sbt.Logger)Option[String]load(java.util.Propertiesproperties: java.util.PropertiesProperties, sbt.Pathfrom: sbt.PathPath, sbt.Loggerlog: sbt.LoggerLogger): Option[String]Option[String] =
	{
		val java.io.Filefile = sbt.Pathfrom.=> java.io.FileasFile
		Option[String]if(java.io.Filefile.()Booleanexists)
			object sbt.FileUtilitiesFileUtilities.(java.io.File,sbt.Logger)((java.io.InputStream) => Option[String])Option[String]readStream(java.io.Filefile, sbt.Loggerlog)( (java.io.InputStreaminput: java.io.InputStreamInputStream) => { java.util.Propertiesproperties.(java.io.InputStream)Unitload(java.io.InputStreaminput); object NoneNone })
		else
			object NoneNone
	}
	
	def (java.util.Properties)Iterable[String]propertyNames(java.util.Propertiesproperties: java.util.PropertiesProperties): Iterable[String]Iterable[String] =
	{
		import java.util.Collections.list
		import scala.collection.jcl.Conversions.convertList
		(java.util.List[?0])java.lang.Object with scala.collection.jcl.BufferWrapper[?0]convertList((java.util.Enumeration[?0])java.util.ArrayList[?0]list(java.util.Propertiesproperties.()java.util.Enumeration[_]propertyNames)).((?0) => java.lang.String)Seq[java.lang.String]map(?0_.()java.lang.StringtoString)
	}
}
object object sbt.MapUtilitiesMapUtilities
{
	def [Key, Value](scala.collection.mutable.Map[Key,scala.collection.mutable.Set[Value]])Iterable[Value]all[>: Nothing <: AnyKey, >: Nothing <: AnyValue](scala.collection.mutable.Map[Key,scala.collection.mutable.Set[Value]]map: scala.collection.mutable.Map[Key,scala.collection.mutable.Set[Value]]Map[Key, Set[Value]]): Iterable[Value]Iterable[Value] =
		scala.collection.mutable.Map[Key,scala.collection.mutable.Set[Value]]map.=> Iterator[scala.collection.mutable.Set[Value]]values.=> List[scala.collection.mutable.Set[Value]]toList.((scala.collection.mutable.Set[Value]) => Iterable[Value])List[Value]flatMap(scala.collection.mutable.Set[Value]set => scala.collection.mutable.Set[Value]set.=> List[Value]toList)
	
	def [Key, Value](scala.collection.mutable.Map[Key,scala.collection.mutable.Set[Value]])Iterable[(Key, scala.collection.Set[Value])]readOnlyIterable[>: Nothing <: AnyKey, >: Nothing <: AnyValue](scala.collection.mutable.Map[Key,scala.collection.mutable.Set[Value]]i: scala.collection.mutable.Map[Key,scala.collection.mutable.Set[Value]]Map[Key, Set[Value]]): Iterable[(Key, scala.collection.Set[Value])]Iterable[(Key, scala.collection.Set[Value])] =
		for( (((Key, scala.collection.mutable.Set[Value])) => (Key, scala.collection.Set[Value]))List[(Key, scala.collection.Set[Value])](Keykey, scala.collection.mutable.Set[Value]set) <- scala.collection.mutable.Map[Key,scala.collection.mutable.Set[Value]]i.=> Iterator[(Key, scala.collection.mutable.Set[Value])]elements.=> List[(Key, scala.collection.mutable.Set[Value])]toList) yield (Key,scala.collection.Set[Value])(Key, scala.collection.Set[Value])(Keykey, scala.collection.mutable.Set[Value]set.=> scala.collection.Set[Value]readOnly)
		
	def [Key, Value](Key,scala.collection.mutable.Map[Key,scala.collection.mutable.Set[Value]])Unitmark[>: Nothing <: AnyKey, >: Nothing <: AnyValue](Keysource: KeyKey, scala.collection.mutable.Map[Key,scala.collection.mutable.Set[Value]]map: scala.collection.mutable.Map[Key,scala.collection.mutable.Set[Value]]Map[Key, Set[Value]])
	{
		Unitif(=> Boolean!scala.collection.mutable.Map[Key,scala.collection.mutable.Set[Value]]map.(Key)Booleancontains(Keysource))
			scala.collection.mutable.Map[Key,scala.collection.mutable.Set[Value]]map.(Key,scala.collection.mutable.Set[Value])Option[scala.collection.mutable.Set[Value]]put(Keysource, scala.collection.mutable.HashSet[Value]new scala.collection.mutable.HashSet[Value]HashSet[Value])
	}
	def [Key, Value](Key,Value,scala.collection.mutable.Map[Key,scala.collection.mutable.Set[Value]])Unitadd[>: Nothing <: AnyKey, >: Nothing <: AnyValue](Keykey: KeyKey, Valuevalue: ValueValue, scala.collection.mutable.Map[Key,scala.collection.mutable.Set[Value]]map: scala.collection.mutable.Map[Key,scala.collection.mutable.Set[Value]]Map[Key, Set[Value]])
	{
		scala.collection.mutable.Map[Key,scala.collection.mutable.Set[Value]]map.(Key,=> scala.collection.mutable.Set[Value])scala.collection.mutable.Set[Value]getOrElseUpdate(Keykey, scala.collection.mutable.HashSet[Value]new scala.collection.mutable.HashSet[Value]HashSet[Value]) (Value)scala.collection.mutable.Set[Value]+ Valuevalue
	}
	
	def (scala.collection.mutable.Map[sbt.Path,Array[Byte]],String,sbt.Path,sbt.Logger)Option[String]writeHashes(scala.collection.mutable.Map[sbt.Path,Array[Byte]]map: scala.collection.mutable.Map[sbt.Path,Array[Byte]]Map[Path, Array[Byte]], Stringlabel: StringString, sbt.Pathto: sbt.PathPath, sbt.Loggerlog: sbt.LoggerLogger) =
	{
		val java.util.Propertiesproperties = java.util.Propertiesnew java.util.PropertiesProperties
		for( (((sbt.Path, Array[Byte])) => Unit)Unit(sbt.Pathpath, Array[Byte]hash) <- scala.collection.mutable.Map[sbt.Path,Array[Byte]]map)
			java.util.Propertiesproperties.(java.lang.String,java.lang.String)java.lang.ObjectsetProperty(sbt.Pathpath.=> StringrelativePath, object sbt.HashHash.(Array[Byte])StringtoHex(Array[Byte]hash))
		object sbt.PropertiesUtilitiesPropertiesUtilities.(java.util.Properties,String,sbt.Path,sbt.Logger)Option[String]write(java.util.Propertiesproperties, Stringlabel, sbt.Pathto, sbt.Loggerlog)
	}
	
	def (scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.TestDefinition]],String,sbt.Path,sbt.Logger)Option[String]writeTestDefinitions(scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.TestDefinition]]map: scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.TestDefinition]]Map[Path, Set[TestDefinition]], Stringlabel: StringString, sbt.Pathto: sbt.PathPath, sbt.Loggerlog: sbt.LoggerLogger) =
		(scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.TestDefinition]],String,(Iterable[sbt.TestDefinition]) => String,sbt.Path,sbt.Logger)Option[String]write(scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.TestDefinition]]map, Stringlabel, (Iterable[sbt.TestDefinition]i: Iterable[sbt.TestDefinition]Iterable[TestDefinition]) => Iterable[sbt.TestDefinition]i.((sbt.TestDefinition) => java.lang.String)Iterable[java.lang.String]map(sbt.TestDefinition_.()java.lang.StringtoString).(String)StringmkString(object java.io.FileFile.java.lang.StringpathSeparator), sbt.Pathto, sbt.Loggerlog)
	def (scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[String]],String,sbt.Path,sbt.Logger)Option[String]writeStrings(scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[String]]map: scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[String]]Map[Path, Set[String]], Stringlabel: StringString, sbt.Pathto: sbt.PathPath, sbt.Loggerlog: sbt.LoggerLogger) =
		(scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[String]],String,(Iterable[String]) => String,sbt.Path,sbt.Logger)Option[String]write(scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[String]]map, Stringlabel, (Iterable[String]i: Iterable[String]Iterable[String]) => Iterable[String]i.(String)StringmkString(object java.io.FileFile.java.lang.StringpathSeparator), sbt.Pathto, sbt.Loggerlog)
	def (scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]],String,sbt.Path,sbt.Logger)Option[String]writePaths(scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]map: scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]Map[Path, Set[Path]], Stringlabel: StringString, sbt.Pathto: sbt.PathPath, sbt.Loggerlog: sbt.LoggerLogger) =
		(scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]],String,(Iterable[sbt.Path]) => String,sbt.Path,sbt.Logger)Option[String]write(scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]map, Stringlabel, object sbt.PathPath.(Iterable[sbt.Path])StringmakeRelativeString, sbt.Pathto, sbt.Loggerlog)
	private def [Value](scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[Value]],String,(Iterable[Value]) => String,sbt.Path,sbt.Logger)Option[String]write[>: Nothing <: AnyValue](scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[Value]]map: scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[Value]]Map[Path, Set[Value]], Stringlabel: StringString,
		(Iterable[Value]) => StringvaluesToString: Iterable[Value] => String, sbt.Pathto: sbt.PathPath, sbt.Loggerlog: sbt.LoggerLogger): Option[String]Option[String] =
	{
		val java.util.Propertiesproperties = java.util.Propertiesnew java.util.PropertiesProperties
		for( (((sbt.Path, scala.collection.mutable.Set[Value])) => Unit)Unit(sbt.Pathpath, scala.collection.mutable.Set[Value]set) <- scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[Value]]map)
			java.util.Propertiesproperties.(java.lang.String,java.lang.String)java.lang.ObjectsetProperty(sbt.Pathpath.=> StringrelativePath, (Iterable[Value])StringvaluesToString(scala.collection.mutable.Set[Value]set))
		object sbt.PropertiesUtilitiesPropertiesUtilities.(java.util.Properties,String,sbt.Path,sbt.Logger)Option[String]write(java.util.Propertiesproperties, Stringlabel, sbt.Pathto, sbt.Loggerlog)
	}
	def (scala.collection.mutable.Map[java.io.File,scala.collection.mutable.Set[sbt.Path]],String,sbt.Path,sbt.Logger)Option[String]writeFilePaths(scala.collection.mutable.Map[java.io.File,scala.collection.mutable.Set[sbt.Path]]map: scala.collection.mutable.Map[java.io.File,scala.collection.mutable.Set[sbt.Path]]Map[File, Set[Path]], Stringlabel: StringString, sbt.Pathto: sbt.PathPath, sbt.Loggerlog: sbt.LoggerLogger) =
	{
		val java.util.Propertiesproperties = java.util.Propertiesnew java.util.PropertiesProperties
		for( (((java.io.File, scala.collection.mutable.Set[sbt.Path])) => Unit)Unit(java.io.Filefile, scala.collection.mutable.Set[sbt.Path]set) <- scala.collection.mutable.Map[java.io.File,scala.collection.mutable.Set[sbt.Path]]map)
			java.util.Propertiesproperties.(java.lang.String,java.lang.String)java.lang.ObjectsetProperty(java.io.Filefile.()java.lang.StringgetCanonicalPath, object sbt.PathPath.(Iterable[sbt.Path])StringmakeRelativeString(scala.collection.mutable.Set[sbt.Path]set))
		object sbt.PropertiesUtilitiesPropertiesUtilities.(java.util.Properties,String,sbt.Path,sbt.Logger)Option[String]write(java.util.Propertiesproperties, Stringlabel, sbt.Pathto, sbt.Loggerlog)
	}
	
	private def (sbt.Path)(String)scala.collection.mutable.Set[sbt.Path]pathSetFromString(sbt.PathprojectPath: sbt.PathPath)(Strings: StringString): scala.collection.mutable.Set[sbt.Path]Set[Path] =
		(scala.collection.mutable.HashSet[sbt.Path]new scala.collection.mutable.HashSet[sbt.Path]HashSet[Path]) (Iterable[sbt.Path])scala.collection.mutable.Set[sbt.Path]++ object sbt.PathPath.(sbt.Path,String)Iterable[sbt.Path]splitString(sbt.PathprojectPath, Strings)
	private def [T]((String) => T)(String)scala.collection.mutable.Set[T]stringToSet[>: Nothing <: AnyT]((String) => Tf: String => T)(Strings: StringString): scala.collection.mutable.Set[T]Set[T] =
		(scala.collection.mutable.HashSet[T]new scala.collection.mutable.HashSet[T]HashSet[T]) (Iterable[T])scala.collection.mutable.Set[T]++ object sbt.FileUtilitiesFileUtilities.(String)Array[java.lang.String]pathSplit(Strings).((java.lang.String) => java.lang.String)Array[java.lang.String]map(java.lang.String_.()java.lang.Stringtrim).((java.lang.String) => Boolean)Array[java.lang.String]filter(java.lang.String_.()Intlength (Int)Boolean> Int(0)0).((java.lang.String) => T)Array[T]map((String) => Tf)
	
	def (scala.collection.mutable.Map[sbt.Path,Array[Byte]],sbt.Path,sbt.Path,sbt.Logger)Option[String]loadHashes(scala.collection.mutable.Map[sbt.Path,Array[Byte]]map: scala.collection.mutable.Map[sbt.Path,Array[Byte]]Map[Path, Array[Byte]], sbt.Pathfrom: sbt.PathPath, sbt.PathprojectPath: sbt.PathPath, sbt.Loggerlog: sbt.LoggerLogger) =
		(scala.collection.mutable.Map[sbt.Path,Array[Byte]],(String) => Array[Byte],sbt.Path,sbt.Path,sbt.Logger)Option[String]load(scala.collection.mutable.Map[sbt.Path,Array[Byte]]map, object sbt.HashHash.(String)Array[Byte]fromHex, sbt.Pathfrom, sbt.PathprojectPath, sbt.Loggerlog)
	def (scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.TestDefinition]],sbt.Path,sbt.Path,sbt.Logger)Option[String]loadTestDefinitions(scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.TestDefinition]]map: scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.TestDefinition]]Map[Path, Set[TestDefinition]], sbt.Pathfrom: sbt.PathPath, sbt.PathprojectPath: sbt.PathPath, sbt.Loggerlog: sbt.LoggerLogger) =
		(scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.TestDefinition]],(String) => sbt.TestDefinition,sbt.Path,sbt.Path,sbt.Logger)Option[String]loadStrings(scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.TestDefinition]]map, Stringt => object sbt.TestParserTestParser.(String)Either[String,sbt.TestDefinition]parse(Stringt).((String) => sbt.TestDefinition,(sbt.TestDefinition) => sbt.TestDefinition)sbt.TestDefinitionfold((String)Nothingerror, sbt.TestDefinitionx => sbt.TestDefinitionx), sbt.Pathfrom, sbt.PathprojectPath, sbt.Loggerlog)
	def (scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[String]],sbt.Path,sbt.Path,sbt.Logger)Option[String]loadStrings(scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[String]]map: scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[String]]Map[Path, Set[String]], sbt.Pathfrom: sbt.PathPath, sbt.PathprojectPath: sbt.PathPath, sbt.Loggerlog: sbt.LoggerLogger): Option[String]Option[String] =
		(scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[String]],(String) => String,sbt.Path,sbt.Path,sbt.Logger)Option[String]loadStrings(scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[String]]map, Stringx => Stringx, sbt.Pathfrom, sbt.PathprojectPath, sbt.Loggerlog)
	def [T](scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[T]],(String) => T,sbt.Path,sbt.Path,sbt.Logger)Option[String]loadStrings[>: Nothing <: AnyT](scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[T]]map: scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[T]]Map[Path, Set[T]], (String) => Tf: String => T, sbt.Pathfrom: sbt.PathPath, sbt.PathprojectPath: sbt.PathPath, sbt.Loggerlog: sbt.LoggerLogger): Option[String]Option[String] =
		(scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[T]],(String) => scala.collection.mutable.Set[T],sbt.Path,sbt.Path,sbt.Logger)Option[String]load(scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[T]]map, ((String) => T)(String)scala.collection.mutable.Set[T]stringToSet[TT]((String) => Tf)(String_), sbt.Pathfrom, sbt.PathprojectPath, sbt.Loggerlog)
	def (scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]],sbt.Path,sbt.Path,sbt.Logger)Option[String]loadPaths(scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]map: scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]Map[Path, Set[Path]], sbt.Pathfrom: sbt.PathPath, sbt.PathprojectPath: sbt.PathPath, sbt.Loggerlog: sbt.LoggerLogger) =
		(scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]],(String) => scala.collection.mutable.Set[sbt.Path],sbt.Path,sbt.Path,sbt.Logger)Option[String]load(scala.collection.mutable.Map[sbt.Path,scala.collection.mutable.Set[sbt.Path]]map, (sbt.Path)(String)scala.collection.mutable.Set[sbt.Path]pathSetFromString(sbt.PathprojectPath)(String_), sbt.Pathfrom, sbt.PathprojectPath, sbt.Loggerlog)
		
	private def [Value](scala.collection.mutable.Map[sbt.Path,Value],(String) => Value,sbt.Path,sbt.Path,sbt.Logger)Option[String]load[>: Nothing <: AnyValue](scala.collection.mutable.Map[sbt.Path,Value]map: scala.collection.mutable.Map[sbt.Path,Value]Map[Path, Value], (String) => ValuestringToValue: String => Value, sbt.Pathfrom: sbt.PathPath, sbt.PathprojectPath: sbt.PathPath, sbt.Loggerlog: sbt.LoggerLogger): Option[String]Option[String] =
	{
		scala.collection.mutable.Map[sbt.Path,Value]map.()Unitclear
		val java.util.Propertiesproperties = java.util.Propertiesnew java.util.PropertiesProperties
		object sbt.PropertiesUtilitiesPropertiesUtilities.(java.util.Properties,sbt.Path,sbt.Logger)Option[String]load(java.util.Propertiesproperties, sbt.Pathfrom, sbt.Loggerlog) (=> Option[String])Option[String]orElse
		{
			for(((String) => Unit)Unitname <- object sbt.PropertiesUtilitiesPropertiesUtilities.(java.util.Properties)Iterable[String]propertyNames(java.util.Propertiesproperties))
				scala.collection.mutable.Map[sbt.Path,Value]map.(sbt.Path,Value)Option[Value]put(object sbt.PathPath.(sbt.Path,String)sbt.PathfromString(sbt.PathprojectPath, Stringname), (String)ValuestringToValue(java.util.Propertiesproperties.(java.lang.String)java.lang.StringgetProperty(Stringname)))
			object NoneNone
		}
	}
	def (scala.collection.mutable.Map[java.io.File,scala.collection.mutable.Set[sbt.Path]],sbt.Path,sbt.Path,sbt.Logger)Option[String]loadFilePaths(scala.collection.mutable.Map[java.io.File,scala.collection.mutable.Set[sbt.Path]]map: scala.collection.mutable.Map[java.io.File,scala.collection.mutable.Set[sbt.Path]]Map[File, Set[Path]], sbt.Pathfrom: sbt.PathPath, sbt.PathprojectPath: sbt.PathPath, sbt.Loggerlog: sbt.LoggerLogger) =
	{
		scala.collection.mutable.Map[java.io.File,scala.collection.mutable.Set[sbt.Path]]map.()Unitclear
		val java.util.Propertiesproperties = java.util.Propertiesnew java.util.PropertiesProperties
		object sbt.PropertiesUtilitiesPropertiesUtilities.(java.util.Properties,sbt.Path,sbt.Logger)Option[String]load(java.util.Propertiesproperties, sbt.Pathfrom, sbt.Loggerlog) (=> Option[String])Option[String]orElse
		{
			for(((String) => Unit)Unitname <- object sbt.PropertiesUtilitiesPropertiesUtilities.(java.util.Properties)Iterable[String]propertyNames(java.util.Propertiesproperties))
				scala.collection.mutable.Map[java.io.File,scala.collection.mutable.Set[sbt.Path]]map.(java.io.File,scala.collection.mutable.Set[sbt.Path])Option[scala.collection.mutable.Set[sbt.Path]]put(java.io.Filenew java.io.FileFile(Stringname), (sbt.Path)(String)scala.collection.mutable.Set[sbt.Path]pathSetFromString(sbt.PathprojectPath)(java.util.Propertiesproperties.(java.lang.String)java.lang.StringgetProperty(Stringname)))
			object NoneNone
		}
	}
}