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

/* Begin PBXBuildFile section */
		2D9DB34A1E5DECA40021EAF4 /* XCTRunner.entitlements in Resources */ = {isa = PBXBuildFile; fileRef = 2D9DB3491E5DEC680021EAF4 /* XCTRunner.entitlements */; };
		3D029B581C6421B400779E8E /* TaskRunner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D029B571C6421B400779E8E /* TaskRunner.swift */; };
		3D029C7E1C650DD100779E8E /* ProjectEditorPackageManagerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D029C7C1C650DD100779E8E /* ProjectEditorPackageManagerViewController.swift */; };
		3D062FA31DA6C77500E79AD4 /* Swift.BUILD in Resources */ = {isa = PBXBuildFile; fileRef = 3D062FA11DA6C76900E79AD4 /* Swift.BUILD */; };
		3D0849F11C739D75005F5ABA /* TulsiGeneratorConfigDocument.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D0849F01C739D75005F5ABA /* TulsiGeneratorConfigDocument.swift */; };
		3D0849FC1C73AE77005F5ABA /* ProjectEditorTabViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D0849FB1C73AE77005F5ABA /* ProjectEditorTabViewController.swift */; };
		3D084A021C73C902005F5ABA /* OptionsEditorModelProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D084A011C73C902005F5ABA /* OptionsEditorModelProtocol.swift */; };
		3D084A041C73CEEF005F5ABA /* ProjectEditorConfigManagerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D084A031C73CEEF005F5ABA /* ProjectEditorConfigManagerViewController.swift */; };
		3D0C9C181C5A87AF00417963 /* OptionsEditorNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D0C9C171C5A87AF00417963 /* OptionsEditorNode.swift */; };
		3D123A531C659688002BEBA2 /* TulsiProject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DD0DE461C654E79008B0CDF /* TulsiProject.swift */; };
		3D167E271C5B1FA700DD485C /* Credits.html in Resources */ = {isa = PBXBuildFile; fileRef = 3D167E291C5B1FA700DD485C /* Credits.html */; };
		3D1F2E261CF760420008CE83 /* BazelLocator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D1F2E251CF760420008CE83 /* BazelLocator.swift */; };
		3D250B7F1C5DCE120091C7A5 /* XcodeScheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D250B7E1C5DCE120091C7A5 /* XcodeScheme.swift */; };
		3D25E0A01CF49F5E00959453 /* EndToEndIntegrationTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D25E09F1CF49F5E00959453 /* EndToEndIntegrationTestCase.swift */; };
		3D329D0E1C4831EF00DFBD0F /* bazel_build.py in Resources */ = {isa = PBXBuildFile; fileRef = 3D329D0D1C4831EF00DFBD0F /* bazel_build.py */; };
		3D387BAB1C7500A100544AE0 /* NewGeneratorConfigViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D387BA91C7500A100544AE0 /* NewGeneratorConfigViewController.swift */; };
		3D387BAD1C7500B500544AE0 /* NewGeneratorConfigViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3D387BAF1C7500B500544AE0 /* NewGeneratorConfigViewController.xib */; };
		3D387BB21C75352E00544AE0 /* XcodeProjectGenerationProgressViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D387BB01C75352E00544AE0 /* XcodeProjectGenerationProgressViewController.swift */; };
		3D387BB41C75354C00544AE0 /* XcodeProjectGenerationProgressViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3D387BB61C75354C00544AE0 /* XcodeProjectGenerationProgressViewController.xib */; };
		3D387BB81C761B8800544AE0 /* TulsiError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D387BB71C761B8800544AE0 /* TulsiError.swift */; };
		3D3DDD141CCA7BCF00E21FA4 /* ErrorAlertDetailView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3D3DDD161CCA7BCF00E21FA4 /* ErrorAlertDetailView.xib */; };
		3D47D6BA1D13190E005B5BF3 /* NSJSONSerializationExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D47D6B91D13190E005B5BF3 /* NSJSONSerializationExtensions.swift */; };
		3D4E5A421D07123900DAB0B4 /* HeadlessXcodeProjectGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D4E5A411D07123900DAB0B4 /* HeadlessXcodeProjectGenerator.swift */; };
		3D51A8001C52C10A00FE90A6 /* TulsiOption.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D51A7FF1C52C10A00FE90A6 /* TulsiOption.swift */; };
		3D51A80C1C52CB6C00FE90A6 /* TulsiOptionSetTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D51A80B1C52CB6C00FE90A6 /* TulsiOptionSetTests.swift */; };
		3D53323F1D243BE400951579 /* EventLogger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D53323B1D2425E600951579 /* EventLogger.swift */; };
		3D5A1B581D1B3485006FC2A6 /* StubInfoPlist.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3D5A1B571D1B3485006FC2A6 /* StubInfoPlist.plist */; };
		3D648FB31D747B8100A3DBE2 /* post_processor in Copy Utilty resources */ = {isa = PBXBuildFile; fileRef = 3D256D1A1D7131B4007A3ED3 /* post_processor */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
		3D7B5EB11C8B7415004786EF /* BazelWorkspaceInfoExtractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D7B5EB01C8B7415004786EF /* BazelWorkspaceInfoExtractor.swift */; };
		3D7B77431C8F2DD3004786EF /* UISourcePath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D7B77421C8F2DD3004786EF /* UISourcePath.swift */; };
		3D7B77B71C907B0A004786EF /* EndToEndGenerationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D7B77B61C907B0A004786EF /* EndToEndGenerationTests.swift */; };
		3D7B77C71C9098A4004786EF /* GoldenProjects in Resources */ = {isa = PBXBuildFile; fileRef = 3D7B77C61C9098A4004786EF /* GoldenProjects */; };
		3D7CED5B1CC171CD0073204D /* SplashScreenWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D7CED591CC171CD0073204D /* SplashScreenWindowController.swift */; };
		3D7CED5D1CC171E60073204D /* SplashScreenWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3D7CED5F1CC171E60073204D /* SplashScreenWindowController.xib */; };
		3D800DE91C6C24C000F4D08C /* BugReporter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D800DE81C6C24C000F4D08C /* BugReporter.swift */; };
		3D8B34BA1C4EB37C0090F3AD /* TulsiNotifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D8B34B91C4EB37C0090F3AD /* TulsiNotifications.swift */; };
		3D8B34C21C4ED5D50090F3AD /* WizardSubviewProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D8B34C11C4ED5D50090F3AD /* WizardSubviewProtocol.swift */; };
		3D8B37ED1C4F100F0090F3AD /* BazelOpenSheetAccessoryView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3D8B37EF1C4F100F0090F3AD /* BazelOpenSheetAccessoryView.xib */; };
		3D903A7A1D775AE800B034E9 /* StubWatchOS2InfoPlist.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3D903A791D775AE800B034E9 /* StubWatchOS2InfoPlist.plist */; };
		3D91B4DC1C78CE6B006ED85C /* TulsiDocumentController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D91B4DB1C78CE6B006ED85C /* TulsiDocumentController.swift */; };
		3D94853E1C31924B0026CE41 /* TulsiOptionSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D94853D1C31924B0026CE41 /* TulsiOptionSet.swift */; };
		3D9485411C3193F00026CE41 /* Options.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3D9485431C3193F00026CE41 /* Options.strings */; };
		3D9677C21D467EAE00799275 /* ComplexSingle.bzl in Resources */ = {isa = PBXBuildFile; fileRef = 3D9677C11D467EAE00799275 /* ComplexSingle.bzl */; };
		3D98176A1C8A0E20005BF3E0 /* ComplexSingle.BUILD in Resources */ = {isa = PBXBuildFile; fileRef = 3D9817681C8A0DBD005BF3E0 /* ComplexSingle.BUILD */; };
		3D99266D1C29F0A30094E098 /* TulsiGenerator.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3D9926631C29F0A20094E098 /* TulsiGenerator.framework */; };
		3D9926781C29F0A30094E098 /* TulsiGenerator.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3D9926631C29F0A20094E098 /* TulsiGenerator.framework */; };
		3D9926791C29F0A30094E098 /* TulsiGenerator.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3D9926631C29F0A20094E098 /* TulsiGenerator.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
		3D9926811C29F0CC0094E098 /* PBXTargetGeneratorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D4A123B1C1882F5006E592D /* PBXTargetGeneratorTests.swift */; };
		3D9926821C29F0CC0094E098 /* BuildLabelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D9DAF541C23604100955CD5 /* BuildLabelTests.swift */; };
		3D9926841C29F0CC0094E098 /* PBXObjectsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DE40AA41C17A2F60055E464 /* PBXObjectsTests.swift */; };
		3D9926851C29F0CC0094E098 /* PBXProjSerializerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B8F55AC1BE3ECDC0095AF7F /* PBXProjSerializerTests.swift */; };
		3D9926871C29F10B0094E098 /* BazelQueryInfoExtractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DFAB53A1C17764A0090CC6F /* BazelQueryInfoExtractor.swift */; };
		3D9926881C29F10B0094E098 /* PBXTargetGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D7830051C17918D00AF67A4 /* PBXTargetGenerator.swift */; };
		3D9926891C29F10B0094E098 /* BuildLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B8F1B111BF6BDD50008013B /* BuildLabel.swift */; };
		3D99268A1C29F10B0094E098 /* GIDGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BFC8F461BE7CFC70066E8BA /* GIDGenerator.swift */; };
		3D99268B1C29F1100094E098 /* PBXObjects.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BFC8F441BE7CF140066E8BA /* PBXObjects.swift */; };
		3D99268C1C29F1100094E098 /* PBXUniformTypeIdentifiers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D9F439F1C160AFA00032F32 /* PBXUniformTypeIdentifiers.swift */; };
		3D99268E1C29F1100094E098 /* BazelWorkspaceInfoExtractorProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DFAB53C1C1778640090CC6F /* BazelWorkspaceInfoExtractorProtocol.swift */; };
		3D99268F1C29F1100094E098 /* PBXProjSerializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB18C05C3361CD7B83A8DADF /* PBXProjSerializer.swift */; };
		3D9926911C29F1410094E098 /* bazel_clean.sh in Resources */ = {isa = PBXBuildFile; fileRef = 3D156AE11C1C8D9C00183439 /* bazel_clean.sh */; };
		3D9926931C29F1BC0094E098 /* UIRuleEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D9926921C29F1BC0094E098 /* UIRuleEntry.swift */; };
		3D9926951C29F1E80094E098 /* RuleEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D9926941C29F1E80094E098 /* RuleEntry.swift */; };
		3D9926971C29FB180094E098 /* TulsiProjectInfoExtractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D9926961C29FB180094E098 /* TulsiProjectInfoExtractor.swift */; };
		3D9E11B71C6D4D750026EE68 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D9E11B61C6D4D750026EE68 /* main.swift */; };
		3D9E1A511C6F87670026EE68 /* NSThreadExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D9E1A501C6F87670026EE68 /* NSThreadExtensions.swift */; };
		3DA65B1B1C67B9DE0055448E /* TulsiGeneratorConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DA65B1A1C67B9DE0055448E /* TulsiGeneratorConfig.swift */; };
		3DA65B281C67E9720055448E /* TulsiXcodeProjectGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DA65B271C67E9720055448E /* TulsiXcodeProjectGenerator.swift */; };
		3DA65B3E1C6849140055448E /* XcodeProjectGeneratorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DA65B3D1C6849140055448E /* XcodeProjectGeneratorTests.swift */; };
		3DA65B441C6854EF0055448E /* LocalizedMessageLogger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DA65B431C6854EF0055448E /* LocalizedMessageLogger.swift */; };
		3DA65B461C68558A0055448E /* XcodeProjectGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DA65B451C68558A0055448E /* XcodeProjectGenerator.swift */; };
		3DA65B481C685BF30055448E /* MockWorkspaceInfoExtractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DA65B471C685BF30055448E /* MockWorkspaceInfoExtractor.swift */; };
		3DA65B5E1C692FA20055448E /* NSURLExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DA65B5D1C692FA20055448E /* NSURLExtensions.swift */; };
		3DA65B601C6930210055448E /* NSURLExtensionsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DA65B5F1C6930210055448E /* NSURLExtensionsTests.swift */; };
		3DA65B621C693B570055448E /* TulsiGeneratorConfigTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DA65B611C693B570055448E /* TulsiGeneratorConfigTests.swift */; };
		3DA65B661C693B7E0055448E /* TulsiProjectTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DA65B651C693B7E0055448E /* TulsiProjectTests.swift */; };
		3DAA08861CF49316007BE8A2 /* PlatformDependent.BUILD in Resources */ = {isa = PBXBuildFile; fileRef = 3DAA08841CF48F9D007BE8A2 /* PlatformDependent.BUILD */; };
		3DAE206C1CF497D800C2C0D0 /* test.WORKSPACE in Resources */ = {isa = PBXBuildFile; fileRef = 3DAE206B1CF497D800C2C0D0 /* test.WORKSPACE */; };
		3DAEE45E1C85128600BA1C67 /* BazelWorkspacePathInfoFetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DAEE45D1C85128600BA1C67 /* BazelWorkspacePathInfoFetcher.swift */; };
		3DAEE4681C85EB6100BA1C67 /* TulsiGenerator.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3D9926631C29F0A20094E098 /* TulsiGenerator.framework */; };
		3DAEE46F1C85ECEC00BA1C67 /* AspectTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DAEE46E1C85ECEC00BA1C67 /* AspectTests.swift */; };
		3DAEE4711C8600B800BA1C67 /* Simple.BUILD in Resources */ = {isa = PBXBuildFile; fileRef = 3DAEE4701C8600B800BA1C67 /* Simple.BUILD */; };
		3DAFE8AE1DF1F23D0055AF56 /* StubIOSAppExtensionInfoPlist.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3DAFE8AD1DF1F23D0055AF56 /* StubIOSAppExtensionInfoPlist.plist */; };
		3DB1FBFC1C31DDCB0080198C /* ProjectEditorSplitViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DB1FBFB1C31DDCB0080198C /* ProjectEditorSplitViewController.swift */; };
		3DB1FC1B1C3235E30080198C /* UIMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DB1FC1A1C3235E30080198C /* UIMessage.swift */; };
		3DB1FC2B1C32DCBC0080198C /* MessageViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DB1FC2A1C32DCBC0080198C /* MessageViewController.swift */; };
		3DBCB5201CCA94E7000801A5 /* BazelErrorExtractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DBCB51F1CCA94E7000801A5 /* BazelErrorExtractor.swift */; };
		3DBEFACD1C2A1F7200119556 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3DBEFACF1C2A1F7200119556 /* Localizable.strings */; };
		3DBEFAED1C2A3E5900119556 /* MockLocalizedMessageLogger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DBEFAEC1C2A3E5900119556 /* MockLocalizedMessageLogger.swift */; };
		3DC463B91CA2DAAF00DD8A42 /* TestSuite in Resources */ = {isa = PBXBuildFile; fileRef = 3DC463B71CA2DAAB00DD8A42 /* TestSuite */; };
		3DC5CE0E1CFF3BAC00688AD6 /* NewProjectViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3DC5CE101CFF3BAC00688AD6 /* NewProjectViewController.xib */; };
		3DCA3ADC1CB8166100A0BCA2 /* QueryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DCA3ADB1CB8166100A0BCA2 /* QueryTests.swift */; };
		3DCD08111D779576006ABE5B /* StubWatchOS2AppExtensionInfoPlist.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3DCD08101D779576006ABE5B /* StubWatchOS2AppExtensionInfoPlist.plist */; };
		3DCF74B61C34699100521F1F /* OptionsEditorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DCF74B51C34699100521F1F /* OptionsEditorViewController.swift */; };
		3DCFE5D51C80A64600D7F31B /* WORKSPACE in Resources */ = {isa = PBXBuildFile; fileRef = 3DCFE5D21C80A64600D7F31B /* WORKSPACE */; };
		3DCFE5DE1C80B70700D7F31B /* BazelAspectInfoExtractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DCFE5DD1C80B70700D7F31B /* BazelAspectInfoExtractor.swift */; };
		3DCFE5E21C80B92D00D7F31B /* ProgressNotifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DCFE5E11C80B92D00D7F31B /* ProgressNotifier.swift */; };
		3DD0DE441C65404F008B0CDF /* NewProjectViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DD0DE421C65404F008B0CDF /* NewProjectViewController.swift */; };
		3DD0DE491C656C15008B0CDF /* FilteredOpenPanel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DD0DE481C656C15008B0CDF /* FilteredOpenPanel.swift */; };
		3DD0EB0E1C40AEC7005C0469 /* OptionsEditorController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DD0EB0D1C40AEC7005C0469 /* OptionsEditorController.swift */; };
		3DD0EB101C40AED8005C0469 /* OptionsTargetSelectorController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DD0EB0F1C40AED8005C0469 /* OptionsTargetSelectorController.swift */; };
		3DDA83921C7BB1F100CA7BB5 /* BazelSelectionPanel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DDA83911C7BB1F100CA7BB5 /* BazelSelectionPanel.swift */; };
		3DE7F4171CF48ECB002C3498 /* PlatformDependentEndToEndGenerationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DE7F4161CF48ECB002C3498 /* PlatformDependentEndToEndGenerationTests.swift */; };
		3DEC9EDD1CF3421600769251 /* TulsiTaskRunner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DEC9EDC1CF3421600769251 /* TulsiTaskRunner.swift */; };
		3DF313B41C3488BE00A34C14 /* UISelectableOutlineViewNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DF313B31C3488BE00A34C14 /* UISelectableOutlineViewNode.swift */; };
		3DF313B71C34898500A34C14 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3DF313B91C34898500A34C14 /* Localizable.strings */; };
		3DFB7C4B1C81F78000376760 /* command_line_splitter.sh in Resources */ = {isa = PBXBuildFile; fileRef = 3DFB7C4A1C81F78000376760 /* command_line_splitter.sh */; };
		3DFB7C4D1C835EC000376760 /* CommandLineSplitter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DFB7C4C1C835EC000376760 /* CommandLineSplitter.swift */; };
		3DFB7C4F1C835EFB00376760 /* CommandLineSplitterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DFB7C4E1C835EFB00376760 /* CommandLineSplitterTests.swift */; };
		8B0F78C81BE5BC7E00357561 /* ConfigEditorSourceFilterViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B0F78C71BE5BC7E00357561 /* ConfigEditorSourceFilterViewController.swift */; };
		8B29E2D01BF9386200680E11 /* TulsiProjectDocument.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B29E2CF1BF9386200680E11 /* TulsiProjectDocument.swift */; };
		8B8F559B1BE3ECDC0095AF7F /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B8F559A1BE3ECDC0095AF7F /* AppDelegate.swift */; };
		8B8F559D1BE3ECDC0095AF7F /* ConfigEditorWizardViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B8F559C1BE3ECDC0095AF7F /* ConfigEditorWizardViewController.swift */; };
		8B8F559F1BE3ECDC0095AF7F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8B8F559E1BE3ECDC0095AF7F /* Assets.xcassets */; };
		8B8F55A21BE3ECDC0095AF7F /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8B8F55A01BE3ECDC0095AF7F /* Main.storyboard */; };
		8B8F55C81BE4100A0095AF7F /* ConfigEditorBuildTargetSelectorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B8F55C71BE410090095AF7F /* ConfigEditorBuildTargetSelectorViewController.swift */; };
		8BC3D1051CF3643800D6D10E /* SplashScreenRecentDocumentView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8BC3D1031CF3643800D6D10E /* SplashScreenRecentDocumentView.xib */; };
		AB18C31C78E730FECC1552EF /* BazelIntegrationTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB18C7D45D34ACB3B8BC1805 /* BazelIntegrationTestCase.swift */; };
		AB18C7AE39198BE26CB112C0 /* HeadlessModeError.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB18C78A05BFF81B82FFE890 /* HeadlessModeError.swift */; };
		AB18CB663B4A10F9BA45D02F /* TulsiCommandlineParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB18C4E9FB80370FC40B500A /* TulsiCommandlineParser.swift */; };
		AB18CC4A7B1A308E23A1CE6F /* HeadlessTulsiProjectCreator.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB18CFC29644CD1B3B860056 /* HeadlessTulsiProjectCreator.swift */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		3D256D191D7131B4007A3ED3 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 3DBA776A1D6CAF5E00BD5B7C /* post_processor.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 3DC2E3C51D635C0A00DCF7D3;
			remoteInfo = post_processor;
		};
		3D648FB01D747B7E00A3DBE2 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 3DBA776A1D6CAF5E00BD5B7C /* post_processor.xcodeproj */;
			proxyType = 1;
			remoteGlobalIDString = 3DC2E3C41D635C0A00DCF7D3;
			remoteInfo = post_processor;
		};
		3D99266E1C29F0A30094E098 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 8B8F558F1BE3ECDC0095AF7F /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 3D9926621C29F0A20094E098;
			remoteInfo = TulsiGenerator;
		};
		3D9926761C29F0A30094E098 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 8B8F558F1BE3ECDC0095AF7F /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 3D9926621C29F0A20094E098;
			remoteInfo = TulsiGenerator;
		};
		3DAEE4691C85EB6100BA1C67 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 8B8F558F1BE3ECDC0095AF7F /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 3D9926621C29F0A20094E098;
			remoteInfo = TulsiGenerator;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXCopyFilesBuildPhase section */
		3D99267F1C29F0A30094E098 /* Embed Frameworks */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = "";
			dstSubfolderSpec = 10;
			files = (
				3D9926791C29F0A30094E098 /* TulsiGenerator.framework in Embed Frameworks */,
			);
			name = "Embed Frameworks";
			runOnlyForDeploymentPostprocessing = 0;
		};
		3DBA77761D6CB3EF00BD5B7C /* Copy Utilty resources */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = Utilities;
			dstSubfolderSpec = 7;
			files = (
				3D648FB31D747B8100A3DBE2 /* post_processor in Copy Utilty resources */,
			);
			name = "Copy Utilty resources";
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXCopyFilesBuildPhase section */

/* Begin PBXFileReference section */
		2D9DB3491E5DEC680021EAF4 /* XCTRunner.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = XCTRunner.entitlements; sourceTree = "<group>"; };
		3D029B571C6421B400779E8E /* TaskRunner.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TaskRunner.swift; sourceTree = "<group>"; };
		3D029C7C1C650DD100779E8E /* ProjectEditorPackageManagerViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProjectEditorPackageManagerViewController.swift; sourceTree = "<group>"; };
		3D062FA11DA6C76900E79AD4 /* Swift.BUILD */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = Swift.BUILD; path = Resources/Swift.BUILD; sourceTree = "<group>"; };
		3D0849F01C739D75005F5ABA /* TulsiGeneratorConfigDocument.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiGeneratorConfigDocument.swift; sourceTree = "<group>"; };
		3D0849FB1C73AE77005F5ABA /* ProjectEditorTabViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProjectEditorTabViewController.swift; sourceTree = "<group>"; };
		3D084A011C73C902005F5ABA /* OptionsEditorModelProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OptionsEditorModelProtocol.swift; sourceTree = "<group>"; };
		3D084A031C73CEEF005F5ABA /* ProjectEditorConfigManagerViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProjectEditorConfigManagerViewController.swift; sourceTree = "<group>"; };
		3D0C9C171C5A87AF00417963 /* OptionsEditorNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OptionsEditorNode.swift; sourceTree = "<group>"; };
		3D156AE11C1C8D9C00183439 /* bazel_clean.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = bazel_clean.sh; sourceTree = "<group>"; };
		3D167E281C5B1FA700DD485C /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.html; name = Base; path = Base.lproj/Credits.html; sourceTree = "<group>"; };
		3D1F2E251CF760420008CE83 /* BazelLocator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BazelLocator.swift; sourceTree = "<group>"; };
		3D250B7E1C5DCE120091C7A5 /* XcodeScheme.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XcodeScheme.swift; sourceTree = "<group>"; };
		3D25E09F1CF49F5E00959453 /* EndToEndIntegrationTestCase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EndToEndIntegrationTestCase.swift; sourceTree = "<group>"; };
		3D329D0D1C4831EF00DFBD0F /* bazel_build.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = bazel_build.py; sourceTree = "<group>"; };
		3D387BA91C7500A100544AE0 /* NewGeneratorConfigViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewGeneratorConfigViewController.swift; sourceTree = "<group>"; };
		3D387BAE1C7500B500544AE0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/NewGeneratorConfigViewController.xib; sourceTree = "<group>"; };
		3D387BB01C75352E00544AE0 /* XcodeProjectGenerationProgressViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XcodeProjectGenerationProgressViewController.swift; sourceTree = "<group>"; };
		3D387BB51C75354C00544AE0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/XcodeProjectGenerationProgressViewController.xib; sourceTree = "<group>"; };
		3D387BB71C761B8800544AE0 /* TulsiError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiError.swift; sourceTree = "<group>"; };
		3D3DDD151CCA7BCF00E21FA4 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ErrorAlertDetailView.xib; sourceTree = "<group>"; };
		3D47D6B91D13190E005B5BF3 /* NSJSONSerializationExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSJSONSerializationExtensions.swift; sourceTree = "<group>"; };
		3D4A123B1C1882F5006E592D /* PBXTargetGeneratorTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PBXTargetGeneratorTests.swift; sourceTree = "<group>"; };
		3D4E5A411D07123900DAB0B4 /* HeadlessXcodeProjectGenerator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HeadlessXcodeProjectGenerator.swift; sourceTree = "<group>"; };
		3D51A7FF1C52C10A00FE90A6 /* TulsiOption.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiOption.swift; sourceTree = "<group>"; };
		3D51A80B1C52CB6C00FE90A6 /* TulsiOptionSetTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiOptionSetTests.swift; sourceTree = "<group>"; };
		3D53323B1D2425E600951579 /* EventLogger.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = EventLogger.swift; path = Tulsi/EventLogger.swift; sourceTree = SOURCE_ROOT; };
		3D5A1B571D1B3485006FC2A6 /* StubInfoPlist.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = StubInfoPlist.plist; path = GeneratedProjectResources/StubInfoPlist.plist; sourceTree = "<group>"; };
		3D7830051C17918D00AF67A4 /* PBXTargetGenerator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PBXTargetGenerator.swift; sourceTree = "<group>"; };
		3D7B5EB01C8B7415004786EF /* BazelWorkspaceInfoExtractor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BazelWorkspaceInfoExtractor.swift; sourceTree = "<group>"; };
		3D7B77421C8F2DD3004786EF /* UISourcePath.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UISourcePath.swift; sourceTree = "<group>"; };
		3D7B77B61C907B0A004786EF /* EndToEndGenerationTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EndToEndGenerationTests.swift; sourceTree = "<group>"; };
		3D7B77C61C9098A4004786EF /* GoldenProjects */ = {isa = PBXFileReference; lastKnownFileType = folder; name = GoldenProjects; path = Resources/GoldenProjects; sourceTree = "<group>"; };
		3D7CED591CC171CD0073204D /* SplashScreenWindowController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SplashScreenWindowController.swift; sourceTree = "<group>"; };
		3D7CED5E1CC171E60073204D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/SplashScreenWindowController.xib; sourceTree = "<group>"; };
		3D800DE81C6C24C000F4D08C /* BugReporter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BugReporter.swift; sourceTree = "<group>"; };
		3D8B34B91C4EB37C0090F3AD /* TulsiNotifications.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiNotifications.swift; sourceTree = "<group>"; };
		3D8B34C11C4ED5D50090F3AD /* WizardSubviewProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WizardSubviewProtocol.swift; sourceTree = "<group>"; };
		3D8B37EE1C4F100F0090F3AD /* Base */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = Base; path = Base.lproj/BazelOpenSheetAccessoryView.xib; sourceTree = "<group>"; };
		3D903A791D775AE800B034E9 /* StubWatchOS2InfoPlist.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = StubWatchOS2InfoPlist.plist; path = GeneratedProjectResources/StubWatchOS2InfoPlist.plist; sourceTree = "<group>"; };
		3D91B4DB1C78CE6B006ED85C /* TulsiDocumentController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiDocumentController.swift; sourceTree = "<group>"; };
		3D94853D1C31924B0026CE41 /* TulsiOptionSet.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiOptionSet.swift; sourceTree = "<group>"; };
		3D9485421C3193F00026CE41 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Options.strings; sourceTree = "<group>"; };
		3D9677C11D467EAE00799275 /* ComplexSingle.bzl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = ComplexSingle.bzl; path = Resources/ComplexSingle.bzl; sourceTree = "<group>"; };
		3D9817681C8A0DBD005BF3E0 /* ComplexSingle.BUILD */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = ComplexSingle.BUILD; path = Resources/ComplexSingle.BUILD; sourceTree = "<group>"; };
		3D9926631C29F0A20094E098 /* TulsiGenerator.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TulsiGenerator.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		3D9926671C29F0A20094E098 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		3D99266C1C29F0A20094E098 /* TulsiGeneratorTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TulsiGeneratorTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		3D9926751C29F0A30094E098 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		3D9926921C29F1BC0094E098 /* UIRuleEntry.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIRuleEntry.swift; sourceTree = "<group>"; };
		3D9926941C29F1E80094E098 /* RuleEntry.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RuleEntry.swift; sourceTree = "<group>"; };
		3D9926961C29FB180094E098 /* TulsiProjectInfoExtractor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiProjectInfoExtractor.swift; sourceTree = "<group>"; };
		3D9DAF541C23604100955CD5 /* BuildLabelTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BuildLabelTests.swift; sourceTree = "<group>"; };
		3D9E11B61C6D4D750026EE68 /* main.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = "<group>"; };
		3D9E1A501C6F87670026EE68 /* NSThreadExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSThreadExtensions.swift; sourceTree = "<group>"; };
		3D9F439F1C160AFA00032F32 /* PBXUniformTypeIdentifiers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PBXUniformTypeIdentifiers.swift; sourceTree = "<group>"; };
		3DA65B1A1C67B9DE0055448E /* TulsiGeneratorConfig.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiGeneratorConfig.swift; sourceTree = "<group>"; };
		3DA65B271C67E9720055448E /* TulsiXcodeProjectGenerator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiXcodeProjectGenerator.swift; sourceTree = "<group>"; };
		3DA65B3D1C6849140055448E /* XcodeProjectGeneratorTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XcodeProjectGeneratorTests.swift; sourceTree = "<group>"; };
		3DA65B431C6854EF0055448E /* LocalizedMessageLogger.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LocalizedMessageLogger.swift; sourceTree = "<group>"; };
		3DA65B451C68558A0055448E /* XcodeProjectGenerator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XcodeProjectGenerator.swift; sourceTree = "<group>"; };
		3DA65B471C685BF30055448E /* MockWorkspaceInfoExtractor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MockWorkspaceInfoExtractor.swift; sourceTree = "<group>"; };
		3DA65B5D1C692FA20055448E /* NSURLExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSURLExtensions.swift; sourceTree = "<group>"; };
		3DA65B5F1C6930210055448E /* NSURLExtensionsTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSURLExtensionsTests.swift; sourceTree = "<group>"; };
		3DA65B611C693B570055448E /* TulsiGeneratorConfigTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiGeneratorConfigTests.swift; sourceTree = "<group>"; };
		3DA65B651C693B7E0055448E /* TulsiProjectTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiProjectTests.swift; sourceTree = "<group>"; };
		3DAA08841CF48F9D007BE8A2 /* PlatformDependent.BUILD */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PlatformDependent.BUILD; path = Resources/PlatformDependent.BUILD; sourceTree = "<group>"; };
		3DAE206B1CF497D800C2C0D0 /* test.WORKSPACE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = test.WORKSPACE; sourceTree = "<group>"; };
		3DAEE45D1C85128600BA1C67 /* BazelWorkspacePathInfoFetcher.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BazelWorkspacePathInfoFetcher.swift; sourceTree = "<group>"; };
		3DAEE4631C85EB6100BA1C67 /* TulsiGeneratorIntegrationTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TulsiGeneratorIntegrationTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		3DAEE4671C85EB6100BA1C67 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		3DAEE46E1C85ECEC00BA1C67 /* AspectTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AspectTests.swift; sourceTree = "<group>"; };
		3DAEE4701C8600B800BA1C67 /* Simple.BUILD */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = Simple.BUILD; path = Resources/Simple.BUILD; sourceTree = "<group>"; };
		3DAFE8AD1DF1F23D0055AF56 /* StubIOSAppExtensionInfoPlist.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = StubIOSAppExtensionInfoPlist.plist; path = GeneratedProjectResources/StubIOSAppExtensionInfoPlist.plist; sourceTree = "<group>"; };
		3DB1FBFB1C31DDCB0080198C /* ProjectEditorSplitViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProjectEditorSplitViewController.swift; sourceTree = "<group>"; };
		3DB1FC1A1C3235E30080198C /* UIMessage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIMessage.swift; sourceTree = "<group>"; };
		3DB1FC2A1C32DCBC0080198C /* MessageViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MessageViewController.swift; sourceTree = "<group>"; };
		3DB8F6C01CA9E0FC0045B0CF /* aspect.BUILD */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = aspect.BUILD; path = tulsi/aspect.BUILD; sourceTree = "<group>"; };
		3DB8F6C11CA9E0FC0045B0CF /* tulsi_aspects.bzl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = tulsi_aspects.bzl; path = tulsi/tulsi_aspects.bzl; sourceTree = "<group>"; };
		3DBA776A1D6CAF5E00BD5B7C /* post_processor.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = post_processor.xcodeproj; path = tools/post_processor/post_processor.xcodeproj; sourceTree = "<group>"; };
		3DBCB51F1CCA94E7000801A5 /* BazelErrorExtractor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BazelErrorExtractor.swift; sourceTree = "<group>"; };
		3DBEFACE1C2A1F7200119556 /* Base */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Localizable.strings; sourceTree = "<group>"; };
		3DBEFAEC1C2A3E5900119556 /* MockLocalizedMessageLogger.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MockLocalizedMessageLogger.swift; sourceTree = "<group>"; };
		3DC463B71CA2DAAB00DD8A42 /* TestSuite */ = {isa = PBXFileReference; lastKnownFileType = folder; name = TestSuite; path = Resources/TestSuite; sourceTree = "<group>"; };
		3DC5CE0F1CFF3BAC00688AD6 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/NewProjectViewController.xib; sourceTree = "<group>"; };
		3DCA3ADB1CB8166100A0BCA2 /* QueryTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = QueryTests.swift; sourceTree = "<group>"; };
		3DCD08101D779576006ABE5B /* StubWatchOS2AppExtensionInfoPlist.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = StubWatchOS2AppExtensionInfoPlist.plist; path = GeneratedProjectResources/StubWatchOS2AppExtensionInfoPlist.plist; sourceTree = "<group>"; };
		3DCF74B51C34699100521F1F /* OptionsEditorViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OptionsEditorViewController.swift; sourceTree = "<group>"; };
		3DCFE5D21C80A64600D7F31B /* WORKSPACE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WORKSPACE; sourceTree = "<group>"; };
		3DCFE5DD1C80B70700D7F31B /* BazelAspectInfoExtractor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BazelAspectInfoExtractor.swift; sourceTree = "<group>"; };
		3DCFE5E11C80B92D00D7F31B /* ProgressNotifier.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProgressNotifier.swift; sourceTree = "<group>"; };
		3DD0DE421C65404F008B0CDF /* NewProjectViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewProjectViewController.swift; sourceTree = "<group>"; };
		3DD0DE461C654E79008B0CDF /* TulsiProject.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiProject.swift; sourceTree = "<group>"; };
		3DD0DE481C656C15008B0CDF /* FilteredOpenPanel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FilteredOpenPanel.swift; sourceTree = "<group>"; };
		3DD0EB0D1C40AEC7005C0469 /* OptionsEditorController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OptionsEditorController.swift; sourceTree = "<group>"; };
		3DD0EB0F1C40AED8005C0469 /* OptionsTargetSelectorController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OptionsTargetSelectorController.swift; sourceTree = "<group>"; };
		3DDA83911C7BB1F100CA7BB5 /* BazelSelectionPanel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BazelSelectionPanel.swift; sourceTree = "<group>"; };
		3DE40AA41C17A2F60055E464 /* PBXObjectsTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PBXObjectsTests.swift; sourceTree = "<group>"; };
		3DE7F4161CF48ECB002C3498 /* PlatformDependentEndToEndGenerationTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PlatformDependentEndToEndGenerationTests.swift; sourceTree = "<group>"; };
		3DEC9EDC1CF3421600769251 /* TulsiTaskRunner.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiTaskRunner.swift; sourceTree = "<group>"; };
		3DF313B31C3488BE00A34C14 /* UISelectableOutlineViewNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UISelectableOutlineViewNode.swift; sourceTree = "<group>"; };
		3DF313B81C34898500A34C14 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Localizable.strings; sourceTree = "<group>"; };
		3DFAB53A1C17764A0090CC6F /* BazelQueryInfoExtractor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BazelQueryInfoExtractor.swift; sourceTree = "<group>"; };
		3DFAB53C1C1778640090CC6F /* BazelWorkspaceInfoExtractorProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BazelWorkspaceInfoExtractorProtocol.swift; sourceTree = "<group>"; };
		3DFB7C4A1C81F78000376760 /* command_line_splitter.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = command_line_splitter.sh; sourceTree = "<group>"; };
		3DFB7C4C1C835EC000376760 /* CommandLineSplitter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CommandLineSplitter.swift; sourceTree = "<group>"; };
		3DFB7C4E1C835EFB00376760 /* CommandLineSplitterTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CommandLineSplitterTests.swift; sourceTree = "<group>"; };
		8B0F78C71BE5BC7E00357561 /* ConfigEditorSourceFilterViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConfigEditorSourceFilterViewController.swift; sourceTree = "<group>"; };
		8B29E2CF1BF9386200680E11 /* TulsiProjectDocument.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiProjectDocument.swift; sourceTree = "<group>"; };
		8B8F1B111BF6BDD50008013B /* BuildLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BuildLabel.swift; sourceTree = "<group>"; };
		8B8F55971BE3ECDC0095AF7F /* Tulsi.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Tulsi.app; sourceTree = BUILT_PRODUCTS_DIR; };
		8B8F559A1BE3ECDC0095AF7F /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
		8B8F559C1BE3ECDC0095AF7F /* ConfigEditorWizardViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfigEditorWizardViewController.swift; sourceTree = "<group>"; };
		8B8F559E1BE3ECDC0095AF7F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
		8B8F55A11BE3ECDC0095AF7F /* Base */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
		8B8F55A31BE3ECDC0095AF7F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		8B8F55AC1BE3ECDC0095AF7F /* PBXProjSerializerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PBXProjSerializerTests.swift; sourceTree = "<group>"; };
		8B8F55C71BE410090095AF7F /* ConfigEditorBuildTargetSelectorViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConfigEditorBuildTargetSelectorViewController.swift; sourceTree = "<group>"; };
		8BC3D1041CF3643800D6D10E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Tulsi/Base.lproj/SplashScreenRecentDocumentView.xib; sourceTree = "<group>"; };
		8BFC8F441BE7CF140066E8BA /* PBXObjects.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PBXObjects.swift; sourceTree = "<group>"; };
		8BFC8F461BE7CFC70066E8BA /* GIDGenerator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GIDGenerator.swift; sourceTree = "<group>"; };
		AB18C05C3361CD7B83A8DADF /* PBXProjSerializer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PBXProjSerializer.swift; sourceTree = "<group>"; };
		AB18C4E9FB80370FC40B500A /* TulsiCommandlineParser.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiCommandlineParser.swift; sourceTree = "<group>"; };
		AB18C78A05BFF81B82FFE890 /* HeadlessModeError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HeadlessModeError.swift; sourceTree = "<group>"; };
		AB18C7D45D34ACB3B8BC1805 /* BazelIntegrationTestCase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BazelIntegrationTestCase.swift; sourceTree = "<group>"; };
		AB18CFC29644CD1B3B860056 /* HeadlessTulsiProjectCreator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HeadlessTulsiProjectCreator.swift; sourceTree = "<group>"; };
		F4469ECE1C5BCA5900BCFAA1 /* TulsiVersion.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = TulsiVersion.xcconfig; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		3D99265F1C29F0A20094E098 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		3D9926691C29F0A20094E098 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				3D99266D1C29F0A30094E098 /* TulsiGenerator.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		3DAEE4601C85EB6100BA1C67 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				3DAEE4681C85EB6100BA1C67 /* TulsiGenerator.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		8B8F55941BE3ECDC0095AF7F /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				3D9926781C29F0A30094E098 /* TulsiGenerator.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		3D256D161D7131B4007A3ED3 /* Products */ = {
			isa = PBXGroup;
			children = (
				3D256D1A1D7131B4007A3ED3 /* post_processor */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		3D5A1B561D1B3432006FC2A6 /* GeneratedProjectResources */ = {
			isa = PBXGroup;
			children = (
				3D5A1B571D1B3485006FC2A6 /* StubInfoPlist.plist */,
				3DAFE8AD1DF1F23D0055AF56 /* StubIOSAppExtensionInfoPlist.plist */,
				3DCD08101D779576006ABE5B /* StubWatchOS2AppExtensionInfoPlist.plist */,
				3D903A791D775AE800B034E9 /* StubWatchOS2InfoPlist.plist */,
				2D9DB3491E5DEC680021EAF4 /* XCTRunner.entitlements */,
			);
			name = GeneratedProjectResources;
			sourceTree = "<group>";
		};
		3D78698C1C57D6DB0070FCC8 /* Resources */ = {
			isa = PBXGroup;
			children = (
				3D5A1B561D1B3432006FC2A6 /* GeneratedProjectResources */,
				3DCFE5CE1C80A64600D7F31B /* Bazel */,
				3D9926671C29F0A20094E098 /* Info.plist */,
				3DBEFACF1C2A1F7200119556 /* Localizable.strings */,
				3D9485431C3193F00026CE41 /* Options.strings */,
				3DAC27671C3AD2510040F42C /* Scripts */,
			);
			name = Resources;
			sourceTree = "<group>";
		};
		3D9926641C29F0A20094E098 /* TulsiGenerator */ = {
			isa = PBXGroup;
			children = (
				3DA65B421C6854BA0055448E /* Implementation */,
				3DA65B1C1C67B9F10055448E /* Models */,
				3D78698C1C57D6DB0070FCC8 /* Resources */,
				3D029B571C6421B400779E8E /* TaskRunner.swift */,
				3D8B34B91C4EB37C0090F3AD /* TulsiNotifications.swift */,
				3D9926961C29FB180094E098 /* TulsiProjectInfoExtractor.swift */,
				3DEC9EDC1CF3421600769251 /* TulsiTaskRunner.swift */,
				3DA65B271C67E9720055448E /* TulsiXcodeProjectGenerator.swift */,
			);
			path = TulsiGenerator;
			sourceTree = "<group>";
		};
		3D9926721C29F0A30094E098 /* TulsiGeneratorTests */ = {
			isa = PBXGroup;
			children = (
				3D9DAF541C23604100955CD5 /* BuildLabelTests.swift */,
				3DFB7C4E1C835EFB00376760 /* CommandLineSplitterTests.swift */,
				3D9926751C29F0A30094E098 /* Info.plist */,
				3DA65B411C68539F0055448E /* Mocks */,
				3DA65B5F1C6930210055448E /* NSURLExtensionsTests.swift */,
				3DE40AA41C17A2F60055E464 /* PBXObjectsTests.swift */,
				8B8F55AC1BE3ECDC0095AF7F /* PBXProjSerializerTests.swift */,
				3D4A123B1C1882F5006E592D /* PBXTargetGeneratorTests.swift */,
				3DA65B611C693B570055448E /* TulsiGeneratorConfigTests.swift */,
				3D51A80B1C52CB6C00FE90A6 /* TulsiOptionSetTests.swift */,
				3DA65B651C693B7E0055448E /* TulsiProjectTests.swift */,
				3DA65B3D1C6849140055448E /* XcodeProjectGeneratorTests.swift */,
			);
			path = TulsiGeneratorTests;
			sourceTree = "<group>";
		};
		3DA65B1C1C67B9F10055448E /* Models */ = {
			isa = PBXGroup;
			children = (
				8B8F1B111BF6BDD50008013B /* BuildLabel.swift */,
				8BFC8F441BE7CF140066E8BA /* PBXObjects.swift */,
				3D9926941C29F1E80094E098 /* RuleEntry.swift */,
				3DA65B1A1C67B9DE0055448E /* TulsiGeneratorConfig.swift */,
				3D51A7FF1C52C10A00FE90A6 /* TulsiOption.swift */,
				3D94853D1C31924B0026CE41 /* TulsiOptionSet.swift */,
				3DD0DE461C654E79008B0CDF /* TulsiProject.swift */,
				3D250B7E1C5DCE120091C7A5 /* XcodeScheme.swift */,
			);
			name = Models;
			sourceTree = "<group>";
		};
		3DA65B411C68539F0055448E /* Mocks */ = {
			isa = PBXGroup;
			children = (
				3DBEFAEC1C2A3E5900119556 /* MockLocalizedMessageLogger.swift */,
				3DA65B471C685BF30055448E /* MockWorkspaceInfoExtractor.swift */,
			);
			name = Mocks;
			sourceTree = "<group>";
		};
		3DA65B421C6854BA0055448E /* Implementation */ = {
			isa = PBXGroup;
			children = (
				3DCFE5DD1C80B70700D7F31B /* BazelAspectInfoExtractor.swift */,
				3DBCB51F1CCA94E7000801A5 /* BazelErrorExtractor.swift */,
				3D1F2E251CF760420008CE83 /* BazelLocator.swift */,
				3DFAB53A1C17764A0090CC6F /* BazelQueryInfoExtractor.swift */,
				3D7B5EB01C8B7415004786EF /* BazelWorkspaceInfoExtractor.swift */,
				3DFAB53C1C1778640090CC6F /* BazelWorkspaceInfoExtractorProtocol.swift */,
				3DAEE45D1C85128600BA1C67 /* BazelWorkspacePathInfoFetcher.swift */,
				3DFB7C4C1C835EC000376760 /* CommandLineSplitter.swift */,
				8BFC8F461BE7CFC70066E8BA /* GIDGenerator.swift */,
				3DA65B431C6854EF0055448E /* LocalizedMessageLogger.swift */,
				3D47D6B91D13190E005B5BF3 /* NSJSONSerializationExtensions.swift */,
				3D9E1A501C6F87670026EE68 /* NSThreadExtensions.swift */,
				3DA65B5D1C692FA20055448E /* NSURLExtensions.swift */,
				AB18C05C3361CD7B83A8DADF /* PBXProjSerializer.swift */,
				3D7830051C17918D00AF67A4 /* PBXTargetGenerator.swift */,
				3D9F439F1C160AFA00032F32 /* PBXUniformTypeIdentifiers.swift */,
				3DCFE5E11C80B92D00D7F31B /* ProgressNotifier.swift */,
				3DA65B451C68558A0055448E /* XcodeProjectGenerator.swift */,
			);
			name = Implementation;
			sourceTree = "<group>";
		};
		3DAC27671C3AD2510040F42C /* Scripts */ = {
			isa = PBXGroup;
			children = (
				3D329D0D1C4831EF00DFBD0F /* bazel_build.py */,
				3D156AE11C1C8D9C00183439 /* bazel_clean.sh */,
				3DFB7C4A1C81F78000376760 /* command_line_splitter.sh */,
			);
			path = Scripts;
			sourceTree = "<group>";
		};
		3DAEE4641C85EB6100BA1C67 /* TulsiGeneratorBazelIntegrationTests */ = {
			isa = PBXGroup;
			children = (
				3DAEE46E1C85ECEC00BA1C67 /* AspectTests.swift */,
				AB18C7D45D34ACB3B8BC1805 /* BazelIntegrationTestCase.swift */,
				3D7B77B61C907B0A004786EF /* EndToEndGenerationTests.swift */,
				3D25E09F1CF49F5E00959453 /* EndToEndIntegrationTestCase.swift */,
				3DAEE4671C85EB6100BA1C67 /* Info.plist */,
				3DE7F4161CF48ECB002C3498 /* PlatformDependentEndToEndGenerationTests.swift */,
				3DCA3ADB1CB8166100A0BCA2 /* QueryTests.swift */,
				3DAEE4721C8600BE00BA1C67 /* Resources */,
			);
			name = TulsiGeneratorBazelIntegrationTests;
			path = TulsiGeneratorIntegrationTests;
			sourceTree = "<group>";
		};
		3DAEE4721C8600BE00BA1C67 /* Resources */ = {
			isa = PBXGroup;
			children = (
				3D9817681C8A0DBD005BF3E0 /* ComplexSingle.BUILD */,
				3D9677C11D467EAE00799275 /* ComplexSingle.bzl */,
				3D7B77C61C9098A4004786EF /* GoldenProjects */,
				3DAA08841CF48F9D007BE8A2 /* PlatformDependent.BUILD */,
				3DAEE4701C8600B800BA1C67 /* Simple.BUILD */,
				3D062FA11DA6C76900E79AD4 /* Swift.BUILD */,
				3DAE206B1CF497D800C2C0D0 /* test.WORKSPACE */,
				3DC463B71CA2DAAB00DD8A42 /* TestSuite */,
			);
			name = Resources;
			sourceTree = "<group>";
		};
		3DB8F6C41CA9E1060045B0CF /* tulsi */ = {
			isa = PBXGroup;
			children = (
				3DB8F6C01CA9E0FC0045B0CF /* aspect.BUILD */,
				3DB8F6C11CA9E0FC0045B0CF /* tulsi_aspects.bzl */,
			);
			name = tulsi;
			sourceTree = "<group>";
		};
		3DCFE5CE1C80A64600D7F31B /* Bazel */ = {
			isa = PBXGroup;
			children = (
				3DB8F6C41CA9E1060045B0CF /* tulsi */,
				3DCFE5D21C80A64600D7F31B /* WORKSPACE */,
			);
			path = Bazel;
			sourceTree = "<group>";
		};
		3DFAD2691C4FE05900C7D7AF /* Resources */ = {
			isa = PBXGroup;
			children = (
				8B8F559E1BE3ECDC0095AF7F /* Assets.xcassets */,
				3D8B37EF1C4F100F0090F3AD /* BazelOpenSheetAccessoryView.xib */,
				3D167E291C5B1FA700DD485C /* Credits.html */,
				3D3DDD161CCA7BCF00E21FA4 /* ErrorAlertDetailView.xib */,
				8B8F55A31BE3ECDC0095AF7F /* Info.plist */,
				3DF313B91C34898500A34C14 /* Localizable.strings */,
				8B8F55A01BE3ECDC0095AF7F /* Main.storyboard */,
				3D387BAF1C7500B500544AE0 /* NewGeneratorConfigViewController.xib */,
				3DC5CE101CFF3BAC00688AD6 /* NewProjectViewController.xib */,
				8BC3D1031CF3643800D6D10E /* SplashScreenRecentDocumentView.xib */,
				3D7CED5F1CC171E60073204D /* SplashScreenWindowController.xib */,
				3D387BB61C75354C00544AE0 /* XcodeProjectGenerationProgressViewController.xib */,
			);
			name = Resources;
			sourceTree = "<group>";
		};
		8B8F558E1BE3ECDC0095AF7F = {
			isa = PBXGroup;
			children = (
				3DBA776A1D6CAF5E00BD5B7C /* post_processor.xcodeproj */,
				8B8F55981BE3ECDC0095AF7F /* Products */,
				8B8F55991BE3ECDC0095AF7F /* Tulsi */,
				3D9926641C29F0A20094E098 /* TulsiGenerator */,
				3DAEE4641C85EB6100BA1C67 /* TulsiGeneratorBazelIntegrationTests */,
				3D9926721C29F0A30094E098 /* TulsiGeneratorTests */,
				F4469ECD1C5BCA3200BCFAA1 /* XcodeConfig */,
			);
			sourceTree = "<group>";
		};
		8B8F55981BE3ECDC0095AF7F /* Products */ = {
			isa = PBXGroup;
			children = (
				8B8F55971BE3ECDC0095AF7F /* Tulsi.app */,
				3D9926631C29F0A20094E098 /* TulsiGenerator.framework */,
				3D99266C1C29F0A20094E098 /* TulsiGeneratorTests.xctest */,
				3DAEE4631C85EB6100BA1C67 /* TulsiGeneratorIntegrationTests.xctest */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		8B8F55991BE3ECDC0095AF7F /* Tulsi */ = {
			isa = PBXGroup;
			children = (
				8B8F559A1BE3ECDC0095AF7F /* AppDelegate.swift */,
				3DDA83911C7BB1F100CA7BB5 /* BazelSelectionPanel.swift */,
				3D800DE81C6C24C000F4D08C /* BugReporter.swift */,
				8B8F55C71BE410090095AF7F /* ConfigEditorBuildTargetSelectorViewController.swift */,
				8B0F78C71BE5BC7E00357561 /* ConfigEditorSourceFilterViewController.swift */,
				8B8F559C1BE3ECDC0095AF7F /* ConfigEditorWizardViewController.swift */,
				3D53323B1D2425E600951579 /* EventLogger.swift */,
				3DD0DE481C656C15008B0CDF /* FilteredOpenPanel.swift */,
				AB18C78A05BFF81B82FFE890 /* HeadlessModeError.swift */,
				AB18CFC29644CD1B3B860056 /* HeadlessTulsiProjectCreator.swift */,
				3D4E5A411D07123900DAB0B4 /* HeadlessXcodeProjectGenerator.swift */,
				3D9E11B61C6D4D750026EE68 /* main.swift */,
				3DB1FC2A1C32DCBC0080198C /* MessageViewController.swift */,
				3D387BA91C7500A100544AE0 /* NewGeneratorConfigViewController.swift */,
				3DD0DE421C65404F008B0CDF /* NewProjectViewController.swift */,
				3DD0EB0D1C40AEC7005C0469 /* OptionsEditorController.swift */,
				3D084A011C73C902005F5ABA /* OptionsEditorModelProtocol.swift */,
				3D0C9C171C5A87AF00417963 /* OptionsEditorNode.swift */,
				3DCF74B51C34699100521F1F /* OptionsEditorViewController.swift */,
				3DD0EB0F1C40AED8005C0469 /* OptionsTargetSelectorController.swift */,
				3D084A031C73CEEF005F5ABA /* ProjectEditorConfigManagerViewController.swift */,
				3D029C7C1C650DD100779E8E /* ProjectEditorPackageManagerViewController.swift */,
				3DB1FBFB1C31DDCB0080198C /* ProjectEditorSplitViewController.swift */,
				3D0849FB1C73AE77005F5ABA /* ProjectEditorTabViewController.swift */,
				3DFAD2691C4FE05900C7D7AF /* Resources */,
				3D7CED591CC171CD0073204D /* SplashScreenWindowController.swift */,
				AB18C4E9FB80370FC40B500A /* TulsiCommandlineParser.swift */,
				3D91B4DB1C78CE6B006ED85C /* TulsiDocumentController.swift */,
				3D387BB71C761B8800544AE0 /* TulsiError.swift */,
				3D0849F01C739D75005F5ABA /* TulsiGeneratorConfigDocument.swift */,
				8B29E2CF1BF9386200680E11 /* TulsiProjectDocument.swift */,
				3DB1FC1A1C3235E30080198C /* UIMessage.swift */,
				3D9926921C29F1BC0094E098 /* UIRuleEntry.swift */,
				3DF313B31C3488BE00A34C14 /* UISelectableOutlineViewNode.swift */,
				3D7B77421C8F2DD3004786EF /* UISourcePath.swift */,
				3D8B34C11C4ED5D50090F3AD /* WizardSubviewProtocol.swift */,
				3D387BB01C75352E00544AE0 /* XcodeProjectGenerationProgressViewController.swift */,
			);
			path = Tulsi;
			sourceTree = "<group>";
		};
		F4469ECD1C5BCA3200BCFAA1 /* XcodeConfig */ = {
			isa = PBXGroup;
			children = (
				F4469ECE1C5BCA5900BCFAA1 /* TulsiVersion.xcconfig */,
			);
			path = XcodeConfig;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
		3D9926601C29F0A20094E098 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXHeadersBuildPhase section */

/* Begin PBXNativeTarget section */
		3D9926621C29F0A20094E098 /* TulsiGenerator */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 3D99267E1C29F0A30094E098 /* Build configuration list for PBXNativeTarget "TulsiGenerator" */;
			buildPhases = (
				3D99265E1C29F0A20094E098 /* Sources */,
				3D99265F1C29F0A20094E098 /* Frameworks */,
				3D9926601C29F0A20094E098 /* Headers */,
				3D9926611C29F0A20094E098 /* Resources */,
				3DB8F6C71CA9E3440045B0CF /* Copy Tulsi aspect bundle resources */,
				3DBA77761D6CB3EF00BD5B7C /* Copy Utilty resources */,
			);
			buildRules = (
			);
			dependencies = (
				3D648FB11D747B7E00A3DBE2 /* PBXTargetDependency */,
			);
			name = TulsiGenerator;
			productName = TulsiGenerator;
			productReference = 3D9926631C29F0A20094E098 /* TulsiGenerator.framework */;
			productType = "com.apple.product-type.framework";
		};
		3D99266B1C29F0A20094E098 /* TulsiGeneratorTests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 3D9926801C29F0A30094E098 /* Build configuration list for PBXNativeTarget "TulsiGeneratorTests" */;
			buildPhases = (
				3D9926681C29F0A20094E098 /* Sources */,
				3D9926691C29F0A20094E098 /* Frameworks */,
				3D99266A1C29F0A20094E098 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				3D99266F1C29F0A30094E098 /* PBXTargetDependency */,
			);
			name = TulsiGeneratorTests;
			productName = TulsiGeneratorTests;
			productReference = 3D99266C1C29F0A20094E098 /* TulsiGeneratorTests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
		3DAEE4621C85EB6100BA1C67 /* TulsiGeneratorIntegrationTests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 3DAEE46D1C85EB6100BA1C67 /* Build configuration list for PBXNativeTarget "TulsiGeneratorIntegrationTests" */;
			buildPhases = (
				3DAEE45F1C85EB6100BA1C67 /* Sources */,
				3DAEE4601C85EB6100BA1C67 /* Frameworks */,
				3DAEE4611C85EB6100BA1C67 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				3DAEE46A1C85EB6100BA1C67 /* PBXTargetDependency */,
			);
			name = TulsiGeneratorIntegrationTests;
			productName = TulsiGeneratorIntegrationTests;
			productReference = 3DAEE4631C85EB6100BA1C67 /* TulsiGeneratorIntegrationTests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
		8B8F55961BE3ECDC0095AF7F /* Tulsi */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 8B8F55BC1BE3ECDC0095AF7F /* Build configuration list for PBXNativeTarget "Tulsi" */;
			buildPhases = (
				8B8F55931BE3ECDC0095AF7F /* Sources */,
				8B8F55941BE3ECDC0095AF7F /* Frameworks */,
				8B8F55951BE3ECDC0095AF7F /* Resources */,
				3D99267F1C29F0A30094E098 /* Embed Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
				3D9926771C29F0A30094E098 /* PBXTargetDependency */,
			);
			name = Tulsi;
			productName = Tulsi;
			productReference = 8B8F55971BE3ECDC0095AF7F /* Tulsi.app */;
			productType = "com.apple.product-type.application";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		8B8F558F1BE3ECDC0095AF7F /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0720;
				LastUpgradeCheck = 0820;
				ORGANIZATIONNAME = "The Tulsi Authors";
				TargetAttributes = {
					3D9926621C29F0A20094E098 = {
						CreatedOnToolsVersion = 7.2;
						LastSwiftMigration = 0820;
					};
					3D99266B1C29F0A20094E098 = {
						CreatedOnToolsVersion = 7.2;
						LastSwiftMigration = 0820;
					};
					3DAEE4621C85EB6100BA1C67 = {
						CreatedOnToolsVersion = 7.2.1;
						LastSwiftMigration = 0830;
					};
					8B8F55961BE3ECDC0095AF7F = {
						CreatedOnToolsVersion = 7.1;
						LastSwiftMigration = 0820;
					};
				};
			};
			buildConfigurationList = 8B8F55921BE3ECDC0095AF7F /* Build configuration list for PBXProject "Tulsi" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
				Base,
			);
			mainGroup = 8B8F558E1BE3ECDC0095AF7F;
			productRefGroup = 8B8F55981BE3ECDC0095AF7F /* Products */;
			projectDirPath = "";
			projectReferences = (
				{
					ProductGroup = 3D256D161D7131B4007A3ED3 /* Products */;
					ProjectRef = 3DBA776A1D6CAF5E00BD5B7C /* post_processor.xcodeproj */;
				},
			);
			projectRoot = "";
			targets = (
				8B8F55961BE3ECDC0095AF7F /* Tulsi */,
				3D9926621C29F0A20094E098 /* TulsiGenerator */,
				3D99266B1C29F0A20094E098 /* TulsiGeneratorTests */,
				3DAEE4621C85EB6100BA1C67 /* TulsiGeneratorIntegrationTests */,
			);
		};
/* End PBXProject section */

/* Begin PBXReferenceProxy section */
		3D256D1A1D7131B4007A3ED3 /* post_processor */ = {
			isa = PBXReferenceProxy;
			fileType = "compiled.mach-o.executable";
			path = post_processor;
			remoteRef = 3D256D191D7131B4007A3ED3 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
/* End PBXReferenceProxy section */

/* Begin PBXResourcesBuildPhase section */
		3D9926611C29F0A20094E098 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				2D9DB34A1E5DECA40021EAF4 /* XCTRunner.entitlements in Resources */,
				3D329D0E1C4831EF00DFBD0F /* bazel_build.py in Resources */,
				3D9926911C29F1410094E098 /* bazel_clean.sh in Resources */,
				3DFB7C4B1C81F78000376760 /* command_line_splitter.sh in Resources */,
				3DBEFACD1C2A1F7200119556 /* Localizable.strings in Resources */,
				3D9485411C3193F00026CE41 /* Options.strings in Resources */,
				3D5A1B581D1B3485006FC2A6 /* StubInfoPlist.plist in Resources */,
				3DAFE8AE1DF1F23D0055AF56 /* StubIOSAppExtensionInfoPlist.plist in Resources */,
				3DCD08111D779576006ABE5B /* StubWatchOS2AppExtensionInfoPlist.plist in Resources */,
				3D903A7A1D775AE800B034E9 /* StubWatchOS2InfoPlist.plist in Resources */,
				3DCFE5D51C80A64600D7F31B /* WORKSPACE in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		3D99266A1C29F0A20094E098 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		3DAEE4611C85EB6100BA1C67 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				3DAEE4711C8600B800BA1C67 /* Simple.BUILD in Resources */,
				3D9677C21D467EAE00799275 /* ComplexSingle.bzl in Resources */,
				3DAE206C1CF497D800C2C0D0 /* test.WORKSPACE in Resources */,
				3DAA08861CF49316007BE8A2 /* PlatformDependent.BUILD in Resources */,
				3D98176A1C8A0E20005BF3E0 /* ComplexSingle.BUILD in Resources */,
				3DC463B91CA2DAAF00DD8A42 /* TestSuite in Resources */,
				3D062FA31DA6C77500E79AD4 /* Swift.BUILD in Resources */,
				3D7B77C71C9098A4004786EF /* GoldenProjects in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		8B8F55951BE3ECDC0095AF7F /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				8B8F559F1BE3ECDC0095AF7F /* Assets.xcassets in Resources */,
				3DF313B71C34898500A34C14 /* Localizable.strings in Resources */,
				3D8B37ED1C4F100F0090F3AD /* BazelOpenSheetAccessoryView.xib in Resources */,
				3D387BB41C75354C00544AE0 /* XcodeProjectGenerationProgressViewController.xib in Resources */,
				3D7CED5D1CC171E60073204D /* SplashScreenWindowController.xib in Resources */,
				3D387BAD1C7500B500544AE0 /* NewGeneratorConfigViewController.xib in Resources */,
				3D3DDD141CCA7BCF00E21FA4 /* ErrorAlertDetailView.xib in Resources */,
				8BC3D1051CF3643800D6D10E /* SplashScreenRecentDocumentView.xib in Resources */,
				8B8F55A21BE3ECDC0095AF7F /* Main.storyboard in Resources */,
				3DC5CE0E1CFF3BAC00688AD6 /* NewProjectViewController.xib in Resources */,
				3D167E271C5B1FA700DD485C /* Credits.html in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXShellScriptBuildPhase section */
		3DB8F6C71CA9E3440045B0CF /* Copy Tulsi aspect bundle resources */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
				"$(SRCROOT)/TulsiGenerator/Bazel/tulsi/aspect.BUILD",
				"$(SRCROOT)/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl",
			);
			name = "Copy Tulsi aspect bundle resources";
			outputPaths = (
				"${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/tulsi/BUILD",
				"${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/tulsi/tulsi_aspects.bzl",
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "set -eu\nreadonly target_dir=\"${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/tulsi\"\nmkdir -p \"${target_dir}\"\ncp -f \"${SRCROOT}/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl\" \"${target_dir}\"\ncp -f \"${SRCROOT}/TulsiGenerator/Bazel/tulsi/aspect.BUILD\" \"${target_dir}/BUILD\"\n";
			showEnvVarsInLog = 0;
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		3D99265E1C29F0A20094E098 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				3D99268B1C29F1100094E098 /* PBXObjects.swift in Sources */,
				3D123A531C659688002BEBA2 /* TulsiProject.swift in Sources */,
				3D99268A1C29F10B0094E098 /* GIDGenerator.swift in Sources */,
				3D7B5EB11C8B7415004786EF /* BazelWorkspaceInfoExtractor.swift in Sources */,
				3DEC9EDD1CF3421600769251 /* TulsiTaskRunner.swift in Sources */,
				3DBCB5201CCA94E7000801A5 /* BazelErrorExtractor.swift in Sources */,
				3D029B581C6421B400779E8E /* TaskRunner.swift in Sources */,
				3D99268F1C29F1100094E098 /* PBXProjSerializer.swift in Sources */,
				3D99268C1C29F1100094E098 /* PBXUniformTypeIdentifiers.swift in Sources */,
				3D1F2E261CF760420008CE83 /* BazelLocator.swift in Sources */,
				3DAEE45E1C85128600BA1C67 /* BazelWorkspacePathInfoFetcher.swift in Sources */,
				3DCFE5DE1C80B70700D7F31B /* BazelAspectInfoExtractor.swift in Sources */,
				3D51A8001C52C10A00FE90A6 /* TulsiOption.swift in Sources */,
				3DCFE5E21C80B92D00D7F31B /* ProgressNotifier.swift in Sources */,
				3DA65B281C67E9720055448E /* TulsiXcodeProjectGenerator.swift in Sources */,
				3D250B7F1C5DCE120091C7A5 /* XcodeScheme.swift in Sources */,
				3DFB7C4D1C835EC000376760 /* CommandLineSplitter.swift in Sources */,
				3D94853E1C31924B0026CE41 /* TulsiOptionSet.swift in Sources */,
				3D9926871C29F10B0094E098 /* BazelQueryInfoExtractor.swift in Sources */,
				3D8B34BA1C4EB37C0090F3AD /* TulsiNotifications.swift in Sources */,
				3DA65B5E1C692FA20055448E /* NSURLExtensions.swift in Sources */,
				3D9926951C29F1E80094E098 /* RuleEntry.swift in Sources */,
				3DA65B441C6854EF0055448E /* LocalizedMessageLogger.swift in Sources */,
				3D9926891C29F10B0094E098 /* BuildLabel.swift in Sources */,
				3D9926971C29FB180094E098 /* TulsiProjectInfoExtractor.swift in Sources */,
				3DA65B461C68558A0055448E /* XcodeProjectGenerator.swift in Sources */,
				3D9E1A511C6F87670026EE68 /* NSThreadExtensions.swift in Sources */,
				3D99268E1C29F1100094E098 /* BazelWorkspaceInfoExtractorProtocol.swift in Sources */,
				3D9926881C29F10B0094E098 /* PBXTargetGenerator.swift in Sources */,
				3DA65B1B1C67B9DE0055448E /* TulsiGeneratorConfig.swift in Sources */,
				3D47D6BA1D13190E005B5BF3 /* NSJSONSerializationExtensions.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		3D9926681C29F0A20094E098 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				3DBEFAED1C2A3E5900119556 /* MockLocalizedMessageLogger.swift in Sources */,
				3D51A80C1C52CB6C00FE90A6 /* TulsiOptionSetTests.swift in Sources */,
				3DA65B481C685BF30055448E /* MockWorkspaceInfoExtractor.swift in Sources */,
				3D9926811C29F0CC0094E098 /* PBXTargetGeneratorTests.swift in Sources */,
				3D9926821C29F0CC0094E098 /* BuildLabelTests.swift in Sources */,
				3D9926841C29F0CC0094E098 /* PBXObjectsTests.swift in Sources */,
				3DA65B621C693B570055448E /* TulsiGeneratorConfigTests.swift in Sources */,
				3DA65B3E1C6849140055448E /* XcodeProjectGeneratorTests.swift in Sources */,
				3DFB7C4F1C835EFB00376760 /* CommandLineSplitterTests.swift in Sources */,
				3DA65B661C693B7E0055448E /* TulsiProjectTests.swift in Sources */,
				3DA65B601C6930210055448E /* NSURLExtensionsTests.swift in Sources */,
				3D9926851C29F0CC0094E098 /* PBXProjSerializerTests.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		3DAEE45F1C85EB6100BA1C67 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				3DCA3ADC1CB8166100A0BCA2 /* QueryTests.swift in Sources */,
				3DE7F4171CF48ECB002C3498 /* PlatformDependentEndToEndGenerationTests.swift in Sources */,
				3D7B77B71C907B0A004786EF /* EndToEndGenerationTests.swift in Sources */,
				3DAEE46F1C85ECEC00BA1C67 /* AspectTests.swift in Sources */,
				AB18C31C78E730FECC1552EF /* BazelIntegrationTestCase.swift in Sources */,
				3D25E0A01CF49F5E00959453 /* EndToEndIntegrationTestCase.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		8B8F55931BE3ECDC0095AF7F /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				3D387BB81C761B8800544AE0 /* TulsiError.swift in Sources */,
				3DB1FC2B1C32DCBC0080198C /* MessageViewController.swift in Sources */,
				3D4E5A421D07123900DAB0B4 /* HeadlessXcodeProjectGenerator.swift in Sources */,
				3D0849F11C739D75005F5ABA /* TulsiGeneratorConfigDocument.swift in Sources */,
				3DDA83921C7BB1F100CA7BB5 /* BazelSelectionPanel.swift in Sources */,
				3D7CED5B1CC171CD0073204D /* SplashScreenWindowController.swift in Sources */,
				3DF313B41C3488BE00A34C14 /* UISelectableOutlineViewNode.swift in Sources */,
				3DD0DE491C656C15008B0CDF /* FilteredOpenPanel.swift in Sources */,
				3DD0DE441C65404F008B0CDF /* NewProjectViewController.swift in Sources */,
				8B29E2D01BF9386200680E11 /* TulsiProjectDocument.swift in Sources */,
				3D0C9C181C5A87AF00417963 /* OptionsEditorNode.swift in Sources */,
				3D7B77431C8F2DD3004786EF /* UISourcePath.swift in Sources */,
				3D800DE91C6C24C000F4D08C /* BugReporter.swift in Sources */,
				3D387BAB1C7500A100544AE0 /* NewGeneratorConfigViewController.swift in Sources */,
				3D91B4DC1C78CE6B006ED85C /* TulsiDocumentController.swift in Sources */,
				3DCF74B61C34699100521F1F /* OptionsEditorViewController.swift in Sources */,
				3D084A021C73C902005F5ABA /* OptionsEditorModelProtocol.swift in Sources */,
				3D387BB21C75352E00544AE0 /* XcodeProjectGenerationProgressViewController.swift in Sources */,
				3D9926931C29F1BC0094E098 /* UIRuleEntry.swift in Sources */,
				3DD0EB101C40AED8005C0469 /* OptionsTargetSelectorController.swift in Sources */,
				3D9E11B71C6D4D750026EE68 /* main.swift in Sources */,
				3DB1FBFC1C31DDCB0080198C /* ProjectEditorSplitViewController.swift in Sources */,
				3D53323F1D243BE400951579 /* EventLogger.swift in Sources */,
				3DB1FC1B1C3235E30080198C /* UIMessage.swift in Sources */,
				8B8F559D1BE3ECDC0095AF7F /* ConfigEditorWizardViewController.swift in Sources */,
				8B8F559B1BE3ECDC0095AF7F /* AppDelegate.swift in Sources */,
				3D8B34C21C4ED5D50090F3AD /* WizardSubviewProtocol.swift in Sources */,
				3D084A041C73CEEF005F5ABA /* ProjectEditorConfigManagerViewController.swift in Sources */,
				3D0849FC1C73AE77005F5ABA /* ProjectEditorTabViewController.swift in Sources */,
				8B8F55C81BE4100A0095AF7F /* ConfigEditorBuildTargetSelectorViewController.swift in Sources */,
				3D029C7E1C650DD100779E8E /* ProjectEditorPackageManagerViewController.swift in Sources */,
				8B0F78C81BE5BC7E00357561 /* ConfigEditorSourceFilterViewController.swift in Sources */,
				3DD0EB0E1C40AEC7005C0469 /* OptionsEditorController.swift in Sources */,
				AB18CB663B4A10F9BA45D02F /* TulsiCommandlineParser.swift in Sources */,
				AB18CC4A7B1A308E23A1CE6F /* HeadlessTulsiProjectCreator.swift in Sources */,
				AB18C7AE39198BE26CB112C0 /* HeadlessModeError.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		3D648FB11D747B7E00A3DBE2 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			name = post_processor;
			targetProxy = 3D648FB01D747B7E00A3DBE2 /* PBXContainerItemProxy */;
		};
		3D99266F1C29F0A30094E098 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 3D9926621C29F0A20094E098 /* TulsiGenerator */;
			targetProxy = 3D99266E1C29F0A30094E098 /* PBXContainerItemProxy */;
		};
		3D9926771C29F0A30094E098 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 3D9926621C29F0A20094E098 /* TulsiGenerator */;
			targetProxy = 3D9926761C29F0A30094E098 /* PBXContainerItemProxy */;
		};
		3DAEE46A1C85EB6100BA1C67 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 3D9926621C29F0A20094E098 /* TulsiGenerator */;
			targetProxy = 3DAEE4691C85EB6100BA1C67 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin PBXVariantGroup section */
		3D167E291C5B1FA700DD485C /* Credits.html */ = {
			isa = PBXVariantGroup;
			children = (
				3D167E281C5B1FA700DD485C /* Base */,
			);
			name = Credits.html;
			sourceTree = "<group>";
		};
		3D387BAF1C7500B500544AE0 /* NewGeneratorConfigViewController.xib */ = {
			isa = PBXVariantGroup;
			children = (
				3D387BAE1C7500B500544AE0 /* Base */,
			);
			name = NewGeneratorConfigViewController.xib;
			sourceTree = "<group>";
		};
		3D387BB61C75354C00544AE0 /* XcodeProjectGenerationProgressViewController.xib */ = {
			isa = PBXVariantGroup;
			children = (
				3D387BB51C75354C00544AE0 /* Base */,
			);
			name = XcodeProjectGenerationProgressViewController.xib;
			sourceTree = "<group>";
		};
		3D3DDD161CCA7BCF00E21FA4 /* ErrorAlertDetailView.xib */ = {
			isa = PBXVariantGroup;
			children = (
				3D3DDD151CCA7BCF00E21FA4 /* Base */,
			);
			name = ErrorAlertDetailView.xib;
			sourceTree = "<group>";
		};
		3D7CED5F1CC171E60073204D /* SplashScreenWindowController.xib */ = {
			isa = PBXVariantGroup;
			children = (
				3D7CED5E1CC171E60073204D /* Base */,
			);
			name = SplashScreenWindowController.xib;
			sourceTree = "<group>";
		};
		3D8B37EF1C4F100F0090F3AD /* BazelOpenSheetAccessoryView.xib */ = {
			isa = PBXVariantGroup;
			children = (
				3D8B37EE1C4F100F0090F3AD /* Base */,
			);
			name = BazelOpenSheetAccessoryView.xib;
			sourceTree = "<group>";
		};
		3D9485431C3193F00026CE41 /* Options.strings */ = {
			isa = PBXVariantGroup;
			children = (
				3D9485421C3193F00026CE41 /* Base */,
			);
			name = Options.strings;
			sourceTree = "<group>";
		};
		3DBEFACF1C2A1F7200119556 /* Localizable.strings */ = {
			isa = PBXVariantGroup;
			children = (
				3DBEFACE1C2A1F7200119556 /* Base */,
			);
			name = Localizable.strings;
			sourceTree = "<group>";
		};
		3DC5CE101CFF3BAC00688AD6 /* NewProjectViewController.xib */ = {
			isa = PBXVariantGroup;
			children = (
				3DC5CE0F1CFF3BAC00688AD6 /* Base */,
			);
			name = NewProjectViewController.xib;
			sourceTree = "<group>";
		};
		3DF313B91C34898500A34C14 /* Localizable.strings */ = {
			isa = PBXVariantGroup;
			children = (
				3DF313B81C34898500A34C14 /* Base */,
			);
			name = Localizable.strings;
			sourceTree = "<group>";
		};
		8B8F55A01BE3ECDC0095AF7F /* Main.storyboard */ = {
			isa = PBXVariantGroup;
			children = (
				8B8F55A11BE3ECDC0095AF7F /* Base */,
			);
			name = Main.storyboard;
			sourceTree = "<group>";
		};
		8BC3D1031CF3643800D6D10E /* SplashScreenRecentDocumentView.xib */ = {
			isa = PBXVariantGroup;
			children = (
				8BC3D1041CF3643800D6D10E /* Base */,
			);
			name = SplashScreenRecentDocumentView.xib;
			path = ..;
			sourceTree = "<group>";
		};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
		3D99267A1C29F0A30094E098 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				FRAMEWORK_VERSION = A;
				INFOPLIST_FILE = TulsiGenerator/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "com.google.devinfra.${PRODUCT_NAME}";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SKIP_INSTALL = YES;
				VERSIONING_SYSTEM = "";
			};
			name = Debug;
		};
		3D99267B1C29F0A30094E098 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				FRAMEWORK_VERSION = A;
				INFOPLIST_FILE = TulsiGenerator/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "com.google.devinfra.${PRODUCT_NAME}";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SKIP_INSTALL = YES;
				VERSIONING_SYSTEM = "";
			};
			name = Release;
		};
		3D99267C1C29F0A30094E098 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_OPTIMIZATION_LEVEL = 0;
				INFOPLIST_FILE = TulsiGeneratorTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "com.google.devinfra.${PRODUCT_NAME}";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		3D99267D1C29F0A30094E098 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_OPTIMIZATION_LEVEL = 0;
				INFOPLIST_FILE = TulsiGeneratorTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "com.google.devinfra.${PRODUCT_NAME}";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		3DAEE46B1C85EB6100BA1C67 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_IDENTITY = "-";
				COMBINE_HIDPI_IMAGES = YES;
				GCC_OPTIMIZATION_LEVEL = 0;
				INFOPLIST_FILE = TulsiGeneratorIntegrationTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
				MACOSX_DEPLOYMENT_TARGET = 10.11;
				PRODUCT_BUNDLE_IDENTIFIER = com.google.Tulsi.TulsiGeneratorIntegrationTests;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		3DAEE46C1C85EB6100BA1C67 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_IDENTITY = "-";
				COMBINE_HIDPI_IMAGES = YES;
				GCC_OPTIMIZATION_LEVEL = 0;
				INFOPLIST_FILE = TulsiGeneratorIntegrationTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
				MACOSX_DEPLOYMENT_TARGET = 10.11;
				PRODUCT_BUNDLE_IDENTIFIER = com.google.Tulsi.TulsiGeneratorIntegrationTests;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		8B8F55BA1BE3ECDC0095AF7F /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = F4469ECE1C5BCA5900BCFAA1 /* TulsiVersion.xcconfig */;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_ASSIGN_ENUM = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_NULLABLE_TO_NONNULL_CONVERSION = YES;
				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				COMBINE_HIDPI_IMAGES = YES;
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = dwarf;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				ENABLE_TESTABILITY = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
				GCC_WARN_SHADOW = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_LABEL = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				MACOSX_DEPLOYMENT_TARGET = 10.10;
				MTL_ENABLE_DEBUG_INFO = YES;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_SWIFT_FLAGS = "-DDEBUG";
				SDKROOT = macosx;
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
				SWIFT_VERSION = 3.0;
				USE_HEADERMAP = NO;
			};
			name = Debug;
		};
		8B8F55BB1BE3ECDC0095AF7F /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = F4469ECE1C5BCA5900BCFAA1 /* TulsiVersion.xcconfig */;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_ASSIGN_ENUM = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_NULLABLE_TO_NONNULL_CONVERSION = YES;
				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				COMBINE_HIDPI_IMAGES = YES;
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				ENABLE_NS_ASSERTIONS = NO;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
				GCC_WARN_SHADOW = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_LABEL = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				MACOSX_DEPLOYMENT_TARGET = 10.10;
				MTL_ENABLE_DEBUG_INFO = NO;
				SDKROOT = macosx;
				SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
				SWIFT_VERSION = 3.0;
				USE_HEADERMAP = NO;
			};
			name = Release;
		};
		8B8F55BD1BE3ECDC0095AF7F /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				INFOPLIST_FILE = Tulsi/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "com.google.${PRODUCT_NAME}";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		8B8F55BE1BE3ECDC0095AF7F /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				INFOPLIST_FILE = Tulsi/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "com.google.${PRODUCT_NAME}";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		3D99267E1C29F0A30094E098 /* Build configuration list for PBXNativeTarget "TulsiGenerator" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				3D99267A1C29F0A30094E098 /* Debug */,
				3D99267B1C29F0A30094E098 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		3D9926801C29F0A30094E098 /* Build configuration list for PBXNativeTarget "TulsiGeneratorTests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				3D99267C1C29F0A30094E098 /* Debug */,
				3D99267D1C29F0A30094E098 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		3DAEE46D1C85EB6100BA1C67 /* Build configuration list for PBXNativeTarget "TulsiGeneratorIntegrationTests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				3DAEE46B1C85EB6100BA1C67 /* Debug */,
				3DAEE46C1C85EB6100BA1C67 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		8B8F55921BE3ECDC0095AF7F /* Build configuration list for PBXProject "Tulsi" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				8B8F55BA1BE3ECDC0095AF7F /* Debug */,
				8B8F55BB1BE3ECDC0095AF7F /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		8B8F55BC1BE3ECDC0095AF7F /* Build configuration list for PBXNativeTarget "Tulsi" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				8B8F55BD1BE3ECDC0095AF7F /* Debug */,
				8B8F55BE1BE3ECDC0095AF7F /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 8B8F558F1BE3ECDC0095AF7F /* Project object */;
}
