// !$*UTF8*$!
{
	archiveVersion = 1;
	classes = {
	};
	objectVersion = 42;
	objects = {

		2C18F0B615DC1E0300593670 = {isa = PBXBuildFile; fileRef = 2C18F0B415DC1DC700593670; };
		2C18F0B415DC1DC700593670 = {isa = PBXFileReference; fileEncoding = 4; explicitFileType = @id_type@; path = @id_src@; sourceTree = "<group>"; };
		8DD76F6C0486A84900D96B5E = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = CompilerId@id_lang@; sourceTree = BUILT_PRODUCTS_DIR; };

		08FB7794FE84155DC02AAC07 = {
			isa = PBXGroup;
			children = (
				08FB7795FE84155DC02AAC07,
				1AB674ADFE9D54B511CA2CBB,
			);
			name = CompilerId@id_lang@;
			sourceTree = "<group>";
		};
		08FB7795FE84155DC02AAC07 = {
			isa = PBXGroup;
			children = (
				2C18F0B415DC1DC700593670,
			);
			name = Source;
			sourceTree = "<group>";
		};
		1AB674ADFE9D54B511CA2CBB = {
			isa = PBXGroup;
			children = (
				8DD76F6C0486A84900D96B5E,
			);
			name = Products;
			sourceTree = "<group>";
		};

		8DD76FA90486AB0100D96B5E = {
			isa = PBXNativeTarget;
			buildConfigurationList = 1DEB928508733DD80010E9CD;
			buildPhases = (
				2C18F0B515DC1DCE00593670,
				2C8FEB8E15DC1A1A00E56A5D,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = CompilerId@id_lang@;
			productName = CompilerId@id_lang@;
			productReference = 8DD76F6C0486A84900D96B5E;
			productType = "com.apple.product-type.tool";
		};
		08FB7793FE84155DC02AAC07 = {
			isa = PBXProject;
			buildConfigurationList = 1DEB928908733DD80010E9CD;
			hasScannedForEncodings = 1;
			mainGroup = 08FB7794FE84155DC02AAC07;
			projectDirPath = "";
			targets = (
				8DD76FA90486AB0100D96B5E,
			);
		};
		2C8FEB8E15DC1A1A00E56A5D = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "echo \"GCC_VERSION=$GCC_VERSION\"";
		};
		2C18F0B515DC1DCE00593670 = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				2C18F0B615DC1E0300593670,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		1DEB928608733DD80010E9CD = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = CompilerId@id_lang@;
			};
			name = Debug;
		};
		1DEB928A08733DD80010E9CD = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)";
				SYMROOT = .;
			};
			name = Debug;
		};
		1DEB928508733DD80010E9CD = {
			isa = XCConfigurationList;
			buildConfigurations = (
				1DEB928608733DD80010E9CD,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Debug;
		};
		1DEB928908733DD80010E9CD = {
			isa = XCConfigurationList;
			buildConfigurations = (
				1DEB928A08733DD80010E9CD,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Debug;
		};
	};
	rootObject = 08FB7793FE84155DC02AAC07;
}
