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

/* Begin PBXBuildFile section */
		1ED5B5CC163A4E2B0072668E /* MTLComparisonAdditionsSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ED5B5CB163A4E2B0072668E /* MTLComparisonAdditionsSpec.m */; };
		1ED5B5CD163A4E2B0072668E /* MTLComparisonAdditionsSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ED5B5CB163A4E2B0072668E /* MTLComparisonAdditionsSpec.m */; };
		1ED5B5D0163A4E3C0072668E /* NSObject+MTLComparisonAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED5B5CE163A4E3C0072668E /* NSObject+MTLComparisonAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
		1ED5B5D1163A4E3C0072668E /* NSObject+MTLComparisonAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ED5B5CF163A4E3C0072668E /* NSObject+MTLComparisonAdditions.m */; };
		1ED5B5D2163A4E3C0072668E /* NSObject+MTLComparisonAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ED5B5CF163A4E3C0072668E /* NSObject+MTLComparisonAdditions.m */; };
		542921C817D750EB00AE432B /* MTLCoreDataObjects.m in Sources */ = {isa = PBXBuildFile; fileRef = 542921C717D750EB00AE432B /* MTLCoreDataObjects.m */; };
		542921C917D750EB00AE432B /* MTLCoreDataObjects.m in Sources */ = {isa = PBXBuildFile; fileRef = 542921C717D750EB00AE432B /* MTLCoreDataObjects.m */; };
		547AE0FD17882ED100F4437D /* MTLModelValidationSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 547AE0FC17882ED100F4437D /* MTLModelValidationSpec.m */; };
		547AE0FE17882ED100F4437D /* MTLModelValidationSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 547AE0FC17882ED100F4437D /* MTLModelValidationSpec.m */; };
		54803A34178829A800011B39 /* NSError+MTLModelException.m in Sources */ = {isa = PBXBuildFile; fileRef = 54803A31178829A700011B39 /* NSError+MTLModelException.m */; };
		54803A35178829A800011B39 /* NSError+MTLModelException.m in Sources */ = {isa = PBXBuildFile; fileRef = 54803A31178829A700011B39 /* NSError+MTLModelException.m */; };
		54803A3B17882CCD00011B39 /* MTLErrorModelExceptionSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 54803A3A17882CCD00011B39 /* MTLErrorModelExceptionSpec.m */; };
		54803A3C17882CCD00011B39 /* MTLErrorModelExceptionSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 54803A3A17882CCD00011B39 /* MTLErrorModelExceptionSpec.m */; };
		88080C18160A706900CCABF2 /* NSArray+MTLManipulationAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 88080C16160A706900CCABF2 /* NSArray+MTLManipulationAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
		88080C19160A706900CCABF2 /* NSArray+MTLManipulationAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 88080C17160A706900CCABF2 /* NSArray+MTLManipulationAdditions.m */; };
		88080C1A160A706900CCABF2 /* NSArray+MTLManipulationAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 88080C17160A706900CCABF2 /* NSArray+MTLManipulationAdditions.m */; };
		88080C1D160A719D00CCABF2 /* MTLArrayManipulationSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 88080C1C160A719D00CCABF2 /* MTLArrayManipulationSpec.m */; };
		88080C1E160A719D00CCABF2 /* MTLArrayManipulationSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 88080C1C160A719D00CCABF2 /* MTLArrayManipulationSpec.m */; };
		D01BD09D16CB432D00EC95C7 /* MTLJSONAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = D01BD09B16CB432D00EC95C7 /* MTLJSONAdapter.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D01BD09E16CB432D00EC95C7 /* MTLJSONAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = D01BD09B16CB432D00EC95C7 /* MTLJSONAdapter.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D01BD09F16CB432D00EC95C7 /* MTLJSONAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = D01BD09C16CB432D00EC95C7 /* MTLJSONAdapter.m */; };
		D01BD0A016CB432D00EC95C7 /* MTLJSONAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = D01BD09C16CB432D00EC95C7 /* MTLJSONAdapter.m */; };
		D01BD0AF16CB52E800EC95C7 /* MTLModel+NSCoding.h in Headers */ = {isa = PBXBuildFile; fileRef = D01BD0AD16CB52E800EC95C7 /* MTLModel+NSCoding.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D01BD0B016CB52E800EC95C7 /* MTLModel+NSCoding.h in Headers */ = {isa = PBXBuildFile; fileRef = D01BD0AD16CB52E800EC95C7 /* MTLModel+NSCoding.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D01BD0B116CB52E800EC95C7 /* MTLModel+NSCoding.m in Sources */ = {isa = PBXBuildFile; fileRef = D01BD0AE16CB52E800EC95C7 /* MTLModel+NSCoding.m */; };
		D01BD0B216CB52E800EC95C7 /* MTLModel+NSCoding.m in Sources */ = {isa = PBXBuildFile; fileRef = D01BD0AE16CB52E800EC95C7 /* MTLModel+NSCoding.m */; };
		D01BD0BA16CB6F5700EC95C7 /* MTLTestModel-OldArchive.plist in Resources */ = {isa = PBXBuildFile; fileRef = D01BD0B916CB6F5700EC95C7 /* MTLTestModel-OldArchive.plist */; };
		D01BD0BB16CB6F5700EC95C7 /* MTLTestModel-OldArchive.plist in Resources */ = {isa = PBXBuildFile; fileRef = D01BD0B916CB6F5700EC95C7 /* MTLTestModel-OldArchive.plist */; };
		D021D938170F806B00C37E36 /* TestModel.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = D021D936170F806B00C37E36 /* TestModel.xcdatamodeld */; };
		D021D939170F806B00C37E36 /* TestModel.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = D021D936170F806B00C37E36 /* TestModel.xcdatamodeld */; };
		D021D944170F878E00C37E36 /* MTLCoreDataTestModels.m in Sources */ = {isa = PBXBuildFile; fileRef = D021D943170F878E00C37E36 /* MTLCoreDataTestModels.m */; };
		D021D945170F878E00C37E36 /* MTLCoreDataTestModels.m in Sources */ = {isa = PBXBuildFile; fileRef = D021D943170F878E00C37E36 /* MTLCoreDataTestModels.m */; };
		D021D946170F8A7D00C37E36 /* CoreData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D021D93E170F807600C37E36 /* CoreData.framework */; };
		D021D947170F8A8100C37E36 /* CoreData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D021D940170F807E00C37E36 /* CoreData.framework */; };
		D02E48EA16CB8ACA00257645 /* MTLModelNSCodingSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = D02E48E916CB8ACA00257645 /* MTLModelNSCodingSpec.m */; };
		D02E48EB16CB8ACA00257645 /* MTLModelNSCodingSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = D02E48E916CB8ACA00257645 /* MTLModelNSCodingSpec.m */; };
		D02E48F116CB8ADB00257645 /* MTLJSONAdapterSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = D02E48F016CB8ADB00257645 /* MTLJSONAdapterSpec.m */; };
		D02E48F216CB8ADB00257645 /* MTLJSONAdapterSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = D02E48F016CB8ADB00257645 /* MTLJSONAdapterSpec.m */; };
		D042FC5615F72B23004E8054 /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D042FC5515F72B23004E8054 /* SenTestingKit.framework */; };
		D042FC5A15F72B23004E8054 /* Mantle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D042FC3C15F72B23004E8054 /* Mantle.framework */; };
		D042FC7415F72B90004E8054 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D042FC4415F72B23004E8054 /* Foundation.framework */; };
		D042FC7A15F72BC7004E8054 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D042FC4415F72B23004E8054 /* Foundation.framework */; };
		D042FC8815F72BC7004E8054 /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D042FC5515F72B23004E8054 /* SenTestingKit.framework */; };
		D042FC8B15F72BC7004E8054 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D042FC4415F72B23004E8054 /* Foundation.framework */; };
		D042FC8E15F72BC7004E8054 /* libMantle-iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D042FC7915F72BC7004E8054 /* libMantle-iOS.a */; };
		D058FE2116EFB3D2009DFB47 /* MTLReflection.m in Sources */ = {isa = PBXBuildFile; fileRef = D058FE1E16EFB3D2009DFB47 /* MTLReflection.m */; };
		D058FE2216EFB3D2009DFB47 /* MTLReflection.m in Sources */ = {isa = PBXBuildFile; fileRef = D058FE1E16EFB3D2009DFB47 /* MTLReflection.m */; };
		D0760E0515FFBD440060F550 /* Mantle.h in Headers */ = {isa = PBXBuildFile; fileRef = D042FC4C15F72B23004E8054 /* Mantle.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D0760E7815FFBF330060F550 /* MTLModel.h in Headers */ = {isa = PBXBuildFile; fileRef = D0760E7615FFBF330060F550 /* MTLModel.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D0760E7915FFBF330060F550 /* MTLModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D0760E7715FFBF330060F550 /* MTLModel.m */; };
		D0760E7A15FFBF330060F550 /* MTLModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D0760E7715FFBF330060F550 /* MTLModel.m */; };
		D0760EC415FFCA250060F550 /* MTLModelSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = D0760EC315FFCA250060F550 /* MTLModelSpec.m */; };
		D0760EC515FFCA250060F550 /* MTLModelSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = D0760EC315FFCA250060F550 /* MTLModelSpec.m */; };
		D0760EC915FFCA4E0060F550 /* MTLTestModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D0760EC815FFCA4E0060F550 /* MTLTestModel.m */; };
		D0760ECA15FFCA4E0060F550 /* MTLTestModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D0760EC815FFCA4E0060F550 /* MTLTestModel.m */; };
		D08B5AAE16002694001FE685 /* MTLValueTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = D08B5AAC16002694001FE685 /* MTLValueTransformer.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D08B5AAF16002694001FE685 /* MTLValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = D08B5AAD16002694001FE685 /* MTLValueTransformer.m */; };
		D08B5AB016002694001FE685 /* MTLValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = D08B5AAD16002694001FE685 /* MTLValueTransformer.m */; };
		D08B5AB216002A23001FE685 /* MTLValueTransformerSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = D08B5AB116002A23001FE685 /* MTLValueTransformerSpec.m */; };
		D08B5AB316002A23001FE685 /* MTLValueTransformerSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = D08B5AB116002A23001FE685 /* MTLValueTransformerSpec.m */; };
		D094E47B1777617500906BF7 /* EXTRuntimeExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = D094E4771777617300906BF7 /* EXTRuntimeExtensions.m */; };
		D094E47C1777617600906BF7 /* EXTRuntimeExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = D094E4771777617300906BF7 /* EXTRuntimeExtensions.m */; };
		D094E47D1777617800906BF7 /* EXTScope.m in Sources */ = {isa = PBXBuildFile; fileRef = D094E4791777617300906BF7 /* EXTScope.m */; };
		D094E47E1777617900906BF7 /* EXTScope.m in Sources */ = {isa = PBXBuildFile; fileRef = D094E4791777617300906BF7 /* EXTScope.m */; };
		D0A56B481804B04900A84EDC /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0A56B471804B04900A84EDC /* Cocoa.framework */; };
		D0A56B741804B11400A84EDC /* MTLModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D0760E7715FFBF330060F550 /* MTLModel.m */; };
		D0A56B751804B14F00A84EDC /* Mantle.h in Headers */ = {isa = PBXBuildFile; fileRef = D042FC4C15F72B23004E8054 /* Mantle.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D0A56B761804B14F00A84EDC /* MTLModel.h in Headers */ = {isa = PBXBuildFile; fileRef = D0760E7615FFBF330060F550 /* MTLModel.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D0A56B771804B14F00A84EDC /* MTLModel+NSCoding.h in Headers */ = {isa = PBXBuildFile; fileRef = D01BD0AD16CB52E800EC95C7 /* MTLModel+NSCoding.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D0A56B781804B14F00A84EDC /* MTLModel+NSCoding.m in Sources */ = {isa = PBXBuildFile; fileRef = D01BD0AE16CB52E800EC95C7 /* MTLModel+NSCoding.m */; };
		D0A56B791804B15600A84EDC /* MTLJSONAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = D01BD09B16CB432D00EC95C7 /* MTLJSONAdapter.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D0A56B7A1804B15600A84EDC /* MTLJSONAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = D01BD09C16CB432D00EC95C7 /* MTLJSONAdapter.m */; };
		D0A56B7B1804B15600A84EDC /* MTLManagedObjectAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E51935170A06CF00E8897B /* MTLManagedObjectAdapter.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D0A56B7C1804B15600A84EDC /* MTLManagedObjectAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E51936170A06CF00E8897B /* MTLManagedObjectAdapter.m */; };
		D0A56B7D1804B15900A84EDC /* MTLValueTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = D08B5AAC16002694001FE685 /* MTLValueTransformer.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D0A56B7E1804B15900A84EDC /* MTLValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = D08B5AAD16002694001FE685 /* MTLValueTransformer.m */; };
		D0A56B7F1804B16B00A84EDC /* NSArray+MTLManipulationAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 88080C16160A706900CCABF2 /* NSArray+MTLManipulationAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D0A56B801804B16B00A84EDC /* NSArray+MTLManipulationAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 88080C17160A706900CCABF2 /* NSArray+MTLManipulationAdditions.m */; };
		D0A56B811804B16B00A84EDC /* NSDictionary+MTLManipulationAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C27D0816110973002FE587 /* NSDictionary+MTLManipulationAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D0A56B821804B16B00A84EDC /* NSDictionary+MTLManipulationAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C27D0916110973002FE587 /* NSDictionary+MTLManipulationAdditions.m */; };
		D0A56B831804B16B00A84EDC /* NSObject+MTLComparisonAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED5B5CE163A4E3C0072668E /* NSObject+MTLComparisonAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D0A56B841804B16B00A84EDC /* NSObject+MTLComparisonAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ED5B5CF163A4E3C0072668E /* NSObject+MTLComparisonAdditions.m */; };
		D0A56B851804B16B00A84EDC /* NSValueTransformer+MTLInversionAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = D0BFC36D17476B4700F5DC5D /* NSValueTransformer+MTLInversionAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D0A56B861804B16B00A84EDC /* NSValueTransformer+MTLInversionAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = D0BFC36E17476B4700F5DC5D /* NSValueTransformer+MTLInversionAdditions.m */; };
		D0A56B871804B16B00A84EDC /* NSValueTransformer+MTLPredefinedTransformerAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = D0F117471614C5600092520B /* NSValueTransformer+MTLPredefinedTransformerAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D0A56B881804B16B00A84EDC /* NSValueTransformer+MTLPredefinedTransformerAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = D0F117481614C5600092520B /* NSValueTransformer+MTLPredefinedTransformerAdditions.m */; };
		D0A56B8B1804B1A000A84EDC /* EXTRuntimeExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = D094E4771777617300906BF7 /* EXTRuntimeExtensions.m */; };
		D0A56B901804B1A300A84EDC /* EXTScope.m in Sources */ = {isa = PBXBuildFile; fileRef = D094E4791777617300906BF7 /* EXTScope.m */; };
		D0A56BBB1804B23600A84EDC /* MTLReflection.m in Sources */ = {isa = PBXBuildFile; fileRef = D058FE1E16EFB3D2009DFB47 /* MTLReflection.m */; };
		D0ABD7A11746D56E006BEA7D /* MTLManagedObjectAdapterSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = D0ABD7A01746D56E006BEA7D /* MTLManagedObjectAdapterSpec.m */; };
		D0ABD7A21746D56E006BEA7D /* MTLManagedObjectAdapterSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = D0ABD7A01746D56E006BEA7D /* MTLManagedObjectAdapterSpec.m */; };
		D0BFC36717476A5F00F5DC5D /* MTLValueTransformerInversionAdditionsSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = D0BFC36617476A5F00F5DC5D /* MTLValueTransformerInversionAdditionsSpec.m */; };
		D0BFC36817476A5F00F5DC5D /* MTLValueTransformerInversionAdditionsSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = D0BFC36617476A5F00F5DC5D /* MTLValueTransformerInversionAdditionsSpec.m */; };
		D0BFC36F17476B4700F5DC5D /* NSValueTransformer+MTLInversionAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = D0BFC36D17476B4700F5DC5D /* NSValueTransformer+MTLInversionAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D0BFC37017476B4700F5DC5D /* NSValueTransformer+MTLInversionAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = D0BFC36D17476B4700F5DC5D /* NSValueTransformer+MTLInversionAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D0BFC37117476B4700F5DC5D /* NSValueTransformer+MTLInversionAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = D0BFC36E17476B4700F5DC5D /* NSValueTransformer+MTLInversionAdditions.m */; };
		D0BFC37217476B4700F5DC5D /* NSValueTransformer+MTLInversionAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = D0BFC36E17476B4700F5DC5D /* NSValueTransformer+MTLInversionAdditions.m */; };
		D0C27CF6161107E5002FE587 /* MTLDictionaryManipulationSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C27CF5161107E5002FE587 /* MTLDictionaryManipulationSpec.m */; };
		D0C27CF7161107E5002FE587 /* MTLDictionaryManipulationSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C27CF5161107E5002FE587 /* MTLDictionaryManipulationSpec.m */; };
		D0C27D0A16110973002FE587 /* NSDictionary+MTLManipulationAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C27D0816110973002FE587 /* NSDictionary+MTLManipulationAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D0C27D0B16110973002FE587 /* NSDictionary+MTLManipulationAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C27D0916110973002FE587 /* NSDictionary+MTLManipulationAdditions.m */; };
		D0C27D0C16110973002FE587 /* NSDictionary+MTLManipulationAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C27D0916110973002FE587 /* NSDictionary+MTLManipulationAdditions.m */; };
		D0E51937170A06CF00E8897B /* MTLManagedObjectAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E51935170A06CF00E8897B /* MTLManagedObjectAdapter.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D0E51938170A06CF00E8897B /* MTLManagedObjectAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E51935170A06CF00E8897B /* MTLManagedObjectAdapter.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D0E51939170A06CF00E8897B /* MTLManagedObjectAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E51936170A06CF00E8897B /* MTLManagedObjectAdapter.m */; };
		D0E5193A170A06CF00E8897B /* MTLManagedObjectAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E51936170A06CF00E8897B /* MTLManagedObjectAdapter.m */; };
		D0F117491614C5600092520B /* NSValueTransformer+MTLPredefinedTransformerAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = D0F117471614C5600092520B /* NSValueTransformer+MTLPredefinedTransformerAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D0F1174A1614C5600092520B /* NSValueTransformer+MTLPredefinedTransformerAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = D0F117481614C5600092520B /* NSValueTransformer+MTLPredefinedTransformerAdditions.m */; };
		D0F1174B1614C5600092520B /* NSValueTransformer+MTLPredefinedTransformerAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = D0F117481614C5600092520B /* NSValueTransformer+MTLPredefinedTransformerAdditions.m */; };
		D0F1174D1614C8000092520B /* MTLPredefinedTransformerAdditionsSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = D0F1174C1614C8000092520B /* MTLPredefinedTransformerAdditionsSpec.m */; };
		D0F1174E1614C8000092520B /* MTLPredefinedTransformerAdditionsSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = D0F1174C1614C8000092520B /* MTLPredefinedTransformerAdditionsSpec.m */; };
		D4ACA4E318DB996700EBD899 /* libSpecta.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D4ACA4E218DB996700EBD899 /* libSpecta.a */; };
		D4ACA4E518DB996C00EBD899 /* libExpecta.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D4ACA4E418DB996C00EBD899 /* libExpecta.a */; };
		D4ACA4E718DB998100EBD899 /* libExpecta-iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D4ACA4E618DB998100EBD899 /* libExpecta-iOS.a */; };
		D4ACA4E918DB998500EBD899 /* libSpecta-iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D4ACA4E818DB998500EBD899 /* libSpecta-iOS.a */; };
		D8A172F81697E87A002CFCC8 /* Mantle.h in Headers */ = {isa = PBXBuildFile; fileRef = D042FC4C15F72B23004E8054 /* Mantle.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D8A172F91697E87A002CFCC8 /* MTLModel.h in Headers */ = {isa = PBXBuildFile; fileRef = D0760E7615FFBF330060F550 /* MTLModel.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D8A172FA1697E87A002CFCC8 /* MTLValueTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = D08B5AAC16002694001FE685 /* MTLValueTransformer.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D8A172FC1697E87A002CFCC8 /* NSArray+MTLManipulationAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 88080C16160A706900CCABF2 /* NSArray+MTLManipulationAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D8A172FE1697E87A002CFCC8 /* NSDictionary+MTLManipulationAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C27D0816110973002FE587 /* NSDictionary+MTLManipulationAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D8A173021697E87A002CFCC8 /* NSValueTransformer+MTLPredefinedTransformerAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = D0F117471614C5600092520B /* NSValueTransformer+MTLPredefinedTransformerAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D8A173031697E87A002CFCC8 /* NSObject+MTLComparisonAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED5B5CE163A4E3C0072668E /* NSObject+MTLComparisonAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		D042FC5815F72B23004E8054 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = D042FC3215F72B23004E8054 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = D042FC3B15F72B23004E8054;
			remoteInfo = Maverick;
		};
		D042FC8C15F72BC7004E8054 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = D042FC3215F72B23004E8054 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = D042FC7815F72BC7004E8054;
			remoteInfo = Maverick;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		1ED5B5CB163A4E2B0072668E /* MTLComparisonAdditionsSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MTLComparisonAdditionsSpec.m; sourceTree = "<group>"; };
		1ED5B5CE163A4E3C0072668E /* NSObject+MTLComparisonAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+MTLComparisonAdditions.h"; sourceTree = "<group>"; };
		1ED5B5CF163A4E3C0072668E /* NSObject+MTLComparisonAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSObject+MTLComparisonAdditions.m"; sourceTree = "<group>"; };
		542921C617D750EB00AE432B /* MTLCoreDataObjects.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MTLCoreDataObjects.h; sourceTree = "<group>"; };
		542921C717D750EB00AE432B /* MTLCoreDataObjects.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MTLCoreDataObjects.m; sourceTree = "<group>"; };
		547AE0FC17882ED100F4437D /* MTLModelValidationSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MTLModelValidationSpec.m; sourceTree = "<group>"; };
		54803A30178829A700011B39 /* NSError+MTLModelException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSError+MTLModelException.h"; sourceTree = "<group>"; };
		54803A31178829A700011B39 /* NSError+MTLModelException.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSError+MTLModelException.m"; sourceTree = "<group>"; };
		54803A3A17882CCD00011B39 /* MTLErrorModelExceptionSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MTLErrorModelExceptionSpec.m; sourceTree = "<group>"; };
		88080C16160A706900CCABF2 /* NSArray+MTLManipulationAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSArray+MTLManipulationAdditions.h"; sourceTree = "<group>"; };
		88080C17160A706900CCABF2 /* NSArray+MTLManipulationAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSArray+MTLManipulationAdditions.m"; sourceTree = "<group>"; };
		88080C1C160A719D00CCABF2 /* MTLArrayManipulationSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MTLArrayManipulationSpec.m; sourceTree = "<group>"; };
		D01BD09B16CB432D00EC95C7 /* MTLJSONAdapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MTLJSONAdapter.h; sourceTree = "<group>"; };
		D01BD09C16CB432D00EC95C7 /* MTLJSONAdapter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MTLJSONAdapter.m; sourceTree = "<group>"; };
		D01BD0AD16CB52E800EC95C7 /* MTLModel+NSCoding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MTLModel+NSCoding.h"; sourceTree = "<group>"; };
		D01BD0AE16CB52E800EC95C7 /* MTLModel+NSCoding.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MTLModel+NSCoding.m"; sourceTree = "<group>"; };
		D01BD0B916CB6F5700EC95C7 /* MTLTestModel-OldArchive.plist */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; path = "MTLTestModel-OldArchive.plist"; sourceTree = "<group>"; };
		D021D937170F806B00C37E36 /* TestModel.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = TestModel.xcdatamodel; sourceTree = "<group>"; };
		D021D93E170F807600C37E36 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/CoreData.framework; sourceTree = DEVELOPER_DIR; };
		D021D940170F807E00C37E36 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/System/Library/Frameworks/CoreData.framework; sourceTree = DEVELOPER_DIR; };
		D021D942170F878E00C37E36 /* MTLCoreDataTestModels.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MTLCoreDataTestModels.h; sourceTree = "<group>"; };
		D021D943170F878E00C37E36 /* MTLCoreDataTestModels.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MTLCoreDataTestModels.m; sourceTree = "<group>"; };
		D02E48E916CB8ACA00257645 /* MTLModelNSCodingSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MTLModelNSCodingSpec.m; sourceTree = "<group>"; };
		D02E48F016CB8ADB00257645 /* MTLJSONAdapterSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MTLJSONAdapterSpec.m; sourceTree = "<group>"; };
		D042FC3C15F72B23004E8054 /* Mantle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Mantle.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		D042FC4415F72B23004E8054 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
		D042FC4715F72B23004E8054 /* Mantle-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Mantle-Info.plist"; sourceTree = "<group>"; };
		D042FC4B15F72B23004E8054 /* Mantle-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Mantle-Prefix.pch"; sourceTree = "<group>"; };
		D042FC4C15F72B23004E8054 /* Mantle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Mantle.h; sourceTree = "<group>"; };
		D042FC5415F72B23004E8054 /* Mantle Tests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Mantle Tests.octest"; sourceTree = BUILT_PRODUCTS_DIR; };
		D042FC5515F72B23004E8054 /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; };
		D042FC5D15F72B23004E8054 /* MantleTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "MantleTests-Info.plist"; sourceTree = "<group>"; };
		D042FC7915F72BC7004E8054 /* libMantle-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libMantle-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; };
		D042FC8715F72BC7004E8054 /* Mantle-iOS Tests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Mantle-iOS Tests.octest"; sourceTree = BUILT_PRODUCTS_DIR; };
		D058FE1D16EFB3D2009DFB47 /* MTLReflection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MTLReflection.h; sourceTree = "<group>"; };
		D058FE1E16EFB3D2009DFB47 /* MTLReflection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MTLReflection.m; sourceTree = "<group>"; };
		D0760E7615FFBF330060F550 /* MTLModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MTLModel.h; sourceTree = "<group>"; };
		D0760E7715FFBF330060F550 /* MTLModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MTLModel.m; sourceTree = "<group>"; };
		D0760EC315FFCA250060F550 /* MTLModelSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MTLModelSpec.m; sourceTree = "<group>"; };
		D0760EC715FFCA4E0060F550 /* MTLTestModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MTLTestModel.h; sourceTree = "<group>"; };
		D0760EC815FFCA4E0060F550 /* MTLTestModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MTLTestModel.m; sourceTree = "<group>"; };
		D08B5AAC16002694001FE685 /* MTLValueTransformer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MTLValueTransformer.h; sourceTree = "<group>"; };
		D08B5AAD16002694001FE685 /* MTLValueTransformer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MTLValueTransformer.m; sourceTree = "<group>"; };
		D08B5AB116002A23001FE685 /* MTLValueTransformerSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MTLValueTransformerSpec.m; sourceTree = "<group>"; };
		D094E4751777617300906BF7 /* EXTKeyPathCoding.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EXTKeyPathCoding.h; sourceTree = "<group>"; };
		D094E4761777617300906BF7 /* EXTRuntimeExtensions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EXTRuntimeExtensions.h; sourceTree = "<group>"; };
		D094E4771777617300906BF7 /* EXTRuntimeExtensions.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EXTRuntimeExtensions.m; sourceTree = "<group>"; };
		D094E4781777617300906BF7 /* EXTScope.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EXTScope.h; sourceTree = "<group>"; };
		D094E4791777617300906BF7 /* EXTScope.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EXTScope.m; sourceTree = "<group>"; };
		D094E47A1777617300906BF7 /* metamacros.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = metamacros.h; sourceTree = "<group>"; };
		D094E4811777619600906BF7 /* Common.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Common.xcconfig; sourceTree = "<group>"; };
		D094E4831777619600906BF7 /* Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = "<group>"; };
		D094E4841777619600906BF7 /* Profile.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Profile.xcconfig; sourceTree = "<group>"; };
		D094E4851777619600906BF7 /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = "<group>"; };
		D094E4861777619600906BF7 /* Test.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Test.xcconfig; sourceTree = "<group>"; };
		D094E4881777619600906BF7 /* Application.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Application.xcconfig; sourceTree = "<group>"; };
		D094E4891777619600906BF7 /* StaticLibrary.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = StaticLibrary.xcconfig; sourceTree = "<group>"; };
		D094E48B1777619600906BF7 /* iOS-Application.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "iOS-Application.xcconfig"; sourceTree = "<group>"; };
		D094E48C1777619600906BF7 /* iOS-Base.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "iOS-Base.xcconfig"; sourceTree = "<group>"; };
		D094E48D1777619600906BF7 /* iOS-StaticLibrary.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "iOS-StaticLibrary.xcconfig"; sourceTree = "<group>"; };
		D094E48F1777619600906BF7 /* Mac-Application.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Mac-Application.xcconfig"; sourceTree = "<group>"; };
		D094E4901777619600906BF7 /* Mac-Base.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Mac-Base.xcconfig"; sourceTree = "<group>"; };
		D094E4911777619600906BF7 /* Mac-DynamicLibrary.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Mac-DynamicLibrary.xcconfig"; sourceTree = "<group>"; };
		D094E4921777619600906BF7 /* Mac-Framework.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Mac-Framework.xcconfig"; sourceTree = "<group>"; };
		D094E4931777619600906BF7 /* Mac-StaticLibrary.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Mac-StaticLibrary.xcconfig"; sourceTree = "<group>"; };
		D094E4941777619600906BF7 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = text; path = README.md; sourceTree = "<group>"; };
		D0A56B461804B04900A84EDC /* libMantle-Mac.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libMantle-Mac.a"; sourceTree = BUILT_PRODUCTS_DIR; };
		D0A56B471804B04900A84EDC /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
		D0A56B4A1804B04900A84EDC /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
		D0A56B4B1804B04900A84EDC /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };
		D0A56B4C1804B04900A84EDC /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
		D0A56B581804B04900A84EDC /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
		D0ABD7A01746D56E006BEA7D /* MTLManagedObjectAdapterSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MTLManagedObjectAdapterSpec.m; sourceTree = "<group>"; usesTabs = 1; };
		D0BFC36617476A5F00F5DC5D /* MTLValueTransformerInversionAdditionsSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MTLValueTransformerInversionAdditionsSpec.m; sourceTree = "<group>"; };
		D0BFC36D17476B4700F5DC5D /* NSValueTransformer+MTLInversionAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSValueTransformer+MTLInversionAdditions.h"; sourceTree = "<group>"; };
		D0BFC36E17476B4700F5DC5D /* NSValueTransformer+MTLInversionAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSValueTransformer+MTLInversionAdditions.m"; sourceTree = "<group>"; };
		D0C27CF5161107E5002FE587 /* MTLDictionaryManipulationSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MTLDictionaryManipulationSpec.m; sourceTree = "<group>"; };
		D0C27D0816110973002FE587 /* NSDictionary+MTLManipulationAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDictionary+MTLManipulationAdditions.h"; sourceTree = "<group>"; };
		D0C27D0916110973002FE587 /* NSDictionary+MTLManipulationAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDictionary+MTLManipulationAdditions.m"; sourceTree = "<group>"; };
		D0C92DE115F72F6A00387438 /* MantleTests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MantleTests-Prefix.pch"; sourceTree = "<group>"; };
		D0E51935170A06CF00E8897B /* MTLManagedObjectAdapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MTLManagedObjectAdapter.h; sourceTree = "<group>"; };
		D0E51936170A06CF00E8897B /* MTLManagedObjectAdapter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MTLManagedObjectAdapter.m; sourceTree = "<group>"; usesTabs = 1; };
		D0F117471614C5600092520B /* NSValueTransformer+MTLPredefinedTransformerAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSValueTransformer+MTLPredefinedTransformerAdditions.h"; sourceTree = "<group>"; };
		D0F117481614C5600092520B /* NSValueTransformer+MTLPredefinedTransformerAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSValueTransformer+MTLPredefinedTransformerAdditions.m"; sourceTree = "<group>"; };
		D0F1174C1614C8000092520B /* MTLPredefinedTransformerAdditionsSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MTLPredefinedTransformerAdditionsSpec.m; sourceTree = "<group>"; };
		D4ACA4E218DB996700EBD899 /* libSpecta.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSpecta.a; path = MantleTests/specta/build/Debug/libSpecta.a; sourceTree = "<group>"; };
		D4ACA4E418DB996C00EBD899 /* libExpecta.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libExpecta.a; path = MantleTests/expecta/build/Debug/libExpecta.a; sourceTree = "<group>"; };
		D4ACA4E618DB998100EBD899 /* libExpecta-iOS.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libExpecta-iOS.a"; path = "MantleTests/expecta/build/Debug-iphoneos/libExpecta-iOS.a"; sourceTree = "<group>"; };
		D4ACA4E818DB998500EBD899 /* libSpecta-iOS.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libSpecta-iOS.a"; path = "MantleTests/specta/build/Debug-iphoneos/libSpecta-iOS.a"; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		D042FC3815F72B23004E8054 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D042FC7415F72B90004E8054 /* Foundation.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		D042FC5015F72B23004E8054 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D021D946170F8A7D00C37E36 /* CoreData.framework in Frameworks */,
				D042FC5615F72B23004E8054 /* SenTestingKit.framework in Frameworks */,
				D4ACA4E318DB996700EBD899 /* libSpecta.a in Frameworks */,
				D4ACA4E518DB996C00EBD899 /* libExpecta.a in Frameworks */,
				D042FC5A15F72B23004E8054 /* Mantle.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		D042FC7615F72BC7004E8054 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D042FC7A15F72BC7004E8054 /* Foundation.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		D042FC8315F72BC7004E8054 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D021D947170F8A8100C37E36 /* CoreData.framework in Frameworks */,
				D042FC8815F72BC7004E8054 /* SenTestingKit.framework in Frameworks */,
				D042FC8B15F72BC7004E8054 /* Foundation.framework in Frameworks */,
				D042FC8E15F72BC7004E8054 /* libMantle-iOS.a in Frameworks */,
				D4ACA4E718DB998100EBD899 /* libExpecta-iOS.a in Frameworks */,
				D4ACA4E918DB998500EBD899 /* libSpecta-iOS.a in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		D0A56B431804B04900A84EDC /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D0A56B481804B04900A84EDC /* Cocoa.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		D01BD0AB16CB46B600EC95C7 /* Adapters */ = {
			isa = PBXGroup;
			children = (
				D01BD09B16CB432D00EC95C7 /* MTLJSONAdapter.h */,
				D01BD09C16CB432D00EC95C7 /* MTLJSONAdapter.m */,
				D0E51935170A06CF00E8897B /* MTLManagedObjectAdapter.h */,
				D0E51936170A06CF00E8897B /* MTLManagedObjectAdapter.m */,
			);
			name = Adapters;
			sourceTree = "<group>";
		};
		D01BD0AC16CB46BD00EC95C7 /* Value Transformers */ = {
			isa = PBXGroup;
			children = (
				D08B5AAC16002694001FE685 /* MTLValueTransformer.h */,
				D08B5AAD16002694001FE685 /* MTLValueTransformer.m */,
			);
			name = "Value Transformers";
			sourceTree = "<group>";
		};
		D042FC3015F72B23004E8054 = {
			isa = PBXGroup;
			children = (
				D042FC4515F72B23004E8054 /* Mantle */,
				D042FC5B15F72B23004E8054 /* MantleTests */,
				D042FC3E15F72B23004E8054 /* Frameworks */,
				D094E47F1777619600906BF7 /* Configuration */,
				D042FC3D15F72B23004E8054 /* Products */,
			);
			sourceTree = "<group>";
			usesTabs = 1;
		};
		D042FC3D15F72B23004E8054 /* Products */ = {
			isa = PBXGroup;
			children = (
				D042FC3C15F72B23004E8054 /* Mantle.framework */,
				D042FC5415F72B23004E8054 /* Mantle Tests.octest */,
				D042FC7915F72BC7004E8054 /* libMantle-iOS.a */,
				D042FC8715F72BC7004E8054 /* Mantle-iOS Tests.octest */,
				D0A56B461804B04900A84EDC /* libMantle-Mac.a */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		D042FC3E15F72B23004E8054 /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				D4ACA4E418DB996C00EBD899 /* libExpecta.a */,
				D4ACA4E618DB998100EBD899 /* libExpecta-iOS.a */,
				D4ACA4E218DB996700EBD899 /* libSpecta.a */,
				D4ACA4E818DB998500EBD899 /* libSpecta-iOS.a */,
				D090E63A15F73249005282F9 /* libextobjc */,
				D042FC4415F72B23004E8054 /* Foundation.framework */,
				D042FC5515F72B23004E8054 /* SenTestingKit.framework */,
				D021D93E170F807600C37E36 /* CoreData.framework */,
				D021D940170F807E00C37E36 /* CoreData.framework */,
				D0A56B471804B04900A84EDC /* Cocoa.framework */,
				D0A56B581804B04900A84EDC /* XCTest.framework */,
				D0A56B491804B04900A84EDC /* Other Frameworks */,
			);
			name = Frameworks;
			sourceTree = "<group>";
		};
		D042FC4515F72B23004E8054 /* Mantle */ = {
			isa = PBXGroup;
			children = (
				D042FC4C15F72B23004E8054 /* Mantle.h */,
				D0760E7015FFBF020060F550 /* Modules */,
				D090E62515F730B2005282F9 /* Extensions */,
				D042FC4615F72B23004E8054 /* Supporting Files */,
			);
			path = Mantle;
			sourceTree = "<group>";
		};
		D042FC4615F72B23004E8054 /* Supporting Files */ = {
			isa = PBXGroup;
			children = (
				D042FC4715F72B23004E8054 /* Mantle-Info.plist */,
				D042FC4B15F72B23004E8054 /* Mantle-Prefix.pch */,
			);
			name = "Supporting Files";
			sourceTree = "<group>";
		};
		D042FC5B15F72B23004E8054 /* MantleTests */ = {
			isa = PBXGroup;
			children = (
				D0760EC615FFCA3E0060F550 /* Specs */,
				D042FC5C15F72B23004E8054 /* Supporting Files */,
			);
			path = MantleTests;
			sourceTree = "<group>";
		};
		D042FC5C15F72B23004E8054 /* Supporting Files */ = {
			isa = PBXGroup;
			children = (
				542921C617D750EB00AE432B /* MTLCoreDataObjects.h */,
				542921C717D750EB00AE432B /* MTLCoreDataObjects.m */,
				D021D942170F878E00C37E36 /* MTLCoreDataTestModels.h */,
				D021D943170F878E00C37E36 /* MTLCoreDataTestModels.m */,
				D0760EC715FFCA4E0060F550 /* MTLTestModel.h */,
				D0760EC815FFCA4E0060F550 /* MTLTestModel.m */,
				D0C92DE115F72F6A00387438 /* MantleTests-Prefix.pch */,
				D042FC5D15F72B23004E8054 /* MantleTests-Info.plist */,
				D01BD0B916CB6F5700EC95C7 /* MTLTestModel-OldArchive.plist */,
				D021D936170F806B00C37E36 /* TestModel.xcdatamodeld */,
			);
			name = "Supporting Files";
			sourceTree = "<group>";
		};
		D0760E7015FFBF020060F550 /* Modules */ = {
			isa = PBXGroup;
			children = (
				D0760E7615FFBF330060F550 /* MTLModel.h */,
				D0760E7715FFBF330060F550 /* MTLModel.m */,
				D01BD0AD16CB52E800EC95C7 /* MTLModel+NSCoding.h */,
				D01BD0AE16CB52E800EC95C7 /* MTLModel+NSCoding.m */,
				D058FE1D16EFB3D2009DFB47 /* MTLReflection.h */,
				D058FE1E16EFB3D2009DFB47 /* MTLReflection.m */,
				D01BD0AB16CB46B600EC95C7 /* Adapters */,
				D01BD0AC16CB46BD00EC95C7 /* Value Transformers */,
			);
			name = Modules;
			sourceTree = "<group>";
		};
		D0760EC615FFCA3E0060F550 /* Specs */ = {
			isa = PBXGroup;
			children = (
				88080C1C160A719D00CCABF2 /* MTLArrayManipulationSpec.m */,
				1ED5B5CB163A4E2B0072668E /* MTLComparisonAdditionsSpec.m */,
				D0C27CF5161107E5002FE587 /* MTLDictionaryManipulationSpec.m */,
				54803A3A17882CCD00011B39 /* MTLErrorModelExceptionSpec.m */,
				D02E48F016CB8ADB00257645 /* MTLJSONAdapterSpec.m */,
				D0ABD7A01746D56E006BEA7D /* MTLManagedObjectAdapterSpec.m */,
				D02E48E916CB8ACA00257645 /* MTLModelNSCodingSpec.m */,
				D0760EC315FFCA250060F550 /* MTLModelSpec.m */,
				547AE0FC17882ED100F4437D /* MTLModelValidationSpec.m */,
				D0F1174C1614C8000092520B /* MTLPredefinedTransformerAdditionsSpec.m */,
				D08B5AB116002A23001FE685 /* MTLValueTransformerSpec.m */,
				D0BFC36617476A5F00F5DC5D /* MTLValueTransformerInversionAdditionsSpec.m */,
			);
			name = Specs;
			sourceTree = "<group>";
		};
		D090E62515F730B2005282F9 /* Extensions */ = {
			isa = PBXGroup;
			children = (
				88080C16160A706900CCABF2 /* NSArray+MTLManipulationAdditions.h */,
				88080C17160A706900CCABF2 /* NSArray+MTLManipulationAdditions.m */,
				54803A30178829A700011B39 /* NSError+MTLModelException.h */,
				54803A31178829A700011B39 /* NSError+MTLModelException.m */,
				D0C27D0816110973002FE587 /* NSDictionary+MTLManipulationAdditions.h */,
				D0C27D0916110973002FE587 /* NSDictionary+MTLManipulationAdditions.m */,
				1ED5B5CE163A4E3C0072668E /* NSObject+MTLComparisonAdditions.h */,
				1ED5B5CF163A4E3C0072668E /* NSObject+MTLComparisonAdditions.m */,
				D0BFC36D17476B4700F5DC5D /* NSValueTransformer+MTLInversionAdditions.h */,
				D0BFC36E17476B4700F5DC5D /* NSValueTransformer+MTLInversionAdditions.m */,
				D0F117471614C5600092520B /* NSValueTransformer+MTLPredefinedTransformerAdditions.h */,
				D0F117481614C5600092520B /* NSValueTransformer+MTLPredefinedTransformerAdditions.m */,
			);
			name = Extensions;
			sourceTree = "<group>";
		};
		D090E63A15F73249005282F9 /* libextobjc */ = {
			isa = PBXGroup;
			children = (
				D094E4751777617300906BF7 /* EXTKeyPathCoding.h */,
				D094E4761777617300906BF7 /* EXTRuntimeExtensions.h */,
				D094E4771777617300906BF7 /* EXTRuntimeExtensions.m */,
				D094E4781777617300906BF7 /* EXTScope.h */,
				D094E4791777617300906BF7 /* EXTScope.m */,
				D094E47A1777617300906BF7 /* metamacros.h */,
			);
			name = libextobjc;
			path = Mantle/extobjc;
			sourceTree = SOURCE_ROOT;
		};
		D094E47F1777619600906BF7 /* Configuration */ = {
			isa = PBXGroup;
			children = (
				D094E4801777619600906BF7 /* Base */,
				D094E48A1777619600906BF7 /* iOS */,
				D094E48E1777619600906BF7 /* Mac OS X */,
				D094E4941777619600906BF7 /* README.md */,
			);
			path = Configuration;
			sourceTree = "<group>";
		};
		D094E4801777619600906BF7 /* Base */ = {
			isa = PBXGroup;
			children = (
				D094E4811777619600906BF7 /* Common.xcconfig */,
				D094E4821777619600906BF7 /* Configurations */,
				D094E4871777619600906BF7 /* Targets */,
			);
			path = Base;
			sourceTree = "<group>";
		};
		D094E4821777619600906BF7 /* Configurations */ = {
			isa = PBXGroup;
			children = (
				D094E4831777619600906BF7 /* Debug.xcconfig */,
				D094E4841777619600906BF7 /* Profile.xcconfig */,
				D094E4851777619600906BF7 /* Release.xcconfig */,
				D094E4861777619600906BF7 /* Test.xcconfig */,
			);
			path = Configurations;
			sourceTree = "<group>";
		};
		D094E4871777619600906BF7 /* Targets */ = {
			isa = PBXGroup;
			children = (
				D094E4881777619600906BF7 /* Application.xcconfig */,
				D094E4891777619600906BF7 /* StaticLibrary.xcconfig */,
			);
			path = Targets;
			sourceTree = "<group>";
		};
		D094E48A1777619600906BF7 /* iOS */ = {
			isa = PBXGroup;
			children = (
				D094E48B1777619600906BF7 /* iOS-Application.xcconfig */,
				D094E48C1777619600906BF7 /* iOS-Base.xcconfig */,
				D094E48D1777619600906BF7 /* iOS-StaticLibrary.xcconfig */,
			);
			path = iOS;
			sourceTree = "<group>";
		};
		D094E48E1777619600906BF7 /* Mac OS X */ = {
			isa = PBXGroup;
			children = (
				D094E48F1777619600906BF7 /* Mac-Application.xcconfig */,
				D094E4901777619600906BF7 /* Mac-Base.xcconfig */,
				D094E4911777619600906BF7 /* Mac-DynamicLibrary.xcconfig */,
				D094E4921777619600906BF7 /* Mac-Framework.xcconfig */,
				D094E4931777619600906BF7 /* Mac-StaticLibrary.xcconfig */,
			);
			path = "Mac OS X";
			sourceTree = "<group>";
		};
		D0A56B491804B04900A84EDC /* Other Frameworks */ = {
			isa = PBXGroup;
			children = (
				D0A56B4A1804B04900A84EDC /* Foundation.framework */,
				D0A56B4B1804B04900A84EDC /* CoreData.framework */,
				D0A56B4C1804B04900A84EDC /* AppKit.framework */,
			);
			name = "Other Frameworks";
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
		D042FC3915F72B23004E8054 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D0760E0515FFBD440060F550 /* Mantle.h in Headers */,
				D0760E7815FFBF330060F550 /* MTLModel.h in Headers */,
				D08B5AAE16002694001FE685 /* MTLValueTransformer.h in Headers */,
				88080C18160A706900CCABF2 /* NSArray+MTLManipulationAdditions.h in Headers */,
				D0C27D0A16110973002FE587 /* NSDictionary+MTLManipulationAdditions.h in Headers */,
				D0F117491614C5600092520B /* NSValueTransformer+MTLPredefinedTransformerAdditions.h in Headers */,
				1ED5B5D0163A4E3C0072668E /* NSObject+MTLComparisonAdditions.h in Headers */,
				D01BD09D16CB432D00EC95C7 /* MTLJSONAdapter.h in Headers */,
				D01BD0AF16CB52E800EC95C7 /* MTLModel+NSCoding.h in Headers */,
				D0E51937170A06CF00E8897B /* MTLManagedObjectAdapter.h in Headers */,
				D0BFC36F17476B4700F5DC5D /* NSValueTransformer+MTLInversionAdditions.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		D0A56B441804B04900A84EDC /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D0A56B7B1804B15600A84EDC /* MTLManagedObjectAdapter.h in Headers */,
				D0A56B7F1804B16B00A84EDC /* NSArray+MTLManipulationAdditions.h in Headers */,
				D0A56B771804B14F00A84EDC /* MTLModel+NSCoding.h in Headers */,
				D0A56B871804B16B00A84EDC /* NSValueTransformer+MTLPredefinedTransformerAdditions.h in Headers */,
				D0A56B7D1804B15900A84EDC /* MTLValueTransformer.h in Headers */,
				D0A56B811804B16B00A84EDC /* NSDictionary+MTLManipulationAdditions.h in Headers */,
				D0A56B831804B16B00A84EDC /* NSObject+MTLComparisonAdditions.h in Headers */,
				D0A56B761804B14F00A84EDC /* MTLModel.h in Headers */,
				D0A56B791804B15600A84EDC /* MTLJSONAdapter.h in Headers */,
				D0A56B751804B14F00A84EDC /* Mantle.h in Headers */,
				D0A56B851804B16B00A84EDC /* NSValueTransformer+MTLInversionAdditions.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		D8A172F71697E860002CFCC8 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D8A172F81697E87A002CFCC8 /* Mantle.h in Headers */,
				D8A172F91697E87A002CFCC8 /* MTLModel.h in Headers */,
				D8A172FA1697E87A002CFCC8 /* MTLValueTransformer.h in Headers */,
				D8A172FC1697E87A002CFCC8 /* NSArray+MTLManipulationAdditions.h in Headers */,
				D8A172FE1697E87A002CFCC8 /* NSDictionary+MTLManipulationAdditions.h in Headers */,
				D8A173021697E87A002CFCC8 /* NSValueTransformer+MTLPredefinedTransformerAdditions.h in Headers */,
				D8A173031697E87A002CFCC8 /* NSObject+MTLComparisonAdditions.h in Headers */,
				D01BD09E16CB432D00EC95C7 /* MTLJSONAdapter.h in Headers */,
				D01BD0B016CB52E800EC95C7 /* MTLModel+NSCoding.h in Headers */,
				D0E51938170A06CF00E8897B /* MTLManagedObjectAdapter.h in Headers */,
				D0BFC37017476B4700F5DC5D /* NSValueTransformer+MTLInversionAdditions.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXHeadersBuildPhase section */

/* Begin PBXNativeTarget section */
		D042FC3B15F72B23004E8054 /* Mantle */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = D042FC6615F72B23004E8054 /* Build configuration list for PBXNativeTarget "Mantle" */;
			buildPhases = (
				D042FC3715F72B23004E8054 /* Sources */,
				D042FC3815F72B23004E8054 /* Frameworks */,
				D042FC3915F72B23004E8054 /* Headers */,
				D042FC3A15F72B23004E8054 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = Mantle;
			productName = Maverick;
			productReference = D042FC3C15F72B23004E8054 /* Mantle.framework */;
			productType = "com.apple.product-type.framework";
		};
		D042FC5315F72B23004E8054 /* Mantle Tests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = D042FC6915F72B23004E8054 /* Build configuration list for PBXNativeTarget "Mantle Tests" */;
			buildPhases = (
				D042FC4F15F72B23004E8054 /* Sources */,
				D042FC5015F72B23004E8054 /* Frameworks */,
				D042FC5115F72B23004E8054 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				D042FC5915F72B23004E8054 /* PBXTargetDependency */,
			);
			name = "Mantle Tests";
			productName = MaverickTests;
			productReference = D042FC5415F72B23004E8054 /* Mantle Tests.octest */;
			productType = "com.apple.product-type.bundle";
		};
		D042FC7815F72BC7004E8054 /* Mantle-iOS */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = D042FC9815F72BC7004E8054 /* Build configuration list for PBXNativeTarget "Mantle-iOS" */;
			buildPhases = (
				D042FC7515F72BC7004E8054 /* Sources */,
				D042FC7615F72BC7004E8054 /* Frameworks */,
				D8A172F71697E860002CFCC8 /* Headers */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "Mantle-iOS";
			productName = Maverick;
			productReference = D042FC7915F72BC7004E8054 /* libMantle-iOS.a */;
			productType = "com.apple.product-type.library.static";
		};
		D042FC8615F72BC7004E8054 /* Mantle-iOS Tests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = D042FC9B15F72BC7004E8054 /* Build configuration list for PBXNativeTarget "Mantle-iOS Tests" */;
			buildPhases = (
				D042FC8215F72BC7004E8054 /* Sources */,
				D042FC8315F72BC7004E8054 /* Frameworks */,
				D042FC8415F72BC7004E8054 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				D042FC8D15F72BC7004E8054 /* PBXTargetDependency */,
			);
			name = "Mantle-iOS Tests";
			productName = MaverickTests;
			productReference = D042FC8715F72BC7004E8054 /* Mantle-iOS Tests.octest */;
			productType = "com.apple.product-type.bundle";
		};
		D0A56B451804B04900A84EDC /* Mantle-Mac */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = D0A56B6C1804B04900A84EDC /* Build configuration list for PBXNativeTarget "Mantle-Mac" */;
			buildPhases = (
				D0A56B421804B04900A84EDC /* Sources */,
				D0A56B431804B04900A84EDC /* Frameworks */,
				D0A56B441804B04900A84EDC /* Headers */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "Mantle-Mac";
			productName = "Mantle-Mac";
			productReference = D0A56B461804B04900A84EDC /* libMantle-Mac.a */;
			productType = "com.apple.product-type.library.static";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		D042FC3215F72B23004E8054 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 0500;
				ORGANIZATIONNAME = GitHub;
			};
			buildConfigurationList = D042FC3515F72B23004E8054 /* Build configuration list for PBXProject "Mantle" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
			);
			mainGroup = D042FC3015F72B23004E8054;
			productRefGroup = D042FC3D15F72B23004E8054 /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				D042FC3B15F72B23004E8054 /* Mantle */,
				D042FC5315F72B23004E8054 /* Mantle Tests */,
				D042FC7815F72BC7004E8054 /* Mantle-iOS */,
				D042FC8615F72BC7004E8054 /* Mantle-iOS Tests */,
				D0A56B451804B04900A84EDC /* Mantle-Mac */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		D042FC3A15F72B23004E8054 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		D042FC5115F72B23004E8054 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D01BD0BA16CB6F5700EC95C7 /* MTLTestModel-OldArchive.plist in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		D042FC8415F72BC7004E8054 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D01BD0BB16CB6F5700EC95C7 /* MTLTestModel-OldArchive.plist in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		D042FC3715F72B23004E8054 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D0760E7915FFBF330060F550 /* MTLModel.m in Sources */,
				D08B5AAF16002694001FE685 /* MTLValueTransformer.m in Sources */,
				88080C19160A706900CCABF2 /* NSArray+MTLManipulationAdditions.m in Sources */,
				D0C27D0B16110973002FE587 /* NSDictionary+MTLManipulationAdditions.m in Sources */,
				D0F1174A1614C5600092520B /* NSValueTransformer+MTLPredefinedTransformerAdditions.m in Sources */,
				1ED5B5D1163A4E3C0072668E /* NSObject+MTLComparisonAdditions.m in Sources */,
				D01BD09F16CB432D00EC95C7 /* MTLJSONAdapter.m in Sources */,
				54803A34178829A800011B39 /* NSError+MTLModelException.m in Sources */,
				D01BD0B116CB52E800EC95C7 /* MTLModel+NSCoding.m in Sources */,
				D058FE2116EFB3D2009DFB47 /* MTLReflection.m in Sources */,
				D0E51939170A06CF00E8897B /* MTLManagedObjectAdapter.m in Sources */,
				D0BFC37117476B4700F5DC5D /* NSValueTransformer+MTLInversionAdditions.m in Sources */,
				D094E47B1777617500906BF7 /* EXTRuntimeExtensions.m in Sources */,
				D094E47D1777617800906BF7 /* EXTScope.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		D042FC4F15F72B23004E8054 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D0760EC415FFCA250060F550 /* MTLModelSpec.m in Sources */,
				D0760EC915FFCA4E0060F550 /* MTLTestModel.m in Sources */,
				542921C817D750EB00AE432B /* MTLCoreDataObjects.m in Sources */,
				54803A3B17882CCD00011B39 /* MTLErrorModelExceptionSpec.m in Sources */,
				D08B5AB216002A23001FE685 /* MTLValueTransformerSpec.m in Sources */,
				88080C1D160A719D00CCABF2 /* MTLArrayManipulationSpec.m in Sources */,
				D0C27CF6161107E5002FE587 /* MTLDictionaryManipulationSpec.m in Sources */,
				547AE0FD17882ED100F4437D /* MTLModelValidationSpec.m in Sources */,
				D0F1174D1614C8000092520B /* MTLPredefinedTransformerAdditionsSpec.m in Sources */,
				1ED5B5CC163A4E2B0072668E /* MTLComparisonAdditionsSpec.m in Sources */,
				D02E48EA16CB8ACA00257645 /* MTLModelNSCodingSpec.m in Sources */,
				D02E48F116CB8ADB00257645 /* MTLJSONAdapterSpec.m in Sources */,
				D021D938170F806B00C37E36 /* TestModel.xcdatamodeld in Sources */,
				D021D944170F878E00C37E36 /* MTLCoreDataTestModels.m in Sources */,
				D0ABD7A11746D56E006BEA7D /* MTLManagedObjectAdapterSpec.m in Sources */,
				D0BFC36717476A5F00F5DC5D /* MTLValueTransformerInversionAdditionsSpec.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		D042FC7515F72BC7004E8054 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D0760E7A15FFBF330060F550 /* MTLModel.m in Sources */,
				D08B5AB016002694001FE685 /* MTLValueTransformer.m in Sources */,
				88080C1A160A706900CCABF2 /* NSArray+MTLManipulationAdditions.m in Sources */,
				D0C27D0C16110973002FE587 /* NSDictionary+MTLManipulationAdditions.m in Sources */,
				D0F1174B1614C5600092520B /* NSValueTransformer+MTLPredefinedTransformerAdditions.m in Sources */,
				1ED5B5D2163A4E3C0072668E /* NSObject+MTLComparisonAdditions.m in Sources */,
				D01BD0A016CB432D00EC95C7 /* MTLJSONAdapter.m in Sources */,
				54803A35178829A800011B39 /* NSError+MTLModelException.m in Sources */,
				D01BD0B216CB52E800EC95C7 /* MTLModel+NSCoding.m in Sources */,
				D058FE2216EFB3D2009DFB47 /* MTLReflection.m in Sources */,
				D0E5193A170A06CF00E8897B /* MTLManagedObjectAdapter.m in Sources */,
				D0BFC37217476B4700F5DC5D /* NSValueTransformer+MTLInversionAdditions.m in Sources */,
				D094E47C1777617600906BF7 /* EXTRuntimeExtensions.m in Sources */,
				D094E47E1777617900906BF7 /* EXTScope.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		D042FC8215F72BC7004E8054 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D0760EC515FFCA250060F550 /* MTLModelSpec.m in Sources */,
				D0760ECA15FFCA4E0060F550 /* MTLTestModel.m in Sources */,
				542921C917D750EB00AE432B /* MTLCoreDataObjects.m in Sources */,
				54803A3C17882CCD00011B39 /* MTLErrorModelExceptionSpec.m in Sources */,
				D08B5AB316002A23001FE685 /* MTLValueTransformerSpec.m in Sources */,
				88080C1E160A719D00CCABF2 /* MTLArrayManipulationSpec.m in Sources */,
				D0C27CF7161107E5002FE587 /* MTLDictionaryManipulationSpec.m in Sources */,
				547AE0FE17882ED100F4437D /* MTLModelValidationSpec.m in Sources */,
				D0F1174E1614C8000092520B /* MTLPredefinedTransformerAdditionsSpec.m in Sources */,
				1ED5B5CD163A4E2B0072668E /* MTLComparisonAdditionsSpec.m in Sources */,
				D02E48EB16CB8ACA00257645 /* MTLModelNSCodingSpec.m in Sources */,
				D02E48F216CB8ADB00257645 /* MTLJSONAdapterSpec.m in Sources */,
				D021D939170F806B00C37E36 /* TestModel.xcdatamodeld in Sources */,
				D021D945170F878E00C37E36 /* MTLCoreDataTestModels.m in Sources */,
				D0ABD7A21746D56E006BEA7D /* MTLManagedObjectAdapterSpec.m in Sources */,
				D0BFC36817476A5F00F5DC5D /* MTLValueTransformerInversionAdditionsSpec.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		D0A56B421804B04900A84EDC /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D0A56B901804B1A300A84EDC /* EXTScope.m in Sources */,
				D0A56BBB1804B23600A84EDC /* MTLReflection.m in Sources */,
				D0A56B7E1804B15900A84EDC /* MTLValueTransformer.m in Sources */,
				D0A56B801804B16B00A84EDC /* NSArray+MTLManipulationAdditions.m in Sources */,
				D0A56B881804B16B00A84EDC /* NSValueTransformer+MTLPredefinedTransformerAdditions.m in Sources */,
				D0A56B841804B16B00A84EDC /* NSObject+MTLComparisonAdditions.m in Sources */,
				D0A56B861804B16B00A84EDC /* NSValueTransformer+MTLInversionAdditions.m in Sources */,
				D0A56B821804B16B00A84EDC /* NSDictionary+MTLManipulationAdditions.m in Sources */,
				D0A56B781804B14F00A84EDC /* MTLModel+NSCoding.m in Sources */,
				D0A56B7A1804B15600A84EDC /* MTLJSONAdapter.m in Sources */,
				D0A56B7C1804B15600A84EDC /* MTLManagedObjectAdapter.m in Sources */,
				D0A56B8B1804B1A000A84EDC /* EXTRuntimeExtensions.m in Sources */,
				D0A56B741804B11400A84EDC /* MTLModel.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		D042FC5915F72B23004E8054 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = D042FC3B15F72B23004E8054 /* Mantle */;
			targetProxy = D042FC5815F72B23004E8054 /* PBXContainerItemProxy */;
		};
		D042FC8D15F72BC7004E8054 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = D042FC7815F72BC7004E8054 /* Mantle-iOS */;
			targetProxy = D042FC8C15F72BC7004E8054 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		D042FC6415F72B23004E8054 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = D094E4831777619600906BF7 /* Debug.xcconfig */;
			buildSettings = {
				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_PREFIX_HEADER = "Mantle/Mantle-Prefix.pch";
				IPHONEOS_DEPLOYMENT_TARGET = 5.0;
				MACOSX_DEPLOYMENT_TARGET = 10.7;
			};
			name = Debug;
		};
		D042FC6515F72B23004E8054 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = D094E4851777619600906BF7 /* Release.xcconfig */;
			buildSettings = {
				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_PREFIX_HEADER = "Mantle/Mantle-Prefix.pch";
				IPHONEOS_DEPLOYMENT_TARGET = 5.0;
				MACOSX_DEPLOYMENT_TARGET = 10.7;
			};
			name = Release;
		};
		D042FC6715F72B23004E8054 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = D094E4921777619600906BF7 /* Mac-Framework.xcconfig */;
			buildSettings = {
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				FRAMEWORK_VERSION = A;
				INFOPLIST_FILE = "$PRODUCT_NAME/$PRODUCT_NAME-Info.plist";
				PRODUCT_NAME = "$(TARGET_NAME)";
				WRAPPER_EXTENSION = framework;
			};
			name = Debug;
		};
		D042FC6815F72B23004E8054 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = D094E4921777619600906BF7 /* Mac-Framework.xcconfig */;
			buildSettings = {
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				FRAMEWORK_VERSION = A;
				INFOPLIST_FILE = "$PRODUCT_NAME/$PRODUCT_NAME-Info.plist";
				PRODUCT_NAME = "$(TARGET_NAME)";
				WRAPPER_EXTENSION = framework;
			};
			name = Release;
		};
		D042FC6A15F72B23004E8054 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = D094E48F1777619600906BF7 /* Mac-Application.xcconfig */;
			buildSettings = {
				CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = NO;
				FRAMEWORK_SEARCH_PATHS = "\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"";
				GCC_PREFIX_HEADER = "MantleTests/MantleTests-Prefix.pch";
				HEADER_SEARCH_PATHS = (
					MantleTests/specta/src,
					"MantleTests/expecta/src/**",
				);
				INFOPLIST_FILE = "MantleTests/MantleTests-Info.plist";
				OTHER_LDFLAGS = "-all_load";
				PRODUCT_NAME = "$(TARGET_NAME)";
				WRAPPER_EXTENSION = octest;
			};
			name = Debug;
		};
		D042FC6B15F72B23004E8054 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = D094E48F1777619600906BF7 /* Mac-Application.xcconfig */;
			buildSettings = {
				FRAMEWORK_SEARCH_PATHS = "\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"";
				GCC_PREFIX_HEADER = "MantleTests/MantleTests-Prefix.pch";
				HEADER_SEARCH_PATHS = (
					MantleTests/specta/src,
					"MantleTests/expecta/src/**",
				);
				INFOPLIST_FILE = "MantleTests/MantleTests-Info.plist";
				OTHER_LDFLAGS = "-all_load";
				PRODUCT_NAME = "$(TARGET_NAME)";
				WRAPPER_EXTENSION = octest;
			};
			name = Release;
		};
		D042FC9915F72BC7004E8054 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = D094E48D1777619600906BF7 /* iOS-StaticLibrary.xcconfig */;
			buildSettings = {
				DSTROOT = /tmp/$PRODUCT_NAME.dst;
				OTHER_LDFLAGS = "-ObjC";
				PRODUCT_NAME = "$(TARGET_NAME)";
				PUBLIC_HEADERS_FOLDER_PATH = include/Mantle;
			};
			name = Debug;
		};
		D042FC9A15F72BC7004E8054 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = D094E48D1777619600906BF7 /* iOS-StaticLibrary.xcconfig */;
			buildSettings = {
				DSTROOT = /tmp/$PRODUCT_NAME.dst;
				OTHER_LDFLAGS = "-ObjC";
				PRODUCT_NAME = "$(TARGET_NAME)";
				PUBLIC_HEADERS_FOLDER_PATH = include/Mantle;
			};
			name = Release;
		};
		D042FC9C15F72BC7004E8054 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = D094E48B1777619600906BF7 /* iOS-Application.xcconfig */;
			buildSettings = {
				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
				CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = NO;
				FRAMEWORK_SEARCH_PATHS = (
					"\"$(SDKROOT)/Developer/Library/Frameworks\"",
					"\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"",
				);
				GCC_PREFIX_HEADER = "MantleTests/MantleTests-Prefix.pch";
				HEADER_SEARCH_PATHS = (
					MantleTests/specta/src,
					"MantleTests/expecta/src/**",
				);
				INFOPLIST_FILE = "MantleTests/MantleTests-Info.plist";
				OTHER_LDFLAGS = "-ObjC";
				PRODUCT_NAME = "$(TARGET_NAME)";
				WRAPPER_EXTENSION = octest;
			};
			name = Debug;
		};
		D042FC9D15F72BC7004E8054 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = D094E48B1777619600906BF7 /* iOS-Application.xcconfig */;
			buildSettings = {
				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
				FRAMEWORK_SEARCH_PATHS = (
					"\"$(SDKROOT)/Developer/Library/Frameworks\"",
					"\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"",
				);
				GCC_PREFIX_HEADER = "MantleTests/MantleTests-Prefix.pch";
				HEADER_SEARCH_PATHS = (
					MantleTests/specta/src,
					"MantleTests/expecta/src/**",
				);
				INFOPLIST_FILE = "MantleTests/MantleTests-Info.plist";
				OTHER_LDFLAGS = "-ObjC";
				PRODUCT_NAME = "$(TARGET_NAME)";
				WRAPPER_EXTENSION = octest;
			};
			name = Release;
		};
		D042FCC415F72E0C004E8054 /* Profile */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = D094E4841777619600906BF7 /* Profile.xcconfig */;
			buildSettings = {
				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_PREFIX_HEADER = "Mantle/Mantle-Prefix.pch";
				IPHONEOS_DEPLOYMENT_TARGET = 5.0;
				MACOSX_DEPLOYMENT_TARGET = 10.7;
			};
			name = Profile;
		};
		D042FCC515F72E0C004E8054 /* Profile */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = D094E4921777619600906BF7 /* Mac-Framework.xcconfig */;
			buildSettings = {
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				FRAMEWORK_VERSION = A;
				INFOPLIST_FILE = "$PRODUCT_NAME/$PRODUCT_NAME-Info.plist";
				PRODUCT_NAME = "$(TARGET_NAME)";
				WRAPPER_EXTENSION = framework;
			};
			name = Profile;
		};
		D042FCC615F72E0C004E8054 /* Profile */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = D094E48F1777619600906BF7 /* Mac-Application.xcconfig */;
			buildSettings = {
				FRAMEWORK_SEARCH_PATHS = "\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"";
				GCC_PREFIX_HEADER = "MantleTests/MantleTests-Prefix.pch";
				HEADER_SEARCH_PATHS = (
					MantleTests/specta/src,
					"MantleTests/expecta/src/**",
				);
				INFOPLIST_FILE = "MantleTests/MantleTests-Info.plist";
				OTHER_LDFLAGS = "-all_load";
				PRODUCT_NAME = "$(TARGET_NAME)";
				WRAPPER_EXTENSION = octest;
			};
			name = Profile;
		};
		D042FCC715F72E0C004E8054 /* Profile */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = D094E48D1777619600906BF7 /* iOS-StaticLibrary.xcconfig */;
			buildSettings = {
				DSTROOT = /tmp/$PRODUCT_NAME.dst;
				OTHER_LDFLAGS = "-ObjC";
				PRODUCT_NAME = "$(TARGET_NAME)";
				PUBLIC_HEADERS_FOLDER_PATH = include/Mantle;
			};
			name = Profile;
		};
		D042FCC815F72E0C004E8054 /* Profile */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = D094E48B1777619600906BF7 /* iOS-Application.xcconfig */;
			buildSettings = {
				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
				FRAMEWORK_SEARCH_PATHS = (
					"\"$(SDKROOT)/Developer/Library/Frameworks\"",
					"\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"",
				);
				GCC_PREFIX_HEADER = "MantleTests/MantleTests-Prefix.pch";
				HEADER_SEARCH_PATHS = (
					MantleTests/specta/src,
					"MantleTests/expecta/src/**",
				);
				INFOPLIST_FILE = "MantleTests/MantleTests-Info.plist";
				OTHER_LDFLAGS = "-ObjC";
				PRODUCT_NAME = "$(TARGET_NAME)";
				WRAPPER_EXTENSION = octest;
			};
			name = Profile;
		};
		D0A56B661804B04900A84EDC /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = D094E4931777619600906BF7 /* Mac-StaticLibrary.xcconfig */;
			buildSettings = {
				PRODUCT_NAME = "$(TARGET_NAME)";
				PUBLIC_HEADERS_FOLDER_PATH = include/Mantle;
			};
			name = Debug;
		};
		D0A56B671804B04900A84EDC /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = D094E4931777619600906BF7 /* Mac-StaticLibrary.xcconfig */;
			buildSettings = {
				PRODUCT_NAME = "$(TARGET_NAME)";
				PUBLIC_HEADERS_FOLDER_PATH = include/Mantle;
			};
			name = Release;
		};
		D0A56B681804B04900A84EDC /* Profile */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = D094E4931777619600906BF7 /* Mac-StaticLibrary.xcconfig */;
			buildSettings = {
				PRODUCT_NAME = "$(TARGET_NAME)";
				PUBLIC_HEADERS_FOLDER_PATH = include/Mantle;
			};
			name = Profile;
		};
		D0A56BE11804B97600A84EDC /* Test */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = D094E4861777619600906BF7 /* Test.xcconfig */;
			buildSettings = {
				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_PREFIX_HEADER = "Mantle/Mantle-Prefix.pch";
				IPHONEOS_DEPLOYMENT_TARGET = 5.0;
				MACOSX_DEPLOYMENT_TARGET = 10.7;
			};
			name = Test;
		};
		D0A56BE21804B97600A84EDC /* Test */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = D094E4921777619600906BF7 /* Mac-Framework.xcconfig */;
			buildSettings = {
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				FRAMEWORK_VERSION = A;
				INFOPLIST_FILE = "$PRODUCT_NAME/$PRODUCT_NAME-Info.plist";
				PRODUCT_NAME = "$(TARGET_NAME)";
				WRAPPER_EXTENSION = framework;
			};
			name = Test;
		};
		D0A56BE31804B97600A84EDC /* Test */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = D094E48F1777619600906BF7 /* Mac-Application.xcconfig */;
			buildSettings = {
				CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = NO;
				FRAMEWORK_SEARCH_PATHS = "\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"";
				GCC_PREFIX_HEADER = "MantleTests/MantleTests-Prefix.pch";
				HEADER_SEARCH_PATHS = (
					MantleTests/specta/src,
					"MantleTests/expecta/src/**",
				);
				INFOPLIST_FILE = "MantleTests/MantleTests-Info.plist";
				OTHER_LDFLAGS = "-all_load";
				PRODUCT_NAME = "$(TARGET_NAME)";
				WRAPPER_EXTENSION = octest;
			};
			name = Test;
		};
		D0A56BE41804B97600A84EDC /* Test */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = D094E48D1777619600906BF7 /* iOS-StaticLibrary.xcconfig */;
			buildSettings = {
				DSTROOT = /tmp/$PRODUCT_NAME.dst;
				OTHER_LDFLAGS = "-ObjC";
				PRODUCT_NAME = "$(TARGET_NAME)";
				PUBLIC_HEADERS_FOLDER_PATH = include/Mantle;
			};
			name = Test;
		};
		D0A56BE51804B97600A84EDC /* Test */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = D094E48B1777619600906BF7 /* iOS-Application.xcconfig */;
			buildSettings = {
				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
				CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = NO;
				FRAMEWORK_SEARCH_PATHS = (
					"\"$(SDKROOT)/Developer/Library/Frameworks\"",
					"\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"",
				);
				GCC_PREFIX_HEADER = "MantleTests/MantleTests-Prefix.pch";
				HEADER_SEARCH_PATHS = (
					MantleTests/specta/src,
					"MantleTests/expecta/src/**",
				);
				INFOPLIST_FILE = "MantleTests/MantleTests-Info.plist";
				OTHER_LDFLAGS = "-ObjC";
				PRODUCT_NAME = "$(TARGET_NAME)";
				WRAPPER_EXTENSION = octest;
			};
			name = Test;
		};
		D0A56BE61804B97600A84EDC /* Test */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = D094E4931777619600906BF7 /* Mac-StaticLibrary.xcconfig */;
			buildSettings = {
				PRODUCT_NAME = "$(TARGET_NAME)";
				PUBLIC_HEADERS_FOLDER_PATH = include/Mantle;
			};
			name = Test;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		D042FC3515F72B23004E8054 /* Build configuration list for PBXProject "Mantle" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				D042FC6415F72B23004E8054 /* Debug */,
				D0A56BE11804B97600A84EDC /* Test */,
				D042FC6515F72B23004E8054 /* Release */,
				D042FCC415F72E0C004E8054 /* Profile */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		D042FC6615F72B23004E8054 /* Build configuration list for PBXNativeTarget "Mantle" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				D042FC6715F72B23004E8054 /* Debug */,
				D0A56BE21804B97600A84EDC /* Test */,
				D042FC6815F72B23004E8054 /* Release */,
				D042FCC515F72E0C004E8054 /* Profile */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		D042FC6915F72B23004E8054 /* Build configuration list for PBXNativeTarget "Mantle Tests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				D042FC6A15F72B23004E8054 /* Debug */,
				D0A56BE31804B97600A84EDC /* Test */,
				D042FC6B15F72B23004E8054 /* Release */,
				D042FCC615F72E0C004E8054 /* Profile */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		D042FC9815F72BC7004E8054 /* Build configuration list for PBXNativeTarget "Mantle-iOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				D042FC9915F72BC7004E8054 /* Debug */,
				D0A56BE41804B97600A84EDC /* Test */,
				D042FC9A15F72BC7004E8054 /* Release */,
				D042FCC715F72E0C004E8054 /* Profile */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		D042FC9B15F72BC7004E8054 /* Build configuration list for PBXNativeTarget "Mantle-iOS Tests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				D042FC9C15F72BC7004E8054 /* Debug */,
				D0A56BE51804B97600A84EDC /* Test */,
				D042FC9D15F72BC7004E8054 /* Release */,
				D042FCC815F72E0C004E8054 /* Profile */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		D0A56B6C1804B04900A84EDC /* Build configuration list for PBXNativeTarget "Mantle-Mac" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				D0A56B661804B04900A84EDC /* Debug */,
				D0A56BE61804B97600A84EDC /* Test */,
				D0A56B671804B04900A84EDC /* Release */,
				D0A56B681804B04900A84EDC /* Profile */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */

/* Begin XCVersionGroup section */
		D021D936170F806B00C37E36 /* TestModel.xcdatamodeld */ = {
			isa = XCVersionGroup;
			children = (
				D021D937170F806B00C37E36 /* TestModel.xcdatamodel */,
			);
			currentVersion = D021D937170F806B00C37E36 /* TestModel.xcdatamodel */;
			path = TestModel.xcdatamodeld;
			sourceTree = "<group>";
			versionGroupType = wrapper.xcdatamodel;
		};
/* End XCVersionGroup section */
	};
	rootObject = D042FC3215F72B23004E8054 /* Project object */;
}
