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

/* Begin PBXBuildFile section */
		2FEA0AC62490305800EEF3AD /* SPIRVSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C70F5D221B321600FBA31A /* SPIRVSupport.h */; };
		2FEA0AC72490305800EEF3AD /* GLSLConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A90941A21C581F840094110D /* GLSLConversion.h */; };
		2FEA0AC82490305800EEF3AD /* GLSLToSPIRVConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A90940A41C5808BB0094110D /* GLSLToSPIRVConverter.h */; };
		2FEA0AC92490305800EEF3AD /* MVKCommonEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */; };
		2FEA0ACA2490305800EEF3AD /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
		2FEA0ACC2490305800EEF3AD /* GLSLConversion.mm in Sources */ = {isa = PBXBuildFile; fileRef = A90941A11C581F840094110D /* GLSLConversion.mm */; };
		2FEA0ACD2490305800EEF3AD /* SPIRVSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C70F5E221B321700FBA31A /* SPIRVSupport.cpp */; };
		2FEA0ACE2490305800EEF3AD /* GLSLToSPIRVConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A90940A31C5808BB0094110D /* GLSLToSPIRVConverter.cpp */; };
		2FEA0D012490381A00EEF3AD /* SPIRVReflection.h in Headers */ = {isa = PBXBuildFile; fileRef = 450A4F5E220CB180007203D7 /* SPIRVReflection.h */; };
		2FEA0D022490381A00EEF3AD /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
		2FEA0D032490381A00EEF3AD /* SPIRVSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C70F5D221B321600FBA31A /* SPIRVSupport.h */; };
		2FEA0D042490381A00EEF3AD /* SPIRVConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A928C9171D0488DC00071B88 /* SPIRVConversion.h */; };
		2FEA0D052490381A00EEF3AD /* SPIRVToMSLConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A9093F5B1C58013E0094110D /* SPIRVToMSLConverter.h */; };
		2FEA0D062490381A00EEF3AD /* MVKCommonEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */; };
		2FEA0D082490381A00EEF3AD /* FileSupport.mm in Sources */ = {isa = PBXBuildFile; fileRef = A925B70A1C7754B2006E7ECD /* FileSupport.mm */; };
		2FEA0D092490381A00EEF3AD /* SPIRVToMSLConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9093F5A1C58013E0094110D /* SPIRVToMSLConverter.cpp */; };
		2FEA0D0A2490381A00EEF3AD /* SPIRVSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C70F5E221B321700FBA31A /* SPIRVSupport.cpp */; };
		2FEA0D0B2490381A00EEF3AD /* SPIRVConversion.mm in Sources */ = {isa = PBXBuildFile; fileRef = A928C9181D0488DC00071B88 /* SPIRVConversion.mm */; };
		450A4F61220CB180007203D7 /* SPIRVReflection.h in Headers */ = {isa = PBXBuildFile; fileRef = 450A4F5E220CB180007203D7 /* SPIRVReflection.h */; };
		450A4F62220CB180007203D7 /* SPIRVReflection.h in Headers */ = {isa = PBXBuildFile; fileRef = 450A4F5E220CB180007203D7 /* SPIRVReflection.h */; };
		A909408A1C58013E0094110D /* SPIRVToMSLConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9093F5A1C58013E0094110D /* SPIRVToMSLConverter.cpp */; };
		A909408B1C58013E0094110D /* SPIRVToMSLConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9093F5A1C58013E0094110D /* SPIRVToMSLConverter.cpp */; };
		A909408C1C58013E0094110D /* SPIRVToMSLConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A9093F5B1C58013E0094110D /* SPIRVToMSLConverter.h */; };
		A909408D1C58013E0094110D /* SPIRVToMSLConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A9093F5B1C58013E0094110D /* SPIRVToMSLConverter.h */; };
		A90940A71C5808BB0094110D /* GLSLToSPIRVConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A90940A31C5808BB0094110D /* GLSLToSPIRVConverter.cpp */; };
		A90940A81C5808BB0094110D /* GLSLToSPIRVConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A90940A31C5808BB0094110D /* GLSLToSPIRVConverter.cpp */; };
		A90940A91C5808BB0094110D /* GLSLToSPIRVConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A90940A41C5808BB0094110D /* GLSLToSPIRVConverter.h */; };
		A90940AA1C5808BB0094110D /* GLSLToSPIRVConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A90940A41C5808BB0094110D /* GLSLToSPIRVConverter.h */; };
		A90941A31C581F840094110D /* GLSLConversion.mm in Sources */ = {isa = PBXBuildFile; fileRef = A90941A11C581F840094110D /* GLSLConversion.mm */; };
		A90941A41C581F840094110D /* GLSLConversion.mm in Sources */ = {isa = PBXBuildFile; fileRef = A90941A11C581F840094110D /* GLSLConversion.mm */; };
		A90941A51C581F840094110D /* GLSLConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A90941A21C581F840094110D /* GLSLConversion.h */; };
		A90941A61C581F840094110D /* GLSLConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A90941A21C581F840094110D /* GLSLConversion.h */; };
		A925B71A1C78DEB2006E7ECD /* libMoltenVKGLSLToSPIRVConverter.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A964BD601C57EFBD00D930D8 /* libMoltenVKGLSLToSPIRVConverter.a */; };
		A925B71B1C78DEB2006E7ECD /* libMoltenVKSPIRVToMSLConverter.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A93903C71C57E9ED00FE90DC /* libMoltenVKSPIRVToMSLConverter.a */; };
		A928C9191D0488DC00071B88 /* SPIRVConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A928C9171D0488DC00071B88 /* SPIRVConversion.h */; };
		A928C91A1D0488DC00071B88 /* SPIRVConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A928C9171D0488DC00071B88 /* SPIRVConversion.h */; };
		A928C91B1D0488DC00071B88 /* SPIRVConversion.mm in Sources */ = {isa = PBXBuildFile; fileRef = A928C9181D0488DC00071B88 /* SPIRVConversion.mm */; };
		A928C91C1D0488DC00071B88 /* SPIRVConversion.mm in Sources */ = {isa = PBXBuildFile; fileRef = A928C9181D0488DC00071B88 /* SPIRVConversion.mm */; };
		A95096BB2003D00300F10950 /* FileSupport.mm in Sources */ = {isa = PBXBuildFile; fileRef = A925B70A1C7754B2006E7ECD /* FileSupport.mm */; };
		A95096BC2003D00300F10950 /* FileSupport.mm in Sources */ = {isa = PBXBuildFile; fileRef = A925B70A1C7754B2006E7ECD /* FileSupport.mm */; };
		A95096BF2003D32400F10950 /* OSSupport.mm in Sources */ = {isa = PBXBuildFile; fileRef = A95096BD2003D32400F10950 /* OSSupport.mm */; };
		A97CC7401C7527F3004A5C7E /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97CC73D1C7527F3004A5C7E /* main.cpp */; };
		A97CC7411C7527F3004A5C7E /* MoltenVKShaderConverterTool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97CC73E1C7527F3004A5C7E /* MoltenVKShaderConverterTool.cpp */; };
		A98149661FB6A98A005F00B4 /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
		A98149671FB6A98A005F00B4 /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
		A98149681FB6A98A005F00B4 /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
		A98149691FB6A98A005F00B4 /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
		A98386F924EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386F824EEE91A00199A05 /* SPIRVCross.xcframework */; };
		A98386FA24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386F824EEE91A00199A05 /* SPIRVCross.xcframework */; };
		A98386FB24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386F824EEE91A00199A05 /* SPIRVCross.xcframework */; };
		A98386FC24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386F824EEE91A00199A05 /* SPIRVCross.xcframework */; };
		A98386FE24EEE93700199A05 /* glslang.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386FD24EEE93700199A05 /* glslang.xcframework */; };
		A98386FF24EEE93700199A05 /* glslang.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386FD24EEE93700199A05 /* glslang.xcframework */; };
		A983870024EEE93700199A05 /* glslang.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386FD24EEE93700199A05 /* glslang.xcframework */; };
		A983870124EEE93700199A05 /* glslang.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386FD24EEE93700199A05 /* glslang.xcframework */; };
		A983870324EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A983870224EEE94800199A05 /* SPIRVTools.xcframework */; };
		A983870424EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A983870224EEE94800199A05 /* SPIRVTools.xcframework */; };
		A983870524EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A983870224EEE94800199A05 /* SPIRVTools.xcframework */; };
		A983870624EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A983870224EEE94800199A05 /* SPIRVTools.xcframework */; };
		A983870724EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A983870224EEE94800199A05 /* SPIRVTools.xcframework */; };
		A983870824EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A983870224EEE94800199A05 /* SPIRVTools.xcframework */; };
		A983870924EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A983870224EEE94800199A05 /* SPIRVTools.xcframework */; };
		A9A14E332244388700C080F3 /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9A14E322244388700C080F3 /* Metal.framework */; };
		A9B51BDD225E98BB00AC74D2 /* MVKOSExtensions.mm in Sources */ = {isa = PBXBuildFile; fileRef = A9B51BDB225E98BB00AC74D2 /* MVKOSExtensions.mm */; };
		A9C70F5F221B321700FBA31A /* SPIRVSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C70F5D221B321600FBA31A /* SPIRVSupport.h */; };
		A9C70F60221B321700FBA31A /* SPIRVSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C70F5D221B321600FBA31A /* SPIRVSupport.h */; };
		A9C70F61221B321700FBA31A /* SPIRVSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C70F5D221B321600FBA31A /* SPIRVSupport.h */; };
		A9C70F62221B321700FBA31A /* SPIRVSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C70F5D221B321600FBA31A /* SPIRVSupport.h */; };
		A9C70F63221B321700FBA31A /* SPIRVSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C70F5E221B321700FBA31A /* SPIRVSupport.cpp */; };
		A9C70F64221B321700FBA31A /* SPIRVSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C70F5E221B321700FBA31A /* SPIRVSupport.cpp */; };
		A9C70F65221B321700FBA31A /* SPIRVSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C70F5E221B321700FBA31A /* SPIRVSupport.cpp */; };
		A9C70F66221B321700FBA31A /* SPIRVSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C70F5E221B321700FBA31A /* SPIRVSupport.cpp */; };
		A9C70F67221B321700FBA31A /* SPIRVSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C70F5E221B321700FBA31A /* SPIRVSupport.cpp */; };
		A9F042B01FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */; };
		A9F042B11FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */; };
		A9F042B21FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */; };
		A9F042B31FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		A925B71C1C78DEBF006E7ECD /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = A9F55D25198BE6A7004EC31B /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = A93903C01C57E9ED00FE90DC;
			remoteInfo = "MoltenVKSPIRVToMSLConverter-macOS";
		};
		A93749CE1A9AA7AF00F29B34 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = A9F55D25198BE6A7004EC31B /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = A93747701A9A98D000F29B34;
			remoteInfo = "MetalGLShaderConverter-macOS";
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		2FEA0AD72490305800EEF3AD /* libMoltenVKGLSLToSPIRVConverter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVKGLSLToSPIRVConverter.a; sourceTree = BUILT_PRODUCTS_DIR; };
		2FEA0D142490381A00EEF3AD /* libMoltenVKSPIRVToMSLConverter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVKSPIRVToMSLConverter.a; sourceTree = BUILT_PRODUCTS_DIR; };
		450A4F5E220CB180007203D7 /* SPIRVReflection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPIRVReflection.h; sourceTree = "<group>"; };
		A9093F5A1C58013E0094110D /* SPIRVToMSLConverter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SPIRVToMSLConverter.cpp; sourceTree = "<group>"; };
		A9093F5B1C58013E0094110D /* SPIRVToMSLConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPIRVToMSLConverter.h; sourceTree = "<group>"; };
		A90940A31C5808BB0094110D /* GLSLToSPIRVConverter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GLSLToSPIRVConverter.cpp; sourceTree = "<group>"; };
		A90940A41C5808BB0094110D /* GLSLToSPIRVConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLSLToSPIRVConverter.h; sourceTree = "<group>"; };
		A90941A11C581F840094110D /* GLSLConversion.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = GLSLConversion.mm; sourceTree = "<group>"; };
		A90941A21C581F840094110D /* GLSLConversion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLSLConversion.h; sourceTree = "<group>"; };
		A925B70A1C7754B2006E7ECD /* FileSupport.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = FileSupport.mm; sourceTree = "<group>"; };
		A925B70B1C7754B2006E7ECD /* FileSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileSupport.h; sourceTree = "<group>"; };
		A928C9171D0488DC00071B88 /* SPIRVConversion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPIRVConversion.h; sourceTree = "<group>"; };
		A928C9181D0488DC00071B88 /* SPIRVConversion.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SPIRVConversion.mm; sourceTree = "<group>"; };
		A93903BF1C57E9D700FE90DC /* libMoltenVKSPIRVToMSLConverter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVKSPIRVToMSLConverter.a; sourceTree = BUILT_PRODUCTS_DIR; };
		A93903C71C57E9ED00FE90DC /* libMoltenVKSPIRVToMSLConverter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVKSPIRVToMSLConverter.a; sourceTree = BUILT_PRODUCTS_DIR; };
		A95096BD2003D32400F10950 /* OSSupport.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = OSSupport.mm; sourceTree = "<group>"; };
		A95096BE2003D32400F10950 /* OSSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OSSupport.h; sourceTree = "<group>"; };
		A964BD5F1C57EFBD00D930D8 /* MoltenVKShaderConverter */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = MoltenVKShaderConverter; sourceTree = BUILT_PRODUCTS_DIR; };
		A964BD601C57EFBD00D930D8 /* libMoltenVKGLSLToSPIRVConverter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVKGLSLToSPIRVConverter.a; sourceTree = BUILT_PRODUCTS_DIR; };
		A964BD611C57EFBD00D930D8 /* libMoltenVKGLSLToSPIRVConverter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVKGLSLToSPIRVConverter.a; sourceTree = BUILT_PRODUCTS_DIR; };
		A97CC73D1C7527F3004A5C7E /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = "<group>"; };
		A97CC73E1C7527F3004A5C7E /* MoltenVKShaderConverterTool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MoltenVKShaderConverterTool.cpp; sourceTree = "<group>"; };
		A97CC73F1C7527F3004A5C7E /* MoltenVKShaderConverterTool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MoltenVKShaderConverterTool.h; sourceTree = "<group>"; };
		A98149651FB6A98A005F00B4 /* MVKStrings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKStrings.h; sourceTree = "<group>"; };
		A98386F824EEE91A00199A05 /* SPIRVCross.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = SPIRVCross.xcframework; sourceTree = "<group>"; };
		A98386FD24EEE93700199A05 /* glslang.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = glslang.xcframework; sourceTree = "<group>"; };
		A983870224EEE94800199A05 /* SPIRVTools.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = SPIRVTools.xcframework; sourceTree = "<group>"; };
		A9A14E322244388700C080F3 /* Metal.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Metal.framework; path = System/Library/Frameworks/Metal.framework; sourceTree = SDKROOT; };
		A9B51BDB225E98BB00AC74D2 /* MVKOSExtensions.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MVKOSExtensions.mm; sourceTree = "<group>"; };
		A9B51BDC225E98BB00AC74D2 /* MVKOSExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKOSExtensions.h; sourceTree = "<group>"; };
		A9C70F5D221B321600FBA31A /* SPIRVSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SPIRVSupport.h; path = Common/SPIRVSupport.h; sourceTree = SOURCE_ROOT; };
		A9C70F5E221B321700FBA31A /* SPIRVSupport.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SPIRVSupport.cpp; path = Common/SPIRVSupport.cpp; sourceTree = SOURCE_ROOT; };
		A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKCommonEnvironment.h; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		2FEA0ACF2490305800EEF3AD /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A983870524EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */,
				A983870024EEE93700199A05 /* glslang.xcframework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		2FEA0D0C2490381A00EEF3AD /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A983870824EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */,
				A98386FB24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A9092A8A1A81717B00051823 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A98386FE24EEE93700199A05 /* glslang.xcframework in Frameworks */,
				A9A14E332244388700C080F3 /* Metal.framework in Frameworks */,
				A925B71A1C78DEB2006E7ECD /* libMoltenVKGLSLToSPIRVConverter.a in Frameworks */,
				A925B71B1C78DEB2006E7ECD /* libMoltenVKSPIRVToMSLConverter.a in Frameworks */,
				A983870324EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */,
				A98386F924EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A972AD2821CEE6310013AB25 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A983870424EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */,
				A98386FF24EEE93700199A05 /* glslang.xcframework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A972AD2C21CEE6C30013AB25 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A983870624EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */,
				A983870124EEE93700199A05 /* glslang.xcframework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A972AD2E21CEE6F50013AB25 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A983870724EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */,
				A98386FA24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A972AD3321CEE7230013AB25 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A983870924EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */,
				A98386FC24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		A9093C561C58013D0094110D /* MoltenVKSPIRVToMSLConverter */ = {
			isa = PBXGroup;
			children = (
				A925B70B1C7754B2006E7ECD /* FileSupport.h */,
				A925B70A1C7754B2006E7ECD /* FileSupport.mm */,
				A928C9171D0488DC00071B88 /* SPIRVConversion.h */,
				A928C9181D0488DC00071B88 /* SPIRVConversion.mm */,
				450A4F5E220CB180007203D7 /* SPIRVReflection.h */,
				A9093F5A1C58013E0094110D /* SPIRVToMSLConverter.cpp */,
				A9093F5B1C58013E0094110D /* SPIRVToMSLConverter.h */,
			);
			path = MoltenVKSPIRVToMSLConverter;
			sourceTree = "<group>";
		};
		A90940A11C5808BB0094110D /* MoltenVKGLSLToSPIRVConverter */ = {
			isa = PBXGroup;
			children = (
				A90941A21C581F840094110D /* GLSLConversion.h */,
				A90941A11C581F840094110D /* GLSLConversion.mm */,
				A90940A31C5808BB0094110D /* GLSLToSPIRVConverter.cpp */,
				A90940A41C5808BB0094110D /* GLSLToSPIRVConverter.h */,
			);
			path = MoltenVKGLSLToSPIRVConverter;
			sourceTree = "<group>";
		};
		A964B28D1C57EBC400D930D8 /* Products */ = {
			isa = PBXGroup;
			children = (
				A93903C71C57E9ED00FE90DC /* libMoltenVKSPIRVToMSLConverter.a */,
				A93903BF1C57E9D700FE90DC /* libMoltenVKSPIRVToMSLConverter.a */,
				2FEA0D142490381A00EEF3AD /* libMoltenVKSPIRVToMSLConverter.a */,
				A964BD5F1C57EFBD00D930D8 /* MoltenVKShaderConverter */,
				A964BD601C57EFBD00D930D8 /* libMoltenVKGLSLToSPIRVConverter.a */,
				A964BD611C57EFBD00D930D8 /* libMoltenVKGLSLToSPIRVConverter.a */,
				2FEA0AD72490305800EEF3AD /* libMoltenVKGLSLToSPIRVConverter.a */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		A972AD2921CEE6A80013AB25 /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				A98386F824EEE91A00199A05 /* SPIRVCross.xcframework */,
				A98386FD24EEE93700199A05 /* glslang.xcframework */,
				A983870224EEE94800199A05 /* SPIRVTools.xcframework */,
				A9A14E322244388700C080F3 /* Metal.framework */,
			);
			name = Frameworks;
			path = ../External/build/Latest;
			sourceTree = SOURCE_ROOT;
		};
		A97CC73C1C7527F3004A5C7E /* MoltenVKShaderConverterTool */ = {
			isa = PBXGroup;
			children = (
				A97CC73D1C7527F3004A5C7E /* main.cpp */,
				A97CC73E1C7527F3004A5C7E /* MoltenVKShaderConverterTool.cpp */,
				A97CC73F1C7527F3004A5C7E /* MoltenVKShaderConverterTool.h */,
				A95096BE2003D32400F10950 /* OSSupport.h */,
				A95096BD2003D32400F10950 /* OSSupport.mm */,
			);
			path = MoltenVKShaderConverterTool;
			sourceTree = "<group>";
		};
		A9F042A81FB4D060009FCCB8 /* Common */ = {
			isa = PBXGroup;
			children = (
				A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */,
				A9B51BDC225E98BB00AC74D2 /* MVKOSExtensions.h */,
				A9B51BDB225E98BB00AC74D2 /* MVKOSExtensions.mm */,
				A98149651FB6A98A005F00B4 /* MVKStrings.h */,
				A9C70F5E221B321700FBA31A /* SPIRVSupport.cpp */,
				A9C70F5D221B321600FBA31A /* SPIRVSupport.h */,
			);
			name = Common;
			path = ../Common;
			sourceTree = "<group>";
		};
		A9F55D24198BE6A7004EC31B = {
			isa = PBXGroup;
			children = (
				A9093C561C58013D0094110D /* MoltenVKSPIRVToMSLConverter */,
				A90940A11C5808BB0094110D /* MoltenVKGLSLToSPIRVConverter */,
				A97CC73C1C7527F3004A5C7E /* MoltenVKShaderConverterTool */,
				A9F042A81FB4D060009FCCB8 /* Common */,
				A964B28D1C57EBC400D930D8 /* Products */,
				A972AD2921CEE6A80013AB25 /* Frameworks */,
			);
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
		2FEA0AC52490305800EEF3AD /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				2FEA0AC62490305800EEF3AD /* SPIRVSupport.h in Headers */,
				2FEA0AC72490305800EEF3AD /* GLSLConversion.h in Headers */,
				2FEA0AC82490305800EEF3AD /* GLSLToSPIRVConverter.h in Headers */,
				2FEA0AC92490305800EEF3AD /* MVKCommonEnvironment.h in Headers */,
				2FEA0ACA2490305800EEF3AD /* MVKStrings.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		2FEA0D002490381A00EEF3AD /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				2FEA0D012490381A00EEF3AD /* SPIRVReflection.h in Headers */,
				2FEA0D022490381A00EEF3AD /* MVKStrings.h in Headers */,
				2FEA0D032490381A00EEF3AD /* SPIRVSupport.h in Headers */,
				2FEA0D042490381A00EEF3AD /* SPIRVConversion.h in Headers */,
				2FEA0D052490381A00EEF3AD /* SPIRVToMSLConverter.h in Headers */,
				2FEA0D062490381A00EEF3AD /* MVKCommonEnvironment.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A93747291A9A8B2900F29B34 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A9C70F5F221B321700FBA31A /* SPIRVSupport.h in Headers */,
				A90941A51C581F840094110D /* GLSLConversion.h in Headers */,
				A90940A91C5808BB0094110D /* GLSLToSPIRVConverter.h in Headers */,
				A9F042B01FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */,
				A98149661FB6A98A005F00B4 /* MVKStrings.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A937476E1A9A98D000F29B34 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A9C70F60221B321700FBA31A /* SPIRVSupport.h in Headers */,
				A90941A61C581F840094110D /* GLSLConversion.h in Headers */,
				A90940AA1C5808BB0094110D /* GLSLToSPIRVConverter.h in Headers */,
				A9F042B11FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */,
				A98149671FB6A98A005F00B4 /* MVKStrings.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A93903B91C57E9D700FE90DC /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				450A4F61220CB180007203D7 /* SPIRVReflection.h in Headers */,
				A98149681FB6A98A005F00B4 /* MVKStrings.h in Headers */,
				A9C70F61221B321700FBA31A /* SPIRVSupport.h in Headers */,
				A928C9191D0488DC00071B88 /* SPIRVConversion.h in Headers */,
				A909408C1C58013E0094110D /* SPIRVToMSLConverter.h in Headers */,
				A9F042B21FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A93903C11C57E9ED00FE90DC /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				450A4F62220CB180007203D7 /* SPIRVReflection.h in Headers */,
				A98149691FB6A98A005F00B4 /* MVKStrings.h in Headers */,
				A9C70F62221B321700FBA31A /* SPIRVSupport.h in Headers */,
				A928C91A1D0488DC00071B88 /* SPIRVConversion.h in Headers */,
				A909408D1C58013E0094110D /* SPIRVToMSLConverter.h in Headers */,
				A9F042B31FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXHeadersBuildPhase section */

/* Begin PBXNativeTarget section */
		2FEA0AC42490305800EEF3AD /* MoltenVKGLSLToSPIRVConverter-tvOS */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 2FEA0AD42490305800EEF3AD /* Build configuration list for PBXNativeTarget "MoltenVKGLSLToSPIRVConverter-tvOS" */;
			buildPhases = (
				2FEA0AC52490305800EEF3AD /* Headers */,
				2FEA0ACB2490305800EEF3AD /* Sources */,
				2FEA0ACF2490305800EEF3AD /* Frameworks */,
				A93ED4E524F59DEA00FEB018 /* Copy to Staging */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "MoltenVKGLSLToSPIRVConverter-tvOS";
			productName = "MetalGLShaderConverter-iOS";
			productReference = 2FEA0AD72490305800EEF3AD /* libMoltenVKGLSLToSPIRVConverter.a */;
			productType = "com.apple.product-type.library.static";
		};
		2FEA0CFF2490381A00EEF3AD /* MoltenVKSPIRVToMSLConverter-tvOS */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 2FEA0D112490381A00EEF3AD /* Build configuration list for PBXNativeTarget "MoltenVKSPIRVToMSLConverter-tvOS" */;
			buildPhases = (
				2FEA0D002490381A00EEF3AD /* Headers */,
				2FEA0D072490381A00EEF3AD /* Sources */,
				2FEA0D0C2490381A00EEF3AD /* Frameworks */,
				A93ED4E824F59E1100FEB018 /* Copy to Staging */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "MoltenVKSPIRVToMSLConverter-tvOS";
			productName = "MetalGLShaderConverter-iOS";
			productReference = 2FEA0D142490381A00EEF3AD /* libMoltenVKSPIRVToMSLConverter.a */;
			productType = "com.apple.product-type.library.static";
		};
		A9092A8C1A81717B00051823 /* MoltenVKShaderConverter */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = A9092A931A81717C00051823 /* Build configuration list for PBXNativeTarget "MoltenVKShaderConverter" */;
			buildPhases = (
				A9092A891A81717B00051823 /* Sources */,
				A9092A8A1A81717B00051823 /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
				A925B71D1C78DEBF006E7ECD /* PBXTargetDependency */,
				A93749CF1A9AA7AF00F29B34 /* PBXTargetDependency */,
			);
			name = MoltenVKShaderConverter;
			productName = MetalGLShaderConverterTool;
			productReference = A964BD5F1C57EFBD00D930D8 /* MoltenVKShaderConverter */;
			productType = "com.apple.product-type.tool";
		};
		A937472B1A9A8B2900F29B34 /* MoltenVKGLSLToSPIRVConverter-iOS */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = A937473F1A9A8B2900F29B34 /* Build configuration list for PBXNativeTarget "MoltenVKGLSLToSPIRVConverter-iOS" */;
			buildPhases = (
				A93747291A9A8B2900F29B34 /* Headers */,
				A93747271A9A8B2900F29B34 /* Sources */,
				A972AD2821CEE6310013AB25 /* Frameworks */,
				A93ED4E424F59DC600FEB018 /* Copy to Staging */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "MoltenVKGLSLToSPIRVConverter-iOS";
			productName = "MetalGLShaderConverter-iOS";
			productReference = A964BD611C57EFBD00D930D8 /* libMoltenVKGLSLToSPIRVConverter.a */;
			productType = "com.apple.product-type.library.static";
		};
		A93747701A9A98D000F29B34 /* MoltenVKGLSLToSPIRVConverter-macOS */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = A93747841A9A98D000F29B34 /* Build configuration list for PBXNativeTarget "MoltenVKGLSLToSPIRVConverter-macOS" */;
			buildPhases = (
				A937476E1A9A98D000F29B34 /* Headers */,
				A937476C1A9A98D000F29B34 /* Sources */,
				A972AD2C21CEE6C30013AB25 /* Frameworks */,
				A93ED4E624F59DFB00FEB018 /* Copy to Staging */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "MoltenVKGLSLToSPIRVConverter-macOS";
			productName = "MetalGLShaderConverter-macOS";
			productReference = A964BD601C57EFBD00D930D8 /* libMoltenVKGLSLToSPIRVConverter.a */;
			productType = "com.apple.product-type.library.static";
		};
		A93903B81C57E9D700FE90DC /* MoltenVKSPIRVToMSLConverter-iOS */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = A93903BC1C57E9D700FE90DC /* Build configuration list for PBXNativeTarget "MoltenVKSPIRVToMSLConverter-iOS" */;
			buildPhases = (
				A93903B91C57E9D700FE90DC /* Headers */,
				A93903BA1C57E9D700FE90DC /* Sources */,
				A972AD2E21CEE6F50013AB25 /* Frameworks */,
				A93ED4E724F59E0900FEB018 /* Copy to Staging */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "MoltenVKSPIRVToMSLConverter-iOS";
			productName = "MetalGLShaderConverter-iOS";
			productReference = A93903BF1C57E9D700FE90DC /* libMoltenVKSPIRVToMSLConverter.a */;
			productType = "com.apple.product-type.library.static";
		};
		A93903C01C57E9ED00FE90DC /* MoltenVKSPIRVToMSLConverter-macOS */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = A93903C41C57E9ED00FE90DC /* Build configuration list for PBXNativeTarget "MoltenVKSPIRVToMSLConverter-macOS" */;
			buildPhases = (
				A93903C11C57E9ED00FE90DC /* Headers */,
				A93903C21C57E9ED00FE90DC /* Sources */,
				A972AD3321CEE7230013AB25 /* Frameworks */,
				A93ED4E924F59E1800FEB018 /* Copy to Staging */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "MoltenVKSPIRVToMSLConverter-macOS";
			productName = "MetalGLShaderConverter-macOS";
			productReference = A93903C71C57E9ED00FE90DC /* libMoltenVKSPIRVToMSLConverter.a */;
			productType = "com.apple.product-type.library.static";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		A9F55D25198BE6A7004EC31B /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 1170;
				ORGANIZATIONNAME = "The Brenwill Workshop Ltd.";
				TargetAttributes = {
					A9092A8C1A81717B00051823 = {
						CreatedOnToolsVersion = 6.1.1;
						DevelopmentTeam = VU3TCKU48B;
					};
					A937472B1A9A8B2900F29B34 = {
						CreatedOnToolsVersion = 6.1.1;
						DevelopmentTeam = VU3TCKU48B;
					};
					A93747701A9A98D000F29B34 = {
						CreatedOnToolsVersion = 6.1.1;
						DevelopmentTeam = VU3TCKU48B;
					};
					A93903B81C57E9D700FE90DC = {
						DevelopmentTeam = VU3TCKU48B;
					};
					A93903C01C57E9ED00FE90DC = {
						DevelopmentTeam = VU3TCKU48B;
					};
				};
			};
			buildConfigurationList = A9F55D28198BE6A7004EC31B /* Build configuration list for PBXProject "MoltenVKShaderConverter" */;
			compatibilityVersion = "Xcode 8.0";
			developmentRegion = en;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
				Base,
			);
			mainGroup = A9F55D24198BE6A7004EC31B;
			productRefGroup = A9F55D24198BE6A7004EC31B;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				A9092A8C1A81717B00051823 /* MoltenVKShaderConverter */,
				A937472B1A9A8B2900F29B34 /* MoltenVKGLSLToSPIRVConverter-iOS */,
				2FEA0AC42490305800EEF3AD /* MoltenVKGLSLToSPIRVConverter-tvOS */,
				A93747701A9A98D000F29B34 /* MoltenVKGLSLToSPIRVConverter-macOS */,
				A93903B81C57E9D700FE90DC /* MoltenVKSPIRVToMSLConverter-iOS */,
				2FEA0CFF2490381A00EEF3AD /* MoltenVKSPIRVToMSLConverter-tvOS */,
				A93903C01C57E9ED00FE90DC /* MoltenVKSPIRVToMSLConverter-macOS */,
			);
		};
/* End PBXProject section */

/* Begin PBXShellScriptBuildPhase section */
		A93ED4E424F59DC600FEB018 /* Copy to Staging */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputFileListPaths = (
			);
			inputPaths = (
			);
			name = "Copy to Staging";
			outputFileListPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = ". \"${SRCROOT}/../Scripts/copy_to_staging.sh\"\n";
		};
		A93ED4E524F59DEA00FEB018 /* Copy to Staging */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputFileListPaths = (
			);
			inputPaths = (
			);
			name = "Copy to Staging";
			outputFileListPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = ". \"${SRCROOT}/../Scripts/copy_to_staging.sh\"\n";
		};
		A93ED4E624F59DFB00FEB018 /* Copy to Staging */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputFileListPaths = (
			);
			inputPaths = (
			);
			name = "Copy to Staging";
			outputFileListPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = ". \"${SRCROOT}/../Scripts/copy_to_staging.sh\"\n";
		};
		A93ED4E724F59E0900FEB018 /* Copy to Staging */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputFileListPaths = (
			);
			inputPaths = (
			);
			name = "Copy to Staging";
			outputFileListPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = ". \"${SRCROOT}/../Scripts/copy_to_staging.sh\"\n";
		};
		A93ED4E824F59E1100FEB018 /* Copy to Staging */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputFileListPaths = (
			);
			inputPaths = (
			);
			name = "Copy to Staging";
			outputFileListPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = ". \"${SRCROOT}/../Scripts/copy_to_staging.sh\"\n";
		};
		A93ED4E924F59E1800FEB018 /* Copy to Staging */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputFileListPaths = (
			);
			inputPaths = (
			);
			name = "Copy to Staging";
			outputFileListPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = ". \"${SRCROOT}/../Scripts/copy_to_staging.sh\"\n";
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		2FEA0ACB2490305800EEF3AD /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				2FEA0ACC2490305800EEF3AD /* GLSLConversion.mm in Sources */,
				2FEA0ACD2490305800EEF3AD /* SPIRVSupport.cpp in Sources */,
				2FEA0ACE2490305800EEF3AD /* GLSLToSPIRVConverter.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		2FEA0D072490381A00EEF3AD /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				2FEA0D082490381A00EEF3AD /* FileSupport.mm in Sources */,
				2FEA0D092490381A00EEF3AD /* SPIRVToMSLConverter.cpp in Sources */,
				2FEA0D0A2490381A00EEF3AD /* SPIRVSupport.cpp in Sources */,
				2FEA0D0B2490381A00EEF3AD /* SPIRVConversion.mm in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A9092A891A81717B00051823 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A97CC7411C7527F3004A5C7E /* MoltenVKShaderConverterTool.cpp in Sources */,
				A9C70F63221B321700FBA31A /* SPIRVSupport.cpp in Sources */,
				A95096BF2003D32400F10950 /* OSSupport.mm in Sources */,
				A9B51BDD225E98BB00AC74D2 /* MVKOSExtensions.mm in Sources */,
				A97CC7401C7527F3004A5C7E /* main.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A93747271A9A8B2900F29B34 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A90941A31C581F840094110D /* GLSLConversion.mm in Sources */,
				A9C70F64221B321700FBA31A /* SPIRVSupport.cpp in Sources */,
				A90940A71C5808BB0094110D /* GLSLToSPIRVConverter.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A937476C1A9A98D000F29B34 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A90941A41C581F840094110D /* GLSLConversion.mm in Sources */,
				A9C70F65221B321700FBA31A /* SPIRVSupport.cpp in Sources */,
				A90940A81C5808BB0094110D /* GLSLToSPIRVConverter.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A93903BA1C57E9D700FE90DC /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A95096BB2003D00300F10950 /* FileSupport.mm in Sources */,
				A909408A1C58013E0094110D /* SPIRVToMSLConverter.cpp in Sources */,
				A9C70F66221B321700FBA31A /* SPIRVSupport.cpp in Sources */,
				A928C91B1D0488DC00071B88 /* SPIRVConversion.mm in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A93903C21C57E9ED00FE90DC /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A95096BC2003D00300F10950 /* FileSupport.mm in Sources */,
				A909408B1C58013E0094110D /* SPIRVToMSLConverter.cpp in Sources */,
				A9C70F67221B321700FBA31A /* SPIRVSupport.cpp in Sources */,
				A928C91C1D0488DC00071B88 /* SPIRVConversion.mm in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		A925B71D1C78DEBF006E7ECD /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = A93903C01C57E9ED00FE90DC /* MoltenVKSPIRVToMSLConverter-macOS */;
			targetProxy = A925B71C1C78DEBF006E7ECD /* PBXContainerItemProxy */;
		};
		A93749CF1A9AA7AF00F29B34 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = A93747701A9A98D000F29B34 /* MoltenVKGLSLToSPIRVConverter-macOS */;
			targetProxy = A93749CE1A9AA7AF00F29B34 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		2FEA0AD52490305800EEF3AD /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
				CLANG_WARN_UNREACHABLE_CODE = NO;
				GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO;
				GCC_WARN_CHECK_SWITCH_STATEMENTS = NO;
				GCC_WARN_UNUSED_PARAMETER = NO;
				PRODUCT_NAME = MoltenVKGLSLToSPIRVConverter;
				SDKROOT = appletvos;
				TVOS_DEPLOYMENT_TARGET = 11.0;
			};
			name = Debug;
		};
		2FEA0AD62490305800EEF3AD /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
				CLANG_WARN_UNREACHABLE_CODE = NO;
				GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO;
				GCC_WARN_CHECK_SWITCH_STATEMENTS = NO;
				GCC_WARN_UNUSED_PARAMETER = NO;
				PRODUCT_NAME = MoltenVKGLSLToSPIRVConverter;
				SDKROOT = appletvos;
				TVOS_DEPLOYMENT_TARGET = 11.0;
			};
			name = Release;
		};
		2FEA0D122490381A00EEF3AD /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = (
					"$(inherited)",
					"SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross",
				);
				GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
				PRODUCT_NAME = MoltenVKSPIRVToMSLConverter;
				SDKROOT = appletvos;
				TVOS_DEPLOYMENT_TARGET = 11.0;
			};
			name = Debug;
		};
		2FEA0D132490381A00EEF3AD /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = (
					"$(inherited)",
					"SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross",
				);
				GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
				PRODUCT_NAME = MoltenVKSPIRVToMSLConverter;
				SDKROOT = appletvos;
				TVOS_DEPLOYMENT_TARGET = 11.0;
			};
			name = Release;
		};
		A9092A911A81717C00051823 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GENERATE_MASTER_OBJECT_FILE = NO;
				MACH_O_TYPE = mh_execute;
				OTHER_LDFLAGS = (
					"-ObjC",
					"-w",
				);
				PRODUCT_NAME = MoltenVKShaderConverter;
				SDKROOT = macosx;
			};
			name = Debug;
		};
		A9092A921A81717C00051823 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GENERATE_MASTER_OBJECT_FILE = NO;
				MACH_O_TYPE = mh_execute;
				OTHER_LDFLAGS = (
					"-ObjC",
					"-w",
				);
				PRODUCT_NAME = MoltenVKShaderConverter;
				SDKROOT = macosx;
			};
			name = Release;
		};
		A93747401A9A8B2900F29B34 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
				CLANG_WARN_UNREACHABLE_CODE = NO;
				GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO;
				GCC_WARN_CHECK_SWITCH_STATEMENTS = NO;
				GCC_WARN_UNUSED_PARAMETER = NO;
				PRODUCT_NAME = MoltenVKGLSLToSPIRVConverter;
				SDKROOT = iphoneos;
			};
			name = Debug;
		};
		A93747411A9A8B2900F29B34 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
				CLANG_WARN_UNREACHABLE_CODE = NO;
				GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO;
				GCC_WARN_CHECK_SWITCH_STATEMENTS = NO;
				GCC_WARN_UNUSED_PARAMETER = NO;
				PRODUCT_NAME = MoltenVKGLSLToSPIRVConverter;
				SDKROOT = iphoneos;
			};
			name = Release;
		};
		A93747851A9A98D000F29B34 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
				CLANG_WARN_UNREACHABLE_CODE = NO;
				GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO;
				GCC_WARN_CHECK_SWITCH_STATEMENTS = NO;
				GCC_WARN_UNUSED_PARAMETER = NO;
				PRODUCT_NAME = MoltenVKGLSLToSPIRVConverter;
				SDKROOT = macosx;
			};
			name = Debug;
		};
		A93747861A9A98D000F29B34 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
				CLANG_WARN_UNREACHABLE_CODE = NO;
				GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO;
				GCC_WARN_CHECK_SWITCH_STATEMENTS = NO;
				GCC_WARN_UNUSED_PARAMETER = NO;
				PRODUCT_NAME = MoltenVKGLSLToSPIRVConverter;
				SDKROOT = macosx;
			};
			name = Release;
		};
		A93903BD1C57E9D700FE90DC /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = (
					"$(inherited)",
					"SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross",
				);
				GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
				PRODUCT_NAME = MoltenVKSPIRVToMSLConverter;
				SDKROOT = iphoneos;
			};
			name = Debug;
		};
		A93903BE1C57E9D700FE90DC /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = (
					"$(inherited)",
					"SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross",
				);
				GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
				PRODUCT_NAME = MoltenVKSPIRVToMSLConverter;
				SDKROOT = iphoneos;
			};
			name = Release;
		};
		A93903C51C57E9ED00FE90DC /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = (
					"$(inherited)",
					"SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross",
				);
				GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
				PRODUCT_NAME = MoltenVKSPIRVToMSLConverter;
				SDKROOT = macosx;
			};
			name = Debug;
		};
		A93903C61C57E9ED00FE90DC /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = (
					"$(inherited)",
					"SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross",
				);
				GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
				PRODUCT_NAME = MoltenVKSPIRVToMSLConverter;
				SDKROOT = macosx;
			};
			name = Release;
		};
		A9F55D3F198BE6A8004EC31B /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
				BITCODE_GENERATION_MODE = marker;
				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = NO;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_CXX0X_EXTENSIONS = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNGUARDED_AVAILABILITY = NO;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				COPY_PHASE_STRIP = NO;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				ENABLE_TESTABILITY = YES;
				GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				GCC_SYMBOLS_PRIVATE_EXTERN = YES;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;
				GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = NO;
				HEADER_SEARCH_PATHS = (
					"$(inherited)",
					"\"$(SRCROOT)\"",
					"\"$(SRCROOT)/glslang\"",
					"\"$(SRCROOT)/glslang/External/spirv-tools/include\"",
				);
				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
				MACH_O_TYPE = staticlib;
				MACOSX_DEPLOYMENT_TARGET = 10.11;
				ONLY_ACTIVE_ARCH = YES;
				SKIP_INSTALL = YES;
			};
			name = Debug;
		};
		A9F55D40198BE6A8004EC31B /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
				BITCODE_GENERATION_MODE = bitcode;
				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = NO;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_CXX0X_EXTENSIONS = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNGUARDED_AVAILABILITY = NO;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				COPY_PHASE_STRIP = YES;
				ENABLE_NS_ASSERTIONS = NO;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
				GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_OPTIMIZATION_LEVEL = fast;
				GCC_SYMBOLS_PRIVATE_EXTERN = YES;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;
				GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = NO;
				HEADER_SEARCH_PATHS = (
					"$(inherited)",
					"\"$(SRCROOT)\"",
					"\"$(SRCROOT)/glslang\"",
					"\"$(SRCROOT)/glslang/External/spirv-tools/include\"",
				);
				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
				MACH_O_TYPE = staticlib;
				MACOSX_DEPLOYMENT_TARGET = 10.11;
				SKIP_INSTALL = YES;
				VALIDATE_PRODUCT = YES;
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		2FEA0AD42490305800EEF3AD /* Build configuration list for PBXNativeTarget "MoltenVKGLSLToSPIRVConverter-tvOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				2FEA0AD52490305800EEF3AD /* Debug */,
				2FEA0AD62490305800EEF3AD /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		2FEA0D112490381A00EEF3AD /* Build configuration list for PBXNativeTarget "MoltenVKSPIRVToMSLConverter-tvOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				2FEA0D122490381A00EEF3AD /* Debug */,
				2FEA0D132490381A00EEF3AD /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		A9092A931A81717C00051823 /* Build configuration list for PBXNativeTarget "MoltenVKShaderConverter" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A9092A911A81717C00051823 /* Debug */,
				A9092A921A81717C00051823 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		A937473F1A9A8B2900F29B34 /* Build configuration list for PBXNativeTarget "MoltenVKGLSLToSPIRVConverter-iOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A93747401A9A8B2900F29B34 /* Debug */,
				A93747411A9A8B2900F29B34 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		A93747841A9A98D000F29B34 /* Build configuration list for PBXNativeTarget "MoltenVKGLSLToSPIRVConverter-macOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A93747851A9A98D000F29B34 /* Debug */,
				A93747861A9A98D000F29B34 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		A93903BC1C57E9D700FE90DC /* Build configuration list for PBXNativeTarget "MoltenVKSPIRVToMSLConverter-iOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A93903BD1C57E9D700FE90DC /* Debug */,
				A93903BE1C57E9D700FE90DC /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		A93903C41C57E9ED00FE90DC /* Build configuration list for PBXNativeTarget "MoltenVKSPIRVToMSLConverter-macOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A93903C51C57E9ED00FE90DC /* Debug */,
				A93903C61C57E9ED00FE90DC /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		A9F55D28198BE6A7004EC31B /* Build configuration list for PBXProject "MoltenVKShaderConverter" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A9F55D3F198BE6A8004EC31B /* Debug */,
				A9F55D40198BE6A8004EC31B /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = A9F55D25198BE6A7004EC31B /* Project object */;
}
