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

/* Begin PBXBuildFile section */
		E6AF494765653B6900000000 /* LegacyTests.m in LegacyTests */ = {isa = PBXBuildFile; fileRef = 43D68C2865653B6900000000 /* LegacyTests.m */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		819366726921D83500000000 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 7E7BD0EAECEE932A00000000 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = ECCC95946921D83400000000;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		43D68C281D04D2FA00000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_ios_legacy_test/BUILD; sourceTree = "<group>"; };
		43D68C2865653B6900000000 /* LegacyTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = LegacyTests.m; path = "tulsi-workspace/tulsi_e2e_ios_legacy_test/LegacyTests/LegacyTests.m"; sourceTree = "<group>"; };
		43D68C288C718B3A00000000 /* LegacyTests.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = LegacyTests.app; path = "tulsi-workspace/LegacyTests.app"; sourceTree = BUILT_PRODUCTS_DIR; };
		43D68C28BECEAE7200000000 /* lib_idx_LegacyTestsLib_A268D14B_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_LegacyTestsLib_A268D14B_ios_min8.0.a; path = "tulsi-workspace/lib_idx_LegacyTestsLib_A268D14B_ios_min8.0.a"; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */

/* Begin PBXGroup section */
		966FB6DE10DDA96300000000 /* tulsi_e2e_ios_legacy_test */ = {
			isa = PBXGroup;
			children = (
				43D68C281D04D2FA00000000 /* BUILD */,
				966FB6DE7B75CD5200000000 /* LegacyTests */,
			);
			name = tulsi_e2e_ios_legacy_test;
			sourceTree = "<group>";
		};
		966FB6DE2BD1037D00000000 /* Products */ = {
			isa = PBXGroup;
			children = (
				43D68C288C718B3A00000000 /* LegacyTests.app */,
				43D68C28BECEAE7200000000 /* lib_idx_LegacyTestsLib_A268D14B_ios_min8.0.a */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		966FB6DE6C1A2E9100000000 /* mainGroup */ = {
			isa = PBXGroup;
			children = (
				966FB6DE2BD1037D00000000 /* Products */,
				966FB6DE10DDA96300000000 /* tulsi_e2e_ios_legacy_test */,
			);
			name = mainGroup;
			path = ..;
			sourceTree = SOURCE_ROOT;
		};
		966FB6DE7B75CD5200000000 /* LegacyTests */ = {
			isa = PBXGroup;
			children = (
				43D68C2865653B6900000000 /* LegacyTests.m */,
			);
			name = LegacyTests;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXLegacyTarget section */
		ECCC95946921D83400000000 /* _bazel_clean_ */ = {
			isa = PBXLegacyTarget;
			buildArgumentsString = "\"/fake/tulsi_test_bazel\" \"bazel-bin\"";
			buildConfigurationList = DE475583CA83BF7E00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */;
			buildPhases = (
			);
			buildToolPath = "${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_clean.sh";
			buildWorkingDirectory = "${SRCROOT}/..";
			dependencies = (
			);
			name = _bazel_clean_;
			passBuildSettingsInEnvironment = 1;
			productName = _bazel_clean_;
		};
/* End PBXLegacyTarget section */

/* Begin PBXNativeTarget section */
		3D31C5E64163162C00000000 /* _idx_LegacyTestsLib_A268D14B_ios_min8.0 */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = DE4755830FEBD2CC00000000 /* Build configuration list for PBXNativeTarget "_idx_LegacyTestsLib_A268D14B_ios_min8.0" */;
			buildPhases = (
				605793E20000000000000000 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
				4DAD0B426921D83500000000 /* PBXTargetDependency */,
			);
			name = _idx_LegacyTestsLib_A268D14B_ios_min8.0;
			productName = _idx_LegacyTestsLib_A268D14B_ios_min8.0;
			productReference = 43D68C28BECEAE7200000000 /* lib_idx_LegacyTestsLib_A268D14B_ios_min8.0.a */;
			productType = "com.apple.product-type.library.static";
		};
		3D31C5E6F6EB9AA400000000 /* LegacyTests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = DE4755838B7B6C8800000000 /* Build configuration list for PBXNativeTarget "LegacyTests" */;
			buildPhases = (
				84B42271043F818E00000000 /* ShellScript */,
			);
			buildRules = (
			);
			dependencies = (
				4DAD0B426921D83500000000 /* PBXTargetDependency */,
			);
			name = LegacyTests;
			productName = LegacyTests;
			productReference = 43D68C288C718B3A00000000 /* LegacyTests.app */;
			productType = "com.apple.product-type.application";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		7E7BD0EAECEE932A00000000 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0710;
				LastUpgradeCheck = 0900;
			};
			buildConfigurationList = DE4755832BE7DB6400000000 /* Build configuration list for PBXProject "IosLegacyTestProject" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
			);
			mainGroup = 966FB6DE6C1A2E9100000000 /* mainGroup */;
			targets = (
				3D31C5E6F6EB9AA400000000 /* LegacyTests */,
				ECCC95946921D83400000000 /* _bazel_clean_ */,
				3D31C5E64163162C00000000 /* _idx_LegacyTestsLib_A268D14B_ios_min8.0 */,
			);
		};
/* End PBXProject section */

/* Begin PBXShellScriptBuildPhase section */
		84B42271043F818E00000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_ios_legacy_test:LegacyTests --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null --  --install_generated_artifacts";
			showEnvVarsInLog = 1;
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		605793E20000000000000000 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 0;
			files = (
				E6AF494765653B6900000000 /* LegacyTests.m in LegacyTests */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		4DAD0B426921D83500000000 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			targetProxy = 819366726921D83500000000 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		44936BD67EED3C4D00000000 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGNING_REQUIRED = NO;
				CODE_SIGN_IDENTITY = "";
				ENABLE_TESTABILITY = YES;
				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/_tulsi-includes/x/x";
				ONLY_ACTIVE_ARCH = YES;
				PYTHONIOENCODING = utf8;
				SDKROOT = iphoneos;
				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
				TULSI_PROJECT = IosLegacyTestProject;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/..";
			};
			name = Debug;
		};
		44936BD67EED3C4D00000001 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_ios_legacy_test:LegacyTests";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
				PRODUCT_BUNDLE_IDENTIFIER = com.google.LegacyTest.LegacyTests;
				PRODUCT_NAME = LegacyTests;
				SDKROOT = iphoneos;
				TULSI_BUILD_PATH = tulsi_e2e_ios_legacy_test;
				TULSI_BUILD_WITHOUT_SPOTLIGHT_AT_MY_OWN_RISK = YES;
				TULSI_MUST_USE_DSYM = NO;
			};
			name = Debug;
		};
		44936BD67EED3C4D00000002 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = x86_64;
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				PRODUCT_NAME = _idx_LegacyTestsLib_A268D14B_ios_min8.0;
				SDKROOT = iphonesimulator;
				VALID_ARCHS = x86_64;
			};
			name = Debug;
		};
		44936BD6A3D45CE900000000 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGNING_REQUIRED = NO;
				CODE_SIGN_IDENTITY = "";
				ENABLE_TESTABILITY = YES;
				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/_tulsi-includes/x/x";
				ONLY_ACTIVE_ARCH = YES;
				PYTHONIOENCODING = utf8;
				SDKROOT = iphoneos;
				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
				TULSI_MUST_USE_DSYM = YES;
				TULSI_PROJECT = IosLegacyTestProject;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/..";
			};
			name = Release;
		};
		44936BD6A3D45CE900000001 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_ios_legacy_test:LegacyTests";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
				PRODUCT_BUNDLE_IDENTIFIER = com.google.LegacyTest.LegacyTests;
				PRODUCT_NAME = LegacyTests;
				SDKROOT = iphoneos;
				TULSI_BUILD_PATH = tulsi_e2e_ios_legacy_test;
				TULSI_BUILD_WITHOUT_SPOTLIGHT_AT_MY_OWN_RISK = YES;
				TULSI_MUST_USE_DSYM = YES;
			};
			name = Release;
		};
		44936BD6A3D45CE900000002 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = x86_64;
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				PRODUCT_NAME = _idx_LegacyTestsLib_A268D14B_ios_min8.0;
				SDKROOT = iphonesimulator;
				VALID_ARCHS = x86_64;
			};
			name = Release;
		};
		44936BD6C928366700000000 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGNING_REQUIRED = NO;
				CODE_SIGN_IDENTITY = "";
				ENABLE_TESTABILITY = YES;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				HEADER_SEARCH_PATHS = "";
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "-help";
				OTHER_LDFLAGS = "-help";
				OTHER_SWIFT_FLAGS = "-help";
				PYTHONIOENCODING = utf8;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
				TULSI_PROJECT = IosLegacyTestProject;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/..";
			};
			name = __TulsiTestRunner_Debug;
		};
		44936BD6C928366700000001 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_ios_legacy_test:LegacyTests";
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "-help";
				OTHER_LDFLAGS = "-help";
				OTHER_SWIFT_FLAGS = "-help";
				PRODUCT_BUNDLE_IDENTIFIER = com.google.LegacyTest.LegacyTests;
				PRODUCT_NAME = LegacyTests;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = tulsi_e2e_ios_legacy_test;
				TULSI_BUILD_WITHOUT_SPOTLIGHT_AT_MY_OWN_RISK = YES;
				TULSI_MUST_USE_DSYM = NO;
			};
			name = __TulsiTestRunner_Debug;
		};
		44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGNING_REQUIRED = NO;
				CODE_SIGN_IDENTITY = "";
				ENABLE_TESTABILITY = YES;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				HEADER_SEARCH_PATHS = "";
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "-help";
				OTHER_LDFLAGS = "-help";
				OTHER_SWIFT_FLAGS = "-help";
				PYTHONIOENCODING = utf8;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
				TULSI_MUST_USE_DSYM = YES;
				TULSI_PROJECT = IosLegacyTestProject;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/..";
			};
			name = __TulsiTestRunner_Release;
		};
		44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_ios_legacy_test:LegacyTests";
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "-help";
				OTHER_LDFLAGS = "-help";
				OTHER_SWIFT_FLAGS = "-help";
				PRODUCT_BUNDLE_IDENTIFIER = com.google.LegacyTest.LegacyTests;
				PRODUCT_NAME = LegacyTests;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = tulsi_e2e_ios_legacy_test;
				TULSI_BUILD_WITHOUT_SPOTLIGHT_AT_MY_OWN_RISK = YES;
				TULSI_MUST_USE_DSYM = YES;
			};
			name = __TulsiTestRunner_Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		DE4755830FEBD2CC00000000 /* Build configuration list for PBXNativeTarget "_idx_LegacyTestsLib_A268D14B_ios_min8.0" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				44936BD67EED3C4D00000002 /* Debug */,
				44936BD6A3D45CE900000002 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		DE4755832BE7DB6400000000 /* Build configuration list for PBXProject "IosLegacyTestProject" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				44936BD67EED3C4D00000000 /* Debug */,
				44936BD6A3D45CE900000000 /* Release */,
				44936BD6C928366700000000 /* __TulsiTestRunner_Debug */,
				44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		DE4755838B7B6C8800000000 /* Build configuration list for PBXNativeTarget "LegacyTests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				44936BD67EED3C4D00000001 /* Debug */,
				44936BD6A3D45CE900000001 /* Release */,
				44936BD6C928366700000001 /* __TulsiTestRunner_Debug */,
				44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		DE475583CA83BF7E00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
			);
			defaultConfigurationIsVisible = 0;
		};
/* End XCConfigurationList section */
	};
	rootObject = 7E7BD0EAECEE932A00000000 /* Project object */;
}