Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "uimacpp", "uimacpp.vcproj", "{70B51CFD-850A-44D1-BF14-A44A1CB27550}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "install", "install.vcproj", "{023122EC-3490-49E1-ABE6-B7D755E757B0}"
	ProjectSection(ProjectDependencies) = postProject
		{70B51CFD-850A-44D1-BF14-A44A1CB27550} = {70B51CFD-850A-44D1-BF14-A44A1CB27550}
		{9F230EC0-DB18-46AC-BB02-DC1E6974A463} = {9F230EC0-DB18-46AC-BB02-DC1E6974A463}
		{BB5DD1BE-CCC4-42DD-A8C7-A607D1970A5A} = {BB5DD1BE-CCC4-42DD-A8C7-A607D1970A5A}
	EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "runaecpp", "runaecpp.vcproj", "{9F230EC0-DB18-46AC-BB02-DC1E6974A463}"
	ProjectSection(ProjectDependencies) = postProject
		{70B51CFD-850A-44D1-BF14-A44A1CB27550} = {70B51CFD-850A-44D1-BF14-A44A1CB27550}
	EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "deployCppService", "deployCppService.vcproj", "{BB5DD1BE-CCC4-42DD-A8C7-A607D1970A5A}"
	ProjectSection(ProjectDependencies) = postProject
		{70B51CFD-850A-44D1-BF14-A44A1CB27550} = {70B51CFD-850A-44D1-BF14-A44A1CB27550}
	EndProjectSection
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Win32 = Debug|Win32
		Release|Win32 = Release|Win32
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{70B51CFD-850A-44D1-BF14-A44A1CB27550}.Debug|Win32.ActiveCfg = Debug|Win32
		{70B51CFD-850A-44D1-BF14-A44A1CB27550}.Debug|Win32.Build.0 = Debug|Win32
		{70B51CFD-850A-44D1-BF14-A44A1CB27550}.Release|Win32.ActiveCfg = Release|Win32
		{70B51CFD-850A-44D1-BF14-A44A1CB27550}.Release|Win32.Build.0 = Release|Win32
		{023122EC-3490-49E1-ABE6-B7D755E757B0}.Debug|Win32.ActiveCfg = Debug|Win32
		{023122EC-3490-49E1-ABE6-B7D755E757B0}.Debug|Win32.Build.0 = Debug|Win32
		{023122EC-3490-49E1-ABE6-B7D755E757B0}.Release|Win32.ActiveCfg = Release|Win32
		{023122EC-3490-49E1-ABE6-B7D755E757B0}.Release|Win32.Build.0 = Release|Win32
		{9F230EC0-DB18-46AC-BB02-DC1E6974A463}.Debug|Win32.ActiveCfg = Debug|Win32
		{9F230EC0-DB18-46AC-BB02-DC1E6974A463}.Debug|Win32.Build.0 = Debug|Win32
		{9F230EC0-DB18-46AC-BB02-DC1E6974A463}.Release|Win32.ActiveCfg = Release|Win32
		{9F230EC0-DB18-46AC-BB02-DC1E6974A463}.Release|Win32.Build.0 = Release|Win32
		{BB5DD1BE-CCC4-42DD-A8C7-A607D1970A5A}.Debug|Win32.ActiveCfg = Debug|Win32
		{BB5DD1BE-CCC4-42DD-A8C7-A607D1970A5A}.Debug|Win32.Build.0 = Debug|Win32
		{BB5DD1BE-CCC4-42DD-A8C7-A607D1970A5A}.Release|Win32.ActiveCfg = Release|Win32
		{BB5DD1BE-CCC4-42DD-A8C7-A607D1970A5A}.Release|Win32.Build.0 = Release|Win32
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal
