// !$*UTF8*$! { archiveVersion = 1; classes = { }; objectVersion = 46; objects = { /* Begin PBXBuildFile section */ 10EAADFFB07A1A8721B25D6B /* MockNetworkService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24923AF5D038F81EB3248A4C /* MockNetworkService.swift */; }; 128B1C7150980D1FBE511B79 /* RecordingEnvironmentDetector.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB09EA3EE9CFFADB34B5B43A /* RecordingEnvironmentDetector.swift */; }; 15EAFA0DBF80C789F02C5119 /* ProfileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086899076999CD4909BB9748 /* ProfileView.swift */; }; 1A9161A601EB0954CD4B8A76 /* NetworkServiceProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F2D8AEE2E58FE0F2EF531D0 /* NetworkServiceProtocol.swift */; }; 24472E311A9EB0785297B008 /* UserAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51A1BE84E0C74D9F7BE9DC3E /* UserAccount.swift */; }; 24D8D6477ED27DF7009D383C /* HapticManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAC9AB65FF3C9678A6192C88 /* HapticManager.swift */; }; 26D05B0A440FC9B26E89E4F0 /* AuthServiceProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CDFF4B7FD8488111C99DADF /* AuthServiceProtocol.swift */; }; 2C16272F61F8B36A2EF69129 /* SessionDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FE663DCAAC5D1765BA31A3D /* SessionDetailView.swift */; }; 2FD7EE603C849E281034CDD8 /* SyncAuthPromptModal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C76F629F3460D6F077C3708 /* SyncAuthPromptModal.swift */; }; 36E871DAD9477A21AE2F01B7 /* AuthModalView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E10ED811D3048B961C4754A6 /* AuthModalView.swift */; }; 3A7E453FDCA5DA9F96194B23 /* CelestiaTraceApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 628549E7FC16C58A15C9E1B7 /* CelestiaTraceApp.swift */; }; 403219D9D8C972EC2AA8F84E /* EditProfileModalView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA13A08133A50094CBFFDDF9 /* EditProfileModalView.swift */; }; 44732C9690578EEFC6840D05 /* DeviceListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8CB67D1B2BDECAA772F3935 /* DeviceListView.swift */; }; 490825791613AC52D06ECFA7 /* CelestiaSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83CE4996BF0CC501E3B7C567 /* CelestiaSession.swift */; }; 4F4476444CB6838B2BE6EE87 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71787388F9456A4784534BCC /* ContentView.swift */; }; 503E109CBBC69E3015AE37A3 /* SilenceDetector.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEED3C75367F66D6D6CE745D /* SilenceDetector.swift */; }; 58EFA65370C61ED9A8EE6627 /* ActiveRecordingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7B9693BD9924C08A1F2ECD1 /* ActiveRecordingView.swift */; }; 70A52B64861B541B4C9423AC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5353BBE8E9552B4B486D8701 /* Foundation.framework */; }; 75AE08DD135D81A3E19190EE /* DiscreetWarningBanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F4B4B59E0916CE9ACFF362F /* DiscreetWarningBanner.swift */; }; 7CA015A965BD30FAB3A92507 /* AuthManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 073CAFDB8C45F4EAA33FA0EA /* AuthManager.swift */; }; 8B5C51BB4474283BDF4ADACB /* LiveWaveformView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1189E47F735DDB40D1E741E6 /* LiveWaveformView.swift */; }; 8FBEE86CDB9635710EF85F1B /* BLEManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = F52FB139E193DBAC41F9D3F6 /* BLEManager.swift */; }; 8FF835BDBD2A0E3551462510 /* LocalAuthRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8211C786643CA85F12CCAB4 /* LocalAuthRepository.swift */; }; 936A52ADE1ECF30D3650B8D8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5353BBE8E9552B4B486D8701 /* Foundation.framework */; }; 93F943133BCD792D991AA8E3 /* AudioChunk.swift in Sources */ = {isa = PBXBuildFile; fileRef = 320789BA1CB176C4DBC51E99 /* AudioChunk.swift */; }; 96791550D01A4FD10EEB9BA3 /* RecordingViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64180D833523B84195EE7E2A /* RecordingViewModel.swift */; }; 9BDA680497BF5DD72A7BA8F3 /* HomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6305E60488EEABAFE2E1D6D8 /* HomeView.swift */; }; 9C5A0C9CDFCB8CFB10FF0B06 /* DeviceScanView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7063E6702335B02B65775F4 /* DeviceScanView.swift */; }; 9E4554980E7FF484BF400458 /* MultiTrackTimeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DC9982D9E53E1A77CDB0470 /* MultiTrackTimeline.swift */; }; A3F43A5200A626CBFB70395E /* CelestiaTimelineEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DAA0FBAEC0BF91F45D15B1E /* CelestiaTimelineEvent.swift */; }; AF09E026C9AB15874D870E1F /* PulsingRecordButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77D23B83EDDD5489004E42DC /* PulsingRecordButton.swift */; }; B262A6AF17A835DB666B2FAB /* SessionListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EBB5FC2AC0B9D31C7A04715 /* SessionListView.swift */; }; BE12EF8734ABF645B2B28BBB /* PlaybackViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = E528009D607763F9E68EFBAD /* PlaybackViewModel.swift */; }; C2807F9F2794AFA8BF03F104 /* ChangePasswordModalView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66BE0E22B2A472E2AFC9CB98 /* ChangePasswordModalView.swift */; }; C8794B9720CD85F518A82473 /* BoundDevice.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EF9EF0F961DB2B546B9C0F1 /* BoundDevice.swift */; }; CD45B55AB993D054E50A43BE /* RealAudioRecorder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 977EB01CFA491A1573D7CF22 /* RealAudioRecorder.swift */; }; DDC0D9C4883B4861CBC74C39 /* ChronoFeedRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9275B988BEBBEA80370E1AC4 /* ChronoFeedRow.swift */; }; E78FC729614A4C93C97D564D /* ColorTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95AF20E8EF4319BBEBA608C1 /* ColorTheme.swift */; }; F385E2FCB06D39917F51846E /* AudioRecorderProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B407473A307EEAF2CB5EE94 /* AudioRecorderProtocol.swift */; }; F3CB51CC262E0F4929EB129B /* RemoteAuthServiceStub.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E13AE9CB7E8C9E3BACFC679 /* RemoteAuthServiceStub.swift */; }; F5035B942DE1FEC10515D9D6 /* ImagePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = DADF67536C0CF9AE7F405C74 /* ImagePicker.swift */; }; FD30DBB57E19055AB8F0A956 /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4883D42730E6133FCC3C81C2 /* SettingsView.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ 55C3FF8383E750C9C9453EC5 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 979128538DFF0B361F857241 /* Project object */; proxyType = 1; remoteGlobalIDString = EC79DCF0EBB2620B0FC21573; remoteInfo = CelestiaTrace; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ 073CAFDB8C45F4EAA33FA0EA /* AuthManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AuthManager.swift; sourceTree = ""; }; 086899076999CD4909BB9748 /* ProfileView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ProfileView.swift; sourceTree = ""; }; 0EBB5FC2AC0B9D31C7A04715 /* SessionListView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SessionListView.swift; sourceTree = ""; }; 1189E47F735DDB40D1E741E6 /* LiveWaveformView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LiveWaveformView.swift; sourceTree = ""; }; 1DC9982D9E53E1A77CDB0470 /* MultiTrackTimeline.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MultiTrackTimeline.swift; sourceTree = ""; }; 1EF9EF0F961DB2B546B9C0F1 /* BoundDevice.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BoundDevice.swift; sourceTree = ""; }; 24923AF5D038F81EB3248A4C /* MockNetworkService.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MockNetworkService.swift; sourceTree = ""; }; 320789BA1CB176C4DBC51E99 /* AudioChunk.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AudioChunk.swift; sourceTree = ""; }; 3C76F629F3460D6F077C3708 /* SyncAuthPromptModal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SyncAuthPromptModal.swift; sourceTree = ""; }; 3FE663DCAAC5D1765BA31A3D /* SessionDetailView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SessionDetailView.swift; sourceTree = ""; }; 4883D42730E6133FCC3C81C2 /* SettingsView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = ""; }; 4B407473A307EEAF2CB5EE94 /* AudioRecorderProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AudioRecorderProtocol.swift; sourceTree = ""; }; 4DAA0FBAEC0BF91F45D15B1E /* CelestiaTimelineEvent.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CelestiaTimelineEvent.swift; sourceTree = ""; }; 4E13AE9CB7E8C9E3BACFC679 /* RemoteAuthServiceStub.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RemoteAuthServiceStub.swift; sourceTree = ""; }; 4F4B4B59E0916CE9ACFF362F /* DiscreetWarningBanner.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DiscreetWarningBanner.swift; sourceTree = ""; }; 51A1BE84E0C74D9F7BE9DC3E /* UserAccount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = UserAccount.swift; sourceTree = ""; }; 5353BBE8E9552B4B486D8701 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; 628549E7FC16C58A15C9E1B7 /* CelestiaTraceApp.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CelestiaTraceApp.swift; sourceTree = ""; }; 6305E60488EEABAFE2E1D6D8 /* HomeView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = HomeView.swift; sourceTree = ""; }; 64180D833523B84195EE7E2A /* RecordingViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RecordingViewModel.swift; sourceTree = ""; }; 66BE0E22B2A472E2AFC9CB98 /* ChangePasswordModalView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ChangePasswordModalView.swift; sourceTree = ""; }; 71729F8F4A48D77C1898C27B /* CelestiaTraceTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CelestiaTraceTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 71787388F9456A4784534BCC /* ContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; 77D23B83EDDD5489004E42DC /* PulsingRecordButton.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PulsingRecordButton.swift; sourceTree = ""; }; 7F2D8AEE2E58FE0F2EF531D0 /* NetworkServiceProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NetworkServiceProtocol.swift; sourceTree = ""; }; 83CE4996BF0CC501E3B7C567 /* CelestiaSession.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CelestiaSession.swift; sourceTree = ""; }; 8CDFF4B7FD8488111C99DADF /* AuthServiceProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AuthServiceProtocol.swift; sourceTree = ""; }; 9275B988BEBBEA80370E1AC4 /* ChronoFeedRow.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ChronoFeedRow.swift; sourceTree = ""; }; 95AF20E8EF4319BBEBA608C1 /* ColorTheme.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ColorTheme.swift; sourceTree = ""; }; 977EB01CFA491A1573D7CF22 /* RealAudioRecorder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RealAudioRecorder.swift; sourceTree = ""; }; AA13A08133A50094CBFFDDF9 /* EditProfileModalView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EditProfileModalView.swift; sourceTree = ""; }; AEED3C75367F66D6D6CE745D /* SilenceDetector.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SilenceDetector.swift; sourceTree = ""; }; B7B9693BD9924C08A1F2ECD1 /* ActiveRecordingView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ActiveRecordingView.swift; sourceTree = ""; }; B8211C786643CA85F12CCAB4 /* LocalAuthRepository.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LocalAuthRepository.swift; sourceTree = ""; }; DADF67536C0CF9AE7F405C74 /* ImagePicker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ImagePicker.swift; sourceTree = ""; }; DB09EA3EE9CFFADB34B5B43A /* RecordingEnvironmentDetector.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RecordingEnvironmentDetector.swift; sourceTree = ""; }; DB56F0DFCB1FE77D7636B43D /* CelestiaTrace.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CelestiaTrace.app; sourceTree = BUILT_PRODUCTS_DIR; }; E10ED811D3048B961C4754A6 /* AuthModalView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AuthModalView.swift; sourceTree = ""; }; E528009D607763F9E68EFBAD /* PlaybackViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PlaybackViewModel.swift; sourceTree = ""; }; E7063E6702335B02B65775F4 /* DeviceScanView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DeviceScanView.swift; sourceTree = ""; }; EAC9AB65FF3C9678A6192C88 /* HapticManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = HapticManager.swift; sourceTree = ""; }; F52FB139E193DBAC41F9D3F6 /* BLEManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BLEManager.swift; sourceTree = ""; }; F8CB67D1B2BDECAA772F3935 /* DeviceListView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DeviceListView.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ 41887A64604410C0C61AEBD5 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 70A52B64861B541B4C9423AC /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; 6FF5C5F71B01A15E70EBC20C /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 936A52ADE1ECF30D3650B8D8 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ 21AD838392427D841273B592 /* Detail */ = { isa = PBXGroup; children = ( 3FE663DCAAC5D1765BA31A3D /* SessionDetailView.swift */, 9275B988BEBBEA80370E1AC4 /* ChronoFeedRow.swift */, 1DC9982D9E53E1A77CDB0470 /* MultiTrackTimeline.swift */, ); path = Detail; sourceTree = ""; }; 2297351526BD0F24ED0714A0 /* Products */ = { isa = PBXGroup; children = ( DB56F0DFCB1FE77D7636B43D /* CelestiaTrace.app */, 71729F8F4A48D77C1898C27B /* CelestiaTraceTests.xctest */, ); name = Products; sourceTree = ""; }; 2626EC2897F60B86D833D875 /* Models */ = { isa = PBXGroup; children = ( 83CE4996BF0CC501E3B7C567 /* CelestiaSession.swift */, 4DAA0FBAEC0BF91F45D15B1E /* CelestiaTimelineEvent.swift */, 320789BA1CB176C4DBC51E99 /* AudioChunk.swift */, 1EF9EF0F961DB2B546B9C0F1 /* BoundDevice.swift */, 51A1BE84E0C74D9F7BE9DC3E /* UserAccount.swift */, ); path = Models; sourceTree = ""; }; 31A0E1032B1847F49A6241BD /* Home */ = { isa = PBXGroup; children = ( 6305E60488EEABAFE2E1D6D8 /* HomeView.swift */, ); path = Home; sourceTree = ""; }; 32200F0540C3761CA9D1495A /* CelestiaTraceTests */ = { isa = PBXGroup; children = ( ); name = CelestiaTraceTests; path = Tests/CelestiaTraceTests; sourceTree = ""; }; 44E01A3C9C72DBC8106DEE17 /* Profile */ = { isa = PBXGroup; children = ( 086899076999CD4909BB9748 /* ProfileView.swift */, 7249FD4D94237968D3D5F3AC /* Auth */, F7861FD2C1283A2FC2FDB934 /* Devices */, ); path = Profile; sourceTree = ""; }; 565448EB878982B445E267AF /* Frameworks */ = { isa = PBXGroup; children = ( AA9F20B44A68E171B39266B0 /* iOS */, ); name = Frameworks; sourceTree = ""; }; 5BCD8C04CE34AA3B16B8C831 /* Auth */ = { isa = PBXGroup; children = ( B8211C786643CA85F12CCAB4 /* LocalAuthRepository.swift */, 8CDFF4B7FD8488111C99DADF /* AuthServiceProtocol.swift */, 4E13AE9CB7E8C9E3BACFC679 /* RemoteAuthServiceStub.swift */, 073CAFDB8C45F4EAA33FA0EA /* AuthManager.swift */, ); path = Auth; sourceTree = ""; }; 7249FD4D94237968D3D5F3AC /* Auth */ = { isa = PBXGroup; children = ( E10ED811D3048B961C4754A6 /* AuthModalView.swift */, 66BE0E22B2A472E2AFC9CB98 /* ChangePasswordModalView.swift */, AA13A08133A50094CBFFDDF9 /* EditProfileModalView.swift */, ); path = Auth; sourceTree = ""; }; 7B90B8D292E18F60A02CDFE2 /* Views */ = { isa = PBXGroup; children = ( B7A7A2A0082F059CCD6BE791 /* Settings */, 31A0E1032B1847F49A6241BD /* Home */, BC1D87D6D1785EA7D6AA6AF7 /* Recording */, ADD73EAAF268C8B37E097585 /* Components */, 21AD838392427D841273B592 /* Detail */, 44E01A3C9C72DBC8106DEE17 /* Profile */, 96406E65C0CB98B68F7082F4 /* History */, 71787388F9456A4784534BCC /* ContentView.swift */, ); path = Views; sourceTree = ""; }; 96406E65C0CB98B68F7082F4 /* History */ = { isa = PBXGroup; children = ( 0EBB5FC2AC0B9D31C7A04715 /* SessionListView.swift */, ); path = History; sourceTree = ""; }; AA9F20B44A68E171B39266B0 /* iOS */ = { isa = PBXGroup; children = ( 5353BBE8E9552B4B486D8701 /* Foundation.framework */, ); name = iOS; sourceTree = ""; }; ADD73EAAF268C8B37E097585 /* Components */ = { isa = PBXGroup; children = ( 4F4B4B59E0916CE9ACFF362F /* DiscreetWarningBanner.swift */, DADF67536C0CF9AE7F405C74 /* ImagePicker.swift */, 3C76F629F3460D6F077C3708 /* SyncAuthPromptModal.swift */, 77D23B83EDDD5489004E42DC /* PulsingRecordButton.swift */, ); path = Components; sourceTree = ""; }; AF823CBC596A095A54F096C1 /* Bluetooth */ = { isa = PBXGroup; children = ( F52FB139E193DBAC41F9D3F6 /* BLEManager.swift */, ); path = Bluetooth; sourceTree = ""; }; B33580BE3AF0DC9085B1D3A1 /* Services */ = { isa = PBXGroup; children = ( 5BCD8C04CE34AA3B16B8C831 /* Auth */, EAC9AB65FF3C9678A6192C88 /* HapticManager.swift */, DB59940538488B1E753621A8 /* Network */, FD4D76A3358AAF1519C279F1 /* Audio */, AF823CBC596A095A54F096C1 /* Bluetooth */, ); path = Services; sourceTree = ""; }; B5CB52A86415BBB0B9DCE932 /* CelestiaTrace */ = { isa = PBXGroup; children = ( CC066F5A1023EDB077FDD88E /* ViewModels */, DA204128E169127A0B8C4B30 /* App */, 2626EC2897F60B86D833D875 /* Models */, 7B90B8D292E18F60A02CDFE2 /* Views */, B33580BE3AF0DC9085B1D3A1 /* Services */, ); path = CelestiaTrace; sourceTree = ""; }; B7A7A2A0082F059CCD6BE791 /* Settings */ = { isa = PBXGroup; children = ( 4883D42730E6133FCC3C81C2 /* SettingsView.swift */, ); path = Settings; sourceTree = ""; }; BC1D87D6D1785EA7D6AA6AF7 /* Recording */ = { isa = PBXGroup; children = ( B7B9693BD9924C08A1F2ECD1 /* ActiveRecordingView.swift */, 1189E47F735DDB40D1E741E6 /* LiveWaveformView.swift */, ); path = Recording; sourceTree = ""; }; CC066F5A1023EDB077FDD88E /* ViewModels */ = { isa = PBXGroup; children = ( E528009D607763F9E68EFBAD /* PlaybackViewModel.swift */, 64180D833523B84195EE7E2A /* RecordingViewModel.swift */, ); path = ViewModels; sourceTree = ""; }; D9CB1BAF8E8DB5E4E073CC77 = { isa = PBXGroup; children = ( 2297351526BD0F24ED0714A0 /* Products */, 565448EB878982B445E267AF /* Frameworks */, B5CB52A86415BBB0B9DCE932 /* CelestiaTrace */, 32200F0540C3761CA9D1495A /* CelestiaTraceTests */, ); sourceTree = ""; }; DA204128E169127A0B8C4B30 /* App */ = { isa = PBXGroup; children = ( 95AF20E8EF4319BBEBA608C1 /* ColorTheme.swift */, 628549E7FC16C58A15C9E1B7 /* CelestiaTraceApp.swift */, ); path = App; sourceTree = ""; }; DB59940538488B1E753621A8 /* Network */ = { isa = PBXGroup; children = ( 7F2D8AEE2E58FE0F2EF531D0 /* NetworkServiceProtocol.swift */, 24923AF5D038F81EB3248A4C /* MockNetworkService.swift */, ); path = Network; sourceTree = ""; }; F7861FD2C1283A2FC2FDB934 /* Devices */ = { isa = PBXGroup; children = ( F8CB67D1B2BDECAA772F3935 /* DeviceListView.swift */, E7063E6702335B02B65775F4 /* DeviceScanView.swift */, ); path = Devices; sourceTree = ""; }; FD4D76A3358AAF1519C279F1 /* Audio */ = { isa = PBXGroup; children = ( AEED3C75367F66D6D6CE745D /* SilenceDetector.swift */, DB09EA3EE9CFFADB34B5B43A /* RecordingEnvironmentDetector.swift */, 977EB01CFA491A1573D7CF22 /* RealAudioRecorder.swift */, 4B407473A307EEAF2CB5EE94 /* AudioRecorderProtocol.swift */, ); path = Audio; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ D5681575EDB1ABEE4093C509 /* CelestiaTraceTests */ = { isa = PBXNativeTarget; buildConfigurationList = 0E7E08AA696927CB2EBFCE00 /* Build configuration list for PBXNativeTarget "CelestiaTraceTests" */; buildPhases = ( 1F77E010196A2F5F89E27F19 /* Sources */, 41887A64604410C0C61AEBD5 /* Frameworks */, D875758EF038ED00E0A14D96 /* Resources */, ); buildRules = ( ); dependencies = ( 6F0B632A5E411D7F9FFE0767 /* PBXTargetDependency */, ); name = CelestiaTraceTests; productName = CelestiaTraceTests; productReference = 71729F8F4A48D77C1898C27B /* CelestiaTraceTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; EC79DCF0EBB2620B0FC21573 /* CelestiaTrace */ = { isa = PBXNativeTarget; buildConfigurationList = 902A4F79574BE80E9469463E /* Build configuration list for PBXNativeTarget "CelestiaTrace" */; buildPhases = ( 9E60C6991F09AB5E80EF4283 /* Sources */, 6FF5C5F71B01A15E70EBC20C /* Frameworks */, 2B844E255303FD43D7D16A02 /* Resources */, ); buildRules = ( ); dependencies = ( ); name = CelestiaTrace; productName = CelestiaTrace; productReference = DB56F0DFCB1FE77D7636B43D /* CelestiaTrace.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 979128538DFF0B361F857241 /* Project object */ = { isa = PBXProject; attributes = { LastSwiftUpdateCheck = 1600; LastUpgradeCheck = 1600; TargetAttributes = { EC79DCF0EBB2620B0FC21573 = { DevelopmentTeam = 5ERVQEJ497; ProvisioningStyle = Automatic; }; }; }; buildConfigurationList = C378CBFE73C70F1388740C61 /* Build configuration list for PBXProject "CelestiaTrace" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, Base, ); mainGroup = D9CB1BAF8E8DB5E4E073CC77; productRefGroup = 2297351526BD0F24ED0714A0 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( EC79DCF0EBB2620B0FC21573 /* CelestiaTrace */, D5681575EDB1ABEE4093C509 /* CelestiaTraceTests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ 2B844E255303FD43D7D16A02 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; D875758EF038ED00E0A14D96 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ 1F77E010196A2F5F89E27F19 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; 9E60C6991F09AB5E80EF4283 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( BE12EF8734ABF645B2B28BBB /* PlaybackViewModel.swift in Sources */, 96791550D01A4FD10EEB9BA3 /* RecordingViewModel.swift in Sources */, E78FC729614A4C93C97D564D /* ColorTheme.swift in Sources */, 3A7E453FDCA5DA9F96194B23 /* CelestiaTraceApp.swift in Sources */, 490825791613AC52D06ECFA7 /* CelestiaSession.swift in Sources */, A3F43A5200A626CBFB70395E /* CelestiaTimelineEvent.swift in Sources */, 93F943133BCD792D991AA8E3 /* AudioChunk.swift in Sources */, C8794B9720CD85F518A82473 /* BoundDevice.swift in Sources */, 24472E311A9EB0785297B008 /* UserAccount.swift in Sources */, FD30DBB57E19055AB8F0A956 /* SettingsView.swift in Sources */, 9BDA680497BF5DD72A7BA8F3 /* HomeView.swift in Sources */, 58EFA65370C61ED9A8EE6627 /* ActiveRecordingView.swift in Sources */, 8B5C51BB4474283BDF4ADACB /* LiveWaveformView.swift in Sources */, 75AE08DD135D81A3E19190EE /* DiscreetWarningBanner.swift in Sources */, F5035B942DE1FEC10515D9D6 /* ImagePicker.swift in Sources */, 2FD7EE603C849E281034CDD8 /* SyncAuthPromptModal.swift in Sources */, AF09E026C9AB15874D870E1F /* PulsingRecordButton.swift in Sources */, 2C16272F61F8B36A2EF69129 /* SessionDetailView.swift in Sources */, DDC0D9C4883B4861CBC74C39 /* ChronoFeedRow.swift in Sources */, 9E4554980E7FF484BF400458 /* MultiTrackTimeline.swift in Sources */, 15EAFA0DBF80C789F02C5119 /* ProfileView.swift in Sources */, 36E871DAD9477A21AE2F01B7 /* AuthModalView.swift in Sources */, C2807F9F2794AFA8BF03F104 /* ChangePasswordModalView.swift in Sources */, 403219D9D8C972EC2AA8F84E /* EditProfileModalView.swift in Sources */, 44732C9690578EEFC6840D05 /* DeviceListView.swift in Sources */, 9C5A0C9CDFCB8CFB10FF0B06 /* DeviceScanView.swift in Sources */, B262A6AF17A835DB666B2FAB /* SessionListView.swift in Sources */, 4F4476444CB6838B2BE6EE87 /* ContentView.swift in Sources */, 8FF835BDBD2A0E3551462510 /* LocalAuthRepository.swift in Sources */, 26D05B0A440FC9B26E89E4F0 /* AuthServiceProtocol.swift in Sources */, F3CB51CC262E0F4929EB129B /* RemoteAuthServiceStub.swift in Sources */, 7CA015A965BD30FAB3A92507 /* AuthManager.swift in Sources */, 24D8D6477ED27DF7009D383C /* HapticManager.swift in Sources */, 1A9161A601EB0954CD4B8A76 /* NetworkServiceProtocol.swift in Sources */, 10EAADFFB07A1A8721B25D6B /* MockNetworkService.swift in Sources */, 503E109CBBC69E3015AE37A3 /* SilenceDetector.swift in Sources */, 128B1C7150980D1FBE511B79 /* RecordingEnvironmentDetector.swift in Sources */, CD45B55AB993D054E50A43BE /* RealAudioRecorder.swift in Sources */, F385E2FCB06D39917F51846E /* AudioRecorderProtocol.swift in Sources */, 8FBEE86CDB9635710EF85F1B /* BLEManager.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ 6F0B632A5E411D7F9FFE0767 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = CelestiaTrace; target = EC79DCF0EBB2620B0FC21573 /* CelestiaTrace */; targetProxy = 55C3FF8383E750C9C9453EC5 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ 76F4E0F0A78EC9D84B954B50 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = 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_NON_LITERAL_NULL_CONVERSION = YES; CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; 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_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; }; name = Debug; }; 95AB591F506D02959044D749 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_STYLE = Automatic; DEVELOPMENT_ASSET_PATHS = "\"\""; DEVELOPMENT_TEAM = 5ERVQEJ497; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_NSBluetoothAlwaysUsageDescription = "需要蓝牙权限以扫描和绑定 BLE 录音设备"; INFOPLIST_KEY_NSBluetoothPeripheralUsageDescription = "需要蓝牙权限以与录音设备传输数据"; INFOPLIST_KEY_NSCameraUsageDescription = "需要相机权限以在现场录制中拍摄照片记录"; INFOPLIST_KEY_NSMicrophoneUsageDescription = "需要麦克风权限以进行会议现场的音轨录音"; INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "需要相册权限以选择照片记录"; INFOPLIST_KEY_UILaunchScreen_Generation = YES; INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; IPHONEOS_DEPLOYMENT_TARGET = 17.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.celestia.trace; SDKROOT = iphoneos; SWIFT_VERSION = 5.9; TARGETED_DEVICE_FAMILY = 1; }; name = Debug; }; B1CCB86EBE298ADE0B572050 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_STYLE = Automatic; DEVELOPMENT_ASSET_PATHS = "\"\""; DEVELOPMENT_TEAM = 5ERVQEJ497; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_NSBluetoothAlwaysUsageDescription = "需要蓝牙权限以扫描和绑定 BLE 录音设备"; INFOPLIST_KEY_NSBluetoothPeripheralUsageDescription = "需要蓝牙权限以与录音设备传输数据"; INFOPLIST_KEY_NSCameraUsageDescription = "需要相机权限以在现场录制中拍摄照片记录"; INFOPLIST_KEY_NSMicrophoneUsageDescription = "需要麦克风权限以进行会议现场的音轨录音"; INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "需要相册权限以选择照片记录"; INFOPLIST_KEY_UILaunchScreen_Generation = YES; INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; IPHONEOS_DEPLOYMENT_TARGET = 17.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.celestia.trace; SDKROOT = iphoneos; SWIFT_VERSION = 5.9; TARGETED_DEVICE_FAMILY = 1; VALIDATE_PRODUCT = YES; }; name = Release; }; B827886CD5B378B8C90638F7 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ENABLE_OBJC_WEAK = NO; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 17.0; SDKROOT = iphoneos; SWIFT_VERSION = 5.9; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CelestiaTrace.app/CelestiaTrace"; TEST_TARGET_NAME = CelestiaTrace; VALIDATE_PRODUCT = YES; }; name = Release; }; BCD7DB2413FD475C8DCF0B12 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = 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_NON_LITERAL_NULL_CONVERSION = YES; CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; SWIFT_VERSION = 5.0; }; name = Release; }; D16E5B27804289B138250469 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ENABLE_OBJC_WEAK = NO; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 17.0; SDKROOT = iphoneos; SWIFT_VERSION = 5.9; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CelestiaTrace.app/CelestiaTrace"; TEST_TARGET_NAME = CelestiaTrace; }; name = Debug; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ 0E7E08AA696927CB2EBFCE00 /* Build configuration list for PBXNativeTarget "CelestiaTraceTests" */ = { isa = XCConfigurationList; buildConfigurations = ( B827886CD5B378B8C90638F7 /* Release */, D16E5B27804289B138250469 /* Debug */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; 902A4F79574BE80E9469463E /* Build configuration list for PBXNativeTarget "CelestiaTrace" */ = { isa = XCConfigurationList; buildConfigurations = ( B1CCB86EBE298ADE0B572050 /* Release */, 95AB591F506D02959044D749 /* Debug */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; C378CBFE73C70F1388740C61 /* Build configuration list for PBXProject "CelestiaTrace" */ = { isa = XCConfigurationList; buildConfigurations = ( 76F4E0F0A78EC9D84B954B50 /* Debug */, BCD7DB2413FD475C8DCF0B12 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; rootObject = 979128538DFF0B361F857241 /* Project object */; }