// !$*UTF8*$! { archiveVersion = 1; classes = { }; objectVersion = 50; objects = { /* Begin PBXBuildFile section */ 5404AEEB24A90717003B2F54 /* PrefsShared.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54E67E4524A8B0FE0025D261 /* PrefsShared.swift */; }; 5404AEED24A95F3F003B2F54 /* SlideInAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5404AEEC24A95F3F003B2F54 /* SlideInAnimation.swift */; }; 5404AEEF24ACC089003B2F54 /* VCAnalysisBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5404AEEE24ACC089003B2F54 /* VCAnalysisBar.swift */; }; 540E6780242D2CF100871BBE /* VCRecordings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 540E677F242D2CF100871BBE /* VCRecordings.swift */; }; 540E67822433483D00871BBE /* VCEditRecording.swift in Sources */ = {isa = PBXBuildFile; fileRef = 540E67812433483D00871BBE /* VCEditRecording.swift */; }; 540E67842433FAFE00871BBE /* TVCPreviousRecords.swift in Sources */ = {isa = PBXBuildFile; fileRef = 540E67832433FAFE00871BBE /* TVCPreviousRecords.swift */; }; 541075CE24C9D43A00D6F1BF /* UNNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = 541075CD24C9D43A00D6F1BF /* UNNotification.swift */; }; 541075CF24C9D43A00D6F1BF /* UNNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = 541075CD24C9D43A00D6F1BF /* UNNotification.swift */; }; 541075D124CDBA0000D6F1BF /* ThrottledBatchQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 541075D024CDBA0000D6F1BF /* ThrottledBatchQueue.swift */; }; 541075D224CDBA0000D6F1BF /* ThrottledBatchQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 541075D024CDBA0000D6F1BF /* ThrottledBatchQueue.swift */; }; 541075D524CE286200D6F1BF /* CachedConnectionAlert.swift in Sources */ = {isa = PBXBuildFile; fileRef = 541075D424CE286200D6F1BF /* CachedConnectionAlert.swift */; }; 541075D624CE286200D6F1BF /* CachedConnectionAlert.swift in Sources */ = {isa = PBXBuildFile; fileRef = 541075D424CE286200D6F1BF /* CachedConnectionAlert.swift */; }; 541075D924CE2C7200D6F1BF /* GlassVPNHook.swift in Sources */ = {isa = PBXBuildFile; fileRef = 541075D824CE2C7200D6F1BF /* GlassVPNHook.swift */; }; 541075DA24CE2C7200D6F1BF /* GlassVPNHook.swift in Sources */ = {isa = PBXBuildFile; fileRef = 541075D824CE2C7200D6F1BF /* GlassVPNHook.swift */; }; 5412F8EE24571B8200A63D7A /* VCDateFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5412F8ED24571B8100A63D7A /* VCDateFilter.swift */; }; 5412FCC224C628FA000DE429 /* TVCReminderAlerts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5412FCBF24C628F9000DE429 /* TVCReminderAlerts.swift */; }; 5412FCC324C628FA000DE429 /* TVCChooseAlertTone.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5412FCC024C628F9000DE429 /* TVCChooseAlertTone.swift */; }; 5412FCC424C628FA000DE429 /* TVCConnectionAlerts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5412FCC124C628FA000DE429 /* TVCConnectionAlerts.swift */; }; 541A957623E602DF00C09C19 /* LaunchIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = 541A957523E602DF00C09C19 /* LaunchIcon.png */; }; 541AC5D82399498A00A769D7 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 541AC5D72399498A00A769D7 /* AppDelegate.swift */; }; 541AC5DD2399498A00A769D7 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 541AC5DB2399498A00A769D7 /* Main.storyboard */; }; 541AC5DF2399498B00A769D7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 541AC5DE2399498B00A769D7 /* Assets.xcassets */; }; 541AC5E22399498B00A769D7 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 541AC5E02399498B00A769D7 /* LaunchScreen.storyboard */; }; 541DCA6124A6B0F6005F1A4B /* Color.swift in Sources */ = {isa = PBXBuildFile; fileRef = 541DCA6024A6B0F6005F1A4B /* Color.swift */; }; 541FC47624A12D01009154D8 /* IBViews.swift in Sources */ = {isa = PBXBuildFile; fileRef = 541FC47524A12D01009154D8 /* IBViews.swift */; }; 541FC47824A1453F009154D8 /* VCCoOccurrence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 541FC47724A1453F009154D8 /* VCCoOccurrence.swift */; }; 541FC9872497D81C00962623 /* TheGreatDestroyer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 541FC9862497D81C00962623 /* TheGreatDestroyer.swift */; }; 542E2A982404973F001462DC /* TBCMain.swift in Sources */ = {isa = PBXBuildFile; fileRef = 542E2A972404973F001462DC /* TBCMain.swift */; }; 543078AA24B5E12500278F2D /* snap2.caf in Resources */ = {isa = PBXBuildFile; fileRef = 5430789F24B5E12200278F2D /* snap2.caf */; }; 543078AB24B5E12500278F2D /* snap2.caf in Resources */ = {isa = PBXBuildFile; fileRef = 5430789F24B5E12200278F2D /* snap2.caf */; }; 543078AC24B5E12500278F2D /* typewriter2.caf in Resources */ = {isa = PBXBuildFile; fileRef = 543078A024B5E12200278F2D /* typewriter2.caf */; }; 543078AD24B5E12500278F2D /* typewriter2.caf in Resources */ = {isa = PBXBuildFile; fileRef = 543078A024B5E12200278F2D /* typewriter2.caf */; }; 543078AE24B5E12500278F2D /* wood1.caf in Resources */ = {isa = PBXBuildFile; fileRef = 543078A124B5E12300278F2D /* wood1.caf */; }; 543078AF24B5E12500278F2D /* wood1.caf in Resources */ = {isa = PBXBuildFile; fileRef = 543078A124B5E12300278F2D /* wood1.caf */; }; 543078B024B5E12500278F2D /* plop2.caf in Resources */ = {isa = PBXBuildFile; fileRef = 543078A224B5E12300278F2D /* plop2.caf */; }; 543078B124B5E12500278F2D /* plop2.caf in Resources */ = {isa = PBXBuildFile; fileRef = 543078A224B5E12300278F2D /* plop2.caf */; }; 543078B224B5E12500278F2D /* plop1.caf in Resources */ = {isa = PBXBuildFile; fileRef = 543078A324B5E12300278F2D /* plop1.caf */; }; 543078B324B5E12500278F2D /* plop1.caf in Resources */ = {isa = PBXBuildFile; fileRef = 543078A324B5E12300278F2D /* plop1.caf */; }; 543078B424B5E12500278F2D /* snap1.caf in Resources */ = {isa = PBXBuildFile; fileRef = 543078A424B5E12300278F2D /* snap1.caf */; }; 543078B524B5E12500278F2D /* snap1.caf in Resources */ = {isa = PBXBuildFile; fileRef = 543078A424B5E12300278F2D /* snap1.caf */; }; 543078B624B5E12500278F2D /* drum1.caf in Resources */ = {isa = PBXBuildFile; fileRef = 543078A524B5E12300278F2D /* drum1.caf */; }; 543078B724B5E12500278F2D /* drum1.caf in Resources */ = {isa = PBXBuildFile; fileRef = 543078A524B5E12300278F2D /* drum1.caf */; }; 543078B824B5E12500278F2D /* wood2.caf in Resources */ = {isa = PBXBuildFile; fileRef = 543078A624B5E12400278F2D /* wood2.caf */; }; 543078B924B5E12500278F2D /* wood2.caf in Resources */ = {isa = PBXBuildFile; fileRef = 543078A624B5E12400278F2D /* wood2.caf */; }; 543078BA24B5E12500278F2D /* typewriter1.caf in Resources */ = {isa = PBXBuildFile; fileRef = 543078A724B5E12400278F2D /* typewriter1.caf */; }; 543078BB24B5E12500278F2D /* typewriter1.caf in Resources */ = {isa = PBXBuildFile; fileRef = 543078A724B5E12400278F2D /* typewriter1.caf */; }; 543078BC24B5E12500278F2D /* clock.caf in Resources */ = {isa = PBXBuildFile; fileRef = 543078A824B5E12400278F2D /* clock.caf */; }; 543078BD24B5E12500278F2D /* clock.caf in Resources */ = {isa = PBXBuildFile; fileRef = 543078A824B5E12400278F2D /* clock.caf */; }; 543078BE24B5E12500278F2D /* drum2.caf in Resources */ = {isa = PBXBuildFile; fileRef = 543078A924B5E12500278F2D /* drum2.caf */; }; 543078BF24B5E12500278F2D /* drum2.caf in Resources */ = {isa = PBXBuildFile; fileRef = 543078A924B5E12500278F2D /* drum2.caf */; }; 543078C324B60F3B00278F2D /* Settings.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 543078C124B60F3B00278F2D /* Settings.storyboard */; }; 543078C924B75CEA00278F2D /* PushNotificationAppOnly.swift in Sources */ = {isa = PBXBuildFile; fileRef = 543078C824B75CD100278F2D /* PushNotificationAppOnly.swift */; }; 543CDB2023EEE61900B7F323 /* PacketTunnelProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 543CDB1F23EEE61900B7F323 /* PacketTunnelProvider.swift */; }; 543CDB2523EEE61900B7F323 /* GlassVPN.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 543CDB1D23EEE61900B7F323 /* GlassVPN.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 54448A2E2486464F00771C96 /* Array.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54448A2D2486464F00771C96 /* Array.swift */; }; 54448A30248647D900771C96 /* Time.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54448A2F248647D900771C96 /* Time.swift */; }; 54448A3224899A4000771C96 /* SearchBarManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54448A3124899A4000771C96 /* SearchBarManager.swift */; }; 544F912024A67EC5001D4B00 /* TVCOccurrenceContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 544F911F24A67EC5001D4B00 /* TVCOccurrenceContext.swift */; }; 5458EBC0243A3F2200CFEB15 /* TVCRecordingDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5458EBBF243A3F2200CFEB15 /* TVCRecordingDetails.swift */; }; 545DDDCF243E6267003B6544 /* TutorialSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 545DDDCE243E6267003B6544 /* TutorialSheet.swift */; }; 545DDDD124436983003B6544 /* QuickUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 545DDDD024436983003B6544 /* QuickUI.swift */; }; 545DDDD424466D37003B6544 /* AutoLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 545DDDD324466D37003B6544 /* AutoLayout.swift */; }; 546063E523FEFAFE008F505A /* DBCore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54B7562223D7B2DC008F0C41 /* DBCore.swift */; }; 54686A7624F8062C0084934D /* NotificationBanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54686A7524F8062C0084934D /* NotificationBanner.swift */; }; 54686A8524FD0A3F0084934D /* tut-recording-howto.md in Resources */ = {isa = PBXBuildFile; fileRef = 54686A8424FD0A3F0084934D /* tut-recording-howto.md */; }; 54686A8724FD27AA0084934D /* TinyMarkdown.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54686A8624FD26410084934D /* TinyMarkdown.swift */; }; 54686A8D24FD428C0084934D /* tut-welcome-1.md in Resources */ = {isa = PBXBuildFile; fileRef = 54686A8824FD31580084934D /* tut-welcome-1.md */; }; 54686A8E24FD42950084934D /* tut-welcome-2.md in Resources */ = {isa = PBXBuildFile; fileRef = 54686A8B24FD3F180084934D /* tut-welcome-2.md */; }; 54686A8F24FD42950084934D /* tut-recording-1.md in Resources */ = {isa = PBXBuildFile; fileRef = 54686A8A24FD3F100084934D /* tut-recording-1.md */; }; 54686A9024FD42950084934D /* tut-recording-2.md in Resources */ = {isa = PBXBuildFile; fileRef = 54686A8924FD31630084934D /* tut-recording-2.md */; }; 54686A9124FD42950084934D /* tut-cooccurrence.md in Resources */ = {isa = PBXBuildFile; fileRef = 54686A8C24FD3F630084934D /* tut-cooccurrence.md */; }; 54751E512423955100168273 /* URL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54751E502423955000168273 /* URL.swift */; }; 54751E522423955100168273 /* URL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54751E502423955000168273 /* URL.swift */; }; 54953E3323DC752E0054345C /* DBCore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54B7562223D7B2DC008F0C41 /* DBCore.swift */; }; 54953E5F23DEBE840054345C /* TVCDomains.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54953E5E23DEBE840054345C /* TVCDomains.swift */; }; 54953E6123E0D69A0054345C /* TVCHosts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54953E6023E0D69A0054345C /* TVCHosts.swift */; }; 54953E6F23E44CD00054345C /* TVCHostDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54953E6E23E44CD00054345C /* TVCHostDetails.swift */; }; 54953E7123E473F10054345C /* Settings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 54953E7023E473F10054345C /* Settings.bundle */; }; 549A96D62501198400C565FA /* VCEditText.swift in Sources */ = {isa = PBXBuildFile; fileRef = 549A96D52501198400C565FA /* VCEditText.swift */; }; 549A96DA250419B200C565FA /* CoOccurrence.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 549A96D8250419B200C565FA /* CoOccurrence.storyboard */; }; 549D6ED524D5BFDB0032E498 /* TVCAppSearch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 549D6ED424D5BFDB0032E498 /* TVCAppSearch.swift */; }; 549ECD9D24A7AD550097571C /* CustomAlert.swift in Sources */ = {isa = PBXBuildFile; fileRef = 549ECD9C24A7AD550097571C /* CustomAlert.swift */; }; 54A0CC0924E30C56009B5EC1 /* Recordings.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 54A0CC0724E30C56009B5EC1 /* Recordings.storyboard */; }; 54A0CC0C24E30D6F009B5EC1 /* Requests.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 54A0CC0A24E30D6F009B5EC1 /* Requests.storyboard */; }; 54B34594240E6343004C53CC /* TVCFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54B34593240E6343004C53CC /* TVCFilter.swift */; }; 54B34596240F0513004C53CC /* TableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54B34595240F0513004C53CC /* TableView.swift */; }; 54B345A6241BB982004C53CC /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54B345A5241BB982004C53CC /* Notifications.swift */; }; 54B345A9241BBA0B004C53CC /* Logging.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54B345A8241BBA0B004C53CC /* Logging.swift */; }; 54B345AB241BBA5B004C53CC /* AlertSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54B345AA241BBA5B004C53CC /* AlertSheet.swift */; }; 54B345AD241BBB00004C53CC /* DBExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54B345AC241BBB00004C53CC /* DBExtensions.swift */; }; 54B345B0242264F8004C53CC /* third-level.txt in Resources */ = {isa = PBXBuildFile; fileRef = 54B345AF242264F8004C53CC /* third-level.txt */; }; 54C056DB23E9E36E00214A3F /* AppStoreSearch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54C056DA23E9E36E00214A3F /* AppStoreSearch.swift */; }; 54C056DD23E9EEF700214A3F /* BundleIcon.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54C056DC23E9EEF700214A3F /* BundleIcon.swift */; }; 54CA01D32426B23D003A5E04 /* Resolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA01D22426B23D003A5E04 /* Resolver.swift */; }; 54CA01D52426B252003A5E04 /* SafeDict.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA01D42426B251003A5E04 /* SafeDict.swift */; }; 54CA025C2426B2FD003A5E04 /* ConnectSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA01E22426B2FC003A5E04 /* ConnectSession.swift */; }; 54CA025D2426B2FD003A5E04 /* HTTPHeader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA01E32426B2FC003A5E04 /* HTTPHeader.swift */; }; 54CA025F2426B2FD003A5E04 /* ProxyServer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA01E62426B2FC003A5E04 /* ProxyServer.swift */; }; 54CA02602426B2FD003A5E04 /* GCDProxyServer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA01E72426B2FC003A5E04 /* GCDProxyServer.swift */; }; 54CA02622426B2FD003A5E04 /* GCDHTTPProxyServer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA01E92426B2FC003A5E04 /* GCDHTTPProxyServer.swift */; }; 54CA02662426B2FD003A5E04 /* NWUDPSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA01EF2426B2FC003A5E04 /* NWUDPSocket.swift */; }; 54CA02672426B2FD003A5E04 /* RawTCPSocketProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA01F02426B2FC003A5E04 /* RawTCPSocketProtocol.swift */; }; 54CA02682426B2FD003A5E04 /* NWTCPSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA01F12426B2FC003A5E04 /* NWTCPSocket.swift */; }; 54CA026A2426B2FD003A5E04 /* RawSocketFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA01F32426B2FC003A5E04 /* RawSocketFactory.swift */; }; 54CA026B2426B2FD003A5E04 /* GCDTCPSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA01F42426B2FC003A5E04 /* GCDTCPSocket.swift */; }; 54CA026D2426B2FD003A5E04 /* Opt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA01F72426B2FC003A5E04 /* Opt.swift */; }; 54CA026F2426B2FD003A5E04 /* Port.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA01FA2426B2FC003A5E04 /* Port.swift */; }; 54CA02702426B2FD003A5E04 /* HTTPStreamScanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA01FB2426B2FC003A5E04 /* HTTPStreamScanner.swift */; }; 54CA02712426B2FD003A5E04 /* UInt128.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA01FC2426B2FC003A5E04 /* UInt128.swift */; }; 54CA02722426B2FD003A5E04 /* IPInterval.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA01FD2426B2FC003A5E04 /* IPInterval.swift */; }; 54CA02732426B2FD003A5E04 /* IPPool.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA01FE2426B2FC003A5E04 /* IPPool.swift */; }; 54CA02742426B2FD003A5E04 /* IPMask.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA01FF2426B2FC003A5E04 /* IPMask.swift */; }; 54CA02752426B2FD003A5E04 /* IPRange.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA02002426B2FC003A5E04 /* IPRange.swift */; }; 54CA02762426B2FD003A5E04 /* IPAddress.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA02012426B2FC003A5E04 /* IPAddress.swift */; }; 54CA02782426B2FD003A5E04 /* BinaryDataScanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA02032426B2FC003A5E04 /* BinaryDataScanner.swift */; }; 54CA02792426B2FD003A5E04 /* Checksum.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA02042426B2FC003A5E04 /* Checksum.swift */; }; 54CA027A2426B2FD003A5E04 /* HTTPURL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA02052426B2FC003A5E04 /* HTTPURL.swift */; }; 54CA027B2426B2FD003A5E04 /* HTTPAuthentication.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA02062426B2FC003A5E04 /* HTTPAuthentication.swift */; }; 54CA027C2426B2FD003A5E04 /* StreamScanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA02072426B2FC003A5E04 /* StreamScanner.swift */; }; 54CA027D2426B2FD003A5E04 /* GlobalIntializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA02082426B2FC003A5E04 /* GlobalIntializer.swift */; }; 54CA02802426B2FD003A5E04 /* DNSSessionMatchType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA020C2426B2FC003A5E04 /* DNSSessionMatchType.swift */; }; 54CA02832426B2FD003A5E04 /* DNSSessionMatchResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA020F2426B2FC003A5E04 /* DNSSessionMatchResult.swift */; }; 54CA02882426B2FD003A5E04 /* QueueFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA02152426B2FC003A5E04 /* QueueFactory.swift */; }; 54CA02892426B2FD003A5E04 /* Tunnel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA02162426B2FC003A5E04 /* Tunnel.swift */; }; 54CA028A2426B2FD003A5E04 /* ResponseGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA02172426B2FC003A5E04 /* ResponseGenerator.swift */; }; 54CA028B2426B2FD003A5E04 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA02182426B2FC003A5E04 /* Utils.swift */; }; 54CA028E2426B2FD003A5E04 /* IPStackProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA021C2426B2FC003A5E04 /* IPStackProtocol.swift */; }; 54CA02912426B2FD003A5E04 /* DNSMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA02202426B2FC003A5E04 /* DNSMessage.swift */; }; 54CA02922426B2FD003A5E04 /* DNSSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA02212426B2FC003A5E04 /* DNSSession.swift */; }; 54CA02932426B2FD003A5E04 /* DNSServer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA02222426B2FC003A5E04 /* DNSServer.swift */; }; 54CA02942426B2FD003A5E04 /* DNSResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA02232426B2FC003A5E04 /* DNSResolver.swift */; }; 54CA02952426B2FD003A5E04 /* DNSEnums.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA02242426B2FC003A5E04 /* DNSEnums.swift */; }; 54CA02962426B2FD003A5E04 /* PacketProtocolParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA02262426B2FC003A5E04 /* PacketProtocolParser.swift */; }; 54CA02972426B2FD003A5E04 /* IPPacket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA02272426B2FC003A5E04 /* IPPacket.swift */; }; 54CA029A2426B2FD003A5E04 /* Observer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA022B2426B2FC003A5E04 /* Observer.swift */; }; 54CA029C2426B2FD003A5E04 /* AdapterSocketEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA022E2426B2FC003A5E04 /* AdapterSocketEvent.swift */; }; 54CA029D2426B2FD003A5E04 /* ProxyServerEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA022F2426B2FC003A5E04 /* ProxyServerEvent.swift */; }; 54CA029E2426B2FD003A5E04 /* EventType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA02302426B2FC003A5E04 /* EventType.swift */; }; 54CA029F2426B2FD003A5E04 /* ProxySocketEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA02312426B2FC003A5E04 /* ProxySocketEvent.swift */; }; 54CA02A02426B2FD003A5E04 /* TunnelEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA02322426B2FC003A5E04 /* TunnelEvent.swift */; }; 54CA02A22426B2FD003A5E04 /* ObserverFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA02342426B2FC003A5E04 /* ObserverFactory.swift */; }; 54CA02A62426B2FD003A5E04 /* AdapterSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA023A2426B2FC003A5E04 /* AdapterSocket.swift */; }; 54CA02A72426B2FD003A5E04 /* DirectAdapter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA023B2426B2FC003A5E04 /* DirectAdapter.swift */; }; 54CA02AE2426B2FD003A5E04 /* AdapterFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA02432426B2FD003A5E04 /* AdapterFactory.swift */; }; 54CA02B82426B2FD003A5E04 /* HTTPProxySocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA024F2426B2FD003A5E04 /* HTTPProxySocket.swift */; }; 54CA02BA2426B2FD003A5E04 /* ProxySocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA02512426B2FD003A5E04 /* ProxySocket.swift */; }; 54CA02BC2426B2FD003A5E04 /* SocketProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA02532426B2FD003A5E04 /* SocketProtocol.swift */; }; 54CA02BE2426D4F3003A5E04 /* DDLog.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CA02BD2426D4F3003A5E04 /* DDLog.swift */; }; 54CA02C32426DCCD003A5E04 /* GCDAsyncSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = 54CA02BF2426DCCC003A5E04 /* GCDAsyncSocket.m */; }; 54CA02C42426DCCD003A5E04 /* GCDAsyncUdpSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = 54CA02C02426DCCD003A5E04 /* GCDAsyncUdpSocket.m */; }; 54CE8BC424B1ED2100CC1756 /* PushNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CE8BC324B1ED2100CC1756 /* PushNotification.swift */; }; 54CE8BC524B1ED2100CC1756 /* PushNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CE8BC324B1ED2100CC1756 /* PushNotification.swift */; }; 54CFE86824E3F401001687DD /* TVCShareRecording.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CFE86724E3F401001687DD /* TVCShareRecording.swift */; }; 54D8B97A246C9F2000EB2414 /* FilterPipeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54D8B979246C9F2000EB2414 /* FilterPipeline.swift */; }; 54D8B97C2471A7E000EB2414 /* String.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54D8B97B2471A7E000EB2414 /* String.swift */; }; 54D8B97E2471B88900EB2414 /* DBCommon.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54D8B97D2471B88900EB2414 /* DBCommon.swift */; }; 54D8B97F2471B89100EB2414 /* DBCommon.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54D8B97D2471B88900EB2414 /* DBCommon.swift */; }; 54D8B9832471BD8100EB2414 /* DBAppOnly.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54D8B9822471BD8100EB2414 /* DBAppOnly.swift */; }; 54D8B98624796E9900EB2414 /* GroupedDomainDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54D8B98524796E9800EB2414 /* GroupedDomainDataSource.swift */; }; 54E540F2247C423200F7C34A /* DomainFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54E540F1247C423200F7C34A /* DomainFilter.swift */; }; 54E540F4247D3F2600F7C34A /* SimulatorVPN.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54E540F3247D3F2600F7C34A /* SimulatorVPN.swift */; }; 54E540F8247DB90F00F7C34A /* RecordingsDB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54E540F7247DB90F00F7C34A /* RecordingsDB.swift */; }; 54E540FA2482414800F7C34A /* SyncUpdate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54E540F92482414800F7C34A /* SyncUpdate.swift */; }; 54E67E4624A8B0FE0025D261 /* PrefsShared.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54E67E4524A8B0FE0025D261 /* PrefsShared.swift */; }; 54E67E4924A8B1280025D261 /* Prefs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54E67E4824A8B1280025D261 /* Prefs.swift */; }; 54E67E4B24A8C6370025D261 /* GlassVPN.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54E67E4A24A8C6370025D261 /* GlassVPN.swift */; }; 54E67E4D24A8E20D0025D261 /* TVCSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 542E2A9924051556001462DC /* TVCSettings.swift */; }; 54E67E4F24A8E2910025D261 /* Equatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54E67E4E24A8E2910025D261 /* Equatable.swift */; }; 54E67E5124A8E8820025D261 /* View.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54E67E5024A8E8820025D261 /* View.swift */; }; 54EFA4E82491A16A0022D618 /* Font.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54EFA4E72491A16A0022D618 /* Font.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ 543CDB2323EEE61900B7F323 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 541AC5CC2399498A00A769D7 /* Project object */; proxyType = 1; remoteGlobalIDString = 543CDB1C23EEE61900B7F323; remoteInfo = GlassVPN; }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ 541AC5FD239949BE00A769D7 /* Embed App Extensions */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 13; files = ( 543CDB2523EEE61900B7F323 /* GlassVPN.appex in Embed App Extensions */, ); name = "Embed App Extensions"; runOnlyForDeploymentPostprocessing = 0; }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ 5404AEEC24A95F3F003B2F54 /* SlideInAnimation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SlideInAnimation.swift; sourceTree = ""; }; 5404AEEE24ACC089003B2F54 /* VCAnalysisBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VCAnalysisBar.swift; sourceTree = ""; }; 540E677F242D2CF100871BBE /* VCRecordings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VCRecordings.swift; sourceTree = ""; }; 540E67812433483D00871BBE /* VCEditRecording.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VCEditRecording.swift; sourceTree = ""; }; 540E67832433FAFE00871BBE /* TVCPreviousRecords.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TVCPreviousRecords.swift; sourceTree = ""; }; 541075CD24C9D43A00D6F1BF /* UNNotification.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UNNotification.swift; sourceTree = ""; }; 541075D024CDBA0000D6F1BF /* ThrottledBatchQueue.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThrottledBatchQueue.swift; sourceTree = ""; }; 541075D424CE286200D6F1BF /* CachedConnectionAlert.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CachedConnectionAlert.swift; sourceTree = ""; }; 541075D824CE2C7200D6F1BF /* GlassVPNHook.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GlassVPNHook.swift; sourceTree = ""; }; 5412F8ED24571B8100A63D7A /* VCDateFilter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VCDateFilter.swift; sourceTree = ""; }; 5412FCBF24C628F9000DE429 /* TVCReminderAlerts.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TVCReminderAlerts.swift; sourceTree = ""; }; 5412FCC024C628F9000DE429 /* TVCChooseAlertTone.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TVCChooseAlertTone.swift; sourceTree = ""; }; 5412FCC124C628FA000DE429 /* TVCConnectionAlerts.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TVCConnectionAlerts.swift; sourceTree = ""; }; 541A957523E602DF00C09C19 /* LaunchIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = LaunchIcon.png; sourceTree = ""; }; 541AC5D42399498A00A769D7 /* AppChk.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AppChk.app; sourceTree = BUILT_PRODUCTS_DIR; }; 541AC5D72399498A00A769D7 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 541AC5DC2399498A00A769D7 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 541AC5DE2399498B00A769D7 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 541AC5E12399498B00A769D7 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 541AC5E32399498B00A769D7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 541DCA6024A6B0F6005F1A4B /* Color.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Color.swift; sourceTree = ""; }; 541FC47524A12D01009154D8 /* IBViews.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IBViews.swift; sourceTree = ""; }; 541FC47724A1453F009154D8 /* VCCoOccurrence.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VCCoOccurrence.swift; sourceTree = ""; }; 541FC9862497D81C00962623 /* TheGreatDestroyer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TheGreatDestroyer.swift; sourceTree = ""; }; 542E2A972404973F001462DC /* TBCMain.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TBCMain.swift; sourceTree = ""; }; 542E2A9924051556001462DC /* TVCSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TVCSettings.swift; sourceTree = ""; }; 5430789F24B5E12200278F2D /* snap2.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = snap2.caf; sourceTree = ""; }; 543078A024B5E12200278F2D /* typewriter2.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = typewriter2.caf; sourceTree = ""; }; 543078A124B5E12300278F2D /* wood1.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = wood1.caf; sourceTree = ""; }; 543078A224B5E12300278F2D /* plop2.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = plop2.caf; sourceTree = ""; }; 543078A324B5E12300278F2D /* plop1.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = plop1.caf; sourceTree = ""; }; 543078A424B5E12300278F2D /* snap1.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = snap1.caf; sourceTree = ""; }; 543078A524B5E12300278F2D /* drum1.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = drum1.caf; sourceTree = ""; }; 543078A624B5E12400278F2D /* wood2.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = wood2.caf; sourceTree = ""; }; 543078A724B5E12400278F2D /* typewriter1.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = typewriter1.caf; sourceTree = ""; }; 543078A824B5E12400278F2D /* clock.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = clock.caf; sourceTree = ""; }; 543078A924B5E12500278F2D /* drum2.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = drum2.caf; sourceTree = ""; }; 543078C224B60F3B00278F2D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Settings.storyboard; sourceTree = ""; }; 543078C824B75CD100278F2D /* PushNotificationAppOnly.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PushNotificationAppOnly.swift; sourceTree = ""; }; 543CDB1D23EEE61900B7F323 /* GlassVPN.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = GlassVPN.appex; sourceTree = BUILT_PRODUCTS_DIR; }; 543CDB1F23EEE61900B7F323 /* PacketTunnelProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PacketTunnelProvider.swift; sourceTree = ""; }; 543CDB2123EEE61900B7F323 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 543CDB2223EEE61900B7F323 /* GlassVPN.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = GlassVPN.entitlements; sourceTree = ""; }; 54448A2D2486464F00771C96 /* Array.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Array.swift; sourceTree = ""; }; 54448A2F248647D900771C96 /* Time.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Time.swift; sourceTree = ""; }; 54448A3124899A4000771C96 /* SearchBarManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchBarManager.swift; sourceTree = ""; }; 544F911F24A67EC5001D4B00 /* TVCOccurrenceContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TVCOccurrenceContext.swift; sourceTree = ""; }; 5458EBBF243A3F2200CFEB15 /* TVCRecordingDetails.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TVCRecordingDetails.swift; sourceTree = ""; }; 545DDDCE243E6267003B6544 /* TutorialSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TutorialSheet.swift; sourceTree = ""; }; 545DDDD024436983003B6544 /* QuickUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QuickUI.swift; sourceTree = ""; }; 545DDDD324466D37003B6544 /* AutoLayout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoLayout.swift; sourceTree = ""; }; 54686A7524F8062C0084934D /* NotificationBanner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationBanner.swift; sourceTree = ""; }; 54686A8424FD0A3F0084934D /* tut-recording-howto.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = "tut-recording-howto.md"; sourceTree = ""; }; 54686A8624FD26410084934D /* TinyMarkdown.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TinyMarkdown.swift; sourceTree = ""; }; 54686A8824FD31580084934D /* tut-welcome-1.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "tut-welcome-1.md"; sourceTree = ""; }; 54686A8924FD31630084934D /* tut-recording-2.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "tut-recording-2.md"; sourceTree = ""; }; 54686A8A24FD3F100084934D /* tut-recording-1.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "tut-recording-1.md"; sourceTree = ""; }; 54686A8B24FD3F180084934D /* tut-welcome-2.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "tut-welcome-2.md"; sourceTree = ""; }; 54686A8C24FD3F630084934D /* tut-cooccurrence.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "tut-cooccurrence.md"; sourceTree = ""; }; 54751E502423955000168273 /* URL.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URL.swift; sourceTree = ""; }; 548B1F9423D338EC005B047C /* main.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = main.entitlements; sourceTree = ""; }; 54953E5E23DEBE840054345C /* TVCDomains.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TVCDomains.swift; sourceTree = ""; }; 54953E6023E0D69A0054345C /* TVCHosts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TVCHosts.swift; sourceTree = ""; }; 54953E6E23E44CD00054345C /* TVCHostDetails.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TVCHostDetails.swift; sourceTree = ""; }; 54953E7023E473F10054345C /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Settings.bundle; sourceTree = ""; }; 549A96D52501198400C565FA /* VCEditText.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VCEditText.swift; sourceTree = ""; }; 549A96D9250419B200C565FA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/CoOccurrence.storyboard; sourceTree = ""; }; 549D6ED424D5BFDB0032E498 /* TVCAppSearch.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TVCAppSearch.swift; sourceTree = ""; }; 549ECD9C24A7AD550097571C /* CustomAlert.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomAlert.swift; sourceTree = ""; }; 54A0CC0824E30C56009B5EC1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Recordings.storyboard; sourceTree = ""; }; 54A0CC0B24E30D6F009B5EC1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Requests.storyboard; sourceTree = ""; }; 54B34593240E6343004C53CC /* TVCFilter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TVCFilter.swift; sourceTree = ""; }; 54B34595240F0513004C53CC /* TableView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TableView.swift; sourceTree = ""; }; 54B345A5241BB982004C53CC /* Notifications.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Notifications.swift; sourceTree = ""; }; 54B345A8241BBA0B004C53CC /* Logging.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Logging.swift; sourceTree = ""; }; 54B345AA241BBA5B004C53CC /* AlertSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlertSheet.swift; sourceTree = ""; }; 54B345AC241BBB00004C53CC /* DBExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DBExtensions.swift; sourceTree = ""; }; 54B345AF242264F8004C53CC /* third-level.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "third-level.txt"; sourceTree = ""; }; 54B7562223D7B2DC008F0C41 /* DBCore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DBCore.swift; sourceTree = ""; }; 54C056DA23E9E36E00214A3F /* AppStoreSearch.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppStoreSearch.swift; sourceTree = ""; }; 54C056DC23E9EEF700214A3F /* BundleIcon.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BundleIcon.swift; sourceTree = ""; }; 54CA00D62426A803003A5E04 /* CocoaAsyncSocket.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CocoaAsyncSocket.h; sourceTree = ""; }; 54CA01D22426B23D003A5E04 /* Resolver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Resolver.swift; sourceTree = ""; }; 54CA01D42426B251003A5E04 /* SafeDict.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SafeDict.swift; sourceTree = ""; }; 54CA01E22426B2FC003A5E04 /* ConnectSession.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConnectSession.swift; sourceTree = ""; }; 54CA01E32426B2FC003A5E04 /* HTTPHeader.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HTTPHeader.swift; sourceTree = ""; }; 54CA01E62426B2FC003A5E04 /* ProxyServer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProxyServer.swift; sourceTree = ""; }; 54CA01E72426B2FC003A5E04 /* GCDProxyServer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GCDProxyServer.swift; sourceTree = ""; }; 54CA01E92426B2FC003A5E04 /* GCDHTTPProxyServer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GCDHTTPProxyServer.swift; sourceTree = ""; }; 54CA01EF2426B2FC003A5E04 /* NWUDPSocket.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NWUDPSocket.swift; sourceTree = ""; }; 54CA01F02426B2FC003A5E04 /* RawTCPSocketProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RawTCPSocketProtocol.swift; sourceTree = ""; }; 54CA01F12426B2FC003A5E04 /* NWTCPSocket.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NWTCPSocket.swift; sourceTree = ""; }; 54CA01F32426B2FC003A5E04 /* RawSocketFactory.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RawSocketFactory.swift; sourceTree = ""; }; 54CA01F42426B2FC003A5E04 /* GCDTCPSocket.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GCDTCPSocket.swift; sourceTree = ""; }; 54CA01F72426B2FC003A5E04 /* Opt.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Opt.swift; sourceTree = ""; }; 54CA01FA2426B2FC003A5E04 /* Port.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Port.swift; sourceTree = ""; }; 54CA01FB2426B2FC003A5E04 /* HTTPStreamScanner.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HTTPStreamScanner.swift; sourceTree = ""; }; 54CA01FC2426B2FC003A5E04 /* UInt128.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UInt128.swift; sourceTree = ""; }; 54CA01FD2426B2FC003A5E04 /* IPInterval.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IPInterval.swift; sourceTree = ""; }; 54CA01FE2426B2FC003A5E04 /* IPPool.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IPPool.swift; sourceTree = ""; }; 54CA01FF2426B2FC003A5E04 /* IPMask.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IPMask.swift; sourceTree = ""; }; 54CA02002426B2FC003A5E04 /* IPRange.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IPRange.swift; sourceTree = ""; }; 54CA02012426B2FC003A5E04 /* IPAddress.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IPAddress.swift; sourceTree = ""; }; 54CA02032426B2FC003A5E04 /* BinaryDataScanner.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BinaryDataScanner.swift; sourceTree = ""; }; 54CA02042426B2FC003A5E04 /* Checksum.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Checksum.swift; sourceTree = ""; }; 54CA02052426B2FC003A5E04 /* HTTPURL.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HTTPURL.swift; sourceTree = ""; }; 54CA02062426B2FC003A5E04 /* HTTPAuthentication.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HTTPAuthentication.swift; sourceTree = ""; }; 54CA02072426B2FC003A5E04 /* StreamScanner.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StreamScanner.swift; sourceTree = ""; }; 54CA02082426B2FC003A5E04 /* GlobalIntializer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GlobalIntializer.swift; sourceTree = ""; }; 54CA020C2426B2FC003A5E04 /* DNSSessionMatchType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DNSSessionMatchType.swift; sourceTree = ""; }; 54CA020F2426B2FC003A5E04 /* DNSSessionMatchResult.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DNSSessionMatchResult.swift; sourceTree = ""; }; 54CA02152426B2FC003A5E04 /* QueueFactory.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = QueueFactory.swift; sourceTree = ""; }; 54CA02162426B2FC003A5E04 /* Tunnel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Tunnel.swift; sourceTree = ""; }; 54CA02172426B2FC003A5E04 /* ResponseGenerator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ResponseGenerator.swift; sourceTree = ""; }; 54CA02182426B2FC003A5E04 /* Utils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Utils.swift; sourceTree = ""; }; 54CA021C2426B2FC003A5E04 /* IPStackProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IPStackProtocol.swift; sourceTree = ""; }; 54CA02202426B2FC003A5E04 /* DNSMessage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DNSMessage.swift; sourceTree = ""; }; 54CA02212426B2FC003A5E04 /* DNSSession.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DNSSession.swift; sourceTree = ""; }; 54CA02222426B2FC003A5E04 /* DNSServer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DNSServer.swift; sourceTree = ""; }; 54CA02232426B2FC003A5E04 /* DNSResolver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DNSResolver.swift; sourceTree = ""; }; 54CA02242426B2FC003A5E04 /* DNSEnums.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DNSEnums.swift; sourceTree = ""; }; 54CA02262426B2FC003A5E04 /* PacketProtocolParser.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PacketProtocolParser.swift; sourceTree = ""; }; 54CA02272426B2FC003A5E04 /* IPPacket.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IPPacket.swift; sourceTree = ""; }; 54CA022B2426B2FC003A5E04 /* Observer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Observer.swift; sourceTree = ""; }; 54CA022E2426B2FC003A5E04 /* AdapterSocketEvent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AdapterSocketEvent.swift; sourceTree = ""; }; 54CA022F2426B2FC003A5E04 /* ProxyServerEvent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProxyServerEvent.swift; sourceTree = ""; }; 54CA02302426B2FC003A5E04 /* EventType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventType.swift; sourceTree = ""; }; 54CA02312426B2FC003A5E04 /* ProxySocketEvent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProxySocketEvent.swift; sourceTree = ""; }; 54CA02322426B2FC003A5E04 /* TunnelEvent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TunnelEvent.swift; sourceTree = ""; }; 54CA02342426B2FC003A5E04 /* ObserverFactory.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ObserverFactory.swift; sourceTree = ""; }; 54CA023A2426B2FC003A5E04 /* AdapterSocket.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AdapterSocket.swift; sourceTree = ""; }; 54CA023B2426B2FC003A5E04 /* DirectAdapter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DirectAdapter.swift; sourceTree = ""; }; 54CA02432426B2FD003A5E04 /* AdapterFactory.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AdapterFactory.swift; sourceTree = ""; }; 54CA024F2426B2FD003A5E04 /* HTTPProxySocket.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HTTPProxySocket.swift; sourceTree = ""; }; 54CA02512426B2FD003A5E04 /* ProxySocket.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProxySocket.swift; sourceTree = ""; }; 54CA02532426B2FD003A5E04 /* SocketProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SocketProtocol.swift; sourceTree = ""; }; 54CA02BD2426D4F3003A5E04 /* DDLog.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DDLog.swift; sourceTree = ""; }; 54CA02BF2426DCCC003A5E04 /* GCDAsyncSocket.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GCDAsyncSocket.m; sourceTree = ""; }; 54CA02C02426DCCD003A5E04 /* GCDAsyncUdpSocket.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GCDAsyncUdpSocket.m; sourceTree = ""; }; 54CA02C12426DCCD003A5E04 /* GCDAsyncSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GCDAsyncSocket.h; sourceTree = ""; }; 54CA02C22426DCCD003A5E04 /* GCDAsyncUdpSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GCDAsyncUdpSocket.h; sourceTree = ""; }; 54CE8BC324B1ED2100CC1756 /* PushNotification.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PushNotification.swift; sourceTree = ""; }; 54CFE86724E3F401001687DD /* TVCShareRecording.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TVCShareRecording.swift; sourceTree = ""; }; 54D8B979246C9F2000EB2414 /* FilterPipeline.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilterPipeline.swift; sourceTree = ""; }; 54D8B97B2471A7E000EB2414 /* String.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = String.swift; sourceTree = ""; }; 54D8B97D2471B88900EB2414 /* DBCommon.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DBCommon.swift; sourceTree = ""; }; 54D8B9822471BD8100EB2414 /* DBAppOnly.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DBAppOnly.swift; sourceTree = ""; }; 54D8B98524796E9800EB2414 /* GroupedDomainDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GroupedDomainDataSource.swift; sourceTree = ""; }; 54E540F1247C423200F7C34A /* DomainFilter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DomainFilter.swift; sourceTree = ""; }; 54E540F3247D3F2600F7C34A /* SimulatorVPN.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SimulatorVPN.swift; sourceTree = ""; }; 54E540F7247DB90F00F7C34A /* RecordingsDB.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecordingsDB.swift; sourceTree = ""; }; 54E540F92482414800F7C34A /* SyncUpdate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SyncUpdate.swift; sourceTree = ""; }; 54E67E4524A8B0FE0025D261 /* PrefsShared.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrefsShared.swift; sourceTree = ""; }; 54E67E4824A8B1280025D261 /* Prefs.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Prefs.swift; sourceTree = ""; }; 54E67E4A24A8C6370025D261 /* GlassVPN.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GlassVPN.swift; sourceTree = ""; }; 54E67E4E24A8E2910025D261 /* Equatable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Equatable.swift; sourceTree = ""; }; 54E67E5024A8E8820025D261 /* View.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = View.swift; sourceTree = ""; }; 54EFA4E72491A16A0022D618 /* Font.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Font.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ 541AC5D12399498A00A769D7 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; 543CDB1A23EEE61900B7F323 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ 540C6454240D5BAE00E948F9 /* Requests */ = { isa = PBXGroup; children = ( 54953E5E23DEBE840054345C /* TVCDomains.swift */, 5412F8ED24571B8100A63D7A /* VCDateFilter.swift */, 54953E6023E0D69A0054345C /* TVCHosts.swift */, 54953E6E23E44CD00054345C /* TVCHostDetails.swift */, 544F911F24A67EC5001D4B00 /* TVCOccurrenceContext.swift */, 541FC47424A12CE9009154D8 /* Analysis */, ); path = Requests; sourceTree = ""; }; 540C6455240D5BD200E948F9 /* Settings */ = { isa = PBXGroup; children = ( 542E2A9924051556001462DC /* TVCSettings.swift */, 54B34593240E6343004C53CC /* TVCFilter.swift */, 5412FCBF24C628F9000DE429 /* TVCReminderAlerts.swift */, 5412FCC124C628FA000DE429 /* TVCConnectionAlerts.swift */, 5412FCC024C628F9000DE429 /* TVCChooseAlertTone.swift */, ); path = Settings; sourceTree = ""; }; 540E677E242D2CD200871BBE /* Recordings */ = { isa = PBXGroup; children = ( 540E677F242D2CF100871BBE /* VCRecordings.swift */, 540E67832433FAFE00871BBE /* TVCPreviousRecords.swift */, 5458EBBF243A3F2200CFEB15 /* TVCRecordingDetails.swift */, 54CFE86724E3F401001687DD /* TVCShareRecording.swift */, 549A96D52501198400C565FA /* VCEditText.swift */, 540E67812433483D00871BBE /* VCEditRecording.swift */, 549D6ED424D5BFDB0032E498 /* TVCAppSearch.swift */, 54B345B12422E029004C53CC /* App Icons */, ); path = Recordings; sourceTree = ""; }; 541075D324CE284700D6F1BF /* Push Notifications */ = { isa = PBXGroup; children = ( 541075CD24C9D43A00D6F1BF /* UNNotification.swift */, 54CE8BC324B1ED2100CC1756 /* PushNotification.swift */, 543078C824B75CD100278F2D /* PushNotificationAppOnly.swift */, 541075D424CE286200D6F1BF /* CachedConnectionAlert.swift */, ); path = "Push Notifications"; sourceTree = ""; }; 541AC5CB2399498A00A769D7 = { isa = PBXGroup; children = ( 541AC5D62399498A00A769D7 /* main */, 542E2A9B24051F79001462DC /* media */, 543CDB1E23EEE61900B7F323 /* GlassVPN */, 541AC5D52399498A00A769D7 /* Products */, ); sourceTree = ""; }; 541AC5D52399498A00A769D7 /* Products */ = { isa = PBXGroup; children = ( 541AC5D42399498A00A769D7 /* AppChk.app */, 543CDB1D23EEE61900B7F323 /* GlassVPN.appex */, ); name = Products; sourceTree = ""; }; 541AC5D62399498A00A769D7 /* main */ = { isa = PBXGroup; children = ( 54B3459A2415651C004C53CC /* DB */, 54E540F0247C386500F7C34A /* Data Source */, 54B345A4241BB975004C53CC /* Extensions */, 545DDDD224436A03003B6544 /* Common Classes */, 541075D324CE284700D6F1BF /* Push Notifications */, 548B1F9423D338EC005B047C /* main.entitlements */, 541AC5D72399498A00A769D7 /* AppDelegate.swift */, 54E67E4A24A8C6370025D261 /* GlassVPN.swift */, 541075D824CE2C7200D6F1BF /* GlassVPNHook.swift */, 542E2A972404973F001462DC /* TBCMain.swift */, 540C6454240D5BAE00E948F9 /* Requests */, 540E677E242D2CD200871BBE /* Recordings */, 540C6455240D5BD200E948F9 /* Settings */, 54A0CC0D24E314B6009B5EC1 /* GUI */, 541AC5DE2399498B00A769D7 /* Assets.xcassets */, 541AC5E32399498B00A769D7 /* Info.plist */, 54953E7023E473F10054345C /* Settings.bundle */, ); path = main; sourceTree = ""; }; 541FC47424A12CE9009154D8 /* Analysis */ = { isa = PBXGroup; children = ( 5404AEEE24ACC089003B2F54 /* VCAnalysisBar.swift */, 541FC47724A1453F009154D8 /* VCCoOccurrence.swift */, ); path = Analysis; sourceTree = ""; }; 542E2A9B24051F79001462DC /* media */ = { isa = PBXGroup; children = ( 54686A8324FD0A3F0084934D /* tutorials */, 5430789E24B5E10E00278F2D /* sounds */, 541A957523E602DF00C09C19 /* LaunchIcon.png */, 54B345AF242264F8004C53CC /* third-level.txt */, ); path = media; sourceTree = ""; }; 5430789E24B5E10E00278F2D /* sounds */ = { isa = PBXGroup; children = ( 543078A824B5E12400278F2D /* clock.caf */, 543078A524B5E12300278F2D /* drum1.caf */, 543078A924B5E12500278F2D /* drum2.caf */, 543078A324B5E12300278F2D /* plop1.caf */, 543078A224B5E12300278F2D /* plop2.caf */, 543078A424B5E12300278F2D /* snap1.caf */, 5430789F24B5E12200278F2D /* snap2.caf */, 543078A724B5E12400278F2D /* typewriter1.caf */, 543078A024B5E12200278F2D /* typewriter2.caf */, 543078A124B5E12300278F2D /* wood1.caf */, 543078A624B5E12400278F2D /* wood2.caf */, ); path = sounds; sourceTree = ""; }; 543CDB1E23EEE61900B7F323 /* GlassVPN */ = { isa = PBXGroup; children = ( 543CDB1F23EEE61900B7F323 /* PacketTunnelProvider.swift */, 543CDB2123EEE61900B7F323 /* Info.plist */, 543CDB2223EEE61900B7F323 /* GlassVPN.entitlements */, 54CA02BD2426D4F3003A5E04 /* DDLog.swift */, 54CA01D72426B2FC003A5E04 /* zhuhaow-NEKit */, 54CA01D62426B289003A5E04 /* zhuhaow-Resolver */, 54CA00D52426A7F2003A5E04 /* robbiehanson-CocoaAsyncSocket */, ); path = GlassVPN; sourceTree = ""; }; 545DDDD224436A03003B6544 /* Common Classes */ = { isa = PBXGroup; children = ( 54E67E4824A8B1280025D261 /* Prefs.swift */, 54E67E4524A8B0FE0025D261 /* PrefsShared.swift */, 545DDDD024436983003B6544 /* QuickUI.swift */, 545DDDCE243E6267003B6544 /* TutorialSheet.swift */, 54686A8624FD26410084934D /* TinyMarkdown.swift */, 54D8B979246C9F2000EB2414 /* FilterPipeline.swift */, 54448A3124899A4000771C96 /* SearchBarManager.swift */, 549ECD9C24A7AD550097571C /* CustomAlert.swift */, 541FC47524A12D01009154D8 /* IBViews.swift */, 5404AEEC24A95F3F003B2F54 /* SlideInAnimation.swift */, 541075D024CDBA0000D6F1BF /* ThrottledBatchQueue.swift */, 54686A7524F8062C0084934D /* NotificationBanner.swift */, ); path = "Common Classes"; sourceTree = ""; }; 54686A8324FD0A3F0084934D /* tutorials */ = { isa = PBXGroup; children = ( 54686A8824FD31580084934D /* tut-welcome-1.md */, 54686A8B24FD3F180084934D /* tut-welcome-2.md */, 54686A8A24FD3F100084934D /* tut-recording-1.md */, 54686A8924FD31630084934D /* tut-recording-2.md */, 54686A8424FD0A3F0084934D /* tut-recording-howto.md */, 54686A8C24FD3F630084934D /* tut-cooccurrence.md */, ); path = tutorials; sourceTree = ""; }; 54A0CC0D24E314B6009B5EC1 /* GUI */ = { isa = PBXGroup; children = ( 541AC5E02399498B00A769D7 /* LaunchScreen.storyboard */, 541AC5DB2399498A00A769D7 /* Main.storyboard */, 54A0CC0A24E30D6F009B5EC1 /* Requests.storyboard */, 549A96D8250419B200C565FA /* CoOccurrence.storyboard */, 54A0CC0724E30C56009B5EC1 /* Recordings.storyboard */, 543078C124B60F3B00278F2D /* Settings.storyboard */, ); path = GUI; sourceTree = ""; }; 54B3459A2415651C004C53CC /* DB */ = { isa = PBXGroup; children = ( 54B7562223D7B2DC008F0C41 /* DBCore.swift */, 54D8B97D2471B88900EB2414 /* DBCommon.swift */, 54D8B9822471BD8100EB2414 /* DBAppOnly.swift */, 54B345AC241BBB00004C53CC /* DBExtensions.swift */, 541FC9862497D81C00962623 /* TheGreatDestroyer.swift */, ); path = DB; sourceTree = ""; }; 54B345A4241BB975004C53CC /* Extensions */ = { isa = PBXGroup; children = ( 54B345A8241BBA0B004C53CC /* Logging.swift */, 54E67E4E24A8E2910025D261 /* Equatable.swift */, 54B345A5241BB982004C53CC /* Notifications.swift */, 54B345AA241BBA5B004C53CC /* AlertSheet.swift */, 54E67E5024A8E8820025D261 /* View.swift */, 541DCA6024A6B0F6005F1A4B /* Color.swift */, 54448A2F248647D900771C96 /* Time.swift */, 54751E502423955000168273 /* URL.swift */, 54EFA4E72491A16A0022D618 /* Font.swift */, 54448A2D2486464F00771C96 /* Array.swift */, 54D8B97B2471A7E000EB2414 /* String.swift */, 54B34595240F0513004C53CC /* TableView.swift */, 545DDDD324466D37003B6544 /* AutoLayout.swift */, ); path = Extensions; sourceTree = ""; }; 54B345B12422E029004C53CC /* App Icons */ = { isa = PBXGroup; children = ( 54C056DC23E9EEF700214A3F /* BundleIcon.swift */, 54C056DA23E9E36E00214A3F /* AppStoreSearch.swift */, ); path = "App Icons"; sourceTree = ""; }; 54CA00D52426A7F2003A5E04 /* robbiehanson-CocoaAsyncSocket */ = { isa = PBXGroup; children = ( 54CA00D62426A803003A5E04 /* CocoaAsyncSocket.h */, 54CA02C12426DCCD003A5E04 /* GCDAsyncSocket.h */, 54CA02BF2426DCCC003A5E04 /* GCDAsyncSocket.m */, 54CA02C22426DCCD003A5E04 /* GCDAsyncUdpSocket.h */, 54CA02C02426DCCD003A5E04 /* GCDAsyncUdpSocket.m */, ); path = "robbiehanson-CocoaAsyncSocket"; sourceTree = ""; }; 54CA01D62426B289003A5E04 /* zhuhaow-Resolver */ = { isa = PBXGroup; children = ( 54CA01D22426B23D003A5E04 /* Resolver.swift */, 54CA01D42426B251003A5E04 /* SafeDict.swift */, ); path = "zhuhaow-Resolver"; sourceTree = ""; }; 54CA01D72426B2FC003A5E04 /* zhuhaow-NEKit */ = { isa = PBXGroup; children = ( 54CA01E12426B2FC003A5E04 /* Messages */, 54CA01E52426B2FC003A5E04 /* ProxyServer */, 54CA01EE2426B2FC003A5E04 /* RawSocket */, 54CA01F72426B2FC003A5E04 /* Opt.swift */, 54CA01F82426B2FC003A5E04 /* Utils */, 54CA02082426B2FC003A5E04 /* GlobalIntializer.swift */, 54CA02092426B2FC003A5E04 /* Rule */, 54CA02142426B2FC003A5E04 /* Tunnel */, 54CA02172426B2FC003A5E04 /* ResponseGenerator.swift */, 54CA02182426B2FC003A5E04 /* Utils.swift */, 54CA02192426B2FC003A5E04 /* IPStack */, 54CA022A2426B2FC003A5E04 /* Event */, 54CA02352426B2FC003A5E04 /* Socket */, ); path = "zhuhaow-NEKit"; sourceTree = ""; }; 54CA01E12426B2FC003A5E04 /* Messages */ = { isa = PBXGroup; children = ( 54CA01E22426B2FC003A5E04 /* ConnectSession.swift */, 54CA01E32426B2FC003A5E04 /* HTTPHeader.swift */, ); path = Messages; sourceTree = ""; }; 54CA01E52426B2FC003A5E04 /* ProxyServer */ = { isa = PBXGroup; children = ( 54CA01E62426B2FC003A5E04 /* ProxyServer.swift */, 54CA01E72426B2FC003A5E04 /* GCDProxyServer.swift */, 54CA01E92426B2FC003A5E04 /* GCDHTTPProxyServer.swift */, ); path = ProxyServer; sourceTree = ""; }; 54CA01EE2426B2FC003A5E04 /* RawSocket */ = { isa = PBXGroup; children = ( 54CA01EF2426B2FC003A5E04 /* NWUDPSocket.swift */, 54CA01F02426B2FC003A5E04 /* RawTCPSocketProtocol.swift */, 54CA01F12426B2FC003A5E04 /* NWTCPSocket.swift */, 54CA01F32426B2FC003A5E04 /* RawSocketFactory.swift */, 54CA01F42426B2FC003A5E04 /* GCDTCPSocket.swift */, ); path = RawSocket; sourceTree = ""; }; 54CA01F82426B2FC003A5E04 /* Utils */ = { isa = PBXGroup; children = ( 54CA01FA2426B2FC003A5E04 /* Port.swift */, 54CA01FB2426B2FC003A5E04 /* HTTPStreamScanner.swift */, 54CA01FC2426B2FC003A5E04 /* UInt128.swift */, 54CA01FD2426B2FC003A5E04 /* IPInterval.swift */, 54CA01FE2426B2FC003A5E04 /* IPPool.swift */, 54CA01FF2426B2FC003A5E04 /* IPMask.swift */, 54CA02002426B2FC003A5E04 /* IPRange.swift */, 54CA02012426B2FC003A5E04 /* IPAddress.swift */, 54CA02032426B2FC003A5E04 /* BinaryDataScanner.swift */, 54CA02042426B2FC003A5E04 /* Checksum.swift */, 54CA02052426B2FC003A5E04 /* HTTPURL.swift */, 54CA02062426B2FC003A5E04 /* HTTPAuthentication.swift */, 54CA02072426B2FC003A5E04 /* StreamScanner.swift */, ); path = Utils; sourceTree = ""; }; 54CA02092426B2FC003A5E04 /* Rule */ = { isa = PBXGroup; children = ( 54CA020C2426B2FC003A5E04 /* DNSSessionMatchType.swift */, 54CA020F2426B2FC003A5E04 /* DNSSessionMatchResult.swift */, ); path = Rule; sourceTree = ""; }; 54CA02142426B2FC003A5E04 /* Tunnel */ = { isa = PBXGroup; children = ( 54CA02152426B2FC003A5E04 /* QueueFactory.swift */, 54CA02162426B2FC003A5E04 /* Tunnel.swift */, ); path = Tunnel; sourceTree = ""; }; 54CA02192426B2FC003A5E04 /* IPStack */ = { isa = PBXGroup; children = ( 54CA021C2426B2FC003A5E04 /* IPStackProtocol.swift */, 54CA021F2426B2FC003A5E04 /* DNS */, 54CA02252426B2FC003A5E04 /* Packet */, ); path = IPStack; sourceTree = ""; }; 54CA021F2426B2FC003A5E04 /* DNS */ = { isa = PBXGroup; children = ( 54CA02202426B2FC003A5E04 /* DNSMessage.swift */, 54CA02212426B2FC003A5E04 /* DNSSession.swift */, 54CA02222426B2FC003A5E04 /* DNSServer.swift */, 54CA02232426B2FC003A5E04 /* DNSResolver.swift */, 54CA02242426B2FC003A5E04 /* DNSEnums.swift */, ); path = DNS; sourceTree = ""; }; 54CA02252426B2FC003A5E04 /* Packet */ = { isa = PBXGroup; children = ( 54CA02262426B2FC003A5E04 /* PacketProtocolParser.swift */, 54CA02272426B2FC003A5E04 /* IPPacket.swift */, ); path = Packet; sourceTree = ""; }; 54CA022A2426B2FC003A5E04 /* Event */ = { isa = PBXGroup; children = ( 54CA022B2426B2FC003A5E04 /* Observer.swift */, 54CA022D2426B2FC003A5E04 /* Event */, 54CA02342426B2FC003A5E04 /* ObserverFactory.swift */, ); path = Event; sourceTree = ""; }; 54CA022D2426B2FC003A5E04 /* Event */ = { isa = PBXGroup; children = ( 54CA022E2426B2FC003A5E04 /* AdapterSocketEvent.swift */, 54CA022F2426B2FC003A5E04 /* ProxyServerEvent.swift */, 54CA02302426B2FC003A5E04 /* EventType.swift */, 54CA02312426B2FC003A5E04 /* ProxySocketEvent.swift */, 54CA02322426B2FC003A5E04 /* TunnelEvent.swift */, ); path = Event; sourceTree = ""; }; 54CA02352426B2FC003A5E04 /* Socket */ = { isa = PBXGroup; children = ( 54CA02362426B2FC003A5E04 /* AdapterSocket */, 54CA024E2426B2FD003A5E04 /* ProxySocket */, 54CA02532426B2FD003A5E04 /* SocketProtocol.swift */, ); path = Socket; sourceTree = ""; }; 54CA02362426B2FC003A5E04 /* AdapterSocket */ = { isa = PBXGroup; children = ( 54CA023A2426B2FC003A5E04 /* AdapterSocket.swift */, 54CA023B2426B2FC003A5E04 /* DirectAdapter.swift */, 54CA023E2426B2FC003A5E04 /* Factory */, ); path = AdapterSocket; sourceTree = ""; }; 54CA023E2426B2FC003A5E04 /* Factory */ = { isa = PBXGroup; children = ( 54CA02432426B2FD003A5E04 /* AdapterFactory.swift */, ); path = Factory; sourceTree = ""; }; 54CA024E2426B2FD003A5E04 /* ProxySocket */ = { isa = PBXGroup; children = ( 54CA024F2426B2FD003A5E04 /* HTTPProxySocket.swift */, 54CA02512426B2FD003A5E04 /* ProxySocket.swift */, ); path = ProxySocket; sourceTree = ""; }; 54E540F0247C386500F7C34A /* Data Source */ = { isa = PBXGroup; children = ( 54E540F3247D3F2600F7C34A /* SimulatorVPN.swift */, 54E540F92482414800F7C34A /* SyncUpdate.swift */, 54D8B98524796E9800EB2414 /* GroupedDomainDataSource.swift */, 54E540F1247C423200F7C34A /* DomainFilter.swift */, 54E540F7247DB90F00F7C34A /* RecordingsDB.swift */, ); path = "Data Source"; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ 541AC5D32399498A00A769D7 /* AppChk */ = { isa = PBXNativeTarget; buildConfigurationList = 541AC5E62399498B00A769D7 /* Build configuration list for PBXNativeTarget "AppChk" */; buildPhases = ( 541AC5D02399498A00A769D7 /* Sources */, 541AC5D12399498A00A769D7 /* Frameworks */, 541AC5D22399498A00A769D7 /* Resources */, 541AC5FD239949BE00A769D7 /* Embed App Extensions */, ); buildRules = ( ); dependencies = ( 543CDB2423EEE61900B7F323 /* PBXTargetDependency */, ); name = AppChk; packageProductDependencies = ( ); productName = PrivacyScore; productReference = 541AC5D42399498A00A769D7 /* AppChk.app */; productType = "com.apple.product-type.application"; }; 543CDB1C23EEE61900B7F323 /* GlassVPN */ = { isa = PBXNativeTarget; buildConfigurationList = 543CDB2623EEE61A00B7F323 /* Build configuration list for PBXNativeTarget "GlassVPN" */; buildPhases = ( 543CDB1923EEE61900B7F323 /* Sources */, 543CDB1A23EEE61900B7F323 /* Frameworks */, 543CDB1B23EEE61900B7F323 /* Resources */, ); buildRules = ( ); dependencies = ( ); name = GlassVPN; packageProductDependencies = ( ); productName = GlassVPN; productReference = 543CDB1D23EEE61900B7F323 /* GlassVPN.appex */; productType = "com.apple.product-type.app-extension"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 541AC5CC2399498A00A769D7 /* Project object */ = { isa = PBXProject; attributes = { LastSwiftUpdateCheck = 1130; LastUpgradeCheck = 1250; ORGANIZATIONNAME = relikd; TargetAttributes = { 541AC5D32399498A00A769D7 = { CreatedOnToolsVersion = 10.1; LastSwiftMigration = 1130; SystemCapabilities = { com.apple.NetworkExtensions.iOS = { enabled = 1; }; }; }; 543CDB1C23EEE61900B7F323 = { CreatedOnToolsVersion = 11.3.1; LastSwiftMigration = 1130; }; }; }; buildConfigurationList = 541AC5CF2399498A00A769D7 /* Build configuration list for PBXProject "AppChk" */; compatibilityVersion = "Xcode 9.3"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, Base, ); mainGroup = 541AC5CB2399498A00A769D7; packageReferences = ( ); productRefGroup = 541AC5D52399498A00A769D7 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( 541AC5D32399498A00A769D7 /* AppChk */, 543CDB1C23EEE61900B7F323 /* GlassVPN */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ 541AC5D22399498A00A769D7 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 543078AC24B5E12500278F2D /* typewriter2.caf in Resources */, 54953E7123E473F10054345C /* Settings.bundle in Resources */, 54686A9024FD42950084934D /* tut-recording-2.md in Resources */, 543078B024B5E12500278F2D /* plop2.caf in Resources */, 541AC5E22399498B00A769D7 /* LaunchScreen.storyboard in Resources */, 54A0CC0924E30C56009B5EC1 /* Recordings.storyboard in Resources */, 54686A8D24FD428C0084934D /* tut-welcome-1.md in Resources */, 543078B824B5E12500278F2D /* wood2.caf in Resources */, 543078BE24B5E12500278F2D /* drum2.caf in Resources */, 543078B424B5E12500278F2D /* snap1.caf in Resources */, 541AC5DF2399498B00A769D7 /* Assets.xcassets in Resources */, 543078AE24B5E12500278F2D /* wood1.caf in Resources */, 54686A8524FD0A3F0084934D /* tut-recording-howto.md in Resources */, 541AC5DD2399498A00A769D7 /* Main.storyboard in Resources */, 54B345B0242264F8004C53CC /* third-level.txt in Resources */, 54686A8F24FD42950084934D /* tut-recording-1.md in Resources */, 543078BA24B5E12500278F2D /* typewriter1.caf in Resources */, 543078B224B5E12500278F2D /* plop1.caf in Resources */, 543078B624B5E12500278F2D /* drum1.caf in Resources */, 543078BC24B5E12500278F2D /* clock.caf in Resources */, 543078C324B60F3B00278F2D /* Settings.storyboard in Resources */, 543078AA24B5E12500278F2D /* snap2.caf in Resources */, 54A0CC0C24E30D6F009B5EC1 /* Requests.storyboard in Resources */, 549A96DA250419B200C565FA /* CoOccurrence.storyboard in Resources */, 54686A9124FD42950084934D /* tut-cooccurrence.md in Resources */, 54686A8E24FD42950084934D /* tut-welcome-2.md in Resources */, 541A957623E602DF00C09C19 /* LaunchIcon.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; 543CDB1B23EEE61900B7F323 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 543078AD24B5E12500278F2D /* typewriter2.caf in Resources */, 543078BB24B5E12500278F2D /* typewriter1.caf in Resources */, 543078BF24B5E12500278F2D /* drum2.caf in Resources */, 543078AF24B5E12500278F2D /* wood1.caf in Resources */, 543078B124B5E12500278F2D /* plop2.caf in Resources */, 543078AB24B5E12500278F2D /* snap2.caf in Resources */, 543078B924B5E12500278F2D /* wood2.caf in Resources */, 543078B724B5E12500278F2D /* drum1.caf in Resources */, 543078B524B5E12500278F2D /* snap1.caf in Resources */, 543078B324B5E12500278F2D /* plop1.caf in Resources */, 543078BD24B5E12500278F2D /* clock.caf in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ 541AC5D02399498A00A769D7 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 54E67E4924A8B1280025D261 /* Prefs.swift in Sources */, 54E540F8247DB90F00F7C34A /* RecordingsDB.swift in Sources */, 54E67E4F24A8E2910025D261 /* Equatable.swift in Sources */, 54E540F4247D3F2600F7C34A /* SimulatorVPN.swift in Sources */, 541075D924CE2C7200D6F1BF /* GlassVPNHook.swift in Sources */, 541075D524CE286200D6F1BF /* CachedConnectionAlert.swift in Sources */, 5404AEEF24ACC089003B2F54 /* VCAnalysisBar.swift in Sources */, 545DDDD424466D37003B6544 /* AutoLayout.swift in Sources */, 54B345AD241BBB00004C53CC /* DBExtensions.swift in Sources */, 54E540F2247C423200F7C34A /* DomainFilter.swift in Sources */, 54D8B97E2471B88900EB2414 /* DBCommon.swift in Sources */, 54D8B9832471BD8100EB2414 /* DBAppOnly.swift in Sources */, 5412FCC224C628FA000DE429 /* TVCReminderAlerts.swift in Sources */, 54E67E4D24A8E20D0025D261 /* TVCSettings.swift in Sources */, 540E67842433FAFE00871BBE /* TVCPreviousRecords.swift in Sources */, 54B345A6241BB982004C53CC /* Notifications.swift in Sources */, 54448A2E2486464F00771C96 /* Array.swift in Sources */, 54E67E4B24A8C6370025D261 /* GlassVPN.swift in Sources */, 54686A7624F8062C0084934D /* NotificationBanner.swift in Sources */, 541FC47824A1453F009154D8 /* VCCoOccurrence.swift in Sources */, 54B345AB241BBA5B004C53CC /* AlertSheet.swift in Sources */, 541DCA6124A6B0F6005F1A4B /* Color.swift in Sources */, 545DDDCF243E6267003B6544 /* TutorialSheet.swift in Sources */, 54B345A9241BBA0B004C53CC /* Logging.swift in Sources */, 54B34596240F0513004C53CC /* TableView.swift in Sources */, 540E6780242D2CF100871BBE /* VCRecordings.swift in Sources */, 541075D124CDBA0000D6F1BF /* ThrottledBatchQueue.swift in Sources */, 54953E3323DC752E0054345C /* DBCore.swift in Sources */, 54E67E4624A8B0FE0025D261 /* PrefsShared.swift in Sources */, 5412FCC324C628FA000DE429 /* TVCChooseAlertTone.swift in Sources */, 544F912024A67EC5001D4B00 /* TVCOccurrenceContext.swift in Sources */, 54448A30248647D900771C96 /* Time.swift in Sources */, 54953E6123E0D69A0054345C /* TVCHosts.swift in Sources */, 549D6ED524D5BFDB0032E498 /* TVCAppSearch.swift in Sources */, 54CFE86824E3F401001687DD /* TVCShareRecording.swift in Sources */, 54751E512423955100168273 /* URL.swift in Sources */, 54953E5F23DEBE840054345C /* TVCDomains.swift in Sources */, 54C056DB23E9E36E00214A3F /* AppStoreSearch.swift in Sources */, 54D8B98624796E9900EB2414 /* GroupedDomainDataSource.swift in Sources */, 541075CE24C9D43A00D6F1BF /* UNNotification.swift in Sources */, 54953E6F23E44CD00054345C /* TVCHostDetails.swift in Sources */, 54D8B97C2471A7E000EB2414 /* String.swift in Sources */, 54E67E5124A8E8820025D261 /* View.swift in Sources */, 54C056DD23E9EEF700214A3F /* BundleIcon.swift in Sources */, 542E2A982404973F001462DC /* TBCMain.swift in Sources */, 54448A3224899A4000771C96 /* SearchBarManager.swift in Sources */, 5458EBC0243A3F2200CFEB15 /* TVCRecordingDetails.swift in Sources */, 549A96D62501198400C565FA /* VCEditText.swift in Sources */, 541FC9872497D81C00962623 /* TheGreatDestroyer.swift in Sources */, 54686A8724FD27AA0084934D /* TinyMarkdown.swift in Sources */, 5412F8EE24571B8200A63D7A /* VCDateFilter.swift in Sources */, 5412FCC424C628FA000DE429 /* TVCConnectionAlerts.swift in Sources */, 543078C924B75CEA00278F2D /* PushNotificationAppOnly.swift in Sources */, 545DDDD124436983003B6544 /* QuickUI.swift in Sources */, 541AC5D82399498A00A769D7 /* AppDelegate.swift in Sources */, 541FC47624A12D01009154D8 /* IBViews.swift in Sources */, 540E67822433483D00871BBE /* VCEditRecording.swift in Sources */, 54EFA4E82491A16A0022D618 /* Font.swift in Sources */, 54D8B97A246C9F2000EB2414 /* FilterPipeline.swift in Sources */, 54B34594240E6343004C53CC /* TVCFilter.swift in Sources */, 549ECD9D24A7AD550097571C /* CustomAlert.swift in Sources */, 54CE8BC424B1ED2100CC1756 /* PushNotification.swift in Sources */, 54E540FA2482414800F7C34A /* SyncUpdate.swift in Sources */, 5404AEED24A95F3F003B2F54 /* SlideInAnimation.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; 543CDB1923EEE61900B7F323 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 54CA027A2426B2FD003A5E04 /* HTTPURL.swift in Sources */, 54CA025D2426B2FD003A5E04 /* HTTPHeader.swift in Sources */, 54CA02832426B2FD003A5E04 /* DNSSessionMatchResult.swift in Sources */, 54CA02B82426B2FD003A5E04 /* HTTPProxySocket.swift in Sources */, 54CA02C32426DCCD003A5E04 /* GCDAsyncSocket.m in Sources */, 54CA02752426B2FD003A5E04 /* IPRange.swift in Sources */, 54CA02722426B2FD003A5E04 /* IPInterval.swift in Sources */, 54CA029A2426B2FD003A5E04 /* Observer.swift in Sources */, 54CA025C2426B2FD003A5E04 /* ConnectSession.swift in Sources */, 5404AEEB24A90717003B2F54 /* PrefsShared.swift in Sources */, 54CA02C42426DCCD003A5E04 /* GCDAsyncUdpSocket.m in Sources */, 54CA02BA2426B2FD003A5E04 /* ProxySocket.swift in Sources */, 54CA02892426B2FD003A5E04 /* Tunnel.swift in Sources */, 54CA029F2426B2FD003A5E04 /* ProxySocketEvent.swift in Sources */, 54CA027D2426B2FD003A5E04 /* GlobalIntializer.swift in Sources */, 54CA026F2426B2FD003A5E04 /* Port.swift in Sources */, 54CA028A2426B2FD003A5E04 /* ResponseGenerator.swift in Sources */, 54CA027C2426B2FD003A5E04 /* StreamScanner.swift in Sources */, 54CA029E2426B2FD003A5E04 /* EventType.swift in Sources */, 54CA02912426B2FD003A5E04 /* DNSMessage.swift in Sources */, 54CA02712426B2FD003A5E04 /* UInt128.swift in Sources */, 54CA02882426B2FD003A5E04 /* QueueFactory.swift in Sources */, 54CA02BE2426D4F3003A5E04 /* DDLog.swift in Sources */, 54CA02962426B2FD003A5E04 /* PacketProtocolParser.swift in Sources */, 54CA02932426B2FD003A5E04 /* DNSServer.swift in Sources */, 54CA02AE2426B2FD003A5E04 /* AdapterFactory.swift in Sources */, 54CA02792426B2FD003A5E04 /* Checksum.swift in Sources */, 541075D224CDBA0000D6F1BF /* ThrottledBatchQueue.swift in Sources */, 54CA02672426B2FD003A5E04 /* RawTCPSocketProtocol.swift in Sources */, 54CA02602426B2FD003A5E04 /* GCDProxyServer.swift in Sources */, 54CA026B2426B2FD003A5E04 /* GCDTCPSocket.swift in Sources */, 54CA028E2426B2FD003A5E04 /* IPStackProtocol.swift in Sources */, 54CA01D52426B252003A5E04 /* SafeDict.swift in Sources */, 54CA027B2426B2FD003A5E04 /* HTTPAuthentication.swift in Sources */, 54CA02762426B2FD003A5E04 /* IPAddress.swift in Sources */, 54CA02A62426B2FD003A5E04 /* AdapterSocket.swift in Sources */, 54CA02742426B2FD003A5E04 /* IPMask.swift in Sources */, 541075CF24C9D43A00D6F1BF /* UNNotification.swift in Sources */, 54D8B97F2471B89100EB2414 /* DBCommon.swift in Sources */, 54CA02942426B2FD003A5E04 /* DNSResolver.swift in Sources */, 54CA025F2426B2FD003A5E04 /* ProxyServer.swift in Sources */, 54CE8BC524B1ED2100CC1756 /* PushNotification.swift in Sources */, 54751E522423955100168273 /* URL.swift in Sources */, 54CA02732426B2FD003A5E04 /* IPPool.swift in Sources */, 541075D624CE286200D6F1BF /* CachedConnectionAlert.swift in Sources */, 54CA02782426B2FD003A5E04 /* BinaryDataScanner.swift in Sources */, 54CA02952426B2FD003A5E04 /* DNSEnums.swift in Sources */, 54CA02802426B2FD003A5E04 /* DNSSessionMatchType.swift in Sources */, 54CA02A22426B2FD003A5E04 /* ObserverFactory.swift in Sources */, 54CA029D2426B2FD003A5E04 /* ProxyServerEvent.swift in Sources */, 54CA02BC2426B2FD003A5E04 /* SocketProtocol.swift in Sources */, 54CA029C2426B2FD003A5E04 /* AdapterSocketEvent.swift in Sources */, 54CA02A72426B2FD003A5E04 /* DirectAdapter.swift in Sources */, 54CA02622426B2FD003A5E04 /* GCDHTTPProxyServer.swift in Sources */, 543CDB2023EEE61900B7F323 /* PacketTunnelProvider.swift in Sources */, 54CA02662426B2FD003A5E04 /* NWUDPSocket.swift in Sources */, 54CA02682426B2FD003A5E04 /* NWTCPSocket.swift in Sources */, 54CA01D32426B23D003A5E04 /* Resolver.swift in Sources */, 54CA028B2426B2FD003A5E04 /* Utils.swift in Sources */, 54CA02972426B2FD003A5E04 /* IPPacket.swift in Sources */, 54CA026A2426B2FD003A5E04 /* RawSocketFactory.swift in Sources */, 54CA02A02426B2FD003A5E04 /* TunnelEvent.swift in Sources */, 546063E523FEFAFE008F505A /* DBCore.swift in Sources */, 54CA02922426B2FD003A5E04 /* DNSSession.swift in Sources */, 54CA026D2426B2FD003A5E04 /* Opt.swift in Sources */, 54CA02702426B2FD003A5E04 /* HTTPStreamScanner.swift in Sources */, 541075DA24CE2C7200D6F1BF /* GlassVPNHook.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ 543CDB2423EEE61900B7F323 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 543CDB1C23EEE61900B7F323 /* GlassVPN */; targetProxy = 543CDB2323EEE61900B7F323 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ 541AC5DB2399498A00A769D7 /* Main.storyboard */ = { isa = PBXVariantGroup; children = ( 541AC5DC2399498A00A769D7 /* Base */, ); name = Main.storyboard; sourceTree = ""; }; 541AC5E02399498B00A769D7 /* LaunchScreen.storyboard */ = { isa = PBXVariantGroup; children = ( 541AC5E12399498B00A769D7 /* Base */, ); name = LaunchScreen.storyboard; sourceTree = ""; }; 543078C124B60F3B00278F2D /* Settings.storyboard */ = { isa = PBXVariantGroup; children = ( 543078C224B60F3B00278F2D /* Base */, ); name = Settings.storyboard; sourceTree = ""; }; 549A96D8250419B200C565FA /* CoOccurrence.storyboard */ = { isa = PBXVariantGroup; children = ( 549A96D9250419B200C565FA /* Base */, ); name = CoOccurrence.storyboard; sourceTree = ""; }; 54A0CC0724E30C56009B5EC1 /* Recordings.storyboard */ = { isa = PBXVariantGroup; children = ( 54A0CC0824E30C56009B5EC1 /* Base */, ); name = Recordings.storyboard; sourceTree = ""; }; 54A0CC0A24E30D6F009B5EC1 /* Requests.storyboard */ = { isa = PBXVariantGroup; children = ( 54A0CC0B24E30D6F009B5EC1 /* Base */, ); name = Requests.storyboard; sourceTree = ""; }; /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ 541AC5E42399498B00A769D7 /* 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; CODE_SIGN_IDENTITY = "iPhone Developer"; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = MY7CB4555Z; 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; IPHONEOS_DEPLOYMENT_TARGET = 9.3; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; OTHER_SWIFT_FLAGS = ""; "OTHER_SWIFT_FLAGS[sdk=iphonesimulator*]" = "-D IOS_SIMULATOR"; SDKROOT = iphoneos; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; }; name = Debug; }; 541AC5E52399498B00A769D7 /* 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; CODE_SIGN_IDENTITY = "iPhone Developer"; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = MY7CB4555Z; 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; IPHONEOS_DEPLOYMENT_TARGET = 9.3; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; OTHER_SWIFT_FLAGS = ""; SDKROOT = iphoneos; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; VALIDATE_PRODUCT = YES; }; name = Release; }; 541AC5E72399498B00A769D7 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = main/main.entitlements; CURRENT_PROJECT_VERSION = 38; INFOPLIST_FILE = main/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); MARKETING_VERSION = 1.0.0; PRODUCT_BUNDLE_IDENTIFIER = "de.uni-bamberg.psi.AppCheck"; PRODUCT_NAME = AppChk; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; 541AC5E82399498B00A769D7 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = main/main.entitlements; CURRENT_PROJECT_VERSION = 38; INFOPLIST_FILE = main/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); MARKETING_VERSION = 1.0.0; PRODUCT_BUNDLE_IDENTIFIER = "de.uni-bamberg.psi.AppCheck"; PRODUCT_NAME = AppChk; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Release; }; 543CDB2723EEE61A00B7F323 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = GlassVPN/GlassVPN.entitlements; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 38; INFOPLIST_FILE = GlassVPN/Info.plist; MARKETING_VERSION = 1.0.0; PRODUCT_BUNDLE_IDENTIFIER = "de.uni-bamberg.psi.AppCheck.VPN"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_OBJC_BRIDGING_HEADER = "GlassVPN/robbiehanson-CocoaAsyncSocket/CocoaAsyncSocket.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; 543CDB2823EEE61A00B7F323 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = GlassVPN/GlassVPN.entitlements; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 38; INFOPLIST_FILE = GlassVPN/Info.plist; MARKETING_VERSION = 1.0.0; PRODUCT_BUNDLE_IDENTIFIER = "de.uni-bamberg.psi.AppCheck.VPN"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_OBJC_BRIDGING_HEADER = "GlassVPN/robbiehanson-CocoaAsyncSocket/CocoaAsyncSocket.h"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ 541AC5CF2399498A00A769D7 /* Build configuration list for PBXProject "AppChk" */ = { isa = XCConfigurationList; buildConfigurations = ( 541AC5E42399498B00A769D7 /* Debug */, 541AC5E52399498B00A769D7 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; 541AC5E62399498B00A769D7 /* Build configuration list for PBXNativeTarget "AppChk" */ = { isa = XCConfigurationList; buildConfigurations = ( 541AC5E72399498B00A769D7 /* Debug */, 541AC5E82399498B00A769D7 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; 543CDB2623EEE61A00B7F323 /* Build configuration list for PBXNativeTarget "GlassVPN" */ = { isa = XCConfigurationList; buildConfigurations = ( 543CDB2723EEE61A00B7F323 /* Debug */, 543CDB2823EEE61A00B7F323 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; rootObject = 541AC5CC2399498A00A769D7 /* Project object */; }