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

/* Begin PBXAggregateTarget section */
		3B238F5F0E828B5400846E11 /* Check */ = {
			isa = PBXAggregateTarget;
			buildConfigurationList = 3B238FA30E828BB600846E11 /* Build configuration list for PBXAggregateTarget "Check" */;
			buildPhases = (
				3B238F5E0E828B5400846E11 /* ShellScript */,
			);
			dependencies = (
				40899F9D0FFA740F000B29AE /* PBXTargetDependency */,
				40C849F7101A43440083642A /* PBXTargetDependency */,
				4089A0980FFAD34A000B29AE /* PBXTargetDependency */,
				40C849F9101A43490083642A /* PBXTargetDependency */,
			);
			name = Check;
			productName = Check;
		};
/* End PBXAggregateTarget section */

/* Begin PBXBuildFile section */
		224A12A30E9EADCC00BD17FD /* gtest-test-part.h in Headers */ = {isa = PBXBuildFile; fileRef = 224A12A20E9EADCC00BD17FD /* gtest-test-part.h */; settings = {ATTRIBUTES = (Public, ); }; };
		3BF6F2A00E79B5AD000F2EEE /* gtest-type-util.h in Copy Headers Internal */ = {isa = PBXBuildFile; fileRef = 3BF6F29F0E79B5AD000F2EEE /* gtest-type-util.h */; };
		3BF6F2A50E79B616000F2EEE /* gtest-typed-test.h in Headers */ = {isa = PBXBuildFile; fileRef = 3BF6F2A40E79B616000F2EEE /* gtest-typed-test.h */; settings = {ATTRIBUTES = (Public, ); }; };
		404884380E2F799B00CF7658 /* gtest-death-test.h in Headers */ = {isa = PBXBuildFile; fileRef = 404883DB0E2F799B00CF7658 /* gtest-death-test.h */; settings = {ATTRIBUTES = (Public, ); }; };
		404884390E2F799B00CF7658 /* gtest-message.h in Headers */ = {isa = PBXBuildFile; fileRef = 404883DC0E2F799B00CF7658 /* gtest-message.h */; settings = {ATTRIBUTES = (Public, ); }; };
		4048843A0E2F799B00CF7658 /* gtest-spi.h in Headers */ = {isa = PBXBuildFile; fileRef = 404883DD0E2F799B00CF7658 /* gtest-spi.h */; settings = {ATTRIBUTES = (Public, ); }; };
		4048843B0E2F799B00CF7658 /* gtest.h in Headers */ = {isa = PBXBuildFile; fileRef = 404883DE0E2F799B00CF7658 /* gtest.h */; settings = {ATTRIBUTES = (Public, ); }; };
		4048843C0E2F799B00CF7658 /* gtest_pred_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 404883DF0E2F799B00CF7658 /* gtest_pred_impl.h */; settings = {ATTRIBUTES = (Public, ); }; };
		4048843D0E2F799B00CF7658 /* gtest_prod.h in Headers */ = {isa = PBXBuildFile; fileRef = 404883E00E2F799B00CF7658 /* gtest_prod.h */; settings = {ATTRIBUTES = (Public, ); }; };
		404884500E2F799B00CF7658 /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = 404883F60E2F799B00CF7658 /* README.md */; };
		404884A00E2F7BE600CF7658 /* gtest-death-test-internal.h in Copy Headers Internal */ = {isa = PBXBuildFile; fileRef = 404883E20E2F799B00CF7658 /* gtest-death-test-internal.h */; };
		404884A10E2F7BE600CF7658 /* gtest-filepath.h in Copy Headers Internal */ = {isa = PBXBuildFile; fileRef = 404883E30E2F799B00CF7658 /* gtest-filepath.h */; };
		404884A20E2F7BE600CF7658 /* gtest-internal.h in Copy Headers Internal */ = {isa = PBXBuildFile; fileRef = 404883E40E2F799B00CF7658 /* gtest-internal.h */; };
		404884A30E2F7BE600CF7658 /* gtest-port.h in Copy Headers Internal */ = {isa = PBXBuildFile; fileRef = 404883E50E2F799B00CF7658 /* gtest-port.h */; };
		404884A40E2F7BE600CF7658 /* gtest-string.h in Copy Headers Internal */ = {isa = PBXBuildFile; fileRef = 404883E60E2F799B00CF7658 /* gtest-string.h */; };
		404884AE0E2F7CD900CF7658 /* LICENSE in Resources */ = {isa = PBXBuildFile; fileRef = 404884AB0E2F7CD900CF7658 /* LICENSE */; };
		40899F3A0FFA70D4000B29AE /* gtest-all.cc in Sources */ = {isa = PBXBuildFile; fileRef = 224A12A10E9EADA700BD17FD /* gtest-all.cc */; };
		40899F530FFA72A0000B29AE /* gtest_unittest.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3B238C120E7FE13C00846E11 /* gtest_unittest.cc */; };
		4089A0440FFAD1BE000B29AE /* sample1.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4089A02C0FFACF7F000B29AE /* sample1.cc */; };
		4089A0460FFAD1BE000B29AE /* sample1_unittest.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4089A02E0FFACF7F000B29AE /* sample1_unittest.cc */; };
		40C848FF101A21150083642A /* gtest-all.cc in Sources */ = {isa = PBXBuildFile; fileRef = 224A12A10E9EADA700BD17FD /* gtest-all.cc */; };
		40C84915101A21DF0083642A /* gtest_main.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4048840D0E2F799B00CF7658 /* gtest_main.cc */; };
		40C84916101A235B0083642A /* libgtest_main.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 40C8490B101A217E0083642A /* libgtest_main.a */; };
		40C84921101A23AD0083642A /* libgtest_main.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 40C8490B101A217E0083642A /* libgtest_main.a */; };
		40C84978101A36540083642A /* libgtest_main.a in Resources */ = {isa = PBXBuildFile; fileRef = 40C8490B101A217E0083642A /* libgtest_main.a */; };
		40C84980101A36850083642A /* gtest_unittest.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3B238C120E7FE13C00846E11 /* gtest_unittest.cc */; };
		40C84982101A36850083642A /* libgtest.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 40C848FA101A209C0083642A /* libgtest.a */; };
		40C84983101A36850083642A /* libgtest_main.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 40C8490B101A217E0083642A /* libgtest_main.a */; };
		40C8498F101A36A60083642A /* sample1.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4089A02C0FFACF7F000B29AE /* sample1.cc */; };
		40C84990101A36A60083642A /* sample1_unittest.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4089A02E0FFACF7F000B29AE /* sample1_unittest.cc */; };
		40C84992101A36A60083642A /* libgtest.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 40C848FA101A209C0083642A /* libgtest.a */; };
		40C84993101A36A60083642A /* libgtest_main.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 40C8490B101A217E0083642A /* libgtest_main.a */; };
		40C849A2101A37050083642A /* gtest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4539C8FF0EC27F6400A70F4C /* gtest.framework */; };
		40C849A4101A37150083642A /* gtest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4539C8FF0EC27F6400A70F4C /* gtest.framework */; };
		4539C9340EC280AE00A70F4C /* gtest-param-test.h in Headers */ = {isa = PBXBuildFile; fileRef = 4539C9330EC280AE00A70F4C /* gtest-param-test.h */; settings = {ATTRIBUTES = (Public, ); }; };
		4539C93A0EC280E200A70F4C /* gtest-param-util.h in Copy Headers Internal */ = {isa = PBXBuildFile; fileRef = 4539C9370EC280E200A70F4C /* gtest-param-util.h */; };
		4567C8181264FF71007740BE /* gtest-printers.h in Headers */ = {isa = PBXBuildFile; fileRef = 4567C8171264FF71007740BE /* gtest-printers.h */; settings = {ATTRIBUTES = (Public, ); }; };
		A3C10BE0260952C60023155D /* gtest-matchers.h in Headers */ = {isa = PBXBuildFile; fileRef = A3C10BDF260952C50023155D /* gtest-matchers.h */; settings = {ATTRIBUTES = (Public, ); }; };
		F67D4F3E1C7F5D8B0017C729 /* gtest-port-arch.h in Headers */ = {isa = PBXBuildFile; fileRef = F67D4F3D1C7F5D8B0017C729 /* gtest-port-arch.h */; };
		F67D4F3F1C7F5DA70017C729 /* gtest-port-arch.h in Copy Headers Internal */ = {isa = PBXBuildFile; fileRef = F67D4F3D1C7F5D8B0017C729 /* gtest-port-arch.h */; };
		F67D4F441C7F5DD00017C729 /* gtest-port.h in Headers */ = {isa = PBXBuildFile; fileRef = F67D4F411C7F5DD00017C729 /* gtest-port.h */; };
		F67D4F451C7F5DD00017C729 /* gtest-printers.h in Headers */ = {isa = PBXBuildFile; fileRef = F67D4F421C7F5DD00017C729 /* gtest-printers.h */; };
		F67D4F461C7F5DD00017C729 /* gtest.h in Headers */ = {isa = PBXBuildFile; fileRef = F67D4F431C7F5DD00017C729 /* gtest.h */; };
		F67D4F481C7F5E160017C729 /* gtest-port.h in Copy Headers Internal Custom */ = {isa = PBXBuildFile; fileRef = F67D4F411C7F5DD00017C729 /* gtest-port.h */; };
		F67D4F491C7F5E260017C729 /* gtest-printers.h in Copy Headers Internal Custom */ = {isa = PBXBuildFile; fileRef = F67D4F421C7F5DD00017C729 /* gtest-printers.h */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		40899F9C0FFA740F000B29AE /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 40899F420FFA7184000B29AE;
			remoteInfo = gtest_unittest;
		};
		4089A0970FFAD34A000B29AE /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 4089A0120FFACEFC000B29AE;
			remoteInfo = sample1_unittest;
		};
		408BEC0F1046CFE900DEF522 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 40C848F9101A209C0083642A;
			remoteInfo = "gtest-static";
		};
		40C8497C101A36850083642A /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 40C848F9101A209C0083642A;
			remoteInfo = "gtest-static";
		};
		40C8497E101A36850083642A /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 40C8490A101A217E0083642A;
			remoteInfo = "gtest_main-static";
		};
		40C8498B101A36A60083642A /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 40C848F9101A209C0083642A;
			remoteInfo = "gtest-static";
		};
		40C8498D101A36A60083642A /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 40C8490A101A217E0083642A;
			remoteInfo = "gtest_main-static";
		};
		40C8499B101A36DC0083642A /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 40C8490A101A217E0083642A;
			remoteInfo = "gtest_main-static";
		};
		40C8499D101A36E50083642A /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 8D07F2BC0486CC7A007CD1D0;
			remoteInfo = "gtest-framework";
		};
		40C8499F101A36F10083642A /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 8D07F2BC0486CC7A007CD1D0;
			remoteInfo = "gtest-framework";
		};
		40C849F6101A43440083642A /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 40C8497A101A36850083642A;
			remoteInfo = "gtest_unittest-static";
		};
		40C849F8101A43490083642A /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 40C84989101A36A60083642A;
			remoteInfo = "sample1_unittest-static";
		};
/* End PBXContainerItemProxy section */

/* Begin PBXCopyFilesBuildPhase section */
		404884A50E2F7C0400CF7658 /* Copy Headers Internal */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = Headers/internal;
			dstSubfolderSpec = 6;
			files = (
				404884A00E2F7BE600CF7658 /* gtest-death-test-internal.h in Copy Headers Internal */,
				404884A10E2F7BE600CF7658 /* gtest-filepath.h in Copy Headers Internal */,
				404884A20E2F7BE600CF7658 /* gtest-internal.h in Copy Headers Internal */,
				4539C93A0EC280E200A70F4C /* gtest-param-util.h in Copy Headers Internal */,
				F67D4F3F1C7F5DA70017C729 /* gtest-port-arch.h in Copy Headers Internal */,
				404884A30E2F7BE600CF7658 /* gtest-port.h in Copy Headers Internal */,
				404884A40E2F7BE600CF7658 /* gtest-string.h in Copy Headers Internal */,
				3BF6F2A00E79B5AD000F2EEE /* gtest-type-util.h in Copy Headers Internal */,
			);
			name = "Copy Headers Internal";
			runOnlyForDeploymentPostprocessing = 0;
		};
		F67D4F471C7F5DF60017C729 /* Copy Headers Internal Custom */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = Headers/internal/custom;
			dstSubfolderSpec = 6;
			files = (
				F67D4F481C7F5E160017C729 /* gtest-port.h in Copy Headers Internal Custom */,
				F67D4F491C7F5E260017C729 /* gtest-printers.h in Copy Headers Internal Custom */,
			);
			name = "Copy Headers Internal Custom";
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXCopyFilesBuildPhase section */

/* Begin PBXFileReference section */
		224A12A10E9EADA700BD17FD /* gtest-all.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = "gtest-all.cc"; sourceTree = "<group>"; };
		224A12A20E9EADCC00BD17FD /* gtest-test-part.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = "gtest-test-part.h"; sourceTree = "<group>"; };
		3B238C120E7FE13C00846E11 /* gtest_unittest.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gtest_unittest.cc; sourceTree = "<group>"; };
		3B87D2100E96B92E000D1852 /* runtests.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = runtests.sh; sourceTree = "<group>"; };
		3BF6F29F0E79B5AD000F2EEE /* gtest-type-util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "gtest-type-util.h"; sourceTree = "<group>"; };
		3BF6F2A40E79B616000F2EEE /* gtest-typed-test.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "gtest-typed-test.h"; sourceTree = "<group>"; };
		404883DB0E2F799B00CF7658 /* gtest-death-test.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "gtest-death-test.h"; sourceTree = "<group>"; };
		404883DC0E2F799B00CF7658 /* gtest-message.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "gtest-message.h"; sourceTree = "<group>"; };
		404883DD0E2F799B00CF7658 /* gtest-spi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "gtest-spi.h"; sourceTree = "<group>"; };
		404883DE0E2F799B00CF7658 /* gtest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gtest.h; sourceTree = "<group>"; };
		404883DF0E2F799B00CF7658 /* gtest_pred_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gtest_pred_impl.h; sourceTree = "<group>"; };
		404883E00E2F799B00CF7658 /* gtest_prod.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gtest_prod.h; sourceTree = "<group>"; };
		404883E20E2F799B00CF7658 /* gtest-death-test-internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "gtest-death-test-internal.h"; sourceTree = "<group>"; };
		404883E30E2F799B00CF7658 /* gtest-filepath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "gtest-filepath.h"; sourceTree = "<group>"; };
		404883E40E2F799B00CF7658 /* gtest-internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "gtest-internal.h"; sourceTree = "<group>"; };
		404883E50E2F799B00CF7658 /* gtest-port.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "gtest-port.h"; sourceTree = "<group>"; };
		404883E60E2F799B00CF7658 /* gtest-string.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "gtest-string.h"; sourceTree = "<group>"; };
		404883F60E2F799B00CF7658 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = README.md; path = ../README.md; sourceTree = SOURCE_ROOT; };
		4048840D0E2F799B00CF7658 /* gtest_main.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gtest_main.cc; sourceTree = "<group>"; };
		404884AB0E2F7CD900CF7658 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = SOURCE_ROOT; };
		40899F430FFA7184000B29AE /* gtest_unittest-framework */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "gtest_unittest-framework"; sourceTree = BUILT_PRODUCTS_DIR; };
		40899FB30FFA7567000B29AE /* StaticLibraryTarget.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = StaticLibraryTarget.xcconfig; sourceTree = "<group>"; };
		4089A0130FFACEFC000B29AE /* sample1_unittest-framework */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "sample1_unittest-framework"; sourceTree = BUILT_PRODUCTS_DIR; };
		4089A02C0FFACF7F000B29AE /* sample1.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sample1.cc; sourceTree = "<group>"; };
		4089A02D0FFACF7F000B29AE /* sample1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sample1.h; sourceTree = "<group>"; };
		4089A02E0FFACF7F000B29AE /* sample1_unittest.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sample1_unittest.cc; sourceTree = "<group>"; };
		40C848FA101A209C0083642A /* libgtest.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libgtest.a; sourceTree = BUILT_PRODUCTS_DIR; };
		40C8490B101A217E0083642A /* libgtest_main.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libgtest_main.a; sourceTree = BUILT_PRODUCTS_DIR; };
		40C84987101A36850083642A /* gtest_unittest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = gtest_unittest; sourceTree = BUILT_PRODUCTS_DIR; };
		40C84997101A36A60083642A /* sample1_unittest-static */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "sample1_unittest-static"; sourceTree = BUILT_PRODUCTS_DIR; };
		40D4CDF10E30E07400294801 /* DebugProject.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = DebugProject.xcconfig; sourceTree = "<group>"; };
		40D4CDF20E30E07400294801 /* FrameworkTarget.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = FrameworkTarget.xcconfig; sourceTree = "<group>"; };
		40D4CDF30E30E07400294801 /* General.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = General.xcconfig; sourceTree = "<group>"; };
		40D4CDF40E30E07400294801 /* ReleaseProject.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = ReleaseProject.xcconfig; sourceTree = "<group>"; };
		40D4CF510E30F5E200294801 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		44C48DFF14A4098F00A2D9C7 /* ProductionProject.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = ProductionProject.xcconfig; sourceTree = "<group>"; };
		4539C8FF0EC27F6400A70F4C /* gtest.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = gtest.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		4539C9330EC280AE00A70F4C /* gtest-param-test.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "gtest-param-test.h"; sourceTree = "<group>"; };
		4539C9370EC280E200A70F4C /* gtest-param-util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "gtest-param-util.h"; sourceTree = "<group>"; };
		4567C8171264FF71007740BE /* gtest-printers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "gtest-printers.h"; sourceTree = "<group>"; };
		A3C10BDF260952C50023155D /* gtest-matchers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "gtest-matchers.h"; sourceTree = "<group>"; };
		F67D4F3D1C7F5D8B0017C729 /* gtest-port-arch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "gtest-port-arch.h"; sourceTree = "<group>"; };
		F67D4F411C7F5DD00017C729 /* gtest-port.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "gtest-port.h"; sourceTree = "<group>"; };
		F67D4F421C7F5DD00017C729 /* gtest-printers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "gtest-printers.h"; sourceTree = "<group>"; };
		F67D4F431C7F5DD00017C729 /* gtest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gtest.h; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		40899F410FFA7184000B29AE /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				40C849A4101A37150083642A /* gtest.framework in Frameworks */,
				40C84916101A235B0083642A /* libgtest_main.a in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		4089A0110FFACEFC000B29AE /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				40C849A2101A37050083642A /* gtest.framework in Frameworks */,
				40C84921101A23AD0083642A /* libgtest_main.a in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		40C84981101A36850083642A /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				40C84982101A36850083642A /* libgtest.a in Frameworks */,
				40C84983101A36850083642A /* libgtest_main.a in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		40C84991101A36A60083642A /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				40C84992101A36A60083642A /* libgtest.a in Frameworks */,
				40C84993101A36A60083642A /* libgtest_main.a in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		034768DDFF38A45A11DB9C8B /* Products */ = {
			isa = PBXGroup;
			children = (
				40C84987101A36850083642A /* gtest_unittest */,
				40899F430FFA7184000B29AE /* gtest_unittest-framework */,
				4089A0130FFACEFC000B29AE /* sample1_unittest-framework */,
				40C84997101A36A60083642A /* sample1_unittest-static */,
				4539C8FF0EC27F6400A70F4C /* gtest.framework */,
				40C848FA101A209C0083642A /* libgtest.a */,
				40C8490B101A217E0083642A /* libgtest_main.a */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		0867D691FE84028FC02AAC07 /* gtest */ = {
			isa = PBXGroup;
			children = (
				40D4CDF00E30E07400294801 /* Config */,
				08FB77ACFE841707C02AAC07 /* Source */,
				40D4CF4E0E30F5E200294801 /* Resources */,
				403EE37B0E377822004BD1E2 /* Scripts */,
				034768DDFF38A45A11DB9C8B /* Products */,
			);
			name = gtest;
			sourceTree = "<group>";
		};
		08FB77ACFE841707C02AAC07 /* Source */ = {
			isa = PBXGroup;
			children = (
				404883D90E2F799B00CF7658 /* include */,
				404884AB0E2F7CD900CF7658 /* LICENSE */,
				4089A02F0FFACF84000B29AE /* samples */,
				404884070E2F799B00CF7658 /* src */,
				3B238BF00E7FE13B00846E11 /* test */,
				404883F60E2F799B00CF7658 /* README.md */,
			);
			name = Source;
			sourceTree = "<group>";
		};
		3B238BF00E7FE13B00846E11 /* test */ = {
			isa = PBXGroup;
			children = (
				3B238C120E7FE13C00846E11 /* gtest_unittest.cc */,
			);
			name = test;
			path = ../test;
			sourceTree = SOURCE_ROOT;
		};
		403EE37B0E377822004BD1E2 /* Scripts */ = {
			isa = PBXGroup;
			children = (
				3B87D2100E96B92E000D1852 /* runtests.sh */,
			);
			path = Scripts;
			sourceTree = "<group>";
		};
		404883D90E2F799B00CF7658 /* include */ = {
			isa = PBXGroup;
			children = (
				404883DA0E2F799B00CF7658 /* gtest */,
			);
			name = include;
			path = ../include;
			sourceTree = SOURCE_ROOT;
		};
		404883DA0E2F799B00CF7658 /* gtest */ = {
			isa = PBXGroup;
			children = (
				404883E10E2F799B00CF7658 /* internal */,
				404883DB0E2F799B00CF7658 /* gtest-death-test.h */,
				A3C10BDF260952C50023155D /* gtest-matchers.h */,
				404883DC0E2F799B00CF7658 /* gtest-message.h */,
				4539C9330EC280AE00A70F4C /* gtest-param-test.h */,
				4567C8171264FF71007740BE /* gtest-printers.h */,
				404883DD0E2F799B00CF7658 /* gtest-spi.h */,
				224A12A20E9EADCC00BD17FD /* gtest-test-part.h */,
				3BF6F2A40E79B616000F2EEE /* gtest-typed-test.h */,
				404883DE0E2F799B00CF7658 /* gtest.h */,
				404883DF0E2F799B00CF7658 /* gtest_pred_impl.h */,
				404883E00E2F799B00CF7658 /* gtest_prod.h */,
			);
			path = gtest;
			sourceTree = "<group>";
		};
		404883E10E2F799B00CF7658 /* internal */ = {
			isa = PBXGroup;
			children = (
				F67D4F401C7F5DD00017C729 /* custom */,
				404883E20E2F799B00CF7658 /* gtest-death-test-internal.h */,
				404883E30E2F799B00CF7658 /* gtest-filepath.h */,
				404883E40E2F799B00CF7658 /* gtest-internal.h */,
				4539C9370EC280E200A70F4C /* gtest-param-util.h */,
				F67D4F3D1C7F5D8B0017C729 /* gtest-port-arch.h */,
				404883E50E2F799B00CF7658 /* gtest-port.h */,
				404883E60E2F799B00CF7658 /* gtest-string.h */,
				3BF6F29F0E79B5AD000F2EEE /* gtest-type-util.h */,
			);
			path = internal;
			sourceTree = "<group>";
		};
		404884070E2F799B00CF7658 /* src */ = {
			isa = PBXGroup;
			children = (
				224A12A10E9EADA700BD17FD /* gtest-all.cc */,
				4048840D0E2F799B00CF7658 /* gtest_main.cc */,
			);
			name = src;
			path = ../src;
			sourceTree = SOURCE_ROOT;
		};
		4089A02F0FFACF84000B29AE /* samples */ = {
			isa = PBXGroup;
			children = (
				4089A02C0FFACF7F000B29AE /* sample1.cc */,
				4089A02D0FFACF7F000B29AE /* sample1.h */,
				4089A02E0FFACF7F000B29AE /* sample1_unittest.cc */,
			);
			name = samples;
			path = ../samples;
			sourceTree = SOURCE_ROOT;
		};
		40D4CDF00E30E07400294801 /* Config */ = {
			isa = PBXGroup;
			children = (
				40D4CDF10E30E07400294801 /* DebugProject.xcconfig */,
				40D4CDF20E30E07400294801 /* FrameworkTarget.xcconfig */,
				40D4CDF30E30E07400294801 /* General.xcconfig */,
				44C48DFF14A4098F00A2D9C7 /* ProductionProject.xcconfig */,
				40D4CDF40E30E07400294801 /* ReleaseProject.xcconfig */,
				40899FB30FFA7567000B29AE /* StaticLibraryTarget.xcconfig */,
			);
			path = Config;
			sourceTree = "<group>";
		};
		40D4CF4E0E30F5E200294801 /* Resources */ = {
			isa = PBXGroup;
			children = (
				40D4CF510E30F5E200294801 /* Info.plist */,
			);
			path = Resources;
			sourceTree = "<group>";
		};
		F67D4F401C7F5DD00017C729 /* custom */ = {
			isa = PBXGroup;
			children = (
				F67D4F411C7F5DD00017C729 /* gtest-port.h */,
				F67D4F421C7F5DD00017C729 /* gtest-printers.h */,
				F67D4F431C7F5DD00017C729 /* gtest.h */,
			);
			path = custom;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
		8D07F2BD0486CC7A007CD1D0 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				404884380E2F799B00CF7658 /* gtest-death-test.h in Headers */,
				A3C10BE0260952C60023155D /* gtest-matchers.h in Headers */,
				404884390E2F799B00CF7658 /* gtest-message.h in Headers */,
				4539C9340EC280AE00A70F4C /* gtest-param-test.h in Headers */,
				F67D4F3E1C7F5D8B0017C729 /* gtest-port-arch.h in Headers */,
				F67D4F441C7F5DD00017C729 /* gtest-port.h in Headers */,
				F67D4F451C7F5DD00017C729 /* gtest-printers.h in Headers */,
				4567C8181264FF71007740BE /* gtest-printers.h in Headers */,
				4048843A0E2F799B00CF7658 /* gtest-spi.h in Headers */,
				224A12A30E9EADCC00BD17FD /* gtest-test-part.h in Headers */,
				3BF6F2A50E79B616000F2EEE /* gtest-typed-test.h in Headers */,
				F67D4F461C7F5DD00017C729 /* gtest.h in Headers */,
				4048843B0E2F799B00CF7658 /* gtest.h in Headers */,
				4048843C0E2F799B00CF7658 /* gtest_pred_impl.h in Headers */,
				4048843D0E2F799B00CF7658 /* gtest_prod.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXHeadersBuildPhase section */

/* Begin PBXNativeTarget section */
		40899F420FFA7184000B29AE /* gtest_unittest-framework */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 40899F4A0FFA71BC000B29AE /* Build configuration list for PBXNativeTarget "gtest_unittest-framework" */;
			buildPhases = (
				40899F400FFA7184000B29AE /* Sources */,
				40899F410FFA7184000B29AE /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
				40C849A0101A36F10083642A /* PBXTargetDependency */,
			);
			name = "gtest_unittest-framework";
			productName = gtest_unittest;
			productReference = 40899F430FFA7184000B29AE /* gtest_unittest-framework */;
			productType = "com.apple.product-type.tool";
		};
		4089A0120FFACEFC000B29AE /* sample1_unittest-framework */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 4089A0240FFACF01000B29AE /* Build configuration list for PBXNativeTarget "sample1_unittest-framework" */;
			buildPhases = (
				4089A0100FFACEFC000B29AE /* Sources */,
				4089A0110FFACEFC000B29AE /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
				40C8499E101A36E50083642A /* PBXTargetDependency */,
			);
			name = "sample1_unittest-framework";
			productName = sample1_unittest;
			productReference = 4089A0130FFACEFC000B29AE /* sample1_unittest-framework */;
			productType = "com.apple.product-type.tool";
		};
		40C848F9101A209C0083642A /* gtest-static */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 40C84902101A212E0083642A /* Build configuration list for PBXNativeTarget "gtest-static" */;
			buildPhases = (
				40C848F7101A209C0083642A /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "gtest-static";
			productName = "gtest-static";
			productReference = 40C848FA101A209C0083642A /* libgtest.a */;
			productType = "com.apple.product-type.library.static";
		};
		40C8490A101A217E0083642A /* gtest_main-static */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 40C84912101A21D20083642A /* Build configuration list for PBXNativeTarget "gtest_main-static" */;
			buildPhases = (
				40C84908101A217E0083642A /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "gtest_main-static";
			productName = "gtest_main-static";
			productReference = 40C8490B101A217E0083642A /* libgtest_main.a */;
			productType = "com.apple.product-type.library.static";
		};
		40C8497A101A36850083642A /* gtest_unittest-static */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 40C84984101A36850083642A /* Build configuration list for PBXNativeTarget "gtest_unittest-static" */;
			buildPhases = (
				40C8497F101A36850083642A /* Sources */,
				40C84981101A36850083642A /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
				40C8497B101A36850083642A /* PBXTargetDependency */,
				40C8497D101A36850083642A /* PBXTargetDependency */,
			);
			name = "gtest_unittest-static";
			productName = gtest_unittest;
			productReference = 40C84987101A36850083642A /* gtest_unittest */;
			productType = "com.apple.product-type.tool";
		};
		40C84989101A36A60083642A /* sample1_unittest-static */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 40C84994101A36A60083642A /* Build configuration list for PBXNativeTarget "sample1_unittest-static" */;
			buildPhases = (
				40C8498E101A36A60083642A /* Sources */,
				40C84991101A36A60083642A /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
				40C8498A101A36A60083642A /* PBXTargetDependency */,
				40C8498C101A36A60083642A /* PBXTargetDependency */,
			);
			name = "sample1_unittest-static";
			productName = sample1_unittest;
			productReference = 40C84997101A36A60083642A /* sample1_unittest-static */;
			productType = "com.apple.product-type.tool";
		};
		8D07F2BC0486CC7A007CD1D0 /* gtest-framework */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 4FADC24208B4156D00ABE55E /* Build configuration list for PBXNativeTarget "gtest-framework" */;
			buildPhases = (
				8D07F2C10486CC7A007CD1D0 /* Sources */,
				8D07F2BD0486CC7A007CD1D0 /* Headers */,
				404884A50E2F7C0400CF7658 /* Copy Headers Internal */,
				F67D4F471C7F5DF60017C729 /* Copy Headers Internal Custom */,
				8D07F2BF0486CC7A007CD1D0 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				408BEC101046CFE900DEF522 /* PBXTargetDependency */,
				40C8499C101A36DC0083642A /* PBXTargetDependency */,
			);
			name = "gtest-framework";
			productInstallPath = "$(HOME)/Library/Frameworks";
			productName = gtest;
			productReference = 4539C8FF0EC27F6400A70F4C /* gtest.framework */;
			productType = "com.apple.product-type.framework";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		0867D690FE84028FC02AAC07 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0700;
				LastUpgradeCheck = 1140;
			};
			buildConfigurationList = 4FADC24608B4156D00ABE55E /* Build configuration list for PBXProject "gtest" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = en;
			hasScannedForEncodings = 1;
			knownRegions = (
				en,
				Base,
			);
			mainGroup = 0867D691FE84028FC02AAC07 /* gtest */;
			productRefGroup = 034768DDFF38A45A11DB9C8B /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				8D07F2BC0486CC7A007CD1D0 /* gtest-framework */,
				40C848F9101A209C0083642A /* gtest-static */,
				40C8490A101A217E0083642A /* gtest_main-static */,
				40899F420FFA7184000B29AE /* gtest_unittest-framework */,
				40C8497A101A36850083642A /* gtest_unittest-static */,
				4089A0120FFACEFC000B29AE /* sample1_unittest-framework */,
				40C84989101A36A60083642A /* sample1_unittest-static */,
				3B238F5F0E828B5400846E11 /* Check */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		8D07F2BF0486CC7A007CD1D0 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				40C84978101A36540083642A /* libgtest_main.a in Resources */,
				404884AE0E2F7CD900CF7658 /* LICENSE in Resources */,
				404884500E2F799B00CF7658 /* README.md in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXShellScriptBuildPhase section */
		3B238F5E0E828B5400846E11 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "# Remember, this \"Run Script\" build phase will be executed from $SRCROOT\n/bin/bash Scripts/runtests.sh\n";
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		40899F400FFA7184000B29AE /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				40899F530FFA72A0000B29AE /* gtest_unittest.cc in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		4089A0100FFACEFC000B29AE /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				4089A0440FFAD1BE000B29AE /* sample1.cc in Sources */,
				4089A0460FFAD1BE000B29AE /* sample1_unittest.cc in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		40C848F7101A209C0083642A /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				40C848FF101A21150083642A /* gtest-all.cc in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		40C84908101A217E0083642A /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				40C84915101A21DF0083642A /* gtest_main.cc in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		40C8497F101A36850083642A /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				40C84980101A36850083642A /* gtest_unittest.cc in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		40C8498E101A36A60083642A /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				40C8498F101A36A60083642A /* sample1.cc in Sources */,
				40C84990101A36A60083642A /* sample1_unittest.cc in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		8D07F2C10486CC7A007CD1D0 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				40899F3A0FFA70D4000B29AE /* gtest-all.cc in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		40899F9D0FFA740F000B29AE /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 40899F420FFA7184000B29AE /* gtest_unittest-framework */;
			targetProxy = 40899F9C0FFA740F000B29AE /* PBXContainerItemProxy */;
		};
		4089A0980FFAD34A000B29AE /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 4089A0120FFACEFC000B29AE /* sample1_unittest-framework */;
			targetProxy = 4089A0970FFAD34A000B29AE /* PBXContainerItemProxy */;
		};
		408BEC101046CFE900DEF522 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 40C848F9101A209C0083642A /* gtest-static */;
			targetProxy = 408BEC0F1046CFE900DEF522 /* PBXContainerItemProxy */;
		};
		40C8497B101A36850083642A /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 40C848F9101A209C0083642A /* gtest-static */;
			targetProxy = 40C8497C101A36850083642A /* PBXContainerItemProxy */;
		};
		40C8497D101A36850083642A /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 40C8490A101A217E0083642A /* gtest_main-static */;
			targetProxy = 40C8497E101A36850083642A /* PBXContainerItemProxy */;
		};
		40C8498A101A36A60083642A /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 40C848F9101A209C0083642A /* gtest-static */;
			targetProxy = 40C8498B101A36A60083642A /* PBXContainerItemProxy */;
		};
		40C8498C101A36A60083642A /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 40C8490A101A217E0083642A /* gtest_main-static */;
			targetProxy = 40C8498D101A36A60083642A /* PBXContainerItemProxy */;
		};
		40C8499C101A36DC0083642A /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 40C8490A101A217E0083642A /* gtest_main-static */;
			targetProxy = 40C8499B101A36DC0083642A /* PBXContainerItemProxy */;
		};
		40C8499E101A36E50083642A /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 8D07F2BC0486CC7A007CD1D0 /* gtest-framework */;
			targetProxy = 40C8499D101A36E50083642A /* PBXContainerItemProxy */;
		};
		40C849A0101A36F10083642A /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 8D07F2BC0486CC7A007CD1D0 /* gtest-framework */;
			targetProxy = 40C8499F101A36F10083642A /* PBXContainerItemProxy */;
		};
		40C849F7101A43440083642A /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 40C8497A101A36850083642A /* gtest_unittest-static */;
			targetProxy = 40C849F6101A43440083642A /* PBXContainerItemProxy */;
		};
		40C849F9101A43490083642A /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 40C84989101A36A60083642A /* sample1_unittest-static */;
			targetProxy = 40C849F8101A43490083642A /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		3B238F600E828B5400846E11 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				COPY_PHASE_STRIP = NO;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_OPTIMIZATION_LEVEL = 0;
				PRODUCT_NAME = Check;
			};
			name = Debug;
		};
		3B238F610E828B5400846E11 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				COPY_PHASE_STRIP = YES;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				PRODUCT_NAME = Check;
				ZERO_LINK = NO;
			};
			name = Release;
		};
		40899F450FFA7185000B29AE /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "gtest_unittest-framework";
			};
			name = Debug;
		};
		40899F460FFA7185000B29AE /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "gtest_unittest-framework";
			};
			name = Release;
		};
		4089A0150FFACEFD000B29AE /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "sample1_unittest-framework";
			};
			name = Debug;
		};
		4089A0160FFACEFD000B29AE /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "sample1_unittest-framework";
			};
			name = Release;
		};
		40C848FB101A209D0083642A /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 40899FB30FFA7567000B29AE /* StaticLibraryTarget.xcconfig */;
			buildSettings = {
				GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
				GCC_SYMBOLS_PRIVATE_EXTERN = YES;
				PRODUCT_NAME = gtest;
			};
			name = Debug;
		};
		40C848FC101A209D0083642A /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 40899FB30FFA7567000B29AE /* StaticLibraryTarget.xcconfig */;
			buildSettings = {
				GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
				GCC_SYMBOLS_PRIVATE_EXTERN = YES;
				PRODUCT_NAME = gtest;
			};
			name = Release;
		};
		40C8490E101A217F0083642A /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 40899FB30FFA7567000B29AE /* StaticLibraryTarget.xcconfig */;
			buildSettings = {
				PRODUCT_NAME = gtest_main;
			};
			name = Debug;
		};
		40C8490F101A217F0083642A /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 40899FB30FFA7567000B29AE /* StaticLibraryTarget.xcconfig */;
			buildSettings = {
				PRODUCT_NAME = gtest_main;
			};
			name = Release;
		};
		40C84985101A36850083642A /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = gtest_unittest;
			};
			name = Debug;
		};
		40C84986101A36850083642A /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = gtest_unittest;
			};
			name = Release;
		};
		40C84995101A36A60083642A /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "sample1_unittest-static";
			};
			name = Debug;
		};
		40C84996101A36A60083642A /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "sample1_unittest-static";
			};
			name = Release;
		};
		44C48E0414A409DE00A2D9C7 /* Production */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 44C48DFF14A4098F00A2D9C7 /* ProductionProject.xcconfig */;
			buildSettings = {
			};
			name = Production;
		};
		44C48E0514A409DE00A2D9C7 /* Production */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 40D4CDF20E30E07400294801 /* FrameworkTarget.xcconfig */;
			buildSettings = {
				CURRENT_PROJECT_VERSION = 1.10.0;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				INFOPLIST_FILE = Resources/Info.plist;
				INFOPLIST_PREFIX_HEADER = "";
				INFOPLIST_PREPROCESS = YES;
				MARKETING_VERSION = 1.10;
				PRODUCT_NAME = gtest;
				VERSIONING_SYSTEM = "apple-generic";
			};
			name = Production;
		};
		44C48E0614A409DE00A2D9C7 /* Production */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 40899FB30FFA7567000B29AE /* StaticLibraryTarget.xcconfig */;
			buildSettings = {
				GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
				GCC_SYMBOLS_PRIVATE_EXTERN = YES;
				PRODUCT_NAME = gtest;
			};
			name = Production;
		};
		44C48E0714A409DE00A2D9C7 /* Production */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 40899FB30FFA7567000B29AE /* StaticLibraryTarget.xcconfig */;
			buildSettings = {
				PRODUCT_NAME = gtest_main;
			};
			name = Production;
		};
		44C48E0814A409DE00A2D9C7 /* Production */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "gtest_unittest-framework";
			};
			name = Production;
		};
		44C48E0914A409DE00A2D9C7 /* Production */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = gtest_unittest;
			};
			name = Production;
		};
		44C48E0A14A409DE00A2D9C7 /* Production */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "sample1_unittest-framework";
			};
			name = Production;
		};
		44C48E0B14A409DE00A2D9C7 /* Production */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "sample1_unittest-static";
			};
			name = Production;
		};
		44C48E0C14A409DE00A2D9C7 /* Production */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				COPY_PHASE_STRIP = YES;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				PRODUCT_NAME = Check;
				ZERO_LINK = NO;
			};
			name = Production;
		};
		4FADC24308B4156D00ABE55E /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 40D4CDF20E30E07400294801 /* FrameworkTarget.xcconfig */;
			buildSettings = {
				CURRENT_PROJECT_VERSION = 1.10.0;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				INFOPLIST_FILE = Resources/Info.plist;
				INFOPLIST_PREFIX_HEADER = "";
				INFOPLIST_PREPROCESS = YES;
				MARKETING_VERSION = 1.10;
				PRODUCT_NAME = gtest;
				VERSIONING_SYSTEM = "apple-generic";
			};
			name = Debug;
		};
		4FADC24408B4156D00ABE55E /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 40D4CDF20E30E07400294801 /* FrameworkTarget.xcconfig */;
			buildSettings = {
				CURRENT_PROJECT_VERSION = 1.10.0;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				INFOPLIST_FILE = Resources/Info.plist;
				INFOPLIST_PREFIX_HEADER = "";
				INFOPLIST_PREPROCESS = YES;
				MARKETING_VERSION = 1.10;
				PRODUCT_NAME = gtest;
				VERSIONING_SYSTEM = "apple-generic";
			};
			name = Release;
		};
		4FADC24708B4156D00ABE55E /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 40D4CDF10E30E07400294801 /* DebugProject.xcconfig */;
			buildSettings = {
			};
			name = Debug;
		};
		4FADC24808B4156D00ABE55E /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 40D4CDF40E30E07400294801 /* ReleaseProject.xcconfig */;
			buildSettings = {
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		3B238FA30E828BB600846E11 /* Build configuration list for PBXAggregateTarget "Check" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				3B238F600E828B5400846E11 /* Debug */,
				3B238F610E828B5400846E11 /* Release */,
				44C48E0C14A409DE00A2D9C7 /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
		40899F4A0FFA71BC000B29AE /* Build configuration list for PBXNativeTarget "gtest_unittest-framework" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				40899F450FFA7185000B29AE /* Debug */,
				40899F460FFA7185000B29AE /* Release */,
				44C48E0814A409DE00A2D9C7 /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
		4089A0240FFACF01000B29AE /* Build configuration list for PBXNativeTarget "sample1_unittest-framework" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				4089A0150FFACEFD000B29AE /* Debug */,
				4089A0160FFACEFD000B29AE /* Release */,
				44C48E0A14A409DE00A2D9C7 /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
		40C84902101A212E0083642A /* Build configuration list for PBXNativeTarget "gtest-static" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				40C848FB101A209D0083642A /* Debug */,
				40C848FC101A209D0083642A /* Release */,
				44C48E0614A409DE00A2D9C7 /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
		40C84912101A21D20083642A /* Build configuration list for PBXNativeTarget "gtest_main-static" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				40C8490E101A217F0083642A /* Debug */,
				40C8490F101A217F0083642A /* Release */,
				44C48E0714A409DE00A2D9C7 /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
		40C84984101A36850083642A /* Build configuration list for PBXNativeTarget "gtest_unittest-static" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				40C84985101A36850083642A /* Debug */,
				40C84986101A36850083642A /* Release */,
				44C48E0914A409DE00A2D9C7 /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
		40C84994101A36A60083642A /* Build configuration list for PBXNativeTarget "sample1_unittest-static" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				40C84995101A36A60083642A /* Debug */,
				40C84996101A36A60083642A /* Release */,
				44C48E0B14A409DE00A2D9C7 /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
		4FADC24208B4156D00ABE55E /* Build configuration list for PBXNativeTarget "gtest-framework" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				4FADC24308B4156D00ABE55E /* Debug */,
				4FADC24408B4156D00ABE55E /* Release */,
				44C48E0514A409DE00A2D9C7 /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
		4FADC24608B4156D00ABE55E /* Build configuration list for PBXProject "gtest" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				4FADC24708B4156D00ABE55E /* Debug */,
				4FADC24808B4156D00ABE55E /* Release */,
				44C48E0414A409DE00A2D9C7 /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
/* End XCConfigurationList section */
	};
	rootObject = 0867D690FE84028FC02AAC07 /* Project object */;
}
