From f441b89efb7f3443f9395dfc98b132f8866bcb95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=96=E7=95=8C?= Date: Thu, 29 Jun 2023 18:37:30 +0800 Subject: [PATCH] Init commit --- .gitignore | 4 + .swift-version | 1 + ApplicationLibrary/ApplicationLibrary.swift | 5 + .../Assets.xcassets/Contents.json | 6 + .../save.symbolset/Contents.json | 12 + .../save.symbolset/save-save_symbol.svg | 127 ++ .../Service/ProfileUpdateTask.swift | 50 + .../Service/UIProfileUpdateTask.swift | 47 + .../Views/Abstract/Binding+Unwrap.swift | 11 + .../Views/Abstract/Formtem.swift | 35 + .../Views/Abstract/ViewBuilder.swift | 6 + .../Views/Dashboard/ActiveDashboardView.swift | 144 ++ .../Views/Dashboard/DashboardView.swift | 17 + .../Views/Dashboard/ExtensionStatusView.swift | 116 ++ .../Dashboard/InstallProfileButton.swift | 35 + .../Views/Dashboard/StartStopButton.swift | 90 + .../Views/EnvironmentValues.swift | 57 + .../Views/Groups/GroupItemView.swift | 92 + .../Views/Groups/GroupListView.swift | 119 ++ .../Views/Groups/GroupView.swift | 141 ++ .../Views/Groups/OutboundGroup.swift | 32 + .../Views/Groups/OutboundGroupItem.swift | 29 + ApplicationLibrary/Views/Log/LogClient.swift | 108 + ApplicationLibrary/Views/Log/LogView.swift | 72 + ApplicationLibrary/Views/NavigationPage.swift | 86 + .../Profile/EditProfileContentView.swift | 149 ++ .../Views/Profile/EditProfileView.swift | 172 ++ .../Views/Profile/EditProfileWindowView.swift | 69 + .../Views/Profile/NewProfileView.swift | 223 +++ .../Views/Profile/ProfileView.swift | 232 +++ .../Views/Setting/ServiceLogView.swift | 89 + .../Views/Setting/SettingView.swift | 147 ++ Extension/Extension+Iterator.swift | 12 + Extension/Extension+RunBlocking.swift | 23 + Extension/Extension.entitlements | 20 + Extension/ExtensionPlatformInterface.swift | 156 ++ Extension/Info.plist | 13 + Extension/PacketTunnelProvider.swift | 174 ++ IntentsExtension/Info.plist | 11 + IntentsExtension/Intents.swift | 197 ++ .../IntentsExtension.entitlements | 14 + IntentsExtension/IntentsExtension.swift | 4 + LICENSE | 14 + Library/Database/Databse.swift | 36 + Library/Database/Profile+Date.swift | 16 + Library/Database/Profile+Hashable.swift | 11 + Library/Database/Profile+RW.swift | 31 + Library/Database/Profile+Update.swift | 20 + Library/Database/Profile.swift | 73 + Library/Database/ProfileManager.swift | 98 + .../ShadredPreferences+Database.swift | 116 ++ Library/Database/SharedPreferences.swift | 19 + Library/Library.swift | 3 + Library/Network/ExtensionProfile.swift | 70 + Library/Network/HTTPClient.swift | 40 + Library/Network/NEVPNStatus+isConnected.swift | 40 + Library/Shared/Bundle+Version.swift | 11 + Library/Shared/FilePath.swift | 34 + Library/Shared/ServiceNotification.swift | 46 + README.md | 26 + SFI/Application.swift | 16 + SFI/ApplicationDelegate.swift | 20 + .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/100.png | Bin 0 -> 4935 bytes .../AppIcon.appiconset/1024.png | Bin 0 -> 57234 bytes .../AppIcon.appiconset/114.png | Bin 0 -> 5669 bytes .../AppIcon.appiconset/120.png | Bin 0 -> 6002 bytes .../AppIcon.appiconset/144.png | Bin 0 -> 7289 bytes .../AppIcon.appiconset/152.png | Bin 0 -> 7833 bytes .../AppIcon.appiconset/167.png | Bin 0 -> 8755 bytes .../AppIcon.appiconset/180.png | Bin 0 -> 9512 bytes SFI/Assets.xcassets/AppIcon.appiconset/20.png | Bin 0 -> 906 bytes SFI/Assets.xcassets/AppIcon.appiconset/29.png | Bin 0 -> 1399 bytes SFI/Assets.xcassets/AppIcon.appiconset/40.png | Bin 0 -> 1983 bytes SFI/Assets.xcassets/AppIcon.appiconset/50.png | Bin 0 -> 2496 bytes SFI/Assets.xcassets/AppIcon.appiconset/57.png | Bin 0 -> 2787 bytes SFI/Assets.xcassets/AppIcon.appiconset/58.png | Bin 0 -> 2875 bytes SFI/Assets.xcassets/AppIcon.appiconset/60.png | Bin 0 -> 3040 bytes SFI/Assets.xcassets/AppIcon.appiconset/72.png | Bin 0 -> 3510 bytes SFI/Assets.xcassets/AppIcon.appiconset/76.png | Bin 0 -> 3800 bytes SFI/Assets.xcassets/AppIcon.appiconset/80.png | Bin 0 -> 3880 bytes SFI/Assets.xcassets/AppIcon.appiconset/87.png | Bin 0 -> 4264 bytes .../AppIcon.appiconset/Contents.json | 324 +++ SFI/Assets.xcassets/Contents.json | 6 + SFI/ContentView.swift | 61 + SFI/Info.plist | 28 + SFI/MainView.swift | 84 + SFI/SFI.entitlements | 26 + SFM/Application.swift | 80 + SFM/ApplicationDelegate.swift | 51 + .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 68 + .../AppIcon.appiconset/apple-128 1x.png | Bin 0 -> 284463 bytes .../AppIcon.appiconset/apple-128 2x.png | Bin 0 -> 293353 bytes .../AppIcon.appiconset/apple-16 1x.png | Bin 0 -> 279170 bytes .../AppIcon.appiconset/apple-16 2x.png | Bin 0 -> 279390 bytes .../AppIcon.appiconset/apple-256 1x.png | Bin 0 -> 293353 bytes .../AppIcon.appiconset/apple-256 2x.png | Bin 0 -> 312784 bytes .../AppIcon.appiconset/apple-32 1x.png | Bin 0 -> 278755 bytes .../AppIcon.appiconset/apple-32 2x 1.png | Bin 0 -> 280608 bytes .../AppIcon.appiconset/apple-512 1x.png | Bin 0 -> 312784 bytes .../AppIcon.appiconset/apple-512 2x.png | Bin 0 -> 348668 bytes SFM/Assets.xcassets/Contents.json | 6 + SFM/Info.plist | 20 + SFM/MainView.swift | 101 + SFM/MenuView.swift | 210 ++ SFM/SFM.entitlements | 34 + SFM/SidebarView.swift | 47 + .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 13 + WidgetExtension/Assets.xcassets/Contents.json | 6 + .../WidgetBackground.colorset/Contents.json | 11 + WidgetExtension/Info.plist | 11 + WidgetExtension/Intents.swift | 46 + WidgetExtension/WidgetExtension.entitlements | 10 + WidgetExtension/WidgetExtension.swift | 89 + WidgetExtension/WidgetExtensionBundle.swift | 9 + sing-box.xcodeproj/project.pbxproj | 1783 +++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/swiftpm/Package.resolved | 41 + .../xcschemes/xcschememanagement.plist | 255 +++ 122 files changed, 7355 insertions(+) create mode 100644 .gitignore create mode 100644 .swift-version create mode 100644 ApplicationLibrary/ApplicationLibrary.swift create mode 100644 ApplicationLibrary/Assets.xcassets/Contents.json create mode 100644 ApplicationLibrary/Assets.xcassets/save.symbolset/Contents.json create mode 100644 ApplicationLibrary/Assets.xcassets/save.symbolset/save-save_symbol.svg create mode 100644 ApplicationLibrary/Service/ProfileUpdateTask.swift create mode 100644 ApplicationLibrary/Service/UIProfileUpdateTask.swift create mode 100644 ApplicationLibrary/Views/Abstract/Binding+Unwrap.swift create mode 100644 ApplicationLibrary/Views/Abstract/Formtem.swift create mode 100644 ApplicationLibrary/Views/Abstract/ViewBuilder.swift create mode 100644 ApplicationLibrary/Views/Dashboard/ActiveDashboardView.swift create mode 100644 ApplicationLibrary/Views/Dashboard/DashboardView.swift create mode 100644 ApplicationLibrary/Views/Dashboard/ExtensionStatusView.swift create mode 100644 ApplicationLibrary/Views/Dashboard/InstallProfileButton.swift create mode 100644 ApplicationLibrary/Views/Dashboard/StartStopButton.swift create mode 100644 ApplicationLibrary/Views/EnvironmentValues.swift create mode 100644 ApplicationLibrary/Views/Groups/GroupItemView.swift create mode 100644 ApplicationLibrary/Views/Groups/GroupListView.swift create mode 100644 ApplicationLibrary/Views/Groups/GroupView.swift create mode 100644 ApplicationLibrary/Views/Groups/OutboundGroup.swift create mode 100644 ApplicationLibrary/Views/Groups/OutboundGroupItem.swift create mode 100644 ApplicationLibrary/Views/Log/LogClient.swift create mode 100644 ApplicationLibrary/Views/Log/LogView.swift create mode 100644 ApplicationLibrary/Views/NavigationPage.swift create mode 100644 ApplicationLibrary/Views/Profile/EditProfileContentView.swift create mode 100644 ApplicationLibrary/Views/Profile/EditProfileView.swift create mode 100644 ApplicationLibrary/Views/Profile/EditProfileWindowView.swift create mode 100644 ApplicationLibrary/Views/Profile/NewProfileView.swift create mode 100644 ApplicationLibrary/Views/Profile/ProfileView.swift create mode 100644 ApplicationLibrary/Views/Setting/ServiceLogView.swift create mode 100644 ApplicationLibrary/Views/Setting/SettingView.swift create mode 100644 Extension/Extension+Iterator.swift create mode 100644 Extension/Extension+RunBlocking.swift create mode 100644 Extension/Extension.entitlements create mode 100644 Extension/ExtensionPlatformInterface.swift create mode 100644 Extension/Info.plist create mode 100644 Extension/PacketTunnelProvider.swift create mode 100644 IntentsExtension/Info.plist create mode 100644 IntentsExtension/Intents.swift create mode 100644 IntentsExtension/IntentsExtension.entitlements create mode 100644 IntentsExtension/IntentsExtension.swift create mode 100644 LICENSE create mode 100644 Library/Database/Databse.swift create mode 100644 Library/Database/Profile+Date.swift create mode 100644 Library/Database/Profile+Hashable.swift create mode 100644 Library/Database/Profile+RW.swift create mode 100644 Library/Database/Profile+Update.swift create mode 100644 Library/Database/Profile.swift create mode 100644 Library/Database/ProfileManager.swift create mode 100644 Library/Database/ShadredPreferences+Database.swift create mode 100644 Library/Database/SharedPreferences.swift create mode 100644 Library/Library.swift create mode 100644 Library/Network/ExtensionProfile.swift create mode 100644 Library/Network/HTTPClient.swift create mode 100644 Library/Network/NEVPNStatus+isConnected.swift create mode 100644 Library/Shared/Bundle+Version.swift create mode 100644 Library/Shared/FilePath.swift create mode 100644 Library/Shared/ServiceNotification.swift create mode 100644 README.md create mode 100644 SFI/Application.swift create mode 100644 SFI/ApplicationDelegate.swift create mode 100644 SFI/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 SFI/Assets.xcassets/AppIcon.appiconset/100.png create mode 100644 SFI/Assets.xcassets/AppIcon.appiconset/1024.png create mode 100644 SFI/Assets.xcassets/AppIcon.appiconset/114.png create mode 100644 SFI/Assets.xcassets/AppIcon.appiconset/120.png create mode 100644 SFI/Assets.xcassets/AppIcon.appiconset/144.png create mode 100644 SFI/Assets.xcassets/AppIcon.appiconset/152.png create mode 100644 SFI/Assets.xcassets/AppIcon.appiconset/167.png create mode 100644 SFI/Assets.xcassets/AppIcon.appiconset/180.png create mode 100644 SFI/Assets.xcassets/AppIcon.appiconset/20.png create mode 100644 SFI/Assets.xcassets/AppIcon.appiconset/29.png create mode 100644 SFI/Assets.xcassets/AppIcon.appiconset/40.png create mode 100644 SFI/Assets.xcassets/AppIcon.appiconset/50.png create mode 100644 SFI/Assets.xcassets/AppIcon.appiconset/57.png create mode 100644 SFI/Assets.xcassets/AppIcon.appiconset/58.png create mode 100644 SFI/Assets.xcassets/AppIcon.appiconset/60.png create mode 100644 SFI/Assets.xcassets/AppIcon.appiconset/72.png create mode 100644 SFI/Assets.xcassets/AppIcon.appiconset/76.png create mode 100644 SFI/Assets.xcassets/AppIcon.appiconset/80.png create mode 100644 SFI/Assets.xcassets/AppIcon.appiconset/87.png create mode 100644 SFI/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 SFI/Assets.xcassets/Contents.json create mode 100644 SFI/ContentView.swift create mode 100644 SFI/Info.plist create mode 100644 SFI/MainView.swift create mode 100644 SFI/SFI.entitlements create mode 100644 SFM/Application.swift create mode 100644 SFM/ApplicationDelegate.swift create mode 100644 SFM/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 SFM/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 SFM/Assets.xcassets/AppIcon.appiconset/apple-128 1x.png create mode 100644 SFM/Assets.xcassets/AppIcon.appiconset/apple-128 2x.png create mode 100644 SFM/Assets.xcassets/AppIcon.appiconset/apple-16 1x.png create mode 100644 SFM/Assets.xcassets/AppIcon.appiconset/apple-16 2x.png create mode 100644 SFM/Assets.xcassets/AppIcon.appiconset/apple-256 1x.png create mode 100644 SFM/Assets.xcassets/AppIcon.appiconset/apple-256 2x.png create mode 100644 SFM/Assets.xcassets/AppIcon.appiconset/apple-32 1x.png create mode 100644 SFM/Assets.xcassets/AppIcon.appiconset/apple-32 2x 1.png create mode 100644 SFM/Assets.xcassets/AppIcon.appiconset/apple-512 1x.png create mode 100644 SFM/Assets.xcassets/AppIcon.appiconset/apple-512 2x.png create mode 100644 SFM/Assets.xcassets/Contents.json create mode 100644 SFM/Info.plist create mode 100644 SFM/MainView.swift create mode 100644 SFM/MenuView.swift create mode 100644 SFM/SFM.entitlements create mode 100644 SFM/SidebarView.swift create mode 100644 WidgetExtension/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 WidgetExtension/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 WidgetExtension/Assets.xcassets/Contents.json create mode 100644 WidgetExtension/Assets.xcassets/WidgetBackground.colorset/Contents.json create mode 100644 WidgetExtension/Info.plist create mode 100644 WidgetExtension/Intents.swift create mode 100644 WidgetExtension/WidgetExtension.entitlements create mode 100644 WidgetExtension/WidgetExtension.swift create mode 100644 WidgetExtension/WidgetExtensionBundle.swift create mode 100644 sing-box.xcodeproj/project.pbxproj create mode 100644 sing-box.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 sing-box.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 sing-box.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved create mode 100644 sing-box.xcodeproj/xcuserdata/sekai.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4b443cb --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +/.idea/ +/Libbox.xcframework/ +xcuserdata/ +.DS_Store/ \ No newline at end of file diff --git a/.swift-version b/.swift-version new file mode 100644 index 0000000..43f030c --- /dev/null +++ b/.swift-version @@ -0,0 +1 @@ +5.7 \ No newline at end of file diff --git a/ApplicationLibrary/ApplicationLibrary.swift b/ApplicationLibrary/ApplicationLibrary.swift new file mode 100644 index 0000000..3a001dd --- /dev/null +++ b/ApplicationLibrary/ApplicationLibrary.swift @@ -0,0 +1,5 @@ +import Foundation + +public class ApplicationLibrary { + public static let bundle = Bundle(for: ApplicationLibrary.self) +} diff --git a/ApplicationLibrary/Assets.xcassets/Contents.json b/ApplicationLibrary/Assets.xcassets/Contents.json new file mode 100644 index 0000000..74d6a72 --- /dev/null +++ b/ApplicationLibrary/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info": { + "author": "xcode", + "version": 1 + } +} diff --git a/ApplicationLibrary/Assets.xcassets/save.symbolset/Contents.json b/ApplicationLibrary/Assets.xcassets/save.symbolset/Contents.json new file mode 100644 index 0000000..51af668 --- /dev/null +++ b/ApplicationLibrary/Assets.xcassets/save.symbolset/Contents.json @@ -0,0 +1,12 @@ +{ + "info": { + "author": "xcode", + "version": 1 + }, + "symbols": [ + { + "filename": "save-save_symbol.svg", + "idiom": "universal" + } + ] +} diff --git a/ApplicationLibrary/Assets.xcassets/save.symbolset/save-save_symbol.svg b/ApplicationLibrary/Assets.xcassets/save.symbolset/save-save_symbol.svg new file mode 100644 index 0000000..2b67790 --- /dev/null +++ b/ApplicationLibrary/Assets.xcassets/save.symbolset/save-save_symbol.svg @@ -0,0 +1,127 @@ + + + + + + Weight/Scale Variations + Ultralight + Thin + Light + Regular + Medium + Semibold + Bold + Heavy + Black + Template v.1.0 + + Small + Medium + Large + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ApplicationLibrary/Service/ProfileUpdateTask.swift b/ApplicationLibrary/Service/ProfileUpdateTask.swift new file mode 100644 index 0000000..f6a2dd2 --- /dev/null +++ b/ApplicationLibrary/Service/ProfileUpdateTask.swift @@ -0,0 +1,50 @@ +import Foundation +import Library + +public enum ProfileUpdateTask { + private static var timer: Timer? + + public static func setup() throws { + var earliestBeginDate: Date? + if let updatedAt = try oldestUpdated() { + if updatedAt > Date(timeIntervalSinceNow: -taskInterval) { + earliestBeginDate = updatedAt.addingTimeInterval(taskInterval) + } + } + timer = Timer(fire: earliestBeginDate ?? Date.now, interval: taskInterval, repeats: true, block: { _ in + do { + _ = try updateProfiles() + NSLog("profile update task succeed") + } catch { + NSLog("profile update task failed: \(error.localizedDescription)") + } + }) + } + + static let taskInterval: TimeInterval = 15 * 60 + + static func oldestUpdated() throws -> Date? { + let profiles = try ProfileManager.listAutoUpdateEnabled() + return profiles.map { profile in + profile.lastUpdated! + } + .min() + } + + static func updateProfiles() throws -> Bool { + let profiles = try ProfileManager.listAutoUpdateEnabled() + var success = true + for profile in profiles { + if profile.lastUpdated! > Date(timeIntervalSinceNow: -taskInterval) { + continue + } + do { + try profile.updateRemoteProfile() + } catch { + NSLog("Update profile \(profile.name) failed: \(error.localizedDescription)") + success = false + } + } + return success + } +} diff --git a/ApplicationLibrary/Service/UIProfileUpdateTask.swift b/ApplicationLibrary/Service/UIProfileUpdateTask.swift new file mode 100644 index 0000000..f35da8a --- /dev/null +++ b/ApplicationLibrary/Service/UIProfileUpdateTask.swift @@ -0,0 +1,47 @@ +import BackgroundTasks +import Foundation +import Library + +#if os(iOS) + public class UIProfileUpdateTask: BGAppRefreshTask { + public static let taskSchedulerPermittedIdentifier = "\(FilePath.packageName).update_profiles" + + public static func setup() async throws { + let success = BGTaskScheduler.shared.register(forTaskWithIdentifier: taskSchedulerPermittedIdentifier, using: nil) { task in + NSLog("profile update task started") + do { + let success = try ProfileUpdateTask.updateProfiles() + try? scheduleUpdate(Date(timeIntervalSinceNow: ProfileUpdateTask.taskInterval)) + task.setTaskCompleted(success: success) + NSLog("profile update task succeed") + } catch { + try? scheduleUpdate(nil) + task.setTaskCompleted(success: false) + NSLog("profile update task failed: \(error.localizedDescription)") + } + task.expirationHandler = { + try? scheduleUpdate(nil) + NSLog("profile update task expired") + } + } + if !success { + throw NSError(domain: "register failed", code: 0) + } + if await BGTaskScheduler.shared.pendingTaskRequests().isEmpty { + var earliestBeginDate: Date? = nil + if let updatedAt = try ProfileUpdateTask.oldestUpdated() { + if updatedAt > Date(timeIntervalSinceNow: -ProfileUpdateTask.taskInterval) { + earliestBeginDate = updatedAt.addingTimeInterval(ProfileUpdateTask.taskInterval) + } + } + try scheduleUpdate(earliestBeginDate) + } + } + + private static func scheduleUpdate(_ earliestBeginDate: Date?) throws { + let request = BGAppRefreshTaskRequest(identifier: taskSchedulerPermittedIdentifier) + request.earliestBeginDate = earliestBeginDate + try BGTaskScheduler.shared.submit(request) + } + } +#endif diff --git a/ApplicationLibrary/Views/Abstract/Binding+Unwrap.swift b/ApplicationLibrary/Views/Abstract/Binding+Unwrap.swift new file mode 100644 index 0000000..f3d782d --- /dev/null +++ b/ApplicationLibrary/Views/Abstract/Binding+Unwrap.swift @@ -0,0 +1,11 @@ +import SwiftUI + +public extension Binding { + func unwrapped(_ defaultValue: T) -> Binding where Value == T? { + Binding(get: { + wrappedValue ?? defaultValue + }, set: { newValue in + wrappedValue = newValue + }) + } +} diff --git a/ApplicationLibrary/Views/Abstract/Formtem.swift b/ApplicationLibrary/Views/Abstract/Formtem.swift new file mode 100644 index 0000000..12495ca --- /dev/null +++ b/ApplicationLibrary/Views/Abstract/Formtem.swift @@ -0,0 +1,35 @@ +import Foundation +import SwiftUI + +public func FormView(@ViewBuilder content: () -> some View) -> some View { + Form { + content() + } + #if os(macOS) + .formStyle(.grouped) + #endif +} + +public func FormTextItem(_ name: String, _ value: String) -> some View { + HStack { + Text(name) + Spacer() + Text(value) + .multilineTextAlignment(.trailing) + .font(Font.system(.caption, design: .monospaced)) + .textSelection(.enabled) + } +} + +public func FormItem(_ title: String, @ViewBuilder content: () -> some View) -> some View { + #if os(iOS) + HStack { + Text(title) + Spacer() + Spacer() + content() + } + #else + content() + #endif +} diff --git a/ApplicationLibrary/Views/Abstract/ViewBuilder.swift b/ApplicationLibrary/Views/Abstract/ViewBuilder.swift new file mode 100644 index 0000000..e13c1e4 --- /dev/null +++ b/ApplicationLibrary/Views/Abstract/ViewBuilder.swift @@ -0,0 +1,6 @@ +import Foundation +import SwiftUI + +public func viewBuilder(@ViewBuilder _ builder: () -> some View) -> some View { + builder() +} diff --git a/ApplicationLibrary/Views/Dashboard/ActiveDashboardView.swift b/ApplicationLibrary/Views/Dashboard/ActiveDashboardView.swift new file mode 100644 index 0000000..7436d02 --- /dev/null +++ b/ApplicationLibrary/Views/Dashboard/ActiveDashboardView.swift @@ -0,0 +1,144 @@ +import Foundation +import Libbox +import Library +import SwiftUI + +public struct ActiveDashboardView: View { + public static let NotificationUpdateSelectedProfile = Notification.Name("update-selected-profile") + + @Environment(\.scenePhase) var scenePhase + @Environment(\.selection) private var selection + + @EnvironmentObject private var profile: ExtensionProfile + + @State private var isLoading = true + @State private var profileList: [Profile] = [] + @State private var selectedProfileID: Int64! + @State private var reasserting = false + @State private var observer: Any? + + @State private var errorPresented = false + @State private var errorMessage = "" + + public init() {} + + public var body: some View { + viewBuilder { + if isLoading { + ProgressView().onAppear { + Task.detached { + await doReload() + } + } + } else { + if profileList.isEmpty { + Text("Empty profiles") + } else { + #if os(iOS) + StartStopButton() + #endif + if profile.status.isConnected { + Section("Status") { + ExtensionStatusView() + } + } + Section("Profile") { + #if os(iOS) + Picker(selection: $selectedProfileID) { + ForEach(profileList, id: \.id) { profile in + Text(profile.name).tag(profile.id) + } + } label: {} + .pickerStyle(.inline) + + #elseif os(macOS) + ForEach(profileList, id: \.id) { profile in + Picker(profile.name, selection: $selectedProfileID) { + Text("").tag(profile.id) + } + } + .pickerStyle(.radioGroup) + #endif + } + .onChange(of: selectedProfileID) { _ in + reasserting = true + Task.detached { + await switchProfile(selectedProfileID!) + } + } + .disabled(!profile.status.isSwitchable || reasserting) + } + } + } + #if os(iOS) + .onChange(of: scenePhase, perform: { newValue in + if newValue == .active { + Task.detached { + await doReload() + } + } + }) + .onChange(of: selection.wrappedValue, perform: { newValue in + if newValue == .dashboard { + Task.detached { + await doReload() + } + } + }) + #elseif os(macOS) + .onAppear { + if observer == nil { + observer = NotificationCenter.default.addObserver(forName: ActiveDashboardView.NotificationUpdateSelectedProfile, object: nil, queue: nil, using: { _ in + Task.detached { + await doReload() + } + }) + } + } + .onDisappear { + if let observer { + NotificationCenter.default.removeObserver(observer) + } + } + #endif + } + + private func doReload() { + defer { + isLoading = false + } + do { + profileList = try ProfileManager.list() + } catch { + errorMessage = error.localizedDescription + errorPresented = true + return + } + if profileList.isEmpty { + return + } + + selectedProfileID = SharedPreferences.selectedProfileID + if profileList.filter({ profile in + profile.id == selectedProfileID + }) + .isEmpty { + selectedProfileID = profileList[0].id! + SharedPreferences.selectedProfileID = selectedProfileID + } + } + + private func switchProfile(_ newProfileID: Int64) { + SharedPreferences.selectedProfileID = newProfileID + NotificationCenter.default.post(name: ActiveDashboardView.NotificationUpdateSelectedProfile, object: nil) + if profile.status.isConnected { + do { + try LibboxNewStandaloneCommandClient(FilePath.sharedDirectory.relativePath)?.serviceReload() + } catch { + errorMessage = error.localizedDescription + errorPresented = true + } + } + reasserting = false + } +} diff --git a/ApplicationLibrary/Views/Dashboard/DashboardView.swift b/ApplicationLibrary/Views/Dashboard/DashboardView.swift new file mode 100644 index 0000000..d6d4698 --- /dev/null +++ b/ApplicationLibrary/Views/Dashboard/DashboardView.swift @@ -0,0 +1,17 @@ +import SwiftUI + +public struct DashboardView: View { + @Environment(\.extensionProfile) private var extensionProfile + + public init() {} + + public var body: some View { + FormView { + if let profile = extensionProfile.wrappedValue { + ActiveDashboardView().environmentObject(profile) + } else { + InstallProfileButton() + } + }.navigationTitle("Dashboard") + } +} diff --git a/ApplicationLibrary/Views/Dashboard/ExtensionStatusView.swift b/ApplicationLibrary/Views/Dashboard/ExtensionStatusView.swift new file mode 100644 index 0000000..ff022f5 --- /dev/null +++ b/ApplicationLibrary/Views/Dashboard/ExtensionStatusView.swift @@ -0,0 +1,116 @@ +import Libbox +import Library +import SwiftUI + +public struct ExtensionStatusView: View { + @State private var commandClient: LibboxCommandClient? + @State private var message: LibboxStatusMessage? + @State private var connectTask: Task? + @State private var errorPresented = false + @State private var errorMessage = "" + + private let infoFont = Font.system(.caption, design: .monospaced) + + public init() {} + + public var body: some View { + viewBuilder { + if let message { + FormTextItem("Memory", LibboxFormatBytes(message.memory)) + FormTextItem("Goroutines", "\(message.goroutines)") + FormTextItem("Connections", "\(message.connections)").contextMenu { + Button("Close", role: .destructive) { + Task.detached { + closeConnections() + } + } + } + } else { + FormTextItem("Memory", "Loading...") + FormTextItem("Goroutines", "Loading...") + FormTextItem("Connections", "Loading...") + } + } + + .onAppear(perform: doReload) + .onDisappear { + connectTask?.cancel() + if let commandClient { + try? commandClient.disconnect() + } + commandClient = nil + } + .alert(isPresented: $errorPresented) { + Alert( + title: Text("Error"), + message: Text(errorMessage), + dismissButton: .default(Text("Ok")) + ) + } + } + + private func doReload() { + connectTask?.cancel() + connectTask = Task.detached { + await connect() + } + } + + private func connect() async { + let clientOptions = LibboxCommandClientOptions() + clientOptions.command = LibboxCommandStatus + clientOptions.statusInterval = Int64(2 * NSEC_PER_SEC) + let client = LibboxNewCommandClient(FilePath.sharedDirectory.relativePath, statusHandler(self), clientOptions)! + + do { + for i in 0 ..< 10 { + try await Task.sleep(nanoseconds: UInt64(Double(100 + (i * 50)) * Double(NSEC_PER_MSEC))) + try Task.checkCancellation() + let isConnected: Bool + do { + try client.connect() + isConnected = true + } catch { + isConnected = false + } + try Task.checkCancellation() + if isConnected { + commandClient = client + return + } + } + } catch { + NSLog("failed to connect status: \(error.localizedDescription)") + try? client.disconnect() + } + } + + private func closeConnections() { + do { + try LibboxNewStandaloneCommandClient(FilePath.sharedDirectory.relativePath)?.closeConnections() + } catch { + errorMessage = error.localizedDescription + errorPresented = true + } + } + + private class statusHandler: NSObject, LibboxCommandClientHandlerProtocol { + private let statusView: ExtensionStatusView + + init(_ statusView: ExtensionStatusView) { + self.statusView = statusView + } + + func connected() {} + + func disconnected(_: String?) {} + + func writeLog(_: String?) {} + + func writeStatus(_ message: LibboxStatusMessage?) { + statusView.message = message + } + + func writeGroups(_: LibboxOutboundGroupIteratorProtocol?) {} + } +} diff --git a/ApplicationLibrary/Views/Dashboard/InstallProfileButton.swift b/ApplicationLibrary/Views/Dashboard/InstallProfileButton.swift new file mode 100644 index 0000000..15bb915 --- /dev/null +++ b/ApplicationLibrary/Views/Dashboard/InstallProfileButton.swift @@ -0,0 +1,35 @@ +import Library +import SwiftUI + +public struct InstallProfileButton: View { + @Environment(\.extensionProfile) private var extensionProfile + + @State private var errorPresented = false + @State private var errorMessage = "" + + public init() {} + + public var body: some View { + Button("Install NetworkExtension") { + Task { + await installProfile() + } + } + .alert(isPresented: $errorPresented) { + Alert( + title: Text("Error"), + message: Text(errorMessage), + dismissButton: .default(Text("Ok")) + ) + } + } + + private func installProfile() async { + do { + try await ExtensionProfile.install() + } catch { + errorMessage = error.localizedDescription + errorPresented = true + } + } +} diff --git a/ApplicationLibrary/Views/Dashboard/StartStopButton.swift b/ApplicationLibrary/Views/Dashboard/StartStopButton.swift new file mode 100644 index 0000000..bf510ba --- /dev/null +++ b/ApplicationLibrary/Views/Dashboard/StartStopButton.swift @@ -0,0 +1,90 @@ +import Library +import NetworkExtension +import SwiftUI + +public struct StartStopButton: View { + @Environment(\.extensionProfile) private var extensionProfile + + public init() {} + + public var body: some View { + viewBuilder { + if let profile = extensionProfile.wrappedValue { + Button0(profile) + } else { + #if os(iOS) + Toggle(isOn: .constant(false)) { + Text("Enabled") + } + #elseif os(macOS) + Button(action: {}, label: { + Label("Start", systemImage: "play.fill") + }) + .disabled(true) + #endif + } + } + } + + private struct Button0: View { + @Environment(\.logClient) private var logClient + @ObservedObject private var profile: ExtensionProfile + @State private var errorPresented = false + @State private var errorMessage = "" + + init(_ profile: ExtensionProfile) { + self.profile = profile + } + + var body: some View { + viewBuilder { + #if os(iOS) + Toggle(isOn: Binding(get: { + profile.status.isConnected + }, set: { newValue, _ in + Task.detached { + await switchProfile(newValue) + } + })) { + Text("Enabled") + } + #elseif os(macOS) + Button(action: { + Task.detached { + await switchProfile(!profile.status.isConnected) + } + }, label: { + if !profile.status.isConnected { + Label("Start", systemImage: "play.fill") + } else { + Label("Stop", systemImage: "stop.fill") + } + }) + #endif + } + .disabled(!profile.status.isEnabled) + .alert(isPresented: $errorPresented) { + Alert( + title: Text("Error"), + message: Text(errorMessage), + dismissButton: .default(Text("Ok")) + ) + } + } + + private func switchProfile(_ isEnabled: Bool) async { + do { + if isEnabled { + try await profile.start() + logClient.wrappedValue?.reconnect() + } else { + profile.stop() + } + } catch { + errorMessage = error.localizedDescription + errorPresented = true + return + } + } + } +} diff --git a/ApplicationLibrary/Views/EnvironmentValues.swift b/ApplicationLibrary/Views/EnvironmentValues.swift new file mode 100644 index 0000000..19e8374 --- /dev/null +++ b/ApplicationLibrary/Views/EnvironmentValues.swift @@ -0,0 +1,57 @@ +import Foundation +import Library +import SwiftUI + +public extension EnvironmentValues { + private struct showMenuBarExtraKey: EnvironmentKey { + static let defaultValue: Binding = .constant(true) + } + + var showMenuBarExtra: Binding { + get { + self[showMenuBarExtraKey.self] + } + set { + self[showMenuBarExtraKey.self] = newValue + } + } + + private struct selectionKey: EnvironmentKey { + static let defaultValue: Binding = .constant(.dashboard) + } + + var selection: Binding { + get { + self[selectionKey.self] + } + set { + self[selectionKey.self] = newValue + } + } + + private struct extensionProfileKey: EnvironmentKey { + static let defaultValue: Binding = .constant(nil) + } + + var extensionProfile: Binding { + get { + self[extensionProfileKey.self] + } + set { + self[extensionProfileKey.self] = newValue + } + } + + private struct logClientKey: EnvironmentKey { + static let defaultValue: Binding = .constant(nil) + } + + var logClient: Binding { + get { + self[logClientKey.self] + } + set { + self[logClientKey.self] = newValue + } + } +} diff --git a/ApplicationLibrary/Views/Groups/GroupItemView.swift b/ApplicationLibrary/Views/Groups/GroupItemView.swift new file mode 100644 index 0000000..cf4a374 --- /dev/null +++ b/ApplicationLibrary/Views/Groups/GroupItemView.swift @@ -0,0 +1,92 @@ +import Libbox +import Library +import SwiftUI + +public struct GroupItemView: View { + private let _group: Binding + private var group: OutboundGroup { + _group.wrappedValue + } + + private let item: OutboundGroupItem + public init(_ group: Binding, _ item: OutboundGroupItem) { + _group = group + self.item = item + } + + @State private var errorPresented = false + @State private var errorMessage = "" + + public var body: some View { + HStack { + if group.selected == item.tag { + Rectangle() + .fill(Color.accentColor) + .frame(width: 6) + } else { + Rectangle() + .fill(.clear) + .frame(width: 6) + } + VStack { + HStack { + Text(item.tag) + .truncationMode(.tail) + .lineLimit(1) + .font(.system(size: 14)) + Spacer(minLength: 6) + } + Spacer(minLength: 6) + HStack(alignment: .center) { + Text(item.type) + .foregroundColor(.secondary) + .font(.system(size: 12)) + Spacer(minLength: 6) + if item.urlTestDelay > 0 { + Text(item.delayString) + .foregroundColor(item.delayColor) + .font(.system(size: 11)) + } + } + } + .frame(height: 36) + .padding([.top, .bottom, .trailing], 12) + } + .background(backgroundColor) + .onTapGesture { + if group.selectable, group.selected != item.tag { + Task.detached { + selectOutbound() + } + } + } + .alert(isPresented: $errorPresented) { + Alert( + title: Text("Error"), + message: Text(errorMessage), + dismissButton: .default(Text("Ok")) + ) + } + } + + private func selectOutbound() { + do { + try LibboxNewStandaloneCommandClient(FilePath.sharedDirectory.relativePath)!.selectOutbound(group.tag, outboundTag: item.tag) + var newGroup = group + newGroup.selected = item.tag + _group.wrappedValue = newGroup + } catch { + errorMessage = error.localizedDescription + errorPresented = true + return + } + } + + private var backgroundColor: Color { + #if os(iOS) + return Color(uiColor: .secondarySystemGroupedBackground) + #elseif os(macOS) + return Color(nsColor: .textBackgroundColor) + #endif + } +} diff --git a/ApplicationLibrary/Views/Groups/GroupListView.swift b/ApplicationLibrary/Views/Groups/GroupListView.swift new file mode 100644 index 0000000..48fa28d --- /dev/null +++ b/ApplicationLibrary/Views/Groups/GroupListView.swift @@ -0,0 +1,119 @@ +import Libbox +import Library +import SwiftUI + +public struct GroupListView: View { + @State private var isLoading = true + @State private var connectTask: Task? + @State private var commandClient: LibboxCommandClient? + @State private var groups: [OutboundGroup] = [] + @State private var groupExpand: [String: Bool] = [:] + + public init() {} + public var body: some View { + VStack { + if isLoading { + Text("Loading...") + } else if !groups.isEmpty { + ScrollView { + VStack { + ForEach(groups, id: \.hashValue) { it in + GroupView(it, Binding(get: { + groupExpand[it.tag] ?? it.selectable + }, set: { newValue in + groupExpand[it.tag] = newValue + })) + Spacer() + } + }.padding() + } + } else { + Text("Empty groups") + } + } + .onAppear(perform: doReload) + .onDisappear { + connectTask?.cancel() + if let commandClient { + try? commandClient.disconnect() + } + commandClient = nil + } + .navigationTitle("Groups") + } + + private func doReload() { + connectTask?.cancel() + connectTask = Task.detached { + await connect() + } + } + + private func connect() async { + let clientOptions = LibboxCommandClientOptions() + clientOptions.command = LibboxCommandGroup + clientOptions.statusInterval = Int64(2 * NSEC_PER_SEC) + let client = LibboxNewCommandClient(FilePath.sharedDirectory.relativePath, groupsHandler(self), clientOptions)! + + do { + for i in 0 ..< 10 { + try await Task.sleep(nanoseconds: UInt64(Double(100 + (i * 50)) * Double(NSEC_PER_MSEC))) + try Task.checkCancellation() + let isConnected: Bool + do { + try client.connect() + isConnected = true + } catch { + isConnected = false + } + try Task.checkCancellation() + if isConnected { + commandClient = client + return + } + } + } catch { + NSLog("failed to connect status: \(error.localizedDescription)") + try? client.disconnect() + } + } + + private func setGroups(_ groupIterator: LibboxOutboundGroupIteratorProtocol) { + var goGroups = [LibboxOutboundGroup]() + while groupIterator.hasNext() { + goGroups.append(groupIterator.next()!) + } + var groups = [OutboundGroup]() + for goGroup in goGroups { + var items = [OutboundGroupItem]() + let itemIterator = goGroup.getItems()! + while itemIterator.hasNext() { + let goItem = itemIterator.next()! + items.append(OutboundGroupItem(tag: goItem.tag, type: goItem.type, urlTestTime: Date(timeIntervalSince1970: Double(goItem.urlTestTime)), urlTestDelay: UInt16(goItem.urlTestDelay))) + } + groups.append(OutboundGroup(tag: goGroup.tag, type: goGroup.type, selected: goGroup.selected, selectable: goGroup.selectable, items: items)) + } + self.groups = groups + isLoading = false + } + + private class groupsHandler: NSObject, LibboxCommandClientHandlerProtocol { + private let groupListView: GroupListView + + init(_ statusView: GroupListView) { + groupListView = statusView + } + + func connected() {} + + func disconnected(_: String?) {} + + func writeLog(_: String?) {} + + func writeStatus(_: LibboxStatusMessage?) {} + + func writeGroups(_ groupIterator: LibboxOutboundGroupIteratorProtocol?) { + groupListView.setGroups(groupIterator!) + } + } +} diff --git a/ApplicationLibrary/Views/Groups/GroupView.swift b/ApplicationLibrary/Views/Groups/GroupView.swift new file mode 100644 index 0000000..5423390 --- /dev/null +++ b/ApplicationLibrary/Views/Groups/GroupView.swift @@ -0,0 +1,141 @@ +import Libbox +import Library +import SwiftUI + +public struct GroupView: View { + private var expland: Binding + @State private var group: OutboundGroup + @State private var geometryWidth: CGFloat = 300 + + @State private var errorPresented = false + @State private var errorMessage = "" + + public init(_ group: OutboundGroup, _ expland: Binding) { + self.group = group + self.expland = expland + } + + private var title: some View { + HStack { + Text(group.tag) + .font(.system(size: 17)) + Text(group.displayType) + .font(.system(size: 13)) + .foregroundColor(.secondary) + Text("\(group.items.count)") + .font(.system(size: 11)) + .padding(EdgeInsets(top: 2, leading: 4, bottom: 2, trailing: 4)) + .background(Color.gray.opacity(0.5)) + .cornerRadius(4) + Button { + expland.wrappedValue = !expland.wrappedValue + } label: { + if expland.wrappedValue { + Image(systemName: "arrow.down.to.line") + } else { + Image(systemName: "arrow.up.to.line") + } + } + #if os(macOS) + .buttonStyle(.plain) + #endif + Button { + Task.detached { + doURLTest() + } + } label: { + Image(systemName: "bolt.fill") + } + #if os(macOS) + .buttonStyle(.plain) + #endif + Spacer(minLength: 6) + } + .alert(isPresented: $errorPresented) { + Alert( + title: Text("Error"), + message: Text(errorMessage), + dismissButton: .default(Text("Ok")) + ) + } + } + + public var body: some View { + Section { + if expland.wrappedValue { + LazyVGrid(columns: Array(repeating: GridItem(.flexible()), + count: explandColumnCount())) + { + ForEach(group.items, id: \.tag) { it in + GroupItemView($group, it) + } + } + } else { + VStack { + ForEach(Array(itemGroups.enumerated()), id: \.offset) { items in + HStack { + ForEach(items.element, id: \.tag) { it in + Rectangle() + .fill(it.delayColor) + .frame(width: 10, height: 10) + } + }.frame(maxWidth: .infinity, alignment: .topLeading) + } + } + } + } header: { + title + .frame(maxWidth: .infinity, alignment: .topLeading) + } + .background { + GeometryReader { geometry in + Rectangle() + .fill(.clear) + .frame(height: 1) + .onChange(of: geometry.size.width) { newValue in + geometryWidth = newValue + } + .onAppear { + geometryWidth = geometry.size.width + } + }.padding() + } + } + + private var itemGroups: [[OutboundGroupItem]] { + let count = Int(Int(geometryWidth) / 20) + if count == 0 { + return [group.items] + } else { + return group.items.chunked( + into: count + ) + } + } + + private func explandColumnCount() -> Int { + let count = Int(Int(geometryWidth) / 180) + #if os(iOS) + return count < 2 ? 2 : count + #else + return count < 1 ? 1 : count + #endif + } + + private func doURLTest() { + do { + try LibboxNewStandaloneCommandClient(FilePath.sharedDirectory.relativePath)!.urlTest(group.tag) + } catch { + errorMessage = error.localizedDescription + errorPresented = true + } + } +} + +private extension Array { + func chunked(into size: Int) -> [[Element]] { + stride(from: 0, to: count, by: size).map { + Array(self[$0 ..< Swift.min($0 + size, count)]) + } + } +} diff --git a/ApplicationLibrary/Views/Groups/OutboundGroup.swift b/ApplicationLibrary/Views/Groups/OutboundGroup.swift new file mode 100644 index 0000000..09eb008 --- /dev/null +++ b/ApplicationLibrary/Views/Groups/OutboundGroup.swift @@ -0,0 +1,32 @@ +import Foundation +import SwiftUI + +public struct OutboundGroup: Codable { + let tag: String + let type: String + var selected: String + let selectable: Bool + let items: [OutboundGroupItem] + + var hashValue: Int { + var value = tag.hashValue + (value, _) = value.addingReportingOverflow(selected.hashValue) + for item in items { + (value, _) = value.addingReportingOverflow(item.urlTestTime.hashValue) + } + return value + } +} + +public extension OutboundGroup { + var displayType: String { + switch type { + case "selector": + return "Selector" + case "urltest": + return "URLTest" + default: + return "Unknown" + } + } +} diff --git a/ApplicationLibrary/Views/Groups/OutboundGroupItem.swift b/ApplicationLibrary/Views/Groups/OutboundGroupItem.swift new file mode 100644 index 0000000..a03c909 --- /dev/null +++ b/ApplicationLibrary/Views/Groups/OutboundGroupItem.swift @@ -0,0 +1,29 @@ +import Foundation +import SwiftUI + +public struct OutboundGroupItem: Codable { + public let tag: String + public let type: String + + public let urlTestTime: Date + public let urlTestDelay: UInt16 +} + +public extension OutboundGroupItem { + var delayString: String { + "\(urlTestDelay)ms" + } + + var delayColor: Color { + switch urlTestDelay { + case 0: + return .gray + case ..<800: + return .green + case 800 ..< 1500: + return .yellow + default: + return .orange + } + } +} diff --git a/ApplicationLibrary/Views/Log/LogClient.swift b/ApplicationLibrary/Views/Log/LogClient.swift new file mode 100644 index 0000000..b130b9c --- /dev/null +++ b/ApplicationLibrary/Views/Log/LogClient.swift @@ -0,0 +1,108 @@ +import Foundation +import Libbox +import Library +import SwiftUI + +public class LogClient: ObservableObject { + private var maxLines: Int + @Published public var isConnected: Bool + @Published public var logList: [String] + + private var commandClient: LibboxCommandClient! + private var connectTask: Task? + + public init(_ maxLines: Int) { + self.maxLines = maxLines + isConnected = false + logList = [] + } + + deinit { + if let connectTask { + connectTask.cancel() + } + if let commandClient { + try? commandClient.disconnect() + } + } + + public func reconnect() { + if isConnected { + return + } + if let connectTask { + connectTask.cancel() + } + connectTask = Task.detached { + await self.connect() + } + } + + private func connect() async { + let clientOptions = LibboxCommandClientOptions() + clientOptions.command = LibboxCommandLog + clientOptions.statusInterval = Int64(2 * NSEC_PER_SEC) + let client = LibboxNewCommandClient(FilePath.sharedDirectory.relativePath, logHandler(self), clientOptions)! + + do { + for i in 0 ..< 10 { + try await Task.sleep(nanoseconds: UInt64(Double(100 + (i * 50)) * Double(NSEC_PER_MSEC))) + try Task.checkCancellation() + let isConnected: Bool + do { + try client.connect() + isConnected = true + } catch { + isConnected = false + } + try Task.checkCancellation() + if isConnected { + commandClient = client + return + } + } + } catch { + try? client.disconnect() + } + } + + private class logHandler: NSObject, LibboxCommandClientHandlerProtocol { + private let logClient: LogClient + + init(_ logClient: LogClient) { + self.logClient = logClient + } + + @MainActor + func connected() { + logClient.logList.removeAll() + logClient.isConnected = true + } + + @MainActor + func disconnected(_ message: String?) { + if let message { + logClient.logList.append("(log client closed) \(message)") + } else { + logClient.logList.append("(log client closed)") + } + try? logClient.commandClient?.disconnect() + logClient.commandClient = nil + logClient.isConnected = false + } + + @MainActor + func writeLog(_ message: String?) { + guard let message else { + return + } + if logClient.logList.count > logClient.maxLines { + logClient.logList.removeFirst() + } + logClient.logList.append(message) + } + + func writeStatus(_: LibboxStatusMessage?) {} + func writeGroups(_: LibboxOutboundGroupIteratorProtocol?) {} + } +} diff --git a/ApplicationLibrary/Views/Log/LogView.swift b/ApplicationLibrary/Views/Log/LogView.swift new file mode 100644 index 0000000..bcedf0a --- /dev/null +++ b/ApplicationLibrary/Views/Log/LogView.swift @@ -0,0 +1,72 @@ +import SwiftUI + +public struct LogView: View { + @Environment(\.logClient) private var logClient + + public init() {} + + public var body: some View { + viewBuilder { + if let logClient = logClient.wrappedValue { + LogView0().environmentObject(logClient) + } else { + Text("Service not started") + } + } + .navigationTitle("Logs") + } + + private struct LogView0: View { + @Environment(\.selection) private var selection + @Environment(\.extensionProfile) private var extensionProfile + @EnvironmentObject private var logClient: LogClient + + private let logFont = Font.system(.caption2, design: .monospaced) + + var body: some View { + viewBuilder { + if logClient.logList.isEmpty { + VStack { + if logClient.isConnected { + Text("Empty logs") + } else { + Text("Service not started").onAppear(perform: connectLog) + } + }.frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .center) + } else { + ScrollViewReader { reader in + ScrollView { + VStack(alignment: .leading, spacing: 0) { + ForEach(Array(logClient.logList.enumerated()), id: \.offset) { it in + Text(it.element) + .font(logFont) + Spacer(minLength: 5) + } + + .onChange(of: logClient.logList.count) { newCount in + withAnimation { + reader.scrollTo(newCount - 1) + } + } + } + .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .topLeading) + .padding() + } + .onAppear { + reader.scrollTo(logClient.logList.count - 1) + } + } + } + } + } + + private func connectLog() { + guard let profile = extensionProfile.wrappedValue else { + return + } + if profile.status.isConnected, !logClient.isConnected { + logClient.reconnect() + } + } + } +} diff --git a/ApplicationLibrary/Views/NavigationPage.swift b/ApplicationLibrary/Views/NavigationPage.swift new file mode 100644 index 0000000..9d07eee --- /dev/null +++ b/ApplicationLibrary/Views/NavigationPage.swift @@ -0,0 +1,86 @@ +import Foundation +import Library +import SwiftUI + +public enum NavigationPage: Int, CaseIterable, Identifiable { + public var id: Self { + self + } + + case dashboard + case groups + case logs + case profiles + case settings +} + +public extension NavigationPage { + var label: some View { + Label(title, systemImage: iconImage) + } + + var title: String { + switch self { + case .dashboard: + return NSLocalizedString("Dashboard", comment: "") + case .groups: + return NSLocalizedString("Groups", comment: "") + case .logs: + return NSLocalizedString("Logs", comment: "") + case .profiles: + return NSLocalizedString("Profiles", comment: "") + case .settings: + return NSLocalizedString("Settings", comment: "") + } + } + + private var iconImage: String { + switch self { + case .dashboard: + return "text.and.command.macwindow" + case .groups: + return "rectangle.3.group.fill" + case .logs: + return "doc.text.fill" + case .profiles: + return "list.bullet.rectangle.fill" + case .settings: + return "gear.circle.fill" + } + } + + var contentView: some View { + viewBuilder { + switch self { + case .dashboard: + DashboardView() + case .groups: + GroupListView() + case .logs: + LogView() + case .profiles: + ProfileView() + case .settings: + SettingView() + } + } + #if os(iOS) + .background(Color(uiColor: .systemGroupedBackground)) + #endif + } + + func visible(_ profile: ExtensionProfile?) -> Bool { + switch self { + case .groups: + return profile?.status.isConnectedStrict == true + case .profiles, .settings: + #if os(iOS) + return profile?.status.isConnected != true + #else + fallthrough + #endif + default: + return true + } + } +} diff --git a/ApplicationLibrary/Views/Profile/EditProfileContentView.swift b/ApplicationLibrary/Views/Profile/EditProfileContentView.swift new file mode 100644 index 0000000..cf138f5 --- /dev/null +++ b/ApplicationLibrary/Views/Profile/EditProfileContentView.swift @@ -0,0 +1,149 @@ +import Foundation +import Library +import SwiftUI + +public struct EditProfileContentView: View { + #if os(macOS) + public static let windowID = "edit-profile-content" + #endif + + public struct Context: Codable, Hashable { + public let profileID: Int64 + public let readOnly: Bool + } + + private let profileID: Int64? + private let readOnly: Bool + + public init(_ context: Context?) { + profileID = context?.profileID + readOnly = context?.readOnly == true + } + + @Environment(\.dismiss) private var dismiss + + @State private var isLoading = true + @State private var profile: Profile! + @State private var profileContent: String = "" + @State private var isChanged = false + + @State private var errorPresented = false + @State private var errorMessage = "" + @State private var fatalError = false + + public var body: some View { + viewBuilder { + if isLoading { + ProgressView().onAppear { + Task.detached { + loadContent() + } + } + } else { + viewBuilder { + if readOnly { + TextEditor(text: .constant(profileContent)) + } else { + TextEditor(text: $profileContent) + } + } + .font(Font.system(.caption2, design: .monospaced)) + .disableAutocorrection(true) + #if os(iOS) + .textInputAutocapitalization(.none) + .background(Color(UIColor.secondarySystemGroupedBackground)) + #elseif os(macOS) + .padding() + #endif + .onChange(of: profileContent) { _ in + isChanged = true + } + } + } + .alert(isPresented: $errorPresented) { + Alert( + title: Text("Error"), + message: Text(errorMessage), + dismissButton: .default(Text("Ok"), action: { + if fatalError { + dismiss() + } + }) + ) + } + .navigationTitle(navigationTitle) + #if os(macOS) + .toolbar { + ToolbarItemGroup(placement: .navigation) { + if !readOnly { + Button(action: { + Task.detached { + saveContent() + } + }, label: { + Image("save", label: Text("Save")) + }) + .disabled(!isChanged) + } + } + } + #elseif os(iOS) + .toolbar { + ToolbarItem(placement: .navigationBarTrailing) { + if !readOnly { + Button("Save") { + Task.detached { + saveContent() + } + }.disabled(!isChanged) + } + } + } + .navigationBarTitleDisplayMode(.inline) + #endif + } + + private var navigationTitle: String { + if readOnly { + return "View Content" + } else { + return "Edit Content" + } + } + + private func loadContent() { + do { + try loadContent0() + } catch { + errorMessage = error.localizedDescription + fatalError = true + errorPresented = true + } + } + + private func loadContent0() throws { + guard let profileID else { + throw NSError(domain: "Context destroyed", code: 0) + } + guard let profile = try ProfileManager.get(profileID) else { + throw NSError(domain: "Profile missing", code: 0) + } + profileContent = try profile.read() + self.profile = profile + isLoading = false + } + + private func saveContent() { + guard let profile else { + return + } + do { + try profile.write(profileContent) + } catch { + errorMessage = error.localizedDescription + errorPresented = true + return + } + isChanged = false + } +} diff --git a/ApplicationLibrary/Views/Profile/EditProfileView.swift b/ApplicationLibrary/Views/Profile/EditProfileView.swift new file mode 100644 index 0000000..5f5c25f --- /dev/null +++ b/ApplicationLibrary/Views/Profile/EditProfileView.swift @@ -0,0 +1,172 @@ +import Library +import SwiftUI + +public struct EditProfileView: View { + #if os(macOS) + @Environment(\.openWindow) private var openWindow + #endif + + @EnvironmentObject private var profile: Profile + + @State private var isLoading = false + @State private var isChanged = false + @State private var errorPresented = false + @State private var errorMessage = "" + + public init() {} + + public var body: some View { + FormView { + FormItem("Name") { + TextField("Name", text: $profile.name, prompt: Text("Required")) + .multilineTextAlignment(.trailing) + } + + Picker(selection: $profile.type) { + Text("Local").tag(ProfileType.local) + Text("iCloud").tag(ProfileType.icloud) + Text("Remote").tag(ProfileType.remote) + } label: { + Text("Type") + } + .disabled(true) + if profile.type == .icloud { + FormItem("Path") { + TextField("Path", text: $profile.path, prompt: Text("Required")) + .multilineTextAlignment(.trailing) + } + } else if profile.type == .remote { + FormItem("URL") { + TextField("URL", text: $profile.remoteURL.unwrapped(""), prompt: Text("Required")) + .multilineTextAlignment(.trailing) + } + Toggle("Auto Update", isOn: $profile.autoUpdate) + } + if profile.type == .remote { + Section("Status") { + FormTextItem("Last Updated", profile.lastUpdatedString) + } + } + #if os(iOS) + Section("Action") { + if profile.type != .remote { + NavigationLink { + EditProfileContentView(EditProfileContentView.Context(profileID: profile.id!, readOnly: false)) + } label: { + Text("Edit Content").foregroundColor(.accentColor) + } + } else { + NavigationLink { + EditProfileContentView(EditProfileContentView.Context(profileID: profile.id!, readOnly: true)) + } label: { + Text("View Content").foregroundColor(.accentColor) + } + Button("Update") { + isLoading = true + Task.detached { + await updateProfile() + } + } + .disabled(isLoading) + } + } + #endif + } + .onChange(of: profile.name, perform: { _ in + isChanged = true + }) + .onChange(of: profile.remoteURL, perform: { _ in + isChanged = true + }) + .onChange(of: profile.autoUpdate, perform: { _ in + isChanged = true + }) + .disabled(isLoading) + #if os(macOS) + .toolbar { + ToolbarItemGroup(placement: .navigation) { + Button(action: { + isLoading = true + Task.detached { + await saveProfile() + } + }, label: { + Image("save", bundle: ApplicationLibrary.bundle, label: Text("Save")) + }) + .disabled(isLoading || !isChanged) + if profile.type != .remote { + Button(action: { + openWindow(id: EditProfileContentView.windowID, value: EditProfileContentView.Context(profileID: profile.id!, readOnly: false)) + }, label: { + Label("Edit Content", systemImage: "pencil") + }) + .disabled(isLoading) + } else { + Button(action: { + isLoading = true + Task.detached { + await updateProfile() + } + }, label: { + Label("Update", systemImage: "arrow.clockwise") + }) + .disabled(isLoading) + Button(action: { + openWindow(id: EditProfileContentView.windowID, value: EditProfileContentView.Context(profileID: profile.id!, readOnly: true)) + }, label: { + Label("View Content", systemImage: "doc.text.fill") + }) + .disabled(isLoading) + } + } + } + #elseif os(iOS) + .toolbar { + ToolbarItem(placement: .navigationBarTrailing) { + Button("Save") { + isLoading = true + Task.detached { + await saveProfile() + } + }.disabled(!isChanged) + } + } + #endif + .alert(isPresented: $errorPresented) { + Alert( + title: Text("Error"), + message: Text(errorMessage), + dismissButton: .default(Text("Ok")) + ) + } + .navigationTitle("Edit Profile") + } + + private func updateProfile() async { + defer { + isLoading = false + } + do { + try await Task.sleep(nanoseconds: UInt64(100 * Double(NSEC_PER_MSEC))) + try profile.updateRemoteProfile() + } catch { + errorMessage = error.localizedDescription + errorPresented = true + } + } + + private func saveProfile() async { + do { + _ = try ProfileManager.update(profile) + } catch { + errorMessage = error.localizedDescription + errorPresented = true + return + } + isChanged = false + isLoading = false + await MainActor.run { + NotificationCenter.default.post(name: ProfileView.notificationName, object: nil) + } + } +} diff --git a/ApplicationLibrary/Views/Profile/EditProfileWindowView.swift b/ApplicationLibrary/Views/Profile/EditProfileWindowView.swift new file mode 100644 index 0000000..d82609d --- /dev/null +++ b/ApplicationLibrary/Views/Profile/EditProfileWindowView.swift @@ -0,0 +1,69 @@ + +import Library +import SwiftUI + +#if os(macOS) + public struct EditProfileWindowView: View { + public static let windowID = "edit-profile" + + private var profileID: Int64? + + public init(_ profileID: Int64?) { + self.profileID = profileID + } + + @Environment(\.dismiss) private var dismiss + + @State private var isLoading = true + @State private var profile: Profile! + @State private var errorPresented = false + @State private var errorMessage = "" + + public var body: some View { + viewBuilder { + if isLoading { + ProgressView().onAppear { + Task.detached { + await doReload() + } + } + .alert(isPresented: $errorPresented) { + Alert( + title: Text("Error"), + message: Text(errorMessage), + dismissButton: .default(Text("Ok"), action: { + dismiss() + }) + ) + } + } else { + EditProfileView().environmentObject(profile!) + } + } + .onExitCommand { + dismiss() + } + } + + private func doReload() async { + guard let profileID else { + errorMessage = "Context destroyed" + errorPresented = true + return + } + do { + profile = try ProfileManager.get(profileID) + } catch { + errorMessage = error.localizedDescription + errorPresented = true + return + } + if profile == nil { + errorMessage = "Profile deleted" + errorPresented = true + return + } + isLoading = false + } + } +#endif diff --git a/ApplicationLibrary/Views/Profile/NewProfileView.swift b/ApplicationLibrary/Views/Profile/NewProfileView.swift new file mode 100644 index 0000000..2d0da38 --- /dev/null +++ b/ApplicationLibrary/Views/Profile/NewProfileView.swift @@ -0,0 +1,223 @@ +import Foundation +import Libbox +import Library +import SwiftUI + +public struct NewProfileView: View { + #if os(macOS) + public static let windowID = "new-profile" + #endif + + @Environment(\.dismiss) private var dismiss + + @State private var isSaving = false + @State private var profileName = "" + @State private var profileType = ProfileType.local + @State private var fileImport = false + @State private var fileURL: URL! + @State private var remotePath = "" + @State private var pickerPresented = false + @State private var errorPresented = false + @State private var errorMessage = "" + + private let callback: (() -> Void)? + public init(_ callback: (() -> Void)? = nil) { + self.callback = callback + } + + public var body: some View { + FormView { + FormItem("Name") { + TextField("Name", text: $profileName, prompt: Text("Required")) + .multilineTextAlignment(.trailing) + } + Picker(selection: $profileType) { + Text("Local").tag(ProfileType.local) + Text("iCloud").tag(ProfileType.icloud) + Text("Remote").tag(ProfileType.remote) + } label: { + Text("Type") + } + if profileType == .local { + Picker(selection: $fileImport) { + Text("Create New").tag(false) + Text("Import").tag(true) + } label: { + Text("File") + } + viewBuilder { + if fileImport { + HStack { + Text("File Path") + Spacer() + Spacer() + if let fileURL { + Button(fileURL.fileName) { + pickerPresented = true + } + } else { + Button("Choose") { + pickerPresented = true + } + } + } + } + } + } else if profileType == .icloud { + FormItem("Path") { + TextField("Path", text: $remotePath, prompt: Text("Required")) + .multilineTextAlignment(.trailing) + } + } else if profileType == .remote { + FormItem("URL") { + TextField("URL", text: $remotePath, prompt: Text("Required")) + .multilineTextAlignment(.trailing) + } + } + Section { + if !isSaving { + Button("Create") { + isSaving = true + Task.detached { + await createProfile() + } + } + } else { + ProgressView() + } + } + } + .navigationTitle("New Profile") + .alert(isPresented: $errorPresented) { + Alert( + title: Text("Error"), + message: Text(errorMessage), + dismissButton: .default(Text("Ok")) + ) + } + .fileImporter( + isPresented: $pickerPresented, + allowedContentTypes: [.json], + allowsMultipleSelection: false + ) { result in + do { + let urls = try result.get() + if !urls.isEmpty { + fileURL = urls[0] + } + } catch { + errorMessage = error.localizedDescription + errorPresented = true + return + } + } + } + + private func createProfile() async { + defer { + isSaving = false + } + if profileName.isEmpty { + errorMessage = "Missing profile name" + errorPresented = true + return + } + if remotePath.isEmpty { + if profileType == .icloud { + errorMessage = "Missing path" + errorPresented = true + return + } else if profileType == .remote { + errorMessage = "Missing URL" + errorPresented = true + return + } + } + do { + try createProfile0() + } catch { + errorMessage = error.localizedDescription + errorPresented = true + return + } + await MainActor.run { + dismiss() + if let callback { + callback() + } + #if os(macOS) + NotificationCenter.default.post(name: ProfileView.notificationName, object: nil) + resetFields() + #endif + } + } + + private func resetFields() { + profileName = "" + profileType = .local + fileImport = false + fileURL = nil + remotePath = "" + } + + private func createProfile0() throws { + let nextProfileID = try ProfileManager.nextID() + + var savePath = "" + var remoteURL: String? = nil + + if profileType == .local { + let profileConfigDirectory = FilePath.sharedDirectory.appendingPathComponent("configs", isDirectory: true) + try FileManager.default.createDirectory(at: profileConfigDirectory, withIntermediateDirectories: true) + let profileConfig = profileConfigDirectory.appendingPathComponent("config_\(nextProfileID).json") + if fileImport { + guard let fileURL else { + errorMessage = "Missing file" + errorPresented = true + return + } + if !fileURL.startAccessingSecurityScopedResource() { + errorMessage = "Missing access to selected file" + errorPresented = true + return + } + defer { + fileURL.stopAccessingSecurityScopedResource() + } + try String(contentsOf: fileURL).write(to: profileConfig, atomically: true, encoding: .utf8) + } else { + try "{}".write(to: profileConfig, atomically: true, encoding: .utf8) + } + savePath = profileConfig.relativePath + } else if profileType == .icloud { + if !FileManager.default.fileExists(atPath: FilePath.iCloudDirectory.path) { + try FileManager.default.createDirectory(at: FilePath.iCloudDirectory, withIntermediateDirectories: true) + } + let saveURL = FilePath.iCloudDirectory.appendingPathComponent(remotePath, isDirectory: false) + _ = saveURL.startAccessingSecurityScopedResource() + defer { + saveURL.stopAccessingSecurityScopedResource() + } + do { + _ = try String(contentsOf: saveURL) + } catch { + try "{}".write(to: saveURL, atomically: true, encoding: .utf8) + } + savePath = remotePath + } else if profileType == .remote { + let remoteContent = try HTTPClient().getString(remotePath) + var error: NSError? + LibboxCheckConfig(remoteContent, &error) + if let error { + throw error + } + let profileConfigDirectory = FilePath.sharedDirectory.appendingPathComponent("configs", isDirectory: true) + try FileManager.default.createDirectory(at: profileConfigDirectory, withIntermediateDirectories: true) + let profileConfig = profileConfigDirectory.appendingPathComponent("config_\(nextProfileID).json") + try remoteContent.write(to: profileConfig, atomically: true, encoding: .utf8) + savePath = profileConfig.relativePath + remoteURL = remotePath + } + try ProfileManager.create(Profile(name: profileName, type: profileType, path: savePath, remoteURL: remoteURL)) + } +} diff --git a/ApplicationLibrary/Views/Profile/ProfileView.swift b/ApplicationLibrary/Views/Profile/ProfileView.swift new file mode 100644 index 0000000..3a7afd3 --- /dev/null +++ b/ApplicationLibrary/Views/Profile/ProfileView.swift @@ -0,0 +1,232 @@ +import Foundation +import Library +import SwiftUI + +public struct ProfileView: View { + public static let notificationName = Notification.Name("\(FilePath.packageName).update-profile") + + @State private var isLoading = true + @State private var isUpdating = false + + @State private var errorPresented = false + @State private var errorMessage = "" + + @State private var profileList: [Profile] = [] + + #if os(iOS) + @State private var editMode = EditMode.inactive + #elseif os(macOS) + @Environment(\.openWindow) private var openWindow + #endif + + @State private var observer: Any? + + public init() {} + + public var body: some View { + viewBuilder { + if isLoading { + ProgressView().onAppear { + Task.detached { + doReload() + } + } + } else { + #if os(iOS) + FormView { + NavigationLink { + NewProfileView { + Task.detached { + doReload() + } + } + } label: { + Text("New Profile").foregroundColor(.accentColor) + } + .disabled(editMode.isEditing) + if profileList.isEmpty { + Text("Empty Profiles") + } else { + List { + ForEach(profileList, id: \.mustID) { profile in + viewBuilder { + if editMode.isEditing == true { + Text(profile.name) + } else { + NavigationLink { + EditProfileView().environmentObject(profile) + } label: { + Text(profile.name) + } + } + } + } + .onMove(perform: moveProfile) + .onDelete(perform: deleteProfile) + } + } + } + #elseif os(macOS) + if profileList.isEmpty { + Text("Empty Profiles") + } else { + FormView { + List { + ForEach(profileList, id: \.mustID) { profile in + + HStack { + VStack(alignment: .leading) { + Text(profile.name) + if profile.type == .remote { + Spacer(minLength: 4) + Text("Last Updated: \(profile.lastUpdatedString)").font(.caption) + } + } + HStack { + if profile.type == .remote { + Button(action: { + isUpdating = true + Task.detached { + updateProfile(profile) + } + }, label: { + Image(systemName: "arrow.clockwise") + }) + } + Button(action: { + openWindow(id: EditProfileWindowView.windowID, value: profile.mustID) + }, label: { + Image(systemName: "pencil") + }) + Button(action: { + deleteProfile(profile) + }, label: { + Image(systemName: "trash.fill") + }) + } + .frame(maxWidth: .infinity, alignment: .trailing) + } + .padding(.vertical, 8) + .frame(maxWidth: .infinity, alignment: .leading) + } + .onMove(perform: moveProfile) + .onDelete(perform: deleteProfile) + } + } + } + #endif + } + } + .disabled(isUpdating) + .navigationTitle("Profiles") + #if os(macOS) + .onAppear { + if observer == nil { + observer = NotificationCenter.default.addObserver(forName: ProfileView.notificationName, object: nil, queue: .main) { _ in + Task.detached { + doReload() + } + } + } + } + .onDisappear { + if let observer { + NotificationCenter.default.removeObserver(observer) + } + observer = nil + } + .toolbar { + ToolbarItem { + Button(action: { + openWindow(id: NewProfileView.windowID) + }, label: { + Label("New Profile", systemImage: "plus.square.fill") + }) + } + } + #elseif os(iOS) + .toolbar { + ToolbarItem(placement: .navigationBarTrailing) { + EditButton().disabled(profileList.isEmpty) + } + } + .environment(\.editMode, $editMode) + #endif + } + + private func deleteSelectedProfiles(_ profileID: [Int64]) { + do { + if try ProfileManager.delete(by: profileID) > 0 { + isLoading = true + } + } catch { + errorMessage = error.localizedDescription + errorPresented = true + } + } + + private func doReload() { + defer { + isLoading = false + } + do { + profileList = try ProfileManager.list() + } catch { + errorMessage = error.localizedDescription + errorPresented = true + return + } + } + + private func updateProfile(_ profile: Profile) { + do { + _ = try profile.updateRemoteProfile() + } catch { + errorMessage = error.localizedDescription + errorPresented = true + } + isUpdating = false + } + + private func deleteProfile(_ profile: Profile) { + Task.detached { + do { + _ = try ProfileManager.delete(profile) + } catch { + errorMessage = error.localizedDescription + errorPresented = true + return + } + isLoading = true + } + } + + private func moveProfile(from source: IndexSet, to destination: Int) { + profileList.move(fromOffsets: source, toOffset: destination) + for (index, profile) in profileList.enumerated() { + profile.order = UInt32(index) + } + do { + try ProfileManager.update(profileList) + } catch { + errorMessage = error.localizedDescription + errorPresented = true + return + } + } + + private func deleteProfile(where profileIndex: IndexSet) { + let profileToDelete = profileIndex.map { index in + profileList[index] + } + profileList.remove(atOffsets: profileIndex) + Task.detached { + do { + _ = try ProfileManager.delete(profileToDelete) + } catch { + errorMessage = error.localizedDescription + errorPresented = true + } + } + } +} diff --git a/ApplicationLibrary/Views/Setting/ServiceLogView.swift b/ApplicationLibrary/Views/Setting/ServiceLogView.swift new file mode 100644 index 0000000..d1c906a --- /dev/null +++ b/ApplicationLibrary/Views/Setting/ServiceLogView.swift @@ -0,0 +1,89 @@ +import Foundation +import Library +import SwiftUI +import UniformTypeIdentifiers + +public struct ServiceLogView: View { + #if os(macOS) + public static let windowID = "service-log" + #endif + + @State private var isLoading = true + @State private var content = "" + @State private var fileExporterPresented = false + private let logFont = Font.system(.caption, design: .monospaced) + + public init() {} + + public var body: some View { + viewBuilder { + if isLoading { + ProgressView().onAppear { + Task.detached { + loadContent() + } + } + } else { + if content.isEmpty { + Text("Empty content") + } else { + ScrollView { + Text(content).font(logFont) + } + .padding() + } + } + } + .toolbar { + Button("Export") { + fileExporterPresented = true + } + .disabled(content.isEmpty) + } + .fileExporter( + isPresented: $fileExporterPresented, + document: LogDocument(content), + contentType: .text, + defaultFilename: "service-log.txt", + onCompletion: { _ in } + ) + .navigationTitle("Service Log") + #if os(iOS) + .navigationBarTitleDisplayMode(.inline) + #endif + } + + private func loadContent() { + do { + content = try String(contentsOf: FilePath.cacheDirectory.appendingPathComponent("stderr.log")) + } catch {} + if content.isEmpty { + do { + content = try String(contentsOf: FilePath.cacheDirectory.appendingPathComponent("stderr.log.old")) + } catch {} + } + isLoading = false + } + + private struct LogDocument: FileDocument { + static var readableContentTypes = [UTType.text] + + let content: String + + init(_ content: String) { + self.content = content + } + + init(configuration: ReadConfiguration) throws { + if let data = configuration.file.regularFileContents { + content = String(decoding: data, as: UTF8.self) + } else { + content = "" + } + } + + func fileWrapper(configuration _: WriteConfiguration) throws -> FileWrapper { + FileWrapper(regularFileWithContents: Data(content.utf8)) + } + } +} diff --git a/ApplicationLibrary/Views/Setting/SettingView.swift b/ApplicationLibrary/Views/Setting/SettingView.swift new file mode 100644 index 0000000..f5dc268 --- /dev/null +++ b/ApplicationLibrary/Views/Setting/SettingView.swift @@ -0,0 +1,147 @@ +import Foundation +import Libbox +import Library +import SwiftUI +#if os(macOS) + import ServiceManagement +#endif + +public struct SettingView: View { + #if os(macOS) + @Environment(\.openWindow) private var openWindow + #endif + + @State private var isLoading = true + + #if os(macOS) + @State private var startAtLogin = false + @Environment(\.showMenuBarExtra) private var showMenuBarExtra + #endif + + @State private var disableMemoryLimit = false + @State private var version = "" + @State private var dataSize = "" + + @State private var errorPresented = false + @State private var errorMessage = "" + + public init() {} + + public var body: some View { + viewBuilder { + if isLoading { + ProgressView().onAppear { + Task.detached { + await loadSettings() + } + } + } else { + FormView { + #if os(macOS) + Section("MacOS") { + Toggle("Start At Login", isOn: $startAtLogin) + .onChange(of: startAtLogin) { newValue in + Task.detached { + updateLoginItems(newValue) + } + } + Toggle("Show in Menu Bar", isOn: showMenuBarExtra) + .onChange(of: showMenuBarExtra.wrappedValue) { newValue in + Task.detached { + SharedPreferences.showMenuBarExtra = newValue + } + } + } + #endif + Section("Packet Tunnel") { + Toggle("Disable Memory Limit", isOn: $disableMemoryLimit) + .onChange(of: disableMemoryLimit) { newValue in + Task.detached { + SharedPreferences.disableMemoryLimit = newValue + } + } + } + Section("Core") { + FormTextItem("Version", version) + FormTextItem("Data Size", dataSize) + #if os(iOS) + NavigationLink(destination: ServiceLogView()) { + Text("View Service Log") + } + #elseif os(macOS) + Button("View Service Log") { + openWindow(id: ServiceLogView.windowID) + } + #endif + Button("Clear Working Directory") { + Task.detached { + clearWorkingDirectory() + } + } + .foregroundColor(.red) + } + } + } + } + .navigationTitle("Settings") + .alert(isPresented: $errorPresented) { + Alert( + title: Text("Error"), + message: Text(errorMessage), + dismissButton: .default(Text("Ok")) + ) + } + } + + #if os(macOS) + private func updateLoginItems(_ startAtLogin: Bool) { + do { + if startAtLogin { + if SMAppService.mainApp.status == .enabled { + try? SMAppService.mainApp.unregister() + } + + try SMAppService.mainApp.register() + } else { + try SMAppService.mainApp.unregister() + } + } catch { + errorMessage = error.localizedDescription + errorPresented = true + } + } + #endif + + private func loadSettings() async { + #if os(macOS) + startAtLogin = SMAppService.mainApp.status == .enabled + #endif + disableMemoryLimit = SharedPreferences.disableMemoryLimit + version = LibboxVersion() + dataSize = "Loading..." + isLoading = false + dataSize = (try? FilePath.workingDirectory.formattedSize()) ?? "Unknown" + } + + private func clearWorkingDirectory() { + try? FileManager.default.removeItem(at: FilePath.workingDirectory) + isLoading = true + } +} + +private extension URL { + func formattedSize() throws -> String? { + guard let urls = FileManager.default.enumerator(at: self, includingPropertiesForKeys: nil)?.allObjects as? [URL] else { + return nil + } + let size = try urls.lazy.reduce(0) { + try ($1.resourceValues(forKeys: [.totalFileAllocatedSizeKey]).totalFileAllocatedSize ?? 0) + $0 + } + let formatter = ByteCountFormatter() + formatter.countStyle = .file + guard let byteCount = formatter.string(for: size) else { + return nil + } + return byteCount + } +} diff --git a/Extension/Extension+Iterator.swift b/Extension/Extension+Iterator.swift new file mode 100644 index 0000000..b7d57bb --- /dev/null +++ b/Extension/Extension+Iterator.swift @@ -0,0 +1,12 @@ +import Foundation +import Libbox + +extension LibboxStringIteratorProtocol { + func toArray() -> [String] { + var array: [String] = [] + while hasNext() { + array.append(next()) + } + return array + } +} diff --git a/Extension/Extension+RunBlocking.swift b/Extension/Extension+RunBlocking.swift new file mode 100644 index 0000000..bc5a8c4 --- /dev/null +++ b/Extension/Extension+RunBlocking.swift @@ -0,0 +1,23 @@ +import Foundation +import Libbox +import NetworkExtension + +func runBlocking(_ body: @escaping () async throws -> T) throws -> T { + let semaphore = DispatchSemaphore(value: 0) + let box = resultBox() + Task { + do { + let value = try await body() + box.result = .success(value) + } catch { + box.result = .failure(error) + } + semaphore.signal() + } + semaphore.wait() + return try box.result.get() +} + +private class resultBox { + var result: Result! +} diff --git a/Extension/Extension.entitlements b/Extension/Extension.entitlements new file mode 100644 index 0000000..f5d4a23 --- /dev/null +++ b/Extension/Extension.entitlements @@ -0,0 +1,20 @@ + + + + + com.apple.developer.networking.networkextension + + packet-tunnel-provider + + com.apple.security.app-sandbox + + com.apple.security.application-groups + + group.io.nekohasekai.sfa + + com.apple.security.network.client + + com.apple.security.network.server + + + diff --git a/Extension/ExtensionPlatformInterface.swift b/Extension/ExtensionPlatformInterface.swift new file mode 100644 index 0000000..71aa666 --- /dev/null +++ b/Extension/ExtensionPlatformInterface.swift @@ -0,0 +1,156 @@ +import Foundation +import Libbox +import NetworkExtension + +class ExtensionPlatformInterface: NSObject, LibboxPlatformInterfaceProtocol { + private let tunnel: NEPacketTunnelProvider + private let commandServer: LibboxCommandServer + + init(_ tunnel: NEPacketTunnelProvider, _ logServer: LibboxCommandServer) { + self.tunnel = tunnel + commandServer = logServer + } + + func openTun(_ options: LibboxTunOptionsProtocol?, ret0_: UnsafeMutablePointer?) throws { + guard let options else { + throw NSError(domain: "nil options", code: 0) + } + guard let ret0_ else { + throw NSError(domain: "nil return pointer", code: 0) + } + + let settings = NEPacketTunnelNetworkSettings(tunnelRemoteAddress: "127.0.0.1") + if options.getAutoRoute() { + settings.mtu = NSNumber(value: options.getMTU()) + + var error: NSError? + let dnsServer = options.getDNSServerAddress(&error) + if let error { + throw error + } + settings.dnsSettings = NEDNSSettings(servers: [dnsServer]) + + var ipv4Address: [String] = [] + var ipv4Mask: [String] = [] + let ipv4AddressIterator = options.getInet4Address()! + while ipv4AddressIterator.hasNext() { + let ipv4Prefix = ipv4AddressIterator.next()! + ipv4Address.append(ipv4Prefix.address) + ipv4Mask.append(ipv4Prefix.mask()) + } + let ipv4Settings = NEIPv4Settings(addresses: ipv4Address, subnetMasks: ipv4Mask) + var ipv4Routes: [NEIPv4Route] = [] + let inet4RouteAddressIterator = options.getInet4RouteAddress()! + if inet4RouteAddressIterator.hasNext() { + while inet4RouteAddressIterator.hasNext() { + let ipv4RoutePrefix = inet4RouteAddressIterator.next()! + ipv4Routes.append(NEIPv4Route(destinationAddress: ipv4RoutePrefix.address, subnetMask: ipv4RoutePrefix.mask())) + } + } else { + ipv4Routes.append(NEIPv4Route.default()) + } + for (index, address) in ipv4Address.enumerated() { + ipv4Routes.append(NEIPv4Route(destinationAddress: address, subnetMask: ipv4Mask[index])) + } + ipv4Settings.includedRoutes = ipv4Routes + settings.ipv4Settings = ipv4Settings + + var ipv6Address: [String] = [] + var ipv6Prefixes: [NSNumber] = [] + let ipv6AddressIterator = options.getInet6Address()! + while ipv6AddressIterator.hasNext() { + let ipv6Prefix = ipv6AddressIterator.next()! + ipv6Address.append(ipv6Prefix.address) + ipv6Prefixes.append(NSNumber(value: ipv6Prefix.prefix)) + } + let ipv6Settings = NEIPv6Settings(addresses: ipv6Address, networkPrefixLengths: ipv6Prefixes) + var ipv6Routes: [NEIPv6Route] = [] + let inet6RouteAddressIterator = options.getInet6RouteAddress()! + if inet6RouteAddressIterator.hasNext() { + while inet6RouteAddressIterator.hasNext() { + let ipv6RoutePrefix = inet4RouteAddressIterator.next()! + ipv6Routes.append(NEIPv6Route(destinationAddress: ipv6RoutePrefix.description, networkPrefixLength: NSNumber(value: ipv6RoutePrefix.prefix))) + } + } else { + ipv6Routes.append(NEIPv6Route.default()) + } + ipv6Settings.includedRoutes = ipv6Routes + settings.ipv6Settings = ipv6Settings + } + + if options.isHTTPProxyEnabled() { + let proxySettings = NEProxySettings() + let proxyServer = NEProxyServer(address: options.getHTTPProxyServer(), port: Int(options.getHTTPProxyServerPort())) + proxySettings.httpEnabled = true + proxySettings.httpServer = proxyServer + proxySettings.httpsEnabled = true + proxySettings.httpsServer = proxyServer + settings.proxySettings = proxySettings + } + + try runBlocking { [self] in + try await tunnel.setTunnelNetworkSettings(settings) + } + + if let tunFd = tunnel.packetFlow.value(forKeyPath: "socket.fileDescriptor") as? Int32 { + ret0_.pointee = tunFd + return + } + + let tunFdFromLoop = LibboxGetTunnelFileDescriptor() + if tunFdFromLoop != -1 { + ret0_.pointee = tunFdFromLoop + } else { + throw NSError(domain: "missing file descriptor", code: 0) + } + } + + func usePlatformAutoDetectControl() -> Bool { + true + } + + func autoDetectControl(_: Int32) throws {} + + func findConnectionOwner(_: Int32, sourceAddress _: String?, sourcePort _: Int32, destinationAddress _: String?, destinationPort _: Int32, ret0_ _: UnsafeMutablePointer?) throws { + throw NSError(domain: "not implemented", code: 0) + } + + func packageName(byUid _: Int32, error _: NSErrorPointer) -> String { + "" + } + + func uid(byPackageName _: String?, ret0_ _: UnsafeMutablePointer?) throws { + throw NSError(domain: "not implemented", code: 0) + } + + func useProcFS() -> Bool { + false + } + + func writeLog(_ message: String?) { + guard let message else { + return + } + commandServer.writeMessage(message) + } + + func usePlatformDefaultInterfaceMonitor() -> Bool { + false + } + + func startDefaultInterfaceMonitor(_: LibboxInterfaceUpdateListenerProtocol?) throws {} + + func closeDefaultInterfaceMonitor(_: LibboxInterfaceUpdateListenerProtocol?) throws {} + + func useGetter() -> Bool { + false + } + + func getInterfaces() throws -> LibboxNetworkInterfaceIteratorProtocol { + throw NSError(domain: "not implemented", code: 0) + } + + func underNetworkExtension() -> Bool { + true + } +} diff --git a/Extension/Info.plist b/Extension/Info.plist new file mode 100644 index 0000000..3059459 --- /dev/null +++ b/Extension/Info.plist @@ -0,0 +1,13 @@ + + + + + NSExtension + + NSExtensionPointIdentifier + com.apple.networkextension.packet-tunnel + NSExtensionPrincipalClass + $(PRODUCT_MODULE_NAME).PacketTunnelProvider + + + diff --git a/Extension/PacketTunnelProvider.swift b/Extension/PacketTunnelProvider.swift new file mode 100644 index 0000000..533b5a8 --- /dev/null +++ b/Extension/PacketTunnelProvider.swift @@ -0,0 +1,174 @@ +import Foundation +import Libbox +import Library +import NetworkExtension + +class PacketTunnelProvider: NEPacketTunnelProvider { + private var commandServer: LibboxCommandServer! + private var boxService: LibboxBoxService! + + override func startTunnel(options _: [String: NSObject]?) async throws { + NSLog("Here I am") + do { + try FileManager.default.createDirectory(at: FilePath.cacheDirectory, withIntermediateDirectories: true) + } catch { + writeFatalError("(packet-tunnel) error: create cache directory: \(error.localizedDescription)") + return + } + var error: NSError? + LibboxRedirectStderr(FilePath.cacheDirectory.appendingPathComponent("stderr.log").relativePath, &error) + if let error { + writeError("(packet-tunnel) redirect stderr error: \(error.localizedDescription)") + } + + LibboxSetMemoryLimit(!SharedPreferences.disableMemoryLimit) + + commandServer = LibboxNewCommandServer(FilePath.sharedDirectory.relativePath, serverInterface(self), Int32(SharedPreferences.maxLogLines)) + do { + try commandServer.start() + } catch { + writeFatalError("(packet-tunnel): log server start error: \(error.localizedDescription)") + return + } + writeMessage("(packet-tunnel) log server started") + + do { + try FileManager.default.createDirectory(at: FilePath.workingDirectory, withIntermediateDirectories: true) + } catch { + writeFatalError("(packet-tunnel) error: create working directory: \(error.localizedDescription)") + return + } + + LibboxSetup(FilePath.workingDirectory.relativePath, FilePath.cacheDirectory.relativePath, -1, -1) + + startService() + } + + private func writeMessage(_ message: String) { + if let commandServer { + commandServer.writeMessage(message) + } else { + NSLog(message) + } + } + + private func writeError(_ message: String) { + writeMessage(message) + #if os(iOS) + ServiceNotification.postServiceNotification(title: "Service Error", message: message) + #else + displayMessage(message) { _ in + } + #endif + } + + private func writeFatalError(_ message: String) { + writeError(message) + cancelTunnelWithError(NSError(domain: message, code: 0)) + } + + private func startService() { + let profile: Profile? + do { + profile = try ProfileManager.get(Int64(SharedPreferences.selectedProfileID)) + } catch { + writeFatalError("(packet-tunnel) error: missing default profile: \(error.localizedDescription)") + return + } + guard let profile else { + writeFatalError("(packet-tunnel) error: missing default profile") + return + } + let configContent: String + do { + configContent = try profile.read() + } catch { + writeFatalError("(packet-tunnel) error: read config file: \(error.localizedDescription)") + return + } + var error: NSError? + let service = LibboxNewService(configContent, ExtensionPlatformInterface(self, commandServer), &error) + if let error { + writeError("(packet-tunnel) error: create service: \(error.localizedDescription)") + return + } + guard let service else { + return + } + do { + try service.start() + } catch { + writeError("(packet-tunnel) error: start service: \(error.localizedDescription)") + return + } + boxService = service + commandServer.setService(service) + #if os(macOS) + Task.detached { + SharedPreferences.startedByUser = true + } + #endif + } + + private func stopService() { + if let service = boxService { + do { + try service.close() + } catch { + writeError("(packet-tunnel) error: stop service: \(error.localizedDescription)") + } + boxService = nil + commandServer.setService(nil) + } + } + + private func reloadService() { + writeMessage("(packet-tunnel) reloading service") + reasserting = true + defer { + reasserting = false + } + stopService() + startService() + } + + override func stopTunnel(with reason: NEProviderStopReason) async { + writeMessage("(packet-tunnel) stopping, reason: \(reason)") + stopService() + if let server = commandServer { + try? server.close() + commandServer = nil + } + #if os(macOS) + if reason == .userInitiated { + SharedPreferences.startedByUser = reason == .userInitiated + } + #endif + } + + override func handleAppMessage(_ messageData: Data) async -> Data? { + messageData + } + + override func sleep() async {} + + override func wake() {} + + private class serverInterface: NSObject, LibboxCommandServerHandlerProtocol { + unowned let tunnel: PacketTunnelProvider + + init(_ tunnel: PacketTunnelProvider) { + self.tunnel = tunnel + super.init() + } + + func serviceReload() throws { + tunnel.reloadService() + } + + func serviceStop() throws { + tunnel.stopService() + tunnel.writeMessage("(packet-tunnel) debug: service stopped") + } + } +} diff --git a/IntentsExtension/Info.plist b/IntentsExtension/Info.plist new file mode 100644 index 0000000..8d15acb --- /dev/null +++ b/IntentsExtension/Info.plist @@ -0,0 +1,11 @@ + + + + + EXAppExtensionAttributes + + EXExtensionPointIdentifier + com.apple.appintents-extension + + + diff --git a/IntentsExtension/Intents.swift b/IntentsExtension/Intents.swift new file mode 100644 index 0000000..f8997cc --- /dev/null +++ b/IntentsExtension/Intents.swift @@ -0,0 +1,197 @@ +import AppIntents +import Foundation +import Libbox +import Library + +struct StartServiceIntent: AppIntent { + public static var title: LocalizedStringResource = "Start sing-box" + + static var description = + IntentDescription("Start or reload sing-box servie with specified profile") + + static var parameterSummary: some ParameterSummary { + Summary("Start sing-box service with profile \(\.$profile).") + } + + @Parameter(title: "Profile", optionsProvider: ProfileProvider()) + var profile: String + + func perform() async throws -> some IntentResult { + guard let extensionProfile = try await (ExtensionProfile.load()) else { + throw NSError(domain: "NetworkExtension not installed", code: 0) + } + let profileList = try ProfileManager.list() + let specifiedProfile = profileList.first { $0.name == profile } + var profileChanged = false + if let specifiedProfile { + if SharedPreferences.selectedProfileID != specifiedProfile.id! { + SharedPreferences.selectedProfileID = specifiedProfile.id! + profileChanged = true + } + } else if profile != "default" { + throw NSError(domain: "Specified profile not found: \(profile)", code: 0) + } + if extensionProfile.status == .connected { + if !profileChanged { + return .result() + } + try LibboxNewStandaloneCommandClient(FilePath.sharedDirectory.relativePath)?.serviceReload() + } else if extensionProfile.status.isConnected { + extensionProfile.stop() + try await Task.sleep(nanoseconds: UInt64(100 * Double(NSEC_PER_MSEC))) + try await extensionProfile.start() + } else { + try await extensionProfile.start() + } + return .result() + } +} + +struct RestartServiceIntent: AppIntent { + static var title: LocalizedStringResource = "Restart sing-box" + + static var description = + IntentDescription("Restart sing-box service") + + static var parameterSummary: some ParameterSummary { + Summary("Restart sing-box service") + } + + func perform() async throws -> some IntentResult { + guard let extensionProfile = try await (ExtensionProfile.load()) else { + return .result() + } + if extensionProfile.status == .connected { + try LibboxNewStandaloneCommandClient(FilePath.sharedDirectory.relativePath)?.serviceReload() + } else if extensionProfile.status.isConnected { + extensionProfile.stop() + try await Task.sleep(nanoseconds: UInt64(100 * Double(NSEC_PER_MSEC))) + try await extensionProfile.start() + } else { + try await extensionProfile.start() + } + return .result() + } +} + +struct StopServiceIntent: AppIntent { + static var title: LocalizedStringResource = "Stop sing-box" + + static var description = + IntentDescription("Stop sing-box service") + + static var parameterSummary: some ParameterSummary { + Summary("Stop sing-box service") + } + + func perform() async throws -> some IntentResult { + guard let extensionProfile = try await (ExtensionProfile.load()) else { + return .result() + } + extensionProfile.stop() + return .result() + } +} + +struct ToggleServiceIntent: AppIntent { + static var title: LocalizedStringResource = "Toggle sing-box" + + static var description = + IntentDescription("Toggle sing-box service") + + static var parameterSummary: some ParameterSummary { + Summary("Toggle sing-box service") + } + + func perform() async throws -> some IntentResult { + guard let extensionProfile = try await (ExtensionProfile.load()) else { + return .result(value: false) + } + if extensionProfile.status.isConnected { + extensionProfile.stop() + return .result(value: false) + + } else { + try await extensionProfile.start() + return .result(value: true) + } + } +} + +struct GetServiceStatus: AppIntent { + static var title: LocalizedStringResource = "Get is sing-box service started" + + static var description = + IntentDescription("Get is sing-box service started") + + static var parameterSummary: some ParameterSummary { + Summary("Get is sing-box service started") + } + + func perform() async throws -> some IntentResult { + guard let extensionProfile = try await (ExtensionProfile.load()) else { + return .result(value: false) + } + return .result(value: extensionProfile.status.isConnected) + } +} + +struct GetCurrentProfile: AppIntent { + static var title: LocalizedStringResource = "Get current sing-box profile" + + static var description = + IntentDescription("Get current sing-box profile") + + static var parameterSummary: some ParameterSummary { + Summary("Get current sing-box profile") + } + + func perform() async throws -> some IntentResult { + guard let profile = try ProfileManager.get(SharedPreferences.selectedProfileID) else { + throw NSError(domain: "No profile selected", code: 0) + } + return .result(value: profile.name) + } +} + +struct UpdateProfileIntent: AppIntent { + static var title: LocalizedStringResource = "Update sing-box profile" + + static var description = + IntentDescription("Update specified sing-box profile") + + static var parameterSummary: some ParameterSummary { + Summary("Update sing-box profile \(\.$profile).") + } + + @Parameter(title: "Profile", optionsProvider: RemoteProfileProvider()) + var profile: String + + init() {} + func perform() async throws -> some IntentResult { + guard let profile = try ProfileManager.get(by: profile) else { + throw NSError(domain: "Specified profile not found: \(profile)", code: 0) + } + if profile.type != .remote { + throw NSError(domain: "Specified profile is not a remote profile", code: 0) + } + try profile.updateRemoteProfile() + return .result() + } +} + +class ProfileProvider: DynamicOptionsProvider { + func results() async throws -> [String] { + var profileNames = try ProfileManager.list().map(\.name) + if !profileNames.contains("default") { + profileNames.insert("default", at: 0) + } + return profileNames + } +} + +class RemoteProfileProvider: DynamicOptionsProvider { + func results() async throws -> [String] { + try ProfileManager.listRemote().map(\.name) + } +} diff --git a/IntentsExtension/IntentsExtension.entitlements b/IntentsExtension/IntentsExtension.entitlements new file mode 100644 index 0000000..0c77e93 --- /dev/null +++ b/IntentsExtension/IntentsExtension.entitlements @@ -0,0 +1,14 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.application-groups + + group.io.nekohasekai.sfa + + com.apple.security.network.client + + + diff --git a/IntentsExtension/IntentsExtension.swift b/IntentsExtension/IntentsExtension.swift new file mode 100644 index 0000000..40f0c0e --- /dev/null +++ b/IntentsExtension/IntentsExtension.swift @@ -0,0 +1,4 @@ +import AppIntents + +@main +struct IntentsExtension: AppIntentsExtension {} diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..3e3e29e --- /dev/null +++ b/LICENSE @@ -0,0 +1,14 @@ +Copyright (C) 2022 by nekohasekai + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . \ No newline at end of file diff --git a/Library/Database/Databse.swift b/Library/Database/Databse.swift new file mode 100644 index 0000000..acbf88e --- /dev/null +++ b/Library/Database/Databse.swift @@ -0,0 +1,36 @@ +import Foundation +import GRDB + +class Database { + private static var writer: (any DatabaseWriter)? + + static func sharedWriter() throws -> any DatabaseWriter { + if let writer { + return writer + } + let database = try DatabasePool(path: FilePath.sharedDirectory.appendingPathComponent("settings.db").relativePath) + var migrator = DatabaseMigrator().disablingDeferredForeignKeyChecks() + migrator.eraseDatabaseOnSchemaChange = true + + migrator.registerMigration("initialize") { db in + try db.create(table: "profiles") { t in + t.autoIncrementedPrimaryKey("id") + t.column("name", .text).notNull() + t.column("order", .integer).notNull() + t.column("type", .integer).notNull().defaults(to: ProfileType.local.rawValue) + t.column("path", .text).notNull() + t.column("remoteURL", .text) + t.column("autoUpdate", .boolean).notNull().defaults(to: false) + t.column("lastUpdated", .datetime) + } + try db.create(table: "preferences") { t in + t.primaryKey("name", .text, onConflict: .replace).notNull() + t.column("data", .blob) + } + } + + try migrator.migrate(database) + writer = database + return database + } +} diff --git a/Library/Database/Profile+Date.swift b/Library/Database/Profile+Date.swift new file mode 100644 index 0000000..23f3088 --- /dev/null +++ b/Library/Database/Profile+Date.swift @@ -0,0 +1,16 @@ +// +// Profile+Date.swift +// Library +// +// Created by 世界 on 2023/6/29. +// + +import Foundation + +public extension Profile { + var lastUpdatedString: String { + let dateFormatter = DateFormatter() + dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss" + return dateFormatter.string(from: lastUpdated!) + } +} diff --git a/Library/Database/Profile+Hashable.swift b/Library/Database/Profile+Hashable.swift new file mode 100644 index 0000000..a250097 --- /dev/null +++ b/Library/Database/Profile+Hashable.swift @@ -0,0 +1,11 @@ +import Foundation + +extension Profile: Hashable { + public static func == (lhs: Profile, rhs: Profile) -> Bool { + lhs.id == rhs.id + } + + public func hash(into hasher: inout Hasher) { + hasher.combine(id) + } +} diff --git a/Library/Database/Profile+RW.swift b/Library/Database/Profile+RW.swift new file mode 100644 index 0000000..7899f50 --- /dev/null +++ b/Library/Database/Profile+RW.swift @@ -0,0 +1,31 @@ +import Foundation + +public extension Profile { + func read() throws -> String { + switch type { + case .local, .remote: + return try String(contentsOfFile: path) + case .icloud: + let saveURL = FilePath.iCloudDirectory.appendingPathComponent(path) + _ = saveURL.startAccessingSecurityScopedResource() + defer { + saveURL.stopAccessingSecurityScopedResource() + } + return try String(contentsOf: saveURL) + } + } + + func write(_ content: String) throws { + switch type { + case .local, .remote: + try content.write(toFile: path, atomically: true, encoding: .utf8) + case .icloud: + let saveURL = FilePath.iCloudDirectory.appendingPathComponent(path) + _ = saveURL.startAccessingSecurityScopedResource() + defer { + saveURL.stopAccessingSecurityScopedResource() + } + try content.write(to: saveURL, atomically: true, encoding: .utf8) + } + } +} diff --git a/Library/Database/Profile+Update.swift b/Library/Database/Profile+Update.swift new file mode 100644 index 0000000..c27f4e2 --- /dev/null +++ b/Library/Database/Profile+Update.swift @@ -0,0 +1,20 @@ +import Foundation +import GRDB +import Libbox + +public extension Profile { + func updateRemoteProfile() throws { + if type != .remote { + return + } + let remoteContent = try HTTPClient().getString(remoteURL) + var error: NSError? + LibboxCheckConfig(remoteContent, &error) + if let error { + throw error + } + try write(remoteContent) + lastUpdated = Date() + try ProfileManager.update(self) + } +} diff --git a/Library/Database/Profile.swift b/Library/Database/Profile.swift new file mode 100644 index 0000000..971148a --- /dev/null +++ b/Library/Database/Profile.swift @@ -0,0 +1,73 @@ +import Foundation +import GRDB + +public class Profile: Record, Identifiable, ObservableObject { + public var id: Int64? + public var mustID: Int64 { + id! + } + + @Published public var name: String + public var order: UInt32 + public var type: ProfileType + public var path: String + @Published public var remoteURL: String? + @Published public var autoUpdate: Bool + public var lastUpdated: Date? + + public init(id: Int64? = nil, name: String, order: UInt32 = 0, type: ProfileType, path: String, remoteURL: String? = nil) { + self.id = id + self.name = name + self.order = order + self.type = type + self.path = path + self.remoteURL = remoteURL + + autoUpdate = false + lastUpdated = nil + if type == .remote { + lastUpdated = Date() + } + super.init() + } + + override public class var databaseTableName: String { + "profiles" + } + + enum Columns: String, ColumnExpression { + case id, name, order, type, path, remoteURL, autoUpdate, lastUpdated, userAgent + } + + required init(row: Row) throws { + id = row[Columns.id] + name = row[Columns.name] ?? "" + order = row[Columns.order] ?? 0 + type = ProfileType(rawValue: row[Columns.type] ?? ProfileType.local.rawValue)! + path = row[Columns.path] ?? "" + remoteURL = row[Columns.remoteURL] ?? "" + autoUpdate = row[Columns.autoUpdate] ?? false + lastUpdated = row[Columns.lastUpdated] ?? Date() + try super.init(row: row) + } + + override public func encode(to container: inout PersistenceContainer) throws { + container[Columns.id] = id + container[Columns.name] = name + container[Columns.order] = order + container[Columns.type] = type.rawValue + container[Columns.path] = path + container[Columns.remoteURL] = remoteURL + container[Columns.autoUpdate] = autoUpdate + container[Columns.lastUpdated] = lastUpdated + } + + override public func didInsert(_ inserted: InsertionSuccess) { + super.didInsert(inserted) + id = inserted.rowID + } +} + +public enum ProfileType: Int { + case local = 0, icloud, remote +} diff --git a/Library/Database/ProfileManager.swift b/Library/Database/ProfileManager.swift new file mode 100644 index 0000000..61416ea --- /dev/null +++ b/Library/Database/ProfileManager.swift @@ -0,0 +1,98 @@ +import Foundation +import GRDB + +public enum ProfileManager { + public static func create(_ profile: Profile) throws { + profile.order = try nextOrder() + try Database.sharedWriter().write { db in + try profile.insert(db, onConflict: .fail) + } + } + + public static func get(_ profileID: Int64) throws -> Profile? { + try Database.sharedWriter().read { db in + try Profile.fetchOne(db, id: profileID) + } + } + + public static func get(by profileName: String) throws -> Profile? { + try Database.sharedWriter().read { db in + try Profile.filter(Column("name") == profileName).fetchOne(db) + } + } + + public static func delete(_ profile: Profile) throws { + _ = try Database.sharedWriter().write { db in + try profile.delete(db) + } + } + + public static func delete(by id: Int64) throws { + _ = try Database.sharedWriter().write { db in + try Profile.deleteOne(db, id: id) + } + } + + public static func delete(_ profileList: [Profile]) throws -> Int { + try Database.sharedWriter().write { db in + try Profile.deleteAll(db, keys: profileList.map { + ["id": $0.id!] + }) + } + } + + public static func delete(by id: [Int64]) throws -> Int { + try Database.sharedWriter().write { db in + try Profile.deleteAll(db, ids: id) + } + } + + public static func update(_ profile: Profile) throws { + _ = try Database.sharedWriter().write { db in + try profile.updateChanges(db) + } + } + + public static func update(_ profileList: [Profile]) throws { + // TODO: batch update + try Database.sharedWriter().write { db in + for profile in profileList { + try profile.updateChanges(db) + } + } + } + + public static func list() throws -> [Profile] { + try Database.sharedWriter().read { db in + try Profile.all().order(Column("order").asc).fetchAll(db) + } + } + + public static func listRemote() throws -> [Profile] { + try Database.sharedWriter().read { db in + try Profile.filter(Column("type") == ProfileType.remote.rawValue).order(Column("order").asc).fetchAll(db) + } + } + + public static func listAutoUpdateEnabled() throws -> [Profile] { + try Database.sharedWriter().read { db in + try Profile.filter(Column("autoUpdate") == true).order(Column("order").asc).fetchAll(db) + } + } + + public static func nextID() throws -> Int64 { + try Database.sharedWriter().read { db in + if let lastProfile = try Profile.select(Column("id")).order(Column("id").desc).fetchOne(db) { + return lastProfile.id! + 1 + } else { + return 1 + } + } + } + + private static func nextOrder() throws -> UInt32 { + try Database.sharedWriter().read { db in + try UInt32(Profile.fetchCount(db)) + } + } +} diff --git a/Library/Database/ShadredPreferences+Database.swift b/Library/Database/ShadredPreferences+Database.swift new file mode 100644 index 0000000..b9bc893 --- /dev/null +++ b/Library/Database/ShadredPreferences+Database.swift @@ -0,0 +1,116 @@ +import BinaryCodable +import Foundation +import GRDB + +extension SharedPreferences { + @propertyWrapper public class Preference { + private let name: String + private let defaultValue: T + + init(_ name: String, defaultValue: T) { + self.name = name + self.defaultValue = defaultValue + } + + public var wrappedValue: T { + get { + do { + return try SharedPreferences.read(name) ?? defaultValue + } catch { + NSLog("read preferences error: \(error)") + return defaultValue + } + } + set { + do { + try SharedPreferences.write(name, newValue) + } catch { + NSLog("write preferences error: \(error)") + } + } + } + } + + @propertyWrapper public class NullablePreference { + private let name: String + + init(_ name: String) { + self.name = name + } + + public var wrappedValue: T? { + get { + do { + return try SharedPreferences.read(name) + } catch { + NSLog("read preferences error: \(error)") + return nil + } + } + set { + do { + try SharedPreferences.write(name, newValue) + } catch { + NSLog("write preferences error: \(error)") + } + } + } + } + + private static func read(_ name: String) throws -> T? { + guard let item = try (Database.sharedWriter().read { db in + try Item.fetchOne(db, id: name) + }) + else { + return nil + } + return try BinaryDecoder().decode(from: item.data) + } + + private static func write(_ name: String, _ value: (some Codable)?) throws { + if value == nil { + _ = try Database.sharedWriter().write { db in + try Item.deleteOne(db, id: name) + } + } else { + let data = try BinaryEncoder().encode(value) + try Database.sharedWriter().write { db in + try Item(name: name, data: data).insert(db) + } + } + } +} + +private class Item: Record, Identifiable { + public var id: String { + name + } + + public var name: String + public var data: Data + + init(name: String, data: Data) { + self.name = name + self.data = data + super.init() + } + + override public class var databaseTableName: String { + "preferences" + } + + enum Columns: String, ColumnExpression { + case name, data + } + + required init(row: Row) throws { + name = row[Columns.name] + data = row[Columns.data] + try super.init(row: row) + } + + override public func encode(to container: inout PersistenceContainer) throws { + container[Columns.name] = name + container[Columns.data] = data + } +} diff --git a/Library/Database/SharedPreferences.swift b/Library/Database/SharedPreferences.swift new file mode 100644 index 0000000..0da39d7 --- /dev/null +++ b/Library/Database/SharedPreferences.swift @@ -0,0 +1,19 @@ +import Foundation + +public enum SharedPreferences { + @Preference("selected_profile_id", defaultValue: -1) public static var selectedProfileID + + #if os(macOS) + private static let disableMemoryLimitByDefault = true + #else + private static let disableMemoryLimitByDefault = false + #endif + @Preference("disable_memory_limit", defaultValue: disableMemoryLimitByDefault) public static var disableMemoryLimit + + @Preference("max_log_lines", defaultValue: 300) public static var maxLogLines + + #if os(macOS) + @Preference("show_menu_bar_extra", defaultValue: true) public static var showMenuBarExtra + @Preference("started_by_user", defaultValue: false) public static var startedByUser + #endif +} diff --git a/Library/Library.swift b/Library/Library.swift new file mode 100644 index 0000000..b0c1d88 --- /dev/null +++ b/Library/Library.swift @@ -0,0 +1,3 @@ +import Foundation + +public class Library {} diff --git a/Library/Network/ExtensionProfile.swift b/Library/Network/ExtensionProfile.swift new file mode 100644 index 0000000..5ebeab5 --- /dev/null +++ b/Library/Network/ExtensionProfile.swift @@ -0,0 +1,70 @@ +import Foundation +import NetworkExtension + +public class ExtensionProfile: ObservableObject { + private let manager: NEVPNManager + private var connection: NEVPNConnection + private var observer: Any? + + @Published public var status: NEVPNStatus + + public init(_ manager: NEVPNManager) { + self.manager = manager + connection = manager.connection + status = manager.connection.status + } + + deinit { + unregister() + } + + public func register() { + observer = NotificationCenter.default.addObserver( + forName: NSNotification.Name.NEVPNStatusDidChange, + object: manager.connection, + queue: .main + ) { [weak self] notification in + guard let self else { + return + } + self.connection = notification.object as! NEVPNConnection + self.status = self.connection.status + } + } + + private func unregister() { + if let observer { + NotificationCenter.default.removeObserver(observer) + } + } + + public func start() async throws { + manager.isEnabled = true + try await manager.saveToPreferences() + try manager.connection.startVPNTunnel() + } + + public func stop() { + manager.connection.stopVPNTunnel() + } + + public static func load() async throws -> ExtensionProfile? { + let managers = try await NETunnelProviderManager.loadAllFromPreferences() + if managers.isEmpty { + return nil + } + let profile = ExtensionProfile(managers[0]) + return profile + } + + public static func install() async throws { + let manager = NETunnelProviderManager() + manager.localizedDescription = "utun interface" + let tunnelProtocol = NETunnelProviderProtocol() + tunnelProtocol.providerBundleIdentifier = "\(FilePath.packageName).extension" + tunnelProtocol.serverAddress = "sing-box" + manager.protocolConfiguration = tunnelProtocol + manager.isEnabled = true + try await manager.saveToPreferences() + } +} diff --git a/Library/Network/HTTPClient.swift b/Library/Network/HTTPClient.swift new file mode 100644 index 0000000..528a04a --- /dev/null +++ b/Library/Network/HTTPClient.swift @@ -0,0 +1,40 @@ +import Foundation +import Libbox + +public class HTTPClient { + private static var userAgent: String { + var userAgent = FilePath.httpClientName + userAgent += "/" + userAgent += Bundle.main.version + userAgent += " (Build " + userAgent += Bundle.main.versionNumber + userAgent += "; sing-box " + userAgent += LibboxVersion() + userAgent += ")" + return userAgent + } + + private let client: any LibboxHTTPClientProtocol + + public init() { + client = LibboxNewHTTPClient()! + client.modernTLS() + } + + public func getString(_ url: String?) throws -> String { + let request = client.newRequest()! + request.setUserAgent(HTTPClient.userAgent) + try request.setURL(url) + let response = try request.execute() + var error: NSError? + let contentString = response.getContentString(&error) + if let error { + throw error + } + return contentString + } + + deinit { + client.close() + } +} diff --git a/Library/Network/NEVPNStatus+isConnected.swift b/Library/Network/NEVPNStatus+isConnected.swift new file mode 100644 index 0000000..d5b626b --- /dev/null +++ b/Library/Network/NEVPNStatus+isConnected.swift @@ -0,0 +1,40 @@ +import Foundation +import NetworkExtension + +public extension NEVPNStatus { + var isEnabled: Bool { + switch self { + case .connected, .disconnected, .reasserting: + return true + default: + return false + } + } + + var isSwitchable: Bool { + switch self { + case .connected, .disconnected: + return true + default: + return false + } + } + + var isConnected: Bool { + switch self { + case .connecting, .connected, .disconnecting, .reasserting: + return true + default: + return false + } + } + + var isConnectedStrict: Bool { + switch self { + case .connected, .reasserting: + return true + default: + return false + } + } +} diff --git a/Library/Shared/Bundle+Version.swift b/Library/Shared/Bundle+Version.swift new file mode 100644 index 0000000..d527e0f --- /dev/null +++ b/Library/Shared/Bundle+Version.swift @@ -0,0 +1,11 @@ +import Foundation + +extension Bundle { + var version: String { + infoDictionary?["CFBundleShortVersionString"] as? String ?? "unknown" + } + + var versionNumber: String { + infoDictionary?["CFBundleVersion"] as? String ?? "unknown" + } +} diff --git a/Library/Shared/FilePath.swift b/Library/Shared/FilePath.swift new file mode 100644 index 0000000..55cbaa0 --- /dev/null +++ b/Library/Shared/FilePath.swift @@ -0,0 +1,34 @@ +import Foundation + +public enum FilePath { + public static let packageName = "io.nekohasekai.sfa" + #if os(iOS) + public static let httpClientName = "SFI" + #elseif os(macOS) + public static let httpClientName = "SFM" + #endif +} + +public extension FilePath { + static let groupName = "group.\(packageName)" + + static let sharedDirectory: URL! = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: groupName) + + static let cacheDirectory = sharedDirectory + .appendingPathComponent("Library", isDirectory: true) + .appendingPathComponent("Caches", isDirectory: true) + + static let workingDirectory = cacheDirectory.appendingPathComponent("Working", isDirectory: true) + + static let iCloudDirectory = FileManager.default.url(forUbiquityContainerIdentifier: nil)!.appendingPathComponent("Documents", isDirectory: true) +} + +public extension URL { + var fileName: String { + var path = relativePath + if let index = path.lastIndex(of: "/") { + path = String(path[path.index(index, offsetBy: 1)...]) + } + return path + } +} diff --git a/Library/Shared/ServiceNotification.swift b/Library/Shared/ServiceNotification.swift new file mode 100644 index 0000000..5c97e1c --- /dev/null +++ b/Library/Shared/ServiceNotification.swift @@ -0,0 +1,46 @@ +import Foundation +import UserNotifications + +public enum ServiceNotification { + private static let delegate = Delegate() + + public static func register() { + UNUserNotificationCenter.current().delegate = delegate + UNUserNotificationCenter.current().requestAuthorization(options: [.alert]) { + _, _ in + } + } + + private static var listener: ((UNNotificationContent) -> Void)? + + public static func setServiceNotificationListener(listener: @escaping (UNNotificationContent) -> Void) { + ServiceNotification.listener = listener + } + + public static func removeServiceNotificationListener() { + ServiceNotification.listener = nil + } + + public static func postServiceNotification(content: UNNotificationContent) { + UNUserNotificationCenter.current().add(UNNotificationRequest(identifier: "service-notification", content: content, trigger: nil)) + } + + public static func postServiceNotification(title: String, message: String) { + let content = UNMutableNotificationContent() + content.title = title + content.body = message + postServiceNotification(content: content) + } + + private class Delegate: NSObject, UNUserNotificationCenterDelegate { + func userNotificationCenter(_: UNUserNotificationCenter, willPresent notification: UNNotification) async -> UNNotificationPresentationOptions { + NSLog("userNotificationCenter") + if let listener = ServiceNotification.listener { + listener(notification.request.content) + return [] + } else { + return [.alert] + } + } + } +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..9e87c4b --- /dev/null +++ b/README.md @@ -0,0 +1,26 @@ +# sing-box-for-apple + +Experimental iOS/macOS client for sing-box, the universal proxy platform. + +## Documentation + +[SFI](https://sing-box.sagernet.org/installation/clients/sfi/) | [SFM](https://sing-box.sagernet.org/installation/clients/sfm/) + +## License + +``` +Copyright (C) 2022 by nekohasekai + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +``` \ No newline at end of file diff --git a/SFI/Application.swift b/SFI/Application.swift new file mode 100644 index 0000000..13f42e5 --- /dev/null +++ b/SFI/Application.swift @@ -0,0 +1,16 @@ +import ApplicationLibrary +import Foundation +import Library +import SwiftUI +import UIKit + +@main +struct Application: App { + @UIApplicationDelegateAdaptor private var appDelegate: ApplicationDelegate + + var body: some Scene { + WindowGroup { + MainView() + } + } +} diff --git a/SFI/ApplicationDelegate.swift b/SFI/ApplicationDelegate.swift new file mode 100644 index 0000000..d1cd727 --- /dev/null +++ b/SFI/ApplicationDelegate.swift @@ -0,0 +1,20 @@ +import ApplicationLibrary +import Foundation +import Library +import UIKit + +class ApplicationDelegate: NSObject, UIApplicationDelegate { + func application(_: UIApplication, didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { + NSLog("Here I stand") + ServiceNotification.register() + Task.detached { + do { + try await UIProfileUpdateTask.setup() + NSLog("setup background task success") + } catch { + NSLog("setup background task error: \(error.localizedDescription)") + } + } + return true + } +} diff --git a/SFI/Assets.xcassets/AccentColor.colorset/Contents.json b/SFI/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 0000000..0afb3cf --- /dev/null +++ b/SFI/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors": [ + { + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} diff --git a/SFI/Assets.xcassets/AppIcon.appiconset/100.png b/SFI/Assets.xcassets/AppIcon.appiconset/100.png new file mode 100644 index 0000000000000000000000000000000000000000..87b49a299bbe97dad7baf0d705c37bcff4f099a0 GIT binary patch literal 4935 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 LNkvXXu0mjfSRekY literal 0 HcmV?d00001 diff --git a/SFI/Assets.xcassets/AppIcon.appiconset/120.png b/SFI/Assets.xcassets/AppIcon.appiconset/120.png new file mode 100644 index 0000000000000000000000000000000000000000..08eb7d98698a6832d989d56d28613250cebfd469 GIT binary patch literal 6002 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 literal 0 HcmV?d00001 diff --git a/SFI/Assets.xcassets/AppIcon.appiconset/144.png b/SFI/Assets.xcassets/AppIcon.appiconset/144.png new file mode 100644 index 0000000000000000000000000000000000000000..48a3e7512deb2bc81c2f4b018973681bc03b4601 GIT binary patch literal 7289 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 literal 0 HcmV?d00001 diff --git a/SFI/Assets.xcassets/AppIcon.appiconset/167.png b/SFI/Assets.xcassets/AppIcon.appiconset/167.png new file mode 100644 index 0000000000000000000000000000000000000000..713f83f36dcd50598554dfdbea5b31694bfc20e6 GIT binary patch literal 8755 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 literal 0 HcmV?d00001 diff --git a/SFI/Assets.xcassets/AppIcon.appiconset/180.png b/SFI/Assets.xcassets/AppIcon.appiconset/180.png new file mode 100644 index 0000000000000000000000000000000000000000..42819bb4717dc2a3bf4514934cbc134dd77843d6 GIT binary patch literal 9512 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 RJ5T@s002ovPDHLkV1is5vXlS- literal 0 HcmV?d00001 diff --git a/SFI/Assets.xcassets/AppIcon.appiconset/50.png b/SFI/Assets.xcassets/AppIcon.appiconset/50.png new file mode 100644 index 0000000000000000000000000000000000000000..f6871cedbf7b97ff5651cbddf9c4092aa7a45f33 GIT binary patch literal 2496 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 KMNUMnLSTY%h_{Xa literal 0 HcmV?d00001 diff --git a/SFI/Assets.xcassets/AppIcon.appiconset/57.png b/SFI/Assets.xcassets/AppIcon.appiconset/57.png new file mode 100644 index 0000000000000000000000000000000000000000..7942d4681b3824c79ef6ff682c686fcc0b37296b GIT binary patch literal 2787 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 literal 0 HcmV?d00001 diff --git a/SFI/Assets.xcassets/AppIcon.appiconset/58.png b/SFI/Assets.xcassets/AppIcon.appiconset/58.png new file mode 100644 index 0000000000000000000000000000000000000000..8e5cb599587fe9587eb4d1087db44d3673b5a1d3 GIT binary patch literal 2875 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 Z{|jai^t@l4^lktE002ovPDHLkV1lz}ftUaQ literal 0 HcmV?d00001 diff --git a/SFI/Assets.xcassets/AppIcon.appiconset/60.png b/SFI/Assets.xcassets/AppIcon.appiconset/60.png new file mode 100644 index 0000000000000000000000000000000000000000..5951cae25cd1ee91e3e789c47ae4d5f83507a43b GIT binary patch literal 3040 zcmV<63m^1}P)e2L6+NEPUD z+tX#WqR^C$A3d@V6HALD%63=*^Ws^PdMRW%bk{U&L0gAeud0f-Hi|axrajfpb(^ZZ;l2Mqye^7 zSU9T^k1v=@=@28>j`k}3a0G2wfLVdLlsKF&oV#+J)Ypw9DmVOh4r?ws@o^e_dHO6G zw(UUE#bzYXMkul^@KPQfP54J$LyU zEOsZHE*I1!JRIH<>nv0W@o{2P1ltsj@$~w{nR8gbtr2H0TnwG-4ZFP? zDhl^S_s+m$f^AQk3njOM0xUo2=AFCo&WAfhh;okd#b!>w8x?nbN3hFmOEyxtEDCe2 zme{7Sme}U^nfsVdC z8ApyChnB*X!AjPVYiMa_u~k?fJ7sWsuf7WWdr18uuN-o13=5Le5D?Y`IB|WX>L_HCQleg zBG!W*`jNBE8{nJU{cKZi*Hdnv359JEMKi65*?#WHB`C_xQ3UOmVJVDv?*9zS*Q|vh zQBT6e$~#~UXCZS^s81SGig`0C={q`Ng4mY1CI7jt5#>$f_Fl?ucW_G1YwGB- zAjdcgwJ-ck_;Hd>znzyN;M%nfXxx7oiIj6ae!xn=J-{G9rX(fdzUoShA6+8yot64) zx$UFm9=792$(ty*KgJoV+lskO=@Cug?4oP@;rVB9M@bQhqkm`SAF$Ur{CUOSv7G>C z<(R}tMeR`-Q}DuFl$#t4QzuTq?8-9ASB>z?66nElyVpm_xo)$P2XbjDx>hfxj;*sD z%YXSCCXOE$u+3Bi{Kvnoz}kjQ$SW#=J|#^o*iDa-X4{yaCIoFX)lmj5H!l9_ zwv^k)$)(kkk~cM9qWn(~!PLi*=4~OJ-FDb4U2qfVzy9_Ym@sb4@BlA+rH%k^Cd;UW zS`&}d%xq{9v>wnw9K3MOYu=!W$=^lwv?)-lqv3Ekzs7bP)otA%F0I?)AWy!VJozC` zPiUwa;S{l3%y4o=;KqYC;pN}_JbZwYlMN!I89-8c29i?Ky>7=do(WhA_bB&`kDWM$hV46W>B<#2ZB_!^BL;yI>){1#NTLg{LX%@+FRare zB{K)HR7>4-VWLoxZ{92iv87hWpt@{|Ff05uC#kbj(n&tW1O{1J@=QkYdb+npk1+Py)?gm&^*6q1hE>q~_yA z?RB|4W`&InHzd3=&h)r%(x=G+B(PUFcn`5?E@M7KSZxFDTZ4T!?>U}x9 zlL@$(HwRh1SoB!Hcz7_sx{7>x0nT5#jH|6TD8*Gm)yEd+3lnl{0PdG7&g~w=XyQcq ziq|K4%NGZzLT(e=JTY;Ss8vm!38|ZNjgsm9)Qr=FzYclSfI0-lC{m;Mn z0w+(O7H%t^U7ep6HLQTwz4tz;W@6|e?UU=wiZQ=PG#?DuN-Z6SwA_n}K_8W$tjsK2 zzIp{_vsvUT$4Q_&7p&+nzYvDz;qCPs!7XA&db+3U8O9L|U_L#6j>St&p)XhB!7j~K zmHX&8nqb!b{@2JgnF5Y^{Px3Aj$CVP!xKM#o_4!M*gMI{4+VFyfJNqWc~f|zO1k^l zPL8amx*Wgy=}*M;BhZi{;M7tw@aO2R{Y$G}#lL8>sHHN)LK3oKdzn)T>0mdKCzdwK zcMSoYKcfs!J+u%hDV`=KP`euRn3fl^Ve59(u6Yyfot;S3>xFQ^*RH}RG;7jP>&EloVA&onU}n`$jf6T{ zg$30Wc!7F*L5Z2iVVw7Al(t8`>#nm+uA*xqyC5cD*SU{wvo_D}!|R{6FL zfu3JA4d0_&O-mo;xe=g{uY+ws$bhAj$k|@EVKY{~u@)A(=aU$K?N9(qPXuuDUzlyg z59qGpjEeFhu_^~XWWZ85No=2KI*(D)cn<9534SovSUv96g>U# zVi@VZ^H6g&;(&eG<{JIRI}Lbs?YnT$AWlyujPEG=0+yNw&Q+5!9ZxS=fI0V6(UgxL zNeti9JJR~X#;|-x<~DczC3~T+jrsowHs7d`!LpI#A7w{V9L#nD61n1xIedL51+J~yP%@i216pf z?NMO)BND-Eg>!%F82%r~OiIO8(J9ve0000~MMZ5OavySpBmyxZ$?oRZB>g_Wci-?PX0vB@!%W_ponW%Z`#$gI z`+SezZw>2_10#n^1;R!I8k~+1f!svTh(IF(`Dd`hiXfFQ!om>d-!%pF)gc#%qVN$O z9^QLl-QC@ylL#e`P#+-`sJolOXd-lVb;D}6!)%I0WJHAe9fdLq7YeaLCQz4Le1uSA zZ*Rxu9lP^aSKkJ zuYoBhMhQkiC|X8pG9J8R5z22V2`NoM6-cM1)8W9I+jn8huDuWk5^7>qI6?j`tf;W+ z=;%aSM+fGX7USWSOOTpGnu705K@o^1tQ+o$v*+>RTU&7C^jTQq<5c*Nn*N7w(k)gi z(vyXz6^lfyDM6@Sf6qQ_-MvrIVK&7mV|I5i>^eFfil%ZAh%}`nS%OB> zkO|~0Y1D<(UT#EvLnGF`yA7w$T|h#d*(Esx3D!%Kh^)M6#bV5vRvZ+XhD0Deq}tj$ zPkmmic2$h^Tv@``&AkAX6 zqp{hFrdFF6ZiHl~Fwme$0_&W!HMNr3cj2&PF{bqhse3e&c7ODtDJ?~bG;8YQA)_f^ z0_oIHhzs>saH+8waUw>%*`%_PK6c{YV`HL)oF44n|0TBX`4l#Ln-Z?4M`-d8CnHVs z%BJEW(qu^pxHtJNkbdF3v&~jJ&edI(g0CG>kr6^ok5t9sB9d7X#d-Ctg-BYQhC|Ys*j)ai>A!9R59?ym{~F@pfvdW$#0sx7RX4= z7l)4El}+zS8o#1KisCFPpM?qIe!(}lY4vH62tICNZSVxQ(irXx)`8EJ~9>BSR$qRA_P_z4G(oy1EUx8l2twXnp+ zDPfF8&F4_SoQ!lVo<9eL1*2e>F5TE}ct_J$Leszf@}^Fy#4BfLG_k$ue=dXhoLhmk z#M2{mbYa7`53%**y^?{#5E~oqvQ^NU%??%f%qlIx+?%JVPMu-ril+XVt`AMMLeq{9 z#hZN3bUICs-?IW!ZY=UxB)0nWSFNlIaV%R6gYw?(47xIhI8j-RAEU(a#jvZ@zVEDB+EE57&;Y?0~(s8QpRttm1)BJ@B(3 z5a^*tQBzmn+eTPY(~*>(sqVbDG-*O;beB5p6AEyZQwfW;**RI8gJWR7G)tk9$< z2)(Bxk!LQ{VB_`=arE>VC6a28<+bfLE848BiXhfftybI633Q>ht`~QT5@U`-YId&r zsnO)!!Heh=l6c2UZ<>foDK1SiX>5~bw|~gFqlv{N-)HCE|6=F9&(J0BOJO?Og-qv~ z8{ac%0ucdzBS|*omo;W z6T@kUjEY3NWIk6kvFqo|$vAJa%kvwXnz8En)k2F^g;fXzath$2i6@hsnT>>GtqAjp zCV3qVyC63Qi>0{aPyRRExc^c#8)s&?gm|+`*H@+YVgj&At@G@f7uC<V1QkRmii(oh9+Z$eHl2UvSWMn)-;W=t(sZ^6|NohBMECkU-Fq&r(vhpdcLnJC7q zF$;xxX7vlhOrUFdRf$4zC=$g|2Cgr2co=mgg8stc{`k=a%A2y%(^MTrk@)xeD?gy7 z{*wA#L2foinuRuCYtZd~18Eyr(&Gt*TlU%t|SXV$F!(GpS!>L3r5F&KD{_z)}G zL@6#4rCm`Z3|L%h?MO$PU5P_l9P-+Xv@}$d&-;-;6ldJ1Je4umZ`_P8zo}AHxp8B} z@E53maVZUNN_L*|C}XQaDp=!C7z(5}v205+($o70#J8kyMPo<96dj2T?`%Q!(PL^$ zP5-&obt2G@i_4@87MCf#p5hQQwzgbVp~Vo>5~GBYQy^oAMN2th7td*ExQwdmYFv`= zij(Gbpr!2VOCY@*V9gY3LeALn3^pYQM-y$<770aduc9sx=SC^ASLn7|7pS_57hF?& z5#Ll*;j#?EC>BSmuGaalKY^V76K#q^*64A)0#O`01#;43bUKF3Ev2Qht0M`=P8`Rn zGv6t%ijtJ?ZZ$UG0_i8lJ95_}kK@d_^L?g!URv~kPp3ggo6I6mp~nL0>77JT7=2>s z?tCZ^OMs^zx(CZ{U*P}9l^>|Dr2h8LtMLBLkC7&`WKIJEb$Ba~@pC;DMh{VSJ!0sq ze)9xMii`bU)i4TlM0Q`?|HQA=)Xx$hFKc359&daaOiX_S^7JOL$YgWd)Y6KIn~U-L zCm)45E8J@-yoYUyq?8sCOD5jc#FnHtt_8 zJJDoaE<#2q-W(naq=%bcv>iQh3V(TSjnH%miL$dx4eveNMmN+1DQd(DBIW188Pjn0 z9ZPzt@nki%kI%^qJlynl?Pc^I_B{Og>Khx?gU0O(O@SmxqXud|G&VOA_sLHExihEB z=vG@-^X1DiUJ+ze*0@io`si`2dTuSgkzu*FGzCf^QlmCUh)9)X;x)^cB2UI5Mi2ES zwDjltERg;NI!)}TUta$vUVm$|@+7WRdE!m}3Z!Q!u8I`M!0f(dw_)DwnTV2QAYZBR zJH-0m2_sEa-yTsk9Xxy#NwSAoZ#-SyJ%0q!sOglol^)4ZQ*fVTsQgg{ep3^0ffUB_ zU=c=d;@+Sa)@{K0P5)BHJs3^C2xMGK%g;>1y+TdJ+*yc@xz@q^;x_}`M8899Fq*zT zSS{;QYw@jY%1p8hOp~_)sr55f@?yH>rIQskqeqVkC^bVuP@mMz4OaZZoY2I9`)GWccacpj{Rr!GwWylF~MH4&e)vvC{oA11*c6OPC zCJw<|b@Tk52M@JwpO%cf7vCxa`*Ore_dk@>1XUpY!;G13|ADU+O()NsReP8zP{ydS z%IY}-;ykF`F3ZTWO3N~0_LPbE#mZ$UEDR1cArVLq2i=>vB=h_$>#*_N_ta*ru{TW6 zMk^wa&Dx9x*_@u`q~>-~BU@~OMNP;A8i=M(_kV%Ey}S2#R+Nk%jr;HX zDT<1Ug5otHG3mjKlQeMcog))&HrV%76%L<12a_xe7UgB3Og1c-g)D8Gwr_n@AdGuR zvzR9*IN1L@AP}vBC+9HOb3!gquQxfrL&gx(za$i>YST)MWja0G zpZ@;d`@Z-4b<7#sFtF(+5HkQwH!In30GKge1HcUO8UQu`%qRha`}eCD=A(qIP1-Rr zF&IRz{Q6EIxq&Js;KT*Bfk7@A5J@3kdkc0*wWz` zR+ulGd;x&=HN>a_>mUfRq^kDz4lG-@5$|r=2B+JtsEI%(B$#m7lyWS*dLEK3Ndk?( zi>BJ50!)oleBnRT9l?_2Yq00QA%PMbOT&`KC^7T-&cM;?L_u~Y7F}13iDNE`y4w02 zm^!o=+N$+iu%c!Y+S=P;Ni?IQ!*|XIV}Nc?n|wF7VzQ{snv@tdwe=Y=u2|K$eWdX? z7Qg)tzS^^2RK>xbK?d4n7}A%`q_)DGEKyte=uuHoTb}{rt8=frZ=pMN2RxKU4;@V}e4;OI}sVNOVp49W2H zZd$bs$<4;?q_zncm-d<3dJUKgtIgYvhLgX-+wLPkCL|K1R+k&=wrs=Z+8y9b$$#T_ zBb%trO|k8a4^=a#;QD7=8wgX2`oWf71P75rXH3_Ep z_-s!REtg9KS4XivvAbrW3|nihFe)}<^&~^QbLJjjSvxFJp4Ec@f~k* zQk-i187(yI;$vgG;!`4BfR!_1XH3(&cOFXneyqbvGOq{fS#4&@oD|y#yxvWYOFKJA zZA0^Oar+GmFmBX{h^sAZVA_)9R8tEMH=ZP4Pj=SY7)M9VWGHpeo>Scxr2HMR7qMZl~CGNoh$$)D{vjt*UnIJAkEB z+SDCwL|j}fGSX5pf6h#dEG`0r)E3w3@M1W;FRLwq)TTn?A*HI#OWAe()>=^N(SKOZ63EWx~m%hJmT7V!N9u?8xCEt4%jBHT-hM+4p0;6wKe# zyUl8mETo!GwUgjweh~HNAr@xSZV9G)uNql6hjWh zx3SuItDaMVn^|opliv|=J{9W%rrHHQ$yM)vfR*%Wr(!rMkxtxC!OTC%it%_nq_8+q z+B8xeOOO>9j@njGY&%d_AF^-b8_&LN_>g?udE?b6D=8Lb>unhY2S&fZrhzlqWB+~= zwO{U*=3b1Bw6B&uF6wb{Oyk&=m7Xp=udvjn#BZFT!_raXl3&8IE$0K4RSh^`0S+EVxl+4FdWTB{yA+p-C2B%X(m~mdSt9mrWw{e$N zTO}xJ<2EM|Uq-xe$8cK7!`U={V-jy5#F>vGDCW>|8g`W%>Iqy!MZ zEcR5SW#=M}-E$af<1&iNshN|?QBgi#V6;(EIIr5M-n(_FO7tliPo|V@>fN9l67n_`#j?}CiIYG&!2BE33jbjma7cQGN z1(U{JEUNMPDXr9@$oq1+##sLl{R>!^Z{XP04ig36w48h-T9Z5N zN9T05)?Wnq%$bmt!al96WH{!LZ%e02LzWXrL{Ks%tBPMg{d@|ICr(P8Xz7e?462_4 zI~&`$3bmzYiUpC$+7Q&n;$$#9L~Rt4u9z_m<1Q-g^l=@CkB_4m=auQZQ>UAxi!pNO z5CUtL+i_t4(e=jCZ4}$`B*ukeKiEg{{Lsl0$1$b69K(kWl^Cbai2DQf`16z{slVS(gZ_CUc{j70 zBiYo5*=1O5ZkN=7ZInT0&6tUT{Cx3gJ%Od#ZSuFK=4L$h>|$~HS_2$iA7&u)iN&A^ zS080Ry=GUkAq_QGYYRN&*!g0)c%M1F0)+(y=K$j@IhcaJg<|GA>uON5`9tZMX;%nc zIKcdx-CThuRYQ-3DXc1Qn@8%v4)S0!lg+^Bb5CFr!{|ng9yv^c{@RV3v0=+ck_>uo z7ap)~X4fafGbJNi%9pN<0Jxp4@=|tJnwI{6vCHG4oZqd9CTy+!1mEoWp5{N5w#{z? zSl3m=P>gAVH6;z11x1n^1`VR=Iae!Mn@`JU?bZdXq5=hZN(?ho5^*>j_Rh@qN{OjFVboYHUDZ!H<#%7IzCsAIhV+@!I%}ecO92Yf#+Bir`|d^@sWKvyAZozme*5qLa3>mQL9dnC)a+{_w}l2wn+W^`_CV(+kK_=r zW_p0)uA8pG&DUL{3zqyI{ZPpWoJhgm@0q1Gj&If;;9#2!X}yzU4%bM0+2YI<>|tx$PD+ zs%h<5_1w#lm6dIXxh{pNN7PQIuU=b&XI^|2zfw!ZW}}{0SZeECVA@IKu{5o=@Y*Xe zVcaETg1g%lJ>(1l;{z(oD3zw&kz);b^qD2tLUV!PsjYW_DZMmhjhK}>u?uL8*tJ!2 zk)F}nF)^?RrOVRjiDCZ8^DvZ_3T?~Rti^LLzea_wgJN4KYKuHDC00?TKz?mB%{?x> zW@!20i@GFe_&5jclao&Z85fe`WZF$EaH*$$F|4;)2b@T zY(h1ys=n^ZN(|1VN#{=g7Ah>=Su)tz)~fA4tKY@*ue>3vneCKGxn&$YlST%ZR#j!i zg}C+VDoifF6tQv2ve0lqg*_yDLexGvdyp2qJ^J)wZ2#;F>BI9pW1xk1%5lO2CKDnQ zQ~9YkvndYq>B*4mt1FS&nE@jOD`E=M!qckl_2sLv@%Q z+pem@RBBzvc0NcE2~}yYFRU0AXsBwRoZWx$5FUB@dF=S&E7-|?@DsS_u1^gO7-wo$ zRRSq^-pt9kp?V&&b8;gRs{&nHuK-hjOjR2XiC31b#EWk%qX()yk`#D$=j>(-m{wIK zg}J!(s(GlGI$3u;7%V2A@B3Z_#y_l8+ur>LNNtPp`B%F{ZD$`W)elTnm5Ed}cltz9 zRVDKB3wl*my*?!U-62(N{QlBgE9kYHmRz>U5>Rd{2kTa7RW&R>TU0fJmJr07`1ydy zWI#R2>ve@`PeMv7#VFz1z57IMU+(^v)|}boqRkeo-+ovunN2r!RpTjUT`{d3H!i3` zK23f^!dK~m6cvT}%cR^QT1s*4)wfs4v{@zv?DV`sX)kk+%j(^JjgPnU0&{Mn)>dVI=%W6gyJq$ma7N8`Um1W`4 zP*uMHrk;qlZNzKB>Kl$DoxFYSdNL?|`Yno69RUw%Sb*Ro`X7VDYU_vt+Q7 zQNd|#LSF~@mHV?$;O7AV O0000e3!7QK*tPda2FY)MFfBqm0}E)zlsI}V^DQjS_vQ&Z}wGgF17KP+o%erU}&=!`4i zI*v=JxFIMYdjuI21i=klfUqVeWbdStbdtH}zWzcdbja)Xx;u@PuPT+$hVfadTU0MI0U0{{*HXchsJ$NOy#bQTAL1`RTKo8CLz z?*QyzRRy@5K?9f&TZ0GtACP_pU`Iy>gEUy^Qd8eRP0con3=gB2s7QGY|38TT-=ARg z3jkHPf^|QZouSt@e9YfZQ)^org#-sv`iNn)Y+f%&Gup6+nFF z}@TPP?nke19Uq?@msL%~5oq>l4mcGGv}egn{%b*Ii( z(3&^ir-R=fqo{~*0Tcj<(#Mwr;QB@@jZGU#x8Jmcax&8Vf{pzGAiz^a;=`SL=+*U` z$?C{=?d=+Hu2w+6V9tvz6241k&!C$Z&Y_^7zlHJ}e zInbS@*obhyeohfBUsxh}($~4s>i{~luHr&1Rn|68Xh;YhJARVZZQV)dDt;CQVz~<< zBu^)^w%*!AS))@qH!h~EbO#&xjR*TcfO{1{mFw*7?R37fmYQ4JC_F3_NC}A0dH`|H z{)3|bLV~sG>h99mXp=N>1GDj_1-@gWR{;bNb&XB*b4@)+RFFsPrA2hrn#X|CAVU^l(6S=83 z0{|CeYiSV%&7MA$CSRS)3A~-!+U$MiMpu;@LOIL}Y|I;*L3b`+%D!WY%XDKJK*hW| z)@qNx{3h)?{EbvmJq7@(GeX|RA)GrVgBBDOk|j2V+1RY*&>roU?%XJB+(kS0K{uML z)SMe3qyBX3jWly|fk-U9Qb!j9mDT>lD{DES@1~?77Rh;f`+w!>A%tPi&z~`!^0UWs zUTov@wD-wISCzUO8$aSoU2eQmL)zF{T7?v=|8~EmBv*ycu#AD^1qk=Ae3~onY1USJRVn+aBNcuGI}Lb?u|^Kxti^FfB@hI+C!H_^lQ z-c3_kdU-a49YXl`f4PtLA3RLa(NPqWkW5i=7I`Chaz@z*=uuFH4^5^;5Z^q3LkH8_ z4e0G+4za`Y7PGOuvPyEB^y=M`HVPPPR(@}rwLv5pz8+d}mlpy2^L_NiS6@?jXsA53 zh}bx?B&Sdy*k~}M0U#K6QG8FN!inQ0C-x@3^{_F5(@b4sBfYnIJMBJjNQ{gim>8HX zi=Ea^&5aGzYJ(a;C&FrhBg*>#9>EMFTuMDa3*>}tNghTKF|m?_r8FCGf}O?pXozp_ zr-vmc_A0&sJVu_E?P45$~m`8 zIkUucw`=SV0G(j|-q;9mVQRnum!T5_3&GyVol9*)1O0pTbL{X~{Sd$&YzzsH zp!lJ~2;Vg}8e7idJ3o6I&0`>=BO^8O-AgNo*TKRN_9Wqwi!;t(TDjt`e0numo0|L^ zK;#yHhMSLNCPv36N;sR5I|y2YaC~em&F7H5iu-DWIE)On?G0>0PYafwIDJ;U#O%y8 zamH~i0Pe~FP>LGgGAcC#85R{Sl^QwHEE`cwP<)m$uKwPAx2 z@*G@fxItj$l?9-RSO*(%GjT~No)h29#+1YaE-;0Z!4^Hl_nGoa5zYWh<-aQ*KnEK; zJ6Y~vOh zVeBl=nOTf1t0^a^^~(ZKvC*XXR$|#^Z6qrLn4FwUvx;VlN2!guE-nQiUV(i1=Toc1 z+`ZKG>1QErM5Lgg1aV=B=a5FB(IdXmdfD4rsEOSZqyQMQNr{P6QdCU#j!OZ=wqQt_ z*qCVAv1c#6{?2>S%R38g?b@$E01>vD`0f;`1IZ)en;ZR}9gN00c2Alb$<}0*ut%Xl zRqhSI4$ixIV>4+;Tr3?pe1u+o`(1|!*Ur^_U5NlX-2vFwCBDPhtZ?dd03O_*rp9`* zb04b=0KD!BK-Hq5eaqyr<*rZn(zeo1MAlr|!gVF+elQb^#BFcK2pi$%5O*-cDasNr zJGrD2X=@d?xTiLA=FF7>42D%!RnfsO57D{uavAU|KrjEi ze+d9WbTc5)@k1y+WkjCk&DUk6DR1{58n&0GR;GV)ipl!0f2Yj`vC1d zaF8O|GSagl-0cWA2p|Abvs_I40GzWgsQ)@T>ERW3)5L;nJUbIXE<$LmeEM1X&l_tg zp1nEjF7Ws=2%siHlt+4T%becplOn}kQcPqRJ^H{3N=r-gEP!gT{=-ivX!-5;NLWBi zL4$d8nE=q}btp@$wxN+07fq#m|M&+A4#6g=OLvsHdJkPY6L6pcaqF(#^p7W3v%6bK z(NR&_R8Cip(Q%7D22dNV+GW5rDQ7I*b=z`EW%jwVbOWe?sBPh`uC1lV*StjUZ`>>u z4t5d3-1PDhfU25fD{?Y_PG#BrVw%GqV+@aJ-Cb@0=*&d?ytQ->J^IYEbmrW7ijC%0 z%q$yy0HD^rXsnxhbvE6ybP;7|Wf?LvB=>UoxxLFpRXu2|3)MCB*y`tL{pM}LMA+zt z+2}<873<&|Cd5Vap6Oy*P*OzEJln?7oAY`y)DVE`B&b~2K7qA)$1Zwo)$=S~E2MEp zxV!yqyab@Ij^#}|Tm4h=#?dWH7E(@5PS>YET}}D)hO#LD)ss_=ePz`JTDj^u`e@4z znT#Pny2VBh1L(}U_?Srf6w`HcN;ubI;khL$g07!k zM8BR_La~ktYc$vO_V7K%K<775oeN%D$DcZS{Mi?&>OwWe^uFMBY5?90=@sr&T`fIZoW!t%&dYuJ<9Et`9=OUh+#Gzg&9O<-=^O0f}P%(@xE zIt!Z;W-4r-DaWXc(R1R9xl!w*vEJRViJo}=C93A>Sq$$nyd*ao01(37&T0VLH}c1( z)2+<90^YFcP1boW2lfW6YWEOgr_Y`fHtyKHS6rQLY;*%a)x$#9MTdvd;#t#a$-LP# zBr(bBtn)d5uGsk2x()Qy3;(6M`g-Z9g^m1+di+4ib=*3Fb$OYobnDWEG-3QT6cC8d z-5G8w+zG6%-}PD!?ComQGz??Klc&$nBWz5R?%hXGykRJir)O=v*}OMH72%3`2v`>x z7D9`Qr_<8;vne4d*{7`QHwN}rsb7D09X<2nD>Ao@?d=9UL za`~@xfOQiK#yeQ2&w4UMu|5v+IRl-q$N3M99Y1-BZL(Fu#^IwdAI+4JS}$rnfD@5@An2Gi)|c$zlh8cH6T;uoy* zO8~prc$tsm`?|vFVWVG!aL)^Mp0ag&+6H!T=>fsa@AxHvW^TyW#|{8!67c~52LLpQ qfXTxL7&ri+Nd!zDKEObe0RA7{S!}k)vM4zK00001=c)r70~ql0j@V><{}L$-r(2jOZ-K*PU1=(+#zaQhK08Y4zO zKR?318)5jgask!f0!W1B2+l42%$K11EZqM7e)9MC7pzX#HPFSz?*+`1L_MV?CyMW@ zKjTYK<+=DAT&NY39#j9+nL2voz0Gv8`YiSI_Tsw~8XQF9My1n(i|12jdYTb3E8O4r ztiq?@_OV(6Sgn}$@9x-38@KJDuAUwW4-GZ>EPiI_=%f&ae0SMgS~7nw1q1|;{9RvC zuus61clCEiU=3hfa$Lu@_ViA2Fl4CMGxJ3JB=PbOi{5FpY{fH zuftXQ=0|%E(AyvFAVX&-MTUn_U*ABe=70hM{Hfj0Nx?xubPp?dN%>rHGkitGUV{s@ z%8=>;FIKBIyiZ4t9;1k`Ffq-|)oM+7Y8B^>fr=MXMp~+fCU6XIMigFy3s{EEE~@za zOR;EmcJ~Od{e67`jH5%U7+$<&ezEXlEOOpdu}9$|4?x%oMb%$yq?YzhI(O+i`f&F? zs%5VY4G9)X6G?*;L#^Vxu^B?eqlOLjnu3#^zS?<3%SZFi-&O z@4w37mmh^O=u3u^zE5i3g@paMGE!`TK;YuM-+KuM++5?9F`)oXykXE@M2Bj z%0&wR>(~Y^x3p1Abfj3_%@-`FDl9aFdU|?k=ck8g$Nodq%_GiYJcCq=#9>>8Z)4V{26iaywiJ2+%HEZl;Dy-;1dTACw@mU%T(bqzgS09y!*gm5mj_`ce&)n zQpIfy7lJD1RT`Q&gccRgVSh^z#TE=p{&rmz ztGu|nww^X_RaA@x(2;D;mWuPU##!}TJJh|n6~dbz?q$!RLo%_Ea?7)^JsC&Y`3V`DY)vX z^TD19`p4#7A`yrP4;@f!kv`hNg_z6{>1-2)l#~!J3NuctSmnjlwGG0HPgGS4o4}&! zQbb|&;>kJV=%FRI(=aZ|t3_mQj4eOsFkCr>8!moFt2b<-e|>X;p@!SMFenv(!?|`a zZ`Lg|B{z$Dd;3HI+@^{-l8B159Z^UXZ`-%u^@xJa80XW*Duz%VSX4&0&7CD!sS8c^ zLUstQJiyKaM`-Q)Tlpjm6d8eHOaFC?Eux6RpMzE8j?JX`b7oO&bd>O7YfZ=Nda;>` zH*$6-yjaA=T%%yGc4n9&ijEE{$Qe(M|7Z!t$3$D5ZPt!qH(VKJZL2s$%hzonT~s7T z0!jzK-XS3ZD8K?RKm$0yTWi(W8&L=qi-pE#@nN<3_DMrXHjaTRBG8@KG>*>*ZwT>J>4;P6O_PaaCap-Owk z)d3ZEal9PJmNRGC6iz%QirNH}?X(vgvpduogI;at(e!I6Q*3`wGBR+f77cdCxBwWil*FS; zEJURVom@eI1Ix%SgIF8wZ}QD+rTQWsc+ymegubtJ!EKQwQ@S` z=cm-2O~Wg2WsHmI#l5dUUWj6oQYbPePAJ%A6{`}D?99;|7tiEiK1QfmZh5j~MY!o9 z-0g_s1V^-!EYyn;1EX5EdGDvRyJA0eK&>hT`wm>32~+~0SNka{CZ1vwlPLff1}}C& z#Y*Bq)WMyMXii+p3un@Vabt{evi0=&nu^0j*8^jKiWxXMBT(rdUR+M6syVYmW7JaT z*{jMOaGMns2Ze;PO{7qGluiLG+rLh(da#LJwi_fL`Pt*Cj1!NjhzOgBhxB6XWkA;h z8Kvx$AmeOlZDW{3Yuo$TdT+S<9juY_eQ*S<-|E5E%#;HuOKpdn%5VzCR2h;&=X zhJ_8#rcKPF;^|Yxh7wC14_ESC&R-N~mdbm4r9wl3gKu28!iyO&yi=!7BwfM~ z#h=}zVk91^Nr{|3&!$nsQwJm-0E-0;+osNNLBFY`Rm9NP#}LE~Qdq-{4cAP?p^=<; zB&AZYabK8|7Hs-8k$9lv!A;9qQzp^uf=R4YKT#BdVlQ285?iHu@HKxHzMD0AX+{5L; zww7ipDVj_Aganb%$)yJ7LNR-dRF!xjtBYgE0i5L_PIe^m06a|jj<#0n z?lg$Rpsb{XVstSgHns*Aor_?O7M8DCLucyh#p0$;G<+ldwHKzf&jAiYfIY;qO`uL; zZ{h)vP^*EfShy*&E->d9*l=nV!7dXvg$OgUB8i9Ia3SdkjH0agh2xf&9P(L zLh2IHfsA?Wwkl7-{mEm?=2%uyC%ph3KJ8&Y!4FgHrCeS@!$qXxAs7QZ&~HoY@E92xnK}!V&-!VU|-+#jf+K z+%gKLKR@$0jT<{w8@LF#agy(I-|08cJx@tP^kVvHIb4OSP9B^&Ph2ma>B!AUr)Qu3 zCB??YYXeu_c~qbtUiMo$^!dLzy^I&N%#3fq%EUP`x?l~@e< zY#qa)?M$*S)!cH0R{VV}ZQ>o?c%}>8RBX0z_wWW>+1dx#;YoVBtGtLx=M+)|+n}Sv zA-HmtmDBC;7hloyD_#{bV~kGcb`^UXuB;8Caal4opYC2zMk7Xy5G7J)hQn|rU|50h zBwmeIyta@DS_|+cG1jRD3U93=Jw~TdR>Mq53GI&rQ*;Ldf}B- zRCBgYQ88bIGmrUe1y`yS?;I+eluP$6DyPiMO!2_CJBQognpBK>0H0*bl~!85`gMA5 z^L9=-gG`T`I&$*vhHKhz&E4Q(L*nTker-$f>=_izbzd!pTj5$#@!tIh>BU#p(AkCt zequdZ*$HWB%aDbub0=J}$r>#mwt`ucvT5leesvbB)!9hEo|~ZwTyqsSHMh`TUww@} z*uG1&Qc$Hr#&^Bp4!CNy4o!%qyIHNJyi-Rf)#~ClD_hr~8C;W!`6(S`#|w#?#9#jQ z8a13hFH{U4wxwcM;VNq7ejGPGXH3YVrMH!f`hY(_kE|h66K~DoN)-bXF1GReCVFY* z8rr;b57$)rH7u-TYbtgYu2d`b_a?^agtwOQjvO7=cRe{g0@sp?x9{0UFR@je=O-}{ zQ6OeESFtm2rCQOVpPoCGy|tXOvc`+9vZsef;hL-XQsZS_>{in@293-Pg>1Eo9f7M> z>yTI--8HX})mlh#T+?+|-0JAf@i^RTDppFE7_f-tt6rx|jg6#(7aLV@jrTZSyH7JIgC-Ro?)w!8KR$`HPo?ig)g-;4TM0OwGMB6uWJ8BIH&jc&naU<#(3O zrgGjV7N4N^np%AZt|b+3+P0HkUj2qx_^?eM4a%hSANJ7jI1^r)(Z?G>3bHckepYL4 zcDDGuuMDp$R}DcX7f@rv`3v;Iid7uC?dR%$EDg^bZ)z#w=k2@~4BgxWR_h(bvuHtS z5yk6y-!BhYbM^(mJ_Fa1ir@WkE3I7jHU;VuD1x7VK(iNWHE?TvLdJ0R)^f_r%@L1h z`Qq?7xYxWG&!YL!IaV>=@9_1h8u7}NL|r81j7X(9w@f2_qVjreUs9{jd9F3psVi;B z=Fkx3mKN`x;k^egJbvXVmHVV}&Ak|4QE4;(zP;}~@Dxn*fk62yyj;Rtv>ZI{ z4F%W1YxDZY2jOaX3kKm1!qt#~hJSicxr1;uB%tA+9#pP|aQ_FSy2_#GbiBp@0000< KMNUMnLSTY3hcjjX literal 0 HcmV?d00001 diff --git a/SFI/Assets.xcassets/AppIcon.appiconset/Contents.json b/SFI/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..799689a --- /dev/null +++ b/SFI/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,324 @@ +{ + "images" : [ + { + "filename" : "40.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "20x20" + }, + { + "filename" : "60.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "20x20" + }, + { + "filename" : "29.png", + "idiom" : "iphone", + "scale" : "1x", + "size" : "29x29" + }, + { + "filename" : "58.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "29x29" + }, + { + "filename" : "87.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "29x29" + }, + { + "filename" : "80.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "40x40" + }, + { + "filename" : "120.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "40x40" + }, + { + "filename" : "57.png", + "idiom" : "iphone", + "scale" : "1x", + "size" : "57x57" + }, + { + "filename" : "114.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "57x57" + }, + { + "filename" : "120.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "60x60" + }, + { + "filename" : "180.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "60x60" + }, + { + "filename" : "20.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "20x20" + }, + { + "filename" : "40.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "20x20" + }, + { + "filename" : "29.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "29x29" + }, + { + "filename" : "58.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "29x29" + }, + { + "filename" : "40.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "40x40" + }, + { + "filename" : "80.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "40x40" + }, + { + "filename" : "50.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "50x50" + }, + { + "filename" : "100.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "50x50" + }, + { + "filename" : "72.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "72x72" + }, + { + "filename" : "144.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "72x72" + }, + { + "filename" : "76.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "76x76" + }, + { + "filename" : "152.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "76x76" + }, + { + "filename" : "167.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "83.5x83.5" + }, + { + "filename" : "1024.png", + "idiom" : "ios-marketing", + "scale" : "1x", + "size" : "1024x1024" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "16x16" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "16x16" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "32x32" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "32x32" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "128x128" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "128x128" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "256x256" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "256x256" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "512x512" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "512x512" + }, + { + "idiom" : "watch", + "role" : "notificationCenter", + "scale" : "2x", + "size" : "24x24", + "subtype" : "38mm" + }, + { + "idiom" : "watch", + "role" : "notificationCenter", + "scale" : "2x", + "size" : "27.5x27.5", + "subtype" : "42mm" + }, + { + "idiom" : "watch", + "role" : "companionSettings", + "scale" : "2x", + "size" : "29x29" + }, + { + "idiom" : "watch", + "role" : "companionSettings", + "scale" : "3x", + "size" : "29x29" + }, + { + "idiom" : "watch", + "role" : "notificationCenter", + "scale" : "2x", + "size" : "33x33", + "subtype" : "45mm" + }, + { + "idiom" : "watch", + "role" : "appLauncher", + "scale" : "2x", + "size" : "40x40", + "subtype" : "38mm" + }, + { + "idiom" : "watch", + "role" : "appLauncher", + "scale" : "2x", + "size" : "44x44", + "subtype" : "40mm" + }, + { + "idiom" : "watch", + "role" : "appLauncher", + "scale" : "2x", + "size" : "46x46", + "subtype" : "41mm" + }, + { + "idiom" : "watch", + "role" : "appLauncher", + "scale" : "2x", + "size" : "50x50", + "subtype" : "44mm" + }, + { + "idiom" : "watch", + "role" : "appLauncher", + "scale" : "2x", + "size" : "51x51", + "subtype" : "45mm" + }, + { + "idiom" : "watch", + "role" : "appLauncher", + "scale" : "2x", + "size" : "54x54", + "subtype" : "49mm" + }, + { + "idiom" : "watch", + "role" : "quickLook", + "scale" : "2x", + "size" : "86x86", + "subtype" : "38mm" + }, + { + "idiom" : "watch", + "role" : "quickLook", + "scale" : "2x", + "size" : "98x98", + "subtype" : "42mm" + }, + { + "idiom" : "watch", + "role" : "quickLook", + "scale" : "2x", + "size" : "108x108", + "subtype" : "44mm" + }, + { + "idiom" : "watch", + "role" : "quickLook", + "scale" : "2x", + "size" : "117x117", + "subtype" : "45mm" + }, + { + "idiom" : "watch", + "role" : "quickLook", + "scale" : "2x", + "size" : "129x129", + "subtype" : "49mm" + }, + { + "filename" : "1024.png", + "idiom" : "watch-marketing", + "scale" : "1x", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SFI/Assets.xcassets/Contents.json b/SFI/Assets.xcassets/Contents.json new file mode 100644 index 0000000..74d6a72 --- /dev/null +++ b/SFI/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info": { + "author": "xcode", + "version": 1 + } +} diff --git a/SFI/ContentView.swift b/SFI/ContentView.swift new file mode 100644 index 0000000..1649141 --- /dev/null +++ b/SFI/ContentView.swift @@ -0,0 +1,61 @@ +import ApplicationLibrary +import Library +import SwiftUI + +struct ContentView: View { + @Environment(\.selection) private var selection + @Environment(\.extensionProfile) private var extensionProfile + + var body: some View { + viewBuilder { + if let profile = extensionProfile.wrappedValue { + ContentView0().environmentObject(profile) + } else { + ContentView1() + } + } + } + + struct ContentView0: View { + @Environment(\.selection) private var selection + @EnvironmentObject private var extensionProfile: ExtensionProfile + + var body: some View { + TabView(selection: selection) { + ForEach(NavigationPage.allCases.filter { it in + it.visible(extensionProfile) + }, id: \.self) { page in + NavigationView { + page.contentView + } + .navigationViewStyle(.stack) + .tag(page) + .tabItem { page.label } + } + }.onChange(of: extensionProfile.status) { _ in + if !selection.wrappedValue.visible(extensionProfile) { + selection.wrappedValue = NavigationPage.dashboard + } + } + } + } + + struct ContentView1: View { + @Environment(\.selection) private var selection + + var body: some View { + TabView(selection: selection) { + ForEach(NavigationPage.allCases.filter { it in + it.visible(nil) + }, id: \.self) { page in + NavigationView { + page.contentView + } + .navigationViewStyle(.stack) + .tag(page) + .tabItem { page.label } + } + } + } + } +} diff --git a/SFI/Info.plist b/SFI/Info.plist new file mode 100644 index 0000000..374a712 --- /dev/null +++ b/SFI/Info.plist @@ -0,0 +1,28 @@ + + + + + BGTaskSchedulerPermittedIdentifiers + + io.nekohasekai.sfa.update_profiles + + ITSAppUsesNonExemptEncryption + + NSUbiquitousContainers + + iCloud.io.nekohasekai.sfa + + NSUbiquitousContainerIsDocumentScopePublic + + NSUbiquitousContainerName + sing-box + NSUbiquitousContainerSupportedFolderLevels + Any + + + UIBackgroundModes + + fetch + + + diff --git a/SFI/MainView.swift b/SFI/MainView.swift new file mode 100644 index 0000000..12a63dc --- /dev/null +++ b/SFI/MainView.swift @@ -0,0 +1,84 @@ +import ApplicationLibrary +import Library +import SwiftUI + +struct MainView: View { + @Environment(\.scenePhase) var scenePhase + + @State private var selection = NavigationPage.dashboard + @State private var extensionProfile: ExtensionProfile? + @State private var profileLoading = true + @State private var logClient: LogClient! + + @State private var serviceNotificationTitle = "" + @State private var serviceNotificationContent = "" + @State private var serviceNotificationPresented = false + + var body: some View { + viewBuilder { + if profileLoading { + ProgressView().onAppear { + Task.detached { + logClient = LogClient(SharedPreferences.maxLogLines) + await loadProfile() + } + } + } else { + ContentView() + } + } + .alert(isPresented: $serviceNotificationPresented, content: { + Alert( + title: Text(serviceNotificationTitle), + message: Text(serviceNotificationContent), + dismissButton: .default(Text("Ok")) + ) + }) + .onAppear { + ServiceNotification.setServiceNotificationListener { notification in + serviceNotificationTitle = notification.title + serviceNotificationContent = notification.body + serviceNotificationPresented = true + } + } + .onDisappear { + ServiceNotification.removeServiceNotificationListener() + } + .onChange(of: scenePhase, perform: { newValue in + if newValue == .active { + Task.detached { + await loadProfile() + } + } + }) + .environment(\.selection, $selection) + .environment(\.extensionProfile, $extensionProfile) + .environment(\.logClient, $logClient) + } + + private func loadProfile() async { + defer { + profileLoading = false + } + if let newProfile = try? await ExtensionProfile.load() { + if extensionProfile == nil || extensionProfile?.status == .invalid { + newProfile.register() + extensionProfile = newProfile + } + } else { + extensionProfile = nil + } + } + + private func connectLog() { + guard let profile = extensionProfile else { + return + } + guard let logClient else { + return + } + if profile.status.isConnected, !logClient.isConnected { + logClient.reconnect() + } + } +} diff --git a/SFI/SFI.entitlements b/SFI/SFI.entitlements new file mode 100644 index 0000000..ed88ee1 --- /dev/null +++ b/SFI/SFI.entitlements @@ -0,0 +1,26 @@ + + + + + com.apple.developer.icloud-container-identifiers + + iCloud.io.nekohasekai.sfa + + com.apple.developer.icloud-services + + CloudDocuments + + com.apple.developer.networking.networkextension + + packet-tunnel-provider + + com.apple.developer.ubiquity-container-identifiers + + iCloud.io.nekohasekai.sfa + + com.apple.security.application-groups + + group.io.nekohasekai.sfa + + + diff --git a/SFM/Application.swift b/SFM/Application.swift new file mode 100644 index 0000000..c43fb7f --- /dev/null +++ b/SFM/Application.swift @@ -0,0 +1,80 @@ +import ApplicationLibrary +import Library +import SwiftUI + +@main +struct Application: App { + @NSApplicationDelegateAdaptor private var appDelegate: ApplicationDelegate + + @State private var showMenuBarExtra = false + @State private var isMenuPresented = false + + var body: some Scene { + Window("sing-box", id: "main", content: { + MainView() + .onAppear { + Task.detached { + await initialize() + } + } + .environment(\.showMenuBarExtra, $showMenuBarExtra) + }) + .commands { + if showMenuBarExtra { + CommandGroup(replacing: .appTermination) { + Button("Quit sing-box") { + hide(closeApp: true) + } + .keyboardShortcut("q", modifiers: [.command]) + } + CommandGroup(replacing: .saveItem) { + Button("Close") { + hide(closeApp: false) + } + .keyboardShortcut("w", modifiers: [.command]) + } + } + SidebarCommands() + } + + Window("New Profile", id: NewProfileView.windowID) { + NewProfileView() + } + + WindowGroup("Edit Profile", id: EditProfileWindowView.windowID, for: Int64.self) { profileID in + EditProfileWindowView(profileID.wrappedValue) + }.commandsRemoved() + + WindowGroup("Edit Content", id: EditProfileContentView.windowID, for: EditProfileContentView.Context.self) { context in + EditProfileContentView(context.wrappedValue) + }.commandsRemoved() + + Window("Service Log", id: ServiceLogView.windowID) { + ServiceLogView() + } + MenuBarExtra(isInserted: $showMenuBarExtra) { + MenuView(isMenuPresented: $isMenuPresented) + } label: { + Image(systemName: "network.badge.shield.half.filled") + } + .menuBarExtraStyle(.window) + .menuBarExtraAccess(isPresented: $isMenuPresented) + } + + private func initialize() async { + let initialShowMenuBarExtra = SharedPreferences.showMenuBarExtra + await MainActor.run { + showMenuBarExtra = initialShowMenuBarExtra + } + } + + private func hide(closeApp: Bool) { + if closeApp || NSApp.keyWindow?.identifier?.rawValue == "main" { + let transformState = ProcessApplicationTransformState(kProcessTransformToUIElementApplication) + var psn = ProcessSerialNumber(highLongOfPSN: 0, lowLongOfPSN: UInt32(kCurrentProcess)) + TransformProcessType(&psn, transformState) + NSApp.setActivationPolicy(.accessory) + } + NSApp.keyWindow?.close() + } +} diff --git a/SFM/ApplicationDelegate.swift b/SFM/ApplicationDelegate.swift new file mode 100644 index 0000000..716362e --- /dev/null +++ b/SFM/ApplicationDelegate.swift @@ -0,0 +1,51 @@ +import AppKit +import ApplicationLibrary +import Foundation +import Libbox +import Library + +class ApplicationDelegate: NSObject, NSApplicationDelegate { + func applicationDidFinishLaunching(_: Notification) { + NSLog("Here I stand") + // ServiceNotification.register() // Not work + let event = NSAppleEventManager.shared().currentAppleEvent + let launchedAsLogInItem = + event?.eventID == kAEOpenApplication && + event?.paramDescriptor(forKeyword: keyAEPropData)?.enumCodeValue == keyAELaunchedAsLogInItem + if !launchedAsLogInItem || !SharedPreferences.showMenuBarExtra { + NSApp.setActivationPolicy(.regular) + NSApp.activate(ignoringOtherApps: true) + } else { + NSApp.windows.first?.close() + } + Task.detached { + do { + try await self.postStart(launchedAsLogInItem) + } catch { + NSLog("application setup error: \(error.localizedDescription)") + } + } + } + + private func postStart(_ launchedAsLogInItem: Bool) async throws { + try ProfileUpdateTask.setup() + if launchedAsLogInItem { + if SharedPreferences.startedByUser { + if let profile = try await ExtensionProfile.load() { + try await profile.start() + } + } + } + } + + func applicationShouldTerminateAfterLastWindowClosed(_: NSApplication) -> Bool { + !SharedPreferences.showMenuBarExtra + } + + func applicationShouldHandleReopen(_: NSApplication, hasVisibleWindows flag: Bool) -> Bool { + if !flag, NSApp.activationPolicy() == .accessory { + NSApp.setActivationPolicy(.regular) + } + return true + } +} diff --git a/SFM/Assets.xcassets/AccentColor.colorset/Contents.json b/SFM/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 0000000..0afb3cf --- /dev/null +++ b/SFM/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors": [ + { + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} diff --git a/SFM/Assets.xcassets/AppIcon.appiconset/Contents.json b/SFM/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..f4ac7bc --- /dev/null +++ b/SFM/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,68 @@ +{ + "images" : [ + { + "filename" : "apple-16 1x.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "16x16" + }, + { + "filename" : "apple-16 2x.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "16x16" + }, + { + "filename" : "apple-32 1x.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "32x32" + }, + { + "filename" : "apple-32 2x 1.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "32x32" + }, + { + "filename" : "apple-128 1x.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "128x128" + }, + { + "filename" : "apple-128 2x.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "128x128" + }, + { + "filename" : "apple-256 1x.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "256x256" + }, + { + "filename" : "apple-256 2x.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "256x256" + }, + { + "filename" : "apple-512 1x.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "512x512" + }, + { + "filename" : "apple-512 2x.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "512x512" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SFM/Assets.xcassets/AppIcon.appiconset/apple-128 1x.png b/SFM/Assets.xcassets/AppIcon.appiconset/apple-128 1x.png new file mode 100644 index 0000000000000000000000000000000000000000..9b10cd708cc8a3f8b70dadbbabe1309ed32758e0 GIT binary patch literal 284463 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%0AEz=q3wI_iG})Q#>^z` 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 E zbVYF_T-8c=8)kDQ9br%pek_!GGu?ESU~tyOl49mK9+C%w!57uMzJ6Z`}PxI?fbWW z7zyws<3<4bBp#|p##Rx1nlkG8As{M8G7yOxA~nkDoBsE0)3nef1+M&L;9EVDxEkhw zh9g><_sqLoJO0*Cx0!E?w}^ScE+6nQ@0mCgP#<|R>(qH89rO|)1c;C7*U=fWW6ZYX z5Hrs0J>!`zK0yjp1%;!|S+_>&gF&~&2>0@jf97ydZ3BGJLbJDaGtB3+z}^o z-bl?So<>x{Pza~Wzcc9ma!G7}hmrkKdhqRA!o+DD>9 zHImXyj4H0vX=TRSc5ztxHZ_gmypgSsjyC5y4}3t}s<)+;L-|(w`Dn^fjZ|o6Fe(wI zd!P5V>g$+Uh;4^Y3e4)6$~IO52v*T=#xvzC;u=W{YgMV&ypb^@iZ?ohp~~v;(*8#* z@0rSB>g)ukGVyuOC5H`)p_fv6Y^s9Jg5INc? z!Q&?=wH#>;h3=@%P{w|5b9+ONbDXGMgmX7%#T&`#4G1FUqz;`iLq=Xn&G`H9yZ;23 zjs8v}C8R=o(+v;dWk>Y=q=4OsmI^_#Vd-Ta4qAQ;RX35!5b zXRA`@_iwjD-d4*?1rb(bpDK`}UnL{Mm`Wmv{x|P!^;AHZQTIn3nKv@M->f}tTIT*v zu2k9z3vr1=<~{SyL>&Es#&hmUK$An9Q8;IeIP;kZqV(eATqPFvVfBd;?%_)SDd%K# z9`ukr5K_x}KM4$~m5`!4;)RaXT*JZCR1}( z#i*|~_q=DKYQr$nqyAGHy|Ed}GsQDJD!3C~KlxTwBje0=&~8ViamM$|GtnTU=Hc1? zsYzG$OiBTUu^fN(FPb+)QaRje+l*D=%#lJ1EM`*G>x{fCzcWP_3Quk1=j6O?TZZbJCUycr7N2-%(tb`Bz%w?)O$=Zz{kg(L>FtbXszIc&i$26`Q9hXvjn1u+aZwJL7O{OsJe0aC^B6gf zc4eaDd2g#5aZG^y)2Dt9)!W*iH;I`_?3_p{Z`=4Ad~d-uGa|+|5@jUr%ns{0DFlq`8>^=TUn0RRdz*zo;OnElw_Ol6Ss?bBU#Z{3d*kv4@V@P`jBUv7_U1 zv$yZWej`J~zgcWh0vl3F777tw|5U`p# zXJ1CL#a4+7;cU+RX(ZnmjhSe~wM>|?ZjEH}zR@oX5w)yozpo)9Z51t;WA5_FpJnu` z&_Yu*V=U?>@KK37J`&Gdc%oaX+W#jWSviu7gMPNjxjg4Y;~9x;piWJ=@u_=x^*b5H!26UkCCoEcf@hN5b51io1U&OblGV|VVIh$u z&l^eNo@|bxX307E@Ks`_5LX0h-8n1X@4Ux?RU{vJ?!32^>xN2FcP&3BLz@0f^dXQ*ocs>b z6w=z!i?XUk@);8{tIl} zW<;s*MK=ngAVfdm-wY%oyh7YJ{(Mwum`O9R?HtN8^$22PNKB~X+KgxN6Ew4I z8XY%n=!%!}q9qVqKq-MsGoERrdNyBS-UZU-c_TSl0jenzc;U<&$CI-DbFVbMU7QJ`l_lSs_sqcYShV5T&)H?H2C-W8>|^A?o^j4I(d3Xz7K&Mvd1Z=|A>o3uWkny`(oJ|v7Z?1+;#E4LZAiBJev zNg&Rm86-MquNaAJj;Es48hz~aui|-J>3mIO9@Ov|@lZxG0z%6|TLRb2cqR>@%*y1j zwLq+yG17IdWqCRYVHmYc{eoD&^-DU0T;+nCR?10(^Z$=l8O zDj6BBFzqOka=kxQ+7%dj1~`Bk0OoC()X~G18J&VIe@pJrFU`YUvO;%lEq!Wh_r2mn zF98OzzG~d@pp(x#_N1OxT*|At=72@rC;!{mGtD9o49!5lN5aN+ zFlMI5eW`e+waxERLAW2O390YMe)5R7Ue;WZ;TZ;SQ){hAcsQh9=ECRXN0Cykc*PqQ zhLmD5xM+34qSe_Mz70|+nGKrq5WcWJ>)+Pq#9<^-_Fdf))$e?(zDL7?qpvLO+kEQ0 z{5`k-9eGAjaMx>x`Kd`>IZ|^c`Ypzn$^5#vXgqo9GhLz%-^Z5mv&(G?5F-y)mIT@#2@~K zC|bqwAAaXVmizn2>0I^qk@kvmKc{QGwwZI!m|G*$rz`%Z@#dT{(m90WL@g{72M^2~ z$@?s(h)}KaOn6)Ip2=wVg6OV%P)6hLGvwe38pS*7;=QX|@O>mjF9#a;5q<3CFlS^K zty=wPGDWIW)>q!28K$Q%8nYN)snw12VWh9Y%{cuLOBT?Fk>S+DwVy|Km34d=IgzjV zpOM@hAjTm;3XQ5P@_nS44X2swzliEO=c^bwk&XD_nOM!5+38Y)IyYm*dnO{znMhuL ziOZbdi3N0{l+fTS_5pMDN=CXz`Rr=8R%Tc4zthOrI9y{3gNHWbccKWWb<@}>R0%7xvXBx@<3GzXjx82P+!Sc*>oj^HJ4}Z=a ziC@JXPQwJ94CcKp?waeGWR+dUyphb!qVE91fEGN;1yl@RRh z$&rH*la6n*ekUG(I+u%$xw;=`Jd-;relkUoc6Kz9!lVgPPTfkjuNy;sYPth78D>K|WazPxCDR5~ zmr4m0Ibu6$V?WaEAV*>mCthUOSo}`D_L6aqciqUK&B_iewN;|feyfoT&^XC~UYi!3 z5)M3yX9(*~vOUTYTk z$u{*BVSE@#`QEj@b*0UiA&?Z}2TJu_A)w@gy+1QJnC?H^F67LgdJT-et@E7&H{TC# zt+n3%{h4xJ1yh9TRPIYP`G=7V))3gzaqE*Gk$I&X;x_*K@3%ZHKBS0;UU9Jn1*aj^gyhC%fdO zzK=|9&lK~-q%iICX8cYgSs*YT+^9{L_0RWbCb!3prvf1VoO33G!>vCxOSWq+vpK7e zz>uy{zQY^<0zBh)!V}o7t~YEGStQPfc!=4<>}7^#4~!;(Uw0ZtECw`TcbeL5yv~TB#hV@>oyr3 z3N4S#*tnJ~pts*SgW2#ta=N3Lq6kb7o3D5Iaw8$7vJJ!h;Fnp=Ef-rz2VCftEi*qr zSHcZcHm*jd7g&s(`kZ&Izby$TdC!faylbSE7x-j?_K!Wud)A|FJd7&)=#`aUw5D_Nt8zqThOzwg7yiClqCBN;;9 z(??E^$!aCM&8@ec=+*W9OskJzhA3SBL;{Z)&opvk&Go}G=@ZjMNJ*!}-rh&bB0*xP zj8qnAGc(>cc^N(-DF}c`-pU+ z8Cb~`_%JdkENcOWTIo~xX(T9>WEs3aGbi=>a6^;Yo}b4V-?K&Izzdct6cd{&(|LPl8yV*W#e2d0 zj9r$Iblq4;jQRo9(`Tr~)M|>Gqn-sqs(B+Ps&e0dr)b>&Y8c5gq;|6XFmj^K^}|TL zfvyZ`mA^_A=le)es$Sjf$92;D*qUT)-M0AlfOf=0msRVG@0k`TIHF|w$i}sA*4x`A z*3_WvdOKoJvX7kpJrnm$tOmV5b2`uXZDdP52|KKL6tsPnue^_(&bs8SCGwV)cM)UT zWv#2!MhT(x#b(35uu77)dzz07v1TG;EWvXOUb*5{(YS&mfDVG$u@QBfc%C$z(Vqn| zu#8eM)2WSdXucyxN#OCJBa?=TRqbk*zT!NNdM|DTy{R#ENRm5@yniZCcNGWqn$QiZ zTo4-yoiF*&D`NEOAobIc7ebYnVazV9=}6@l`uqxu|5FW`#(?}Z^5%bVz}-mI{`@d< zVm0W)NXg0+|J(nJRC9$m>qCnod#P^T_mQd0zh7y9YlTCzsopJ^nVkckG56CG}6%&n11v%*c=?313$7`+3j2^Lb17 zhLT^Nnr|z?GqqOPlLv94I#f6B``fl^5Hx<1W_X{vGL8ODG!vrH-E({4BUC!0yg$>8 zbUqSrk{j+d)tE6uM(R1G9(kb>D^c|i&s32C*QlWrKF@omf*^W=7Je+pr;ki*Lj1%- z#nmG@_6f2HeF^s$FhclBZ98FNiPu~_HMdD|m7rBaY@su@A)P4WIrSqBi- zc;Y|bbjA!BsS7Xm2f6g7tiHcL6T(fzuD>Y6QcuC@&z!-vdwXVhZxhwW?;~}2)s;-K zLod%&nLGSvB=Z|H9rr|gWgZwA6mn7S~I-!Il(8HvlH@l_X7C%0!4LA^(gZXs3Q z^NP}CpqtL4b{JG@XS!r^3)1yth8;JCC&*nx;SNuRh zXEC?w0_h3s`F%+aZ+CXIUXTPdGIF|-asFZCL=Du3k!}W_V%xJG(bZo0G%_X;r_Fw? z>0vcP|NWg4@%Z;=PG=tdXQVz`H{h8LH%AUTGv3y^1!AcMF>l_NYSs5=25k-~KrI1e ztnTdhk)o)p_?;o%o`XkqBfXCd3OmjF`@=|F^(k)JA4WzLsTH4kZ`noVeWd8^f!c@h zNvvPqyl*2LA}TZEvx*~M_V#)o>CQy4lD%q{3U-;k5^~;7tSJ8HnTmmsdI{p-xex1(Vgzo$m52S_64)1sK<<@gx5X&nKPod_h*JTPR@Si=gyYBLJHqU-eVDgF|yLl{8p-`-bcczok9Gd zHa<@2{rxr)Qx2(cqpvweD_4x^Gc?0LK^CQO$X@q59=dAd6mJTJw)&a;$08c&N5Z61 zI7stfdWUkPrLt!VtrdE!_&ZG|Dw%ZQex~Kl(BaZ82>M{Ya7R!ra|hf^ruJ*yQoCn5 zO?d7?5|FhSn9HkzhS6c;!zMCC|E5pBoUMNseovEv5g05IhQdx9woBWga6#z{f zRw^nXrVHa+-|xxL{1gWaJdAj%5OtGEJajNGyAz_REObFoHdH8Ct$P22<}iV9u6OEb zZA}(4bW}zL9H5A>qHO zHMeiigsPu+7Y%M6vFoj3>i1`6B+UZh)rq#Fx&=Rsv^jO_#>t0(%y`?J3G17Fk=jUV z&OUGCE#6M(4JXv-86$&E#tL-J^F+CA#z;r}eXAQvI(K{J86!ohQRyq#GAf_-J&kNu zv>aL_+||wd_Ei$!Dxf=r^##{Zar)b4V2e44z7uf zPqbBgs(ctpM28&1y;Rqj88eh9b((YT`!kK4=$HCoq^_*8Y#=Ui<@C2rluAcuPebGH zb4OA#iH$WByOi#cZ*QCURuskO;f{G(<}2?b8;cfJ^B|O^w4CufjU=tO9oD328q3WX zIh}{`{+e}lG>X{cX zVa9cLcJ!azd=T!Q#+5F%%wHGAU`Vh&Is@7MneNXk9Xe{PjasfDr99~y%)VpM=54XK z`Dn!cwse_JEdJcDP;j~8i~BTyBBI+UCi3_yIov>6osPwC?x2CWd%M6fBrI}>Vs4}6 zMO0BL=n&DMu=bb!+XTpEE%M}`gSWjRM(3>>x+t4~k8OSR%(tipt~s$M@acV|k`;Ld z0SXdPS$%&WnRv*RayWAlGI2BB*2w3yPO$IK+^KbGu|?#wW87P19q%J$1oi-aj649l zVaD6~p7NE4<)Q9%DObYV+*-HH0hF&EI+m6lYTn;ABd1}EA4X2>68K@HxbGxYW`cF7 zvW^cUK>}B3Di_I;+x$LK^rnrDGJt}aaD2vBF)~bQ1rKLfiM_o&Gm#V;1!cO9FV2PO z&unquv>rYmo;fjM{4i3zMMaT+f-`Ey+hUraYw8AYA!RCg81K(?4smr=;$0th+cHl0 zFj6+hoPv*|<}Y*Jb~1kZ{!BipxV}5hRgVf`6<6SGlQdH zg9{ney&^Cr{{%s34M)db#hNrkSUV4;wsx;1dIJ&MHJ)NsUS^SOgjMNO0B6@C(I1!I z_KPcuI4K)J9tWuA0oi(lNaY^L;}J|0Yv_F7%w?rPncLhZi?pwG^;MlNT`e?$_#a4w z8)>3{!iSMs$|WT`&@Wft^L?b1Fp)9$VI-RfvPjauZHfGT7^&74Z()Vk66JXx32Tu(O{G8%t>rd@q@KWGFcjVyaIy^oxJe|{P%;kc!!voBG* z4leb7FQoObiRkDSg2`_D)>@9G)!ETY^hUwIqZ?oYKRhs)`BF8T2vM#lT^ zND=a&SDn6w+RdwOkCHF_EKz~?XC|fwo%tjV&QfpxVI=dki&kwbNLZC;e;6tI zM9)<&lkZy)D!^0ae!s|;s^7VoVFf`F`n-IzlA&`b)VT#S5SCFrb8&=mj%E%`5*pra z`{@iT>W_tZ0x^)n%qp-6@m$sqn?ZiwasOs8R{Tz4&xQ3BBX#mUV*PY@LNXoHC*eG6 z_EPbTmHt1X8mNHXxq0HHqSaI<*oTo5@q`Z}*@^+OE&}6CwaY$@R8&mgDm~t+b^AV2 z^mbwMpo0PKUg?SbJ~G?pN@byr&b6&tw;x6dGfz);sX*>3FZ(cZqMrAC}<_k_euxPeW~YtANgRGrBZzrDTo`ZT=0FQ74JmZ#yNLQm09hw zw-s+B_9Ix_KW?S($A@R84Mki}C0H}|O2=8cdrwNNbLma-_RNf&$XWU{QZ&xFh`;rv zipD>Te2C&V3MCYhGuADG2^jJNqAtSq-05GXWpw1($guiel^%2NZ%e+Z?CFapnSIXq zDl>BXw`WHG2{F-Li{gtj)b!t(k=VC8t*p0qf#ZykiB1_rptvg8-YazS{cWeSzu!kr zuXVhQR5{QLQL1ylW1>B0oYV@Rw{tq7t3$382d2+Z`pmc$)S$E+Iv>lG0Ft?_ZH(^z zZ21Zl>~TK(ETz}TC9YGhgPuRs_9y=rR6CO3QV|lR-jnud=$+wSiI9Y^=Rwbo@@*IM zY7hz*#zQzpx|d7n`x#nszv4@wV}~VNR!KO@VR79yp>YSzN`}sPZKFlXK~Pi_GCf^)zBG(^`A)U&V=f?-#xTJuHJU> z+!9`DG<&%X9JC-y_Q^UXe26;5GxgZU3D|3F(($C=)FDKu*@hEVy)BcQlYS{LcUR90 zizgwN#+cO!#`j;n9OmCYGdGe3pj<=F$C@>w`Pc2Lw0rDVg4l#kl~UjK)K#qdowr>~ zgof|Qt&%8>S`cOlRj5uAC^)wR41w-#gTnH|)uA#mdWmM;&{s*GU6>ul=yy8Q?%1BL zmXgbJ*JMSGdVdOC0QyLD{V&&CNposOYCISdXN%GrZ3LuIaq! zbLbPUr_QaqdD-hO^gOzOv!gWD_@wP@F)>}_6zu`UFhcQ~OzWQ>KKM#t2&I|oci!{i zscrgac99eSnolN@dlfNqlFE_uVtR`EnBDW+#iRpM7OU^h-PGkk|G|q)M&}$z^Bxfm zWW7}2p*E3)aii#0g0qjsxnPlWN?ct%Q&IF3cIck_U+Hf`Iz(yw+-ZcFk+}uY!KQesfE~Eg$APgshn&=CnozW}OZZy8 zt+0t8-4*fR$a$2=8LSz`kKzer_qb^^xT$uUYfw;@fi%GJ58q70I;GK z-h!Mu&d2RKX3K4ce3f*SBOvC;Ub;s<9$NbyuN>Z9E5RLhbXhRCC>87vEH?!Tf&q+H z{u}zlBgKeUV%$)=2=UN_@o3e!IkmZUm+@I5)2Ha&J*rFxthewSdM-YP^dw!lKRLh> zp!o*y)^_*U@5>G z(Wz3LeZLR8zrX*izqCI2`^AFh&)1JXzt3L^2tR%hS^U}kDMqi|*BI?<4hA}Bcjw>f zxYB=dnjKEqhFaB4fv$r;w1Q!&?afrS~VKZhOKpSjo{*)1}A+iX|e_(tL|91h-gX7yC-yoD+P zcRQxXQDW53ZDL%N4y}CD{wv==k_Dt&y?p;!N7Edzj9eIpsTC|d7htKPxA<;!zcXJ& zb|}ul!ChBw8bOMeoz}uALI8qccyC+r!6xr(&Dc@T%dWTSzPjwRR+z=$r|Et6&lF`q z>3!Y*%}K~eCxbSc1FtZ5sN7?tA@O}(u{|wyH~wAU$S&Sg7Mz$5hE$?QTWq)c>%4Ox2b7M}O&C*qE(GfoRlq|0apkJJI;aif9HMj3$CdRJsvM*5S8 z0mEMLJ#RwLt*}L2SH!sNfazhM*EOg5tOSOCIy|?+*EMv{@iW&*(sMr8!|(Jxf$>No z>I!&0)kt$lGmy5>iH<4Zj`}yoT-egDDtxS=wbXL%VPCYfFKlcFp;{d=e$^>3rd|(X z>>bi!tM7{;#r|uDfbn%c{Mmk~2mSfAIsa4~`dPiPI+PBr@RKg0^2XC#2d#po zH{sS#()Wq^ZF^=INVH-yP)5}y|81RaWrx+Cwyn!Pvb%-V>F~vezFJ4yokktX$;0g{ zEeI{z8H2S_=_BdfIh#{V^_f6>+ueTeGp*%b)lS>mFK_*3Y#vq)Q6pEb_e?R#*tFK_ z-!{1t$vtEw9qX$cg5?385!qK?lgu7HD}K>x(+yVLH;i;&ul<;4~pHejFdW2S-}wUDe6yqFj~< zxX8$*&?fuUm+uKo#qtC6viaFC*IZnsnW%{UEk+he!Z?Xre~q?AOxa9bU! zsByRW-gfy)GF~@fdnUKb5M^{Ysdm{8L0x+zUXU%{PRC}8AFv*K#Y<67T5BB~b*tOA zMK;PD8}96ZY|_@cd}bEHUQhD=1aq30AkZK6R_SZ(yn+)+m{yeUE^b9Z3`ctuIiG`l zwQie|cnRvvoy+BGQx1&J@W-`?c9LlbTXEI{k84rH=5j-z<88y~NkM-{30n5mF*1wg zxpIy*1!Id)N`yrt)He z02`@T%HI6h#R_rDL{_<`8@t@BIujzigvHLsaTV6GTtK;fp5%%ed2 z43?--bZiBf@tZyd6}xK1(O-lZ7S^EAoU zE8fZaaJkT;EX7j|74OEjZ`$)1nHj(G*F1& zDzO?e0JnoPLVptTt0h$NJ&zF*K+J~U>8!jX;2sHm9$u#!=|V~}$yKA>ym+{01SIXH zl{qU7f|*@9T(j<$OljHj&(6N-B;!J+SgcM>0pmqV zE}d^HK9LkpV;6Gr$ohM7&@=rnjL7PHsFMi99Y|#~eo{=nGD)}B+Rcj%#4U$uiVIob zSItlg5J)Ed&6^v^X?awJ(^0Wpw-S4+lq|UaDsp>W!SwkB5P>3!XR0ZZm8B-x%}{PZ z6q(D7M+Ga=YUJYk(_9>6kz4AMwi1%jVdg(KM_|vY`ku-U3-=2D*@bu6`51*4E>}N8 z!D@K!GNvbBsQh`>*a%pU3Yz`S_Epk{09<%T;#Oj^kezklam+ZY5DRo$_Zx`Xg3-4o*zSWLk7g}vO@`CB> zfbG|iy`rJw-r1zIC0g3hC}ln0~J?P2l&T{@;I3UuBwRS~O#CLXifqR_Bm{ zbMpmt{#C2*x_I@8_Dw{5b=oc15SK{|Bovj?4lwgSZoz5styF45I|q~R))4&e2079G zm@K`j+ODtSww(^J{f#7vy;{lsT}+%SzSLTMY++ue+OcqFvj|_M9yHv7)({e&LKOOv zUs9~wD64@0T1m89F!_oj4UF|aLE^*C~oV)RBW>mg3lHd(tC3U|udA5xcRuXTu z5|cvZTDbbqa9g6*G@+K1 zLuUFF?;MIXf)_!KM-6Qo)pm17)IvTb#ngF+NWkVSE2`<;UHQ9CgxxeUz4w)L!gEILoffI{GsO zf8~SWOh`2dcWS>xDn_wZ;D(|DG5r zX(=v6`i`lQBO^flU%IX(N^_AgGVXTSbo^F32NtBL$$hofU!abpl3+Qo5ii!Qkqf`4 zcU%|`W#mI4e5l(~UF@#N3fhkDEQ(@(W?sTe##(8PtM1_>q_@=`VZC%$1l$tA9pQp9 zNyWL7{DY&^7N)7fSFvfasdmgfFGClDwm(TxRPU)iDu#@aha1h)E7K8!Ia_q9W8ooJ ztJcuj;^Vc|pPH@Kv2*0^WrU9kiP&(VrACpyb!#YSGq*2l9f7urYV}NMyspiPfZZ-j zR6}FoWC&xwIBzXBqzI+c;fzP;LZC#6&|ms?F76dx$S&Ru_Cy~KA+J9Xpw27Zda;R$ zw_VdqkdX}cO8Y8WwLPQo5WiI;7q57kzuW#Hpa{=N{-MyO)1;F0VXIGh^-Q-9>c3pD z%Q}KAWo>9l#!9ZpbZD<=aaB?VEmU$|*MfE@;cgc93iho70NrHBv*8Khf1WhEheedn z^xrQ!Z*}8!g0Z*nBja?|M2(){1sPYIP>6G%1dnK}Y zzKO80s{fu~#wI(WF7t=mfjw$6S765BKBA^t_Wek4{AqJn z#Uy7rl#vwAp_9u?8M(VZjg%4qj9LY>x*a%F(v@9?GrqA5R!2%?N4sRfV9Y@&sQ|;K<$AgsNq^))&3+m zSQu;W7O!|3IQ&vA7y7xKT$L6d-0&B#c*b1~UED_sOqc?!D&3~lVD=1=bDFf3a0>E^ z!~+d=j8!!qBbAY3)z+UwiTfrgf}zul9`HMd8!1TPnN9Lh*O`08fXpRE-er&VGc-M0 z-Y-5ik%aWMkH0{NF?uEsZ+&sJuY&#*d&P0dX-f%kE*DnNBvK0>;rooAcsuA>1|f=P zW_LSG?ru&uZ#zjah8xNKDahv6#lIQNrTCq3L}5vdloI}a8j*=K+4Eo?nf2;kv5{rt zDwh4~6B)Zy#P#V`U$KRSVDbyaf&s&DYU1%;anPd*u68ya8NQFOy*cw4nSg$*aC zXUpqEVPW?0H!o%kA4m8NO%QjQ#IU z9?=>S;q7tIK>h zL%COQHbaR`Ojzwt%bl?trgER{h{!{YH8~hf&+0Tmsv%fWdgz}y{l;gOg(LGiO~Q*1 zumIQN3smvA!5F4UQ?CAZw!Am8?O2$|T#D~0E5rPi{q}F$b~f%5y_Yggm1}F?d61BA z22|ACUUjR7HHuqG{7vMuaDSRh@tO;-f7|3qDhE3vR?QPCOkVkO;m%fjWR~St`d&js z7T8P<3vKGExrJh=jl8gGyNtb9{8kR9edRpp)S;PSFfrVp?rfnD>>6cjTjJwrTnqP# z>O@@1hYmTdQZh*uB1B{4ao7(oV;QMp0ZrzOOc+zmP)G`QB)RYJiMl6oH^F5;+4N6w z^2KKSRR`cWpq&|&k07~trhto^)Qj1by3Wbc;1a85{itqUp3T(2_ZLgq*~jRDcn5UJ zV!L`K1<{@=WAHy}_ew;v&L@q~s*!u?XR0Or47mmUNL(p4Yq$~RNTdWNNIg~!Z^rCG zQ54mg?&|DApJq3MKlc4q)Dy)e%(Y}}#WU64ebBg~bh);6qJUFo3G*!(XxmQlL%c5R_#wcnAC;or}`{1$N(nK z`occlKdRrU9(l83hRRoR!K1Y&Kguy*jYQ32U5mxhoe9&w3Y#zlNSN>cW*^Bq(3){_?#)r#Uq#bmSI8 zZ|Y947S*5{GNs%L{Hm`)_M~j|@+WI2m=i6KLfn*!xm{DNUWnL%)$MyuJ~a{AaYQyR z1y!;uk*A=;;!`51o_SVk(4=sUUS_gCO|pi7KIiitCI?ZeMzTFPDn0gJr8yz& zi3R;lTxkjvmZ@e$vh-s8?=-hqE||ay1OlGwnTzK(0yCwO0dZ-J{&*+tue&2Ct$L=B zxVo>iPo|@V1_!xFbsj~XZp%X|{wwxMcdrB=()Wdu_=(O`L^aTh1Tko9{m2tbMv6b| z81=z*ahLg-OIM#Lgy{woneVf28nQ$)Dqupv9oDV==>!tn<7vZwi@7BV5gwcYAg`Mj ziEh8*|M&1^s*$HXn{hPA*9(@ss+Iy|(9ZpwRQXBlXE z#`d;*+u#ZME2*j?RafcIlN?rnn) zP15h-NTvT%S_yO`eb4k1V9AYGQE|tOT)O%oc2{*Pu6>=0q`4K3BmTi*E)}Z2W&FXc z+2`xuHoI(+;$|!35PqNVz+N*Xu%KK>->fpKvAWgjB=X(&%z3N!D+uH>g?d%2Tb>qS zf2kC-m5}d=24G*u4ZQNl-f9J$992Hwtpv|}Fb(0quQb!oYG)(Dn96U}vkYLG4~JBUTEGQ8oF?v-Y0ME_HW)Z2c<G|PRlV;j7EROJP#%s3 zk$kP#aTP1U$c0gj(yA{9YWrUC>XDT5cdhg)jM4908Ye&)S%zG!_%5b~mBSXP4|jmZ zif;#-bPa}#(Y7(;edEG1SPi8kLr@%>ZYBh54EtrmhuIS;6Pv3ic1TjNQBo7o`Nk1B)H-}m5*FwovrBhIHFEK~wZ8yimm$wi?w|}yn1WZct9)`o z!e5xt#jT5(&Y($(sP-1Ij!sDofvVVq+<=hd==yEmlUWH`bn&}!f*s0Skdb0g>R0Vb zo}JCZC3szTlj4jL&$Z)=%afgrDZmiOhA$(G%i>s5H^V(=Sih}1;}hTV*NlSb}1ig$G6;y>J<>7T}l&#}*^Q%{xRcRDu~-VX6CSdlXh z=tpuvl{S8z?$PpI5vw0up(2c#>=;r0Q-pyP-+#}$(DsA|$4A;n>Ct~B*#c=|;@xqm$REs69vNwDcD6B5r zFdp*jGI~QwU-(t9QuRT!xcg@Y&6?CX0drU5D71q9E=z8Ix@xt<5Rk;Eilq3=FTCw3 zUlyJw9;lS`Vi_bJGP!;!@+6{8vHH}cRq@b0`x%<7W>Uaex)P-43wO4BEGy`xv<||p zbSv9dH?8!07|{14=Eb0;OYI8Z(qcqSEcruQZ0hT=wV3ZRo!p=9O%SDaTaRjPS?s3a z*1(BK1&V-EV+mV;{eJOP(l#K>z#%sAwp?Z7t%$o@d5I#{QIE#1yhlV+bDh-pFP?h~ zclHBnOnUk+J`{g{43GmS(xO7lz#_!_%@Bh%1kLGv!1YpEu67wK9T7j}^Y_l4IJau= z3wJj9J?c$JB3-P>;{s}Ue%zi))0HP9%d-bN4RWCVq!wX-M7d5}*+rFEBvQjdG)rM` z;rHZ?vT%RW+MIEALPu=bvKxs;Nq!`eghdo9UPCe{tOULPp1~8+xPvF{1sGV3ltTgF zhKNx@fH*M4^G&jH=f@O{Oo!jvE7ST1srpF#Fg=D$N6rfu0=9@70SndJF1@pNeE64r zPd$Pb?oTu_(pm#=t+K*0MgpeNt+it?ggz3VNejQ1j@wqmq#rOO|xdrlLYsH0m7 zs9QOBz$F)+eSGIrY)1j>PcUafI^73X$M`Ieh?IT&QBg>Ts&heL=?5C3MnG~d@=rWI zc@4H^k7mi7(TB9cR)gZxRA4pKPD^JfbUZkC9@BIk@gxTRGp7ily!xGBQ^F4=y5asz zoBLf@k=%DH<}PG>wPh;}U>5&$%pC2Jp|IS$7MSJl3@7jYsyj@-k+9{~T$S!AJv7W%<8Si}e|9}8tyjM@ zBN-Sh9jX1!f@dyXL*&MQ*de~nx<%94uXc!2bgRYh)HsOiklKM#t6MvMBiysdVW<|g z>#auGT|#-^6dG?0=@0y1B*=*>SVXnUoU5njQMB2wTWFT05iCWU)nmblfSEGcb+zc8-$W)~#sqj&Eat%<4a94$Ch z?#ok?yXq>P)>Kg2Y2r)(PE6>jgUTM01yrH#cee934b`~)x?PGW)kxkvsN(~3R~CtT z25R29CaRh%&b9oLhIh!&-DT4>y+*3F@%tWdFwb$%EADKp5A+Q>ACk#pm$|VQ-VSN%yeu}^{a*jo;_r)*H@)=v$Dgm$-}SGr{g0oA zy&li*Ml-&31!)-B)qpoWDhWjatbE3ak<`)C=`vtwM4XaP09!{5}j zr*%cNIF)+S*QooR;bJiL<41#m>?o{$C;PJis6#AokP61}xwm0f73*B0t&*Y#)Npb# zGeWfyr$ioEF-%?B(gZp|-^)j0zI(53e6nBN_tq+IFV?w!Gx3^BAJQsk;WGn~cxgbx z`^D?VTUIWlH7UNQ99}ddH0almw*}r%qq~{#3#*Z8^a?w#+F;HEq7c}R!dAt7WBu>c zh;Xit74}EjYr5b)*$$RjI?2Pr?|D+W){~cnyvufSQcrThLKCsAV^!IY%n4?SbPCX4 zs&f0%5lQV71#&<|*@2|Sc)vocRf>zbMIj<4k<9J1o}9o67M;?+UT1-Hd{NA2 zd#U~=#V?;}6D!tnJ8ZY08RFc$4kPo*qo*249~gb@KNTSiZYaHUTO-tJB*#mvR`+Lr zf}t$HnSlGE*UB9#0=y76Uf(lkpOWHz<3B6eM@BAPLtYhL=9_eHn_YH~8}eOc!O>a# zPUkDb(&GyO$r?&<9G6E<%;iX)(g~btoMw>A2D}>Si|duV8>))d5UOe@ zAUx8lE_%G7m(CELOBAbv{=KW~DD$9okpEQY5O*FRvHmCj+(2R#e@A#lo*FUJ>+JI^L`*;dEkv<~cxdx} zrk3tThUbDHb3vg>huI2KFp3s3ed)Sqvj0vbXXTpOd$|%M$1>wrl$uD2uQB^IwW57J zk}VWZ?LB#P+-%i{oCx}AGK{9HtbV6z9FCl#ReM_s2quKsmo99Y;OYeP6Bph{I&AQ# zz?~tCsK^aSo)DxPfm(GC_P;(VYQW(6&NN!|}X( z+q3I|cdNOfyJZ7bjr8k~Q|W`c6D)YD+0x)f%v|EBCZ957JGd)0C8q{amIl0VQ~gd{ zTesF(e%q~hHro%XmvriNHdRrok(?bEB=uhfM&#uk`-1shH{^ z!5ZFOm7zlvPE=?w-cp`P%FGuF`Sf1x&zn?HR>$@76;n^^uq3OFYKE&>|2yS3_BtrW zE+9{S9G90w{Mj%j+Ls;JBBOOx{b*Z&yaxuZhMMI(nSXPX!TZa%YR<>Fsy{Ut>`43 z+&N`b>;`f#kcAs!_$nUiAZnsYvtFI?Vq$K3F+ympx%6|9f7+c#w|C_uPnzZSBo^!M zvc{=iQ9{dfz^YYV2IE$p1%PzlGb42{qgK7D)>K?$c$5O|KITwue`X}YgC(iPDW53j z7S9Fpf29j=Cv|&U(nX~iL1?)W0DjT^rp?Xkyye6~n8)R|@^Y~agUfKv==VwxXV-!h zPk+#3wX=0okMF?{8RMvvPDs@rcw3ZC)$eo>sQVAK-uTB%^ElZ_hN9-dvhRMU$k?IH zB^jC1ZB{)~Ri%}k`rm2YT8mS5nc^d}h|}OA*|g}BSdcvM4r!73@-s+0)Pe;SYRPx; zwsI&Et5-+$paJ3`=PxyM=^h^Ic3%ONtIt3E3;v>Ub0FZaymvMGAyRb64{?H(V0SA? zT1U?M@weTtR#uVH7o8)OA=h3b*-oTwe4GQSk(zBllQd%K_^@7JnnN97jbl?}GgJ`V zD+RuGtVnr+8nz?Jq^kpWCnFpUvuPxBj{N`f>jA^Gi^?|HB>cxcgPy+wM;e zm%!=6>~(~vpu~26y>aR+t+4=E086Ukjme&wbeiJ+MDbE2@lF@V%4d@~z8iGy7jX{E-^+3@c!%a*C|68ZA zo#Vf_@rAbVE7ISgQ&(=nNq$R4g2K;N_h=WXdfRCTr6SbAOp*j1rUksxWF|L$8dX}0 z0Bi}jD6W_x7AFf&&W+ZwYQ4KYf=h=v02+wZe<6LZp6N_DNf~s3Z1G8u9({iqNrF_W z?wTRTB-t3yrDifm(}eSkxmscJMq2Rms=suzWUCm z@ODr?f|YKEL~%&Zj>x-4M&c`H=C zLP3XWcup`Szu4+tNFR#)fv2oWidF`FyqTCtPc+d3N~4>wc-uV~AgJhoy4YpbkcWyU zVWrhbT|bnxg>c>eoSZT5_bx6~2UZo`_e9rpv8l$2BoF1;*ZL7SP!8I%#^IX0Neo6y z2m;zwo!9na{e>%GukZu*A9xWh!l3_0U0{__?rdIm>9IU?>S{VrGfVO&c&KXkz`27x zsubAIZE7r&oDTJ$Q+HtfJ;b=y&_j1uD@3SKDPYolRA?x-?xNI&*GQStbIYfxPEAd8 zkjK+IvRer)H`8@83_96ev4-Ssuxb{d{m9(B>PUK43Iq?;il=9ci~PXWOMWl8l+rnN znNwEJTpZu(inMSIdDpDewpiVQiZyom1uYULXCG8=EA3OldhuK!183g|ZN#lwf6v8v z61-VDuLp)^U3M9dV-#NYzfY1HnOE_)EGyM|U#Cgd5W_CsZ?1oajnznhGe@4`&W6u( zvckoFkWS0ds*#Itho}^EfgC&y8p=J1l}KNzchobq&~C-Md8culo#^ox){66cXHQe? ztMTu}|ESyjNGpNj{vK1Q3!+OkLyOmKYL++^)@}DY-DQd$N{z_#+=;4Z683lv8o;uB4^+K=Zrd&+$K=uyIcpVbo)+gw zCln>?mZL!TJC*yUDVjJCEL{n@cP~7Lu%gmme83YLn!nc?2SlkSb9LKGkMv1n65D@I zaUVxoxm7E*R2f}}6U**T{u%HZb=M9p44VwJ&XqE;Ri$4BNonKGp<-|onx0*q7e`V| z$S|YjC&H6tIytE+HZIIgOl}oZ6Q1H4Fi!p6Wq4DLK13Z%sA8`WD=b_I1Xr*jllzUt zrW#Jxr=N3)+@)~^9@k5IDmKCOdd5$cUZ}e5)Bk`O&nu>OqH*4Q9QocT5mtA$YNV)G zr;hI#QeWYY817%?Q;iNPUDnmI*MUxV)JS(f@E+9U`N ze;WD3P1So^cfHCRo27)Xa=SZWr_LU^^s68?TvPVy^RmRZGA53Cgfn~|i?1TZ)ebYZ z=HKVgq)vMFChRE&#l0TDS24G^0P-BUW%W$N0>pH;LznY9`-F?`e>e(STQM@N;#ra6 z;dCQ|4`JV8fP)ZAWC;MuOW@^n2s6GrN^~`V&mx0V&(w{YrNpZzif1aDs*FN17_^lm zmwr!G|C2&1;#jw{y{$uULJc(e4867Laz8RF-nj|Um4j}pNQ!fK;vwiq7n>v+H`{mR zy6gE?#nkE29Kw3P`rPzNEV$BPRPL)R1C;@Xs4;yVXin+ZboVyyx z`saMz4m8&ei&T)pk{dE@MhC?L?VJgRo+xHVueUu&n-jIuoSNhXbO4Dnhl(kV1pE4!zTInxHFTD9C<5yVWxt zLKf|i0W?Pcj5@3~74z%+v-!oBCwmbQ7=k3aSUj2U*=W-gkq(#^*S9X*EMyM38EW z7~9zwWu>AtdLTuDuT_o|rU}}I+aXBdDP6mOE->h7q-+`x6t2gRmmzX*({D$oi0XR+ z)EPJEL*0!G4u+T!Wx;vvUQ)w!*A$lVP)Zl`%=DYo^6VdFk@S#s!Lrq#x*F-#p#4LC;9#lfQfSiJa;~3Mgh6NuA$ETC_h)wY zBo}6lOYdC!zT>`NsrVT?U0mQIHtxu z`f-=-SKnl|Cl2&VWa0qnMzU2$wedW`4kBKW^B$5EBYWa*cU8=s@mSU*S-RX+XP=P@ z^y&q-Z=dQg_cR9+>r{+>yjQscLe;=m&pG6>z!H^FoQg9cI;J~T%Zsf>1iI|uU zgj=ly#hW+`{PRq~rbwB~PU!$>CKjFvMmqcyItQ+R-+6~xgVD6_s(cv_KBPmACvg8g zlOv(-GHWL!taQBx*&G`-uynsaQ<)*f64f6QRu?mbl%G(1aCFRVkB8win`8HJHS&tr zseRpmptTiG^+Wn604&Zv39I&m?4<`jkJIGI2~x{y2yj(7MfbgHbCBq-Rs0*0&!|9T zBK)h^*sgk{JV(4ZX23AwzD#ANI$m|JGSYg(ivA}>ya9AeI~#aK{L#j32{Rv!H{WRW%_MTg(51s%WC==vW61qw0_{qOVu-%W*uhM1#tw| zey<_t*(L2YH{$Z@nF(LGtfnv*9IVx@1jkYTkb@Q@lde#cw0~rzyKI`TG3<;jgcEDP zO|}k#C;h9QIhZF!)`0?jx*&uKWjlUCRv(V*LnA7c(;|8!O@oDlPX6g|F0|mlAWON7^&J%I(ru?1OI@b*xw2lR2Vem8(TZnkk zcdNHe_3-lTPCS`!cW}Vt2Y&aG6{RZqPS7c8i?x+4U;phDa?)u=>zk|Kt;o>Rcr>u- zzg>W)brcY65pA(Q8e(dB5!#9tMu>CPMlnNv7uxn7-rO>}+zzmEB>}e_Z=-VLSwLXz zeediP5a1Imf6vudf$gC4eLFwrUP0rC?@rAyJ?v;Zkkw%0ZGX1gfs-myLwZbAC-sgY zFuqgVtcKiST1^L&M=nUWI$#(rj*mI10=cWZnxVyeg&@-bhQ>AjZO^K!eAE8HO$Z~k z)dqdw(pGQl%K;S91Uafo=$G`x(X9rrC499%-H{8=TTYxQUkyE|a^70UyBl~37rlxY zBNBxm`JHVgSo-WdoP227WOdbDrhkAS`Z0LT1r@k#>GgwJiU5ikg3$t?$OgZ^3clO~ z|4IEOtynk2z`7I4?ARS&o$p#h132hNhGfm?`Eh{yE(EoO+n^TP9%lg7gH7UA)>cGnM% zarz-x4XEeZqVsjH-Zr9pm*Bw2$!#xbcQYuiml*(x+rl`3!U5F{p}vp7oVU}uo71VR z6WP4>r@Ksc$caV{3T3E%rw2L(v@YthWxvyo(~3j0#MPlX`;fiCkx5tDy%OgwP>LFc z3D!}qdM3-&%L)syuVOMYO;!`2o84PU#MT1obl2n$|iU)BguW0Bk2{iFiKUd#JZ%^ z?w{#_1kVo%X+*45Y@+_`e5Y~lSD)-EOb|q#mD99}`}BF)?C|S`N_f8Kq>ciPA&Ln2 zX|ITDRgxT+dhS9o%C~)LR!c+FN2$35E%~kbH~{-tts$+G`A;H;b~BV`T2;6M+^aA5 zDjsSwrbYQD1bpFLre4HRCl;}PIX1L|NaeaGRUtC-IY>$c_D4{xDd#($~0KjDOD zob&-fqr2WJ2yD~KV9$f5*kx||g}ILsCx54Yjvb6rq`aoKj^V|Ce%R-0LJe9 zX%bX`!--AH@%UNcw*WflG!A$_w~6~i;u>7450@B*Kc-%JeGc)^QDzjV&ofT7Gkb&x}DBbK-g@3dC0WNLR|159%|#986&Z&oWqaWmhpSr6EiR&{oyas+Dp>AX zH@X?*K0B(a%72ZMU7YwH!!yGvoYt?6wbRo0R^yE`Mcm6R&i6!)!E5B=Q6o#Br+`<$ z4wyQ+6qPPH8>EsJj~ijJhTOO*0{-jOI!&D+{u1gFqV>7`4BUjT2udhlrT%uXZ?0~8 zpr(tWa=_v>DmRKhexSXVxf8ocNe?a9Mw;&(a|Kz0zn)1myHi+5Q_SQw_*Uvn#p z2p$V}nUM<-7rD7sL-8o@&c0yd);v0^;B8w~pqOf(k}M2!E2?4cVs$7G9m*;uKoox~ zimk4Wlrw%(A8j&j?$|2f{~&0OW&y6n=eazG$YU@Wgw^WHcJ>MO!8%Si7>Z=yso2>h zIizdptJ8T#J8vgeEEM#Wm;slIg?vquoXFdi9o36saF=={r4;xvx3>D^n zZbil_uA<^Q8{bFuJAWL0kXiiw`nmme{M!9K{rW=AIe#5~OM=n#e*OGeWRg@@F)ZOA z+W*#Y8Mz+CJdoi}kue)-rwH}LH^ELW8WyRvIflWH@R;#012dtr*21sPd!reghTI{{ zU0uHo{YrHv^<{21M4MgOuF&0z`Avt8cS>>1MMD_ znX2E(FgfH)`Fy@7gq|CpBRGXV9I9&M;uTLh0+~{Z?tiD#IubA?IO3Obe?nLmo?xi2 z?(GN6ughLVjbYW=-Z;GbYL~?VZ&75UKygPoyGba!@0rp=^CtV>JZXyP(6{@ zaZq<(ln)dzIHl`8V!n&-sWgEX%I>S1p=8XASY$CG2!xetq_`VLVQ}bd=k|tmlb&KM zzzXEfuhcDs$@QSZ3s;H{Gb%QTQ^oN+Qq~?#5%oe#lkqT>)E$VJX&20#;%&Q;_EfKle|<_gd{^I-!|RoCAcX1JoJx>JDDLSyIkIfZ`xEn!miGA4+}od-YCgW| zVU@~9QChb*ByPp)nGZ}zACK`FHQol8+sb}YP~PYM@Z>=(Y>G%WzmuaB-3L|?UN zrzR_2w&^4S^%`1y_Qk2=u50^%`30AXkB}S@NKxIq`=er#7;LydA8bBj&X2Z*TUf1x z{nGs5xL=)nJ3Je_A+y?zgjXukPOOlTtw5hr_!`?YnyY1KgEr?6WCZ7j{*aP3N zSbans_l3>h|U z>$`hJ5t51RR`pG3XJ2(r&}`3Xr;e`c$`HLx%Rx0#V*MC;W`CDW?n#_hZ^?*6Q?IB7 z9hS|jJ}d6v>Z|DK#b;Bh+I1gt4k-~$=x>PojoYLe(=%zK{F|nw(;0`7iLkZ*ojDUO z^p4oT{;BE;d&Hra^9ldD->H=3h}OGu6JLf(*LFlSCT<1|bR(yCu+lG!5?4uNh{nwj z%bkNW0n?z$wdsuE3AeO=>AuRGk*XFp*{~AaWoIb}L?SwqD(9uWTzK27uDAw?9=f+p z{^>VDCoRie#f#wQjuj1f>CbpRB^UKXH$JA0zNf|NOPZi1p}@4wQ0kG>d>c?P;6nxR^W%8>z54aHdgH}s zk<6HU8S%59-^niYfFyaU9DP`UPBB&V6F4jl*s6?~JDfku+3cI^LfnYYja7joSp811 zo=r8dFXN*iZ9#sK(3YKmQl!Ot!g}m}XChVd31&(wG@ptI2_CLi&t1lf5&YVSh}J5u(VytO}GcN4<9Km5PduPtGgClMY?S6GhBd zTt12E{Q7E!Y&3m{v6VZ%lo`@yz=Wsw$hpc{=>8n));W|&H=LrvY2l$h1nrjTo}m=3>K>A;e*9`D!HNN_-KO#aHFR zr^V311VxywMpFO6Q~#~FO{<{lE)(lr6WX5%iTy61;u{9 zG=P*@x_#*hq29K73`~ycihb=XbobMoci7otB9tT!C&&sg;o@z@AlD=*eYTT(+i4)# z;nc*5x*W+=UppK?#_&6p>L|HF+J9Dv7XOa}gG&L`D{7oNa`CCDjiEe}M)mu9qLe9n z;IUI|SHE-d>Wem7iSI^nY=T!5aVk+PA21Ge53Ep^u&P9}3{|?=FZT+2PH7Vc;Hg^i z!SR>jHSy4IMD@H=D7RCw42Eb*li086_*k6;1IXH$qNeo7P41j~ap@CL!E2;!vy()|D z&uLCD97mRBb@#>JQ_w^4sqo&T5#bi{*jB^$D=M}DbJdfAEyS?_#DDmS-4kNaWd$7xmzTYgpJ=2 z@s7LypSAOV_j2z4|EZ%Qj>>G3NK_}^J<|G4HzA~CRi`r=TH2x|npTM0Xd2m35>kp} zL_<eXrmD_qc!ez^Ci_Uf1V(f8OIYQX0+=Q8E*N1Z3N?9;X(O1l#J{RCMGQyI&h+{rh0ck zibd#@G~TYu$S~+*M3`ByZxdQR1cBG(zGb>6p1yXyV$9KbU^GzBdGTwf12$p|;Q?P` zacG>p_(mAgTR=H6yjJ!tsf%#-GhH;90~l%pUMZHx$LOeEOM7|%{fh}}n6DC!|C zrxwi--~vp(%swNuQKoEsVx*dcq<_EL2!g##VKNAN=STxqq8RPLm%+SS>7qH~fkrqP z+*JS(7(_s$y>@LccPrQinv5u(YYb9w@eEm+;aJ(Y^xw!$;Bz65f-RKxgxr2*w3sW9xkiKx?v?+nf{D2o-wBrhZQ`T zu|H7u5L7gn+Fsa-=KFNcIFtesR;-{z%sk$)hXyOLszDsv&feJZsIfTUMG9NPh z0)62q5O-rrEKi6cghnBb1P~Uro#3{*g1?83058v5ie188E=r*T#>=Nn6=huSuDT+< zAaO#g&3d2C(U+nz4wi;qR_T}RjQPxIBtu=`PS#3JL1*sqtR#V9$Yq^n!eenZDM1>^ z?e1gFhHDg;GVj)iCXUok#kWz)4jUmDX9xwI2J{hB4dnckJw!kT@d?q0C| z>Kb5(EH~U+#UPEsYTbLsWAQIiH@Q*@x5&6mrWk(A-1ZrwFeD22!37&I&kUlI2?0 z6t`4I{y`Cj-n3JhKblWSA{f%PV*ecj^`!0i05;#e6k1D0OmN;yrQBe6g+iAf<2{+_ zNY9vwMT$WNiINtF1eby_h<#>D-iJOss8c|VDnbVOGRn{havs(*<}@S8Meu@_uJ&wQ z$03B@X%UMKu9>|#)^umk#Gwr%(*8ar?-OBACdJIdw7ic;0S_r`pY}2@gRCkVATVXM z&Tk|rAr9)6h@#0`p>~vcf**ke~tHEvrZD402h ztM(j;-6wA9VlpeHc*(JO(xO2WRj-gT*yh>##=^lNf7dUAI4je%$R5^%@YsK-`Z&}7MdtZ9NxbL z1R$Z1F|1nAL8wExHfn!m!u~_15tBD&HNm*{R%mb&6NIH<-mPR9AoPGT0h8C%5NJ)p zTczV{_Y(vmL-(JapJ+!bokE&2Zu11TEs$bJH-}YM5I2~<`f08y9Ty@NoevO#wm&fY zmXC`D5k_w?AC*1C7oFrow%x{!?-Q{RdN62hsOKkeJI4FWxh%b3o-O!Tp125>X}BdG zBOgD66l6e*?~`bfLS#zNpGls8cDL9aCC~t|YhGTGvx!9n8!seT@#V2%f@GZ?bXY>=m%dz!%(VBuT5dqeD972h?`()q3(S*U6=HE4CAIS-1T4wi* zjgwbST~0R`y4p_Q(?&-vvu}-+P@3s%l8mYEQ-;}e->9k0cuTh#&p7nk7(GB_QQit8 zI^exr)%wb0;!ihM1eOtW)V@!Yl%)k`*DKQbby)KPL8YicOu)LPtOSk7-~dR4`mI3Z zWQ%gI*6-xB7g-Ci2i`OzKjn9dGP%1Q&y%Nrfy|Fj z^Ms^E3W``5q%1N}b*0-LBYgueH2}~}gIOtG8691EH#D3;$!pg{Jc<`Wx@DrB_*R_h zal?|qpf%`c#~Zbv8HdOaKo3D9&~{(U^_R_~C0&$nB}-%jqXp1y7>plQ=_F{zA-6=V z)+WRV@o;DfMBds%JfV01k4yG2#fbJkiC?iKB1v|yM*6py#=wLSP?0jz5ot?tmf@Pl z`6=}Znrt|+pt{6?ue?tnc`oBE0f4>(e3jB~Mb1FF-msz6+Mbobw-~rv(S)=OR}-@8 zBp!Tf-bacC&LBy?kKz##Oe%EDpE;y_3FgGg?-W)JfMaxUO*Ru>wljAe!Jj5+J)kvb z_An$SFkzIbbXsLqNArr}ARm5m?Th~na@u3GF26+cx4lM`coJE2GAq{IK-7HLn!Gh3Au^a?$~V=Ho%U*SuyH{dfv=G5rB&kf{KunH(s2BkoI5Os!*~ zM!*e`{ga;h$mgQ!jz^&% z<$Xy8q~N;1s~eHpz$Z9T&?PYx9FXC3V|-+@v1O+5?ZJ^f5?*wk? z4;#LvW`!>Kkh3`wXzHZlUrlKvvt>q+;u7HZ@Hc>eXxDUoB8lcZHhmeza_$zc7tE9> zeASdPm5#tUf%@k`+R)6YiC};&MG3)&m8_N-GpfZ(C3$#9)ZrWnptj4m0_e*R>eANF zl0Agi7xs*Zf6(Suo^2Y#j0oR~{e4mkQb*v`1Xh)lPFpDsS5}U$dC?3 z2nH~dwh|H)>g2X_yqrj&05D0VSHP4{Tj{oTh@w?Q&y=yZ`8#FziEApVJ+uoneLHFs zNV0s9mN%2pRd>X=kv=3Hos71p)Pf-GaOeV*iZ-tHJKe@Ueit-aidH+9zQix1o>#1H5 zXEY+1Q~-|LtAL)lJndP@6b4|I{XP-NfgO|}$3TEfLm43S;5Oc(ra^m%Xv;u3t9co& zJ1F9C+FN%k6&)WB!k{tc`C4}pQV^%443n%FFO6oT4}s(c0e~yHiM&j(F%ZI+}_(aLuta;hD&|qj| z#DG}@m5NSG=?#}FyB1_6ycv+A7*K^Zt#eE^QW%XOhHbr1vQBy_=z4Gq3^ZMrJSMD#sjh5iqvJa zvV^4#u3G8ZkqTj(h&`#58A~SRjAOw{a!v5UR#(7yLhw4}i6f+-Wm4EcP-)W0U}WY+ zDv^K*nvK+f^AW6z_H13p1bh?0z7cw?-N&;9)8)XWi+Btw0@Y~7SN7?E%ACjtV~n6p zPD%Zdqvq2h=Q8v}Qy`sbGf|4L^|gKiaFl3qNhp|K5H2jtCn%v;SJExYzcH2y7l%vy z;cm)PLVAkh9!)Cqx5iP?5Di?gXxPB0brKSwLHfNJe3qz{09TP-JAb5hD)H{5-)Bb@ zfF zM)Xi!$;0q_JxB~n{4=^}QHpJt-SlGAm14R^>%qn{8h0z!RJ1AJhiKPC7=rdE*_7Eg zc07CF2f59Oz$l>Z0EW!!=1We5UW#DwL?S`ETc(b9#c^&MIj$fQ5f=-Pp>U>YXfiaH zd38vXSamOQ#vFtRMy{}&RNV&bxKLLC19n*d4L3=Wt8|29Ks$XIRrwM~42QjJU0T}^ zPGbUUWjv1jgwna=1cemNKfq?JTOqKL|76@S*iA7!ltJOb{?T0RnA4M`GQuItHSU%i*O}`iR-TA7z_hY^ zCwygaT;U#**noM`?pDm+LF(Eyi(~)MXr!pvTkQAcdjdrva)od-zo6J3%J&5V1&k!3 z1$0o9>&6(p;?f3Y-OO&t|JWX3K0X?w9_@}}2=XDQfo6x<8Rhxn?MOn08FV75#RZvf z2(;LqYZD_tM&qjvj3}t#6u3(_i*7mJNzcrO6g2S-VF zSMAx*v2j^V0&qfN5OYEEt;ngwPT*@tWrIpod$wtgGc;eU*^YDkI72cKKVo(XF-~?L z=UIeELQjFft0CtQ<)&8kptVzax5CusS&LAMb`qjgLP?mk@luFhQZI?+I7e_Opyek3 zC|rJ@_+Rsjl1%xGI@HL>9r@kkoDBhnA8GYZWF=I8B-G&(FeFso3gO1(iBG}m^2^4x z#bxCImzx8c32$jkpnCQ3njkf47!csQet{O++A78#f`nr@1jFgno)ExUSQ8oKIbSvd zI24MRf&w@E#03efCZehZBS(Bg60er2S0?R;C9>%|bIp29BVDG$m#tq}!N~4u~yTBEuFVH{n*{OCtHncw4z! z^bpa2N1MrdE7Ix4ihw#s9B{OqfCv$6DEfA2IG|Y)M|}ur19WJPBwS;)Yl2xrh>|cz z-GUg10Z1ev0tv-HRO|H6M8b|1@noy+m3@mZ0JClU0o0B@LaFdmGakXx89ZgytkN0YEW;^`|s{bRho}cCdl$Op06++@DOR zLGo()*m%_j;fAr!yr$6scI1jJ2Pc|wfM=}?17JPd7Bycm@aS(UPsmHr7XlZG2)D8O zXvtHylWhVDR(E6%6coPJ&>G-skg+iLWw4wc5&tZOyv5iDbqZF6 zXYBLP7*)SAK4eaMG_9>~h24j#OTZHpzN@AV#k>g=jvwr>wUP*iJ^8&Ang`uX4CDp zey8I(sK|l3d@GbzQ15ti*6);k3rjWu@{)e4w);f8im?!LW@E=2*d@BF9wdWB{X}^y z0a^!XW+V1B+3`u31t~Ca*l8=-I2t}~eh!qJI^Vu@Rpxk%hM$4R6+O9G99j51& zc}&rgPtQKB4`hqV)&&UF~E`YEs2Hr7f`2Y_in(NILi zs#V$X&^hqf-uE1K>6coA^bzA}U@T<#$neJL@;bY zMo{0|oD#>~j~EG!NS)eFqQX^VEb725nw4&MJTyGmXb>OFw<290XZj!5<6tcg7}vs& zOP(O+h5wraFV-e945vLzCIuo~s*tE0NrWQ5rdLRnnhZeDvH7mDhbW$DF40W!YBL=y z9T--DGPmnbo~<)<7aE?xv;YWLGXMsDMve{F5~W(TcEG0`C4aHmHDkQxet;%- z_TMKf*?7>Otojq+yHG;}y@&dVb~=FeMA{4Rd1*9Z0?%g-0uI!taylS!pHS`Uzg@2BaE6&}mg917;X%ph~T1!uyPK=7I#LE=VdJ7kEfauEjdW`kj)S_-Smi ziy(MtSt=^(urx^7tZNeEMdu_4ei?aB?L@*>T^yH*37M(CGyfOJBY+I}xUJfray3d% zAeo{UD~^N8TVei*F)Ymi>uw2rG#Aooo~*R$)s=4JEfgDEJMe0WH9_gMO{`gvc;Bp!gT$*_5VO&ai?T1{!MbA?c-(t$@o3@s(-SRUG>X z(fYG%LD_w1=n|>Xf=g;|g|;hMJR%I%-4f%01jvEyJ6gIy!W3swps1}J1IOK@7+N?aTvJ^^zQ zTLBM5oe=8&&`$9MfG?)6glWe1wq_l?Pg>RDehV^DtvaOmPYKo9tRh7P3ls-9F?4$n z0MV|=1eAXP@-*{!>1K(fBfd}&2(@TJW{F^u0R1vgNUWoocZfc-b|T>g#>@hYl2xxb z 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∨L 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

O~xNViEg_se!jNpboaucN`wN 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 J{te&!{{T|X+av%0 literal 0 HcmV?d00001 diff --git a/SFM/Assets.xcassets/AppIcon.appiconset/apple-16 2x.png b/SFM/Assets.xcassets/AppIcon.appiconset/apple-16 2x.png new file mode 100644 index 0000000000000000000000000000000000000000..6852edd6fd40b34c9950f477afe8e90dc25ee763 GIT binary patch literal 279390 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

SCtGq`PKgBcPP6{It>9`Q>FuV>qz!wbZ}2kamQL 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

6gMvbUVt5 zXrK%l&6F_hN(L`NtiET&x6Sm7W2K!4m|Jn;(GH?=t8quj%4Cw{ZLNf958c4BlJ9Ms zF(t@0>l3IH)(FUm`{cT2351$+5~V^9LYSj**BY(-3Ma-m362$nv$t)1ZsphzrW|*5 zhK&A^fYLiP%3_knL+T#HSm&UxP%=?zS%+CN6l|TLlXgd{+@0(_9RWN(cf7BTq_)yd1pomzk@TNUH0M;6Oz_ z+aZZX5D8^Gr9bJ;Un`_JLnY)7o&8k6tz1$W23 zu`rq113xe$d)ir^+rswIIoBA__)B*vQa{D)DmE$3EiX^WYU1`K^;?rZxsMp@Rdp;l z-8g-keBVdw5_hBRT`_G9lwaI+h)wV#1t_STo0%P=VgMqdCtR&ukg8Mr094SAm}Q<< zyKK~-$E4FTcWB%_01w9*K-;YIY`I{wDZ3$c-}1zRt^%t`iOS!(f_D&32!qU(*xg%w z8MQdA3nla9#6tn~q%1sWprg8~aE$_rD3xFnOV2ZA{m&3V z7w$uwRh>2#%)Et#h!^8NQw)ir8^b|wQujKFZY{{Xo&qhJv<`*?)H1sQ`)KL21I*XX z_Q_kPg88L}Rpcwtg!;a7rRR1Zb|=0{nRSH!1UCiCRmja)3y^Wr1p4}wx7SCavo%*9 zbM655hH6tqEJ^b#;v738%_m`R%&0K+rYx&N*kB}_JY!zJX6IKlVmx? zGi={x1iZ}c6ooxo*$Xd#1y$V@zKk1#1cF49KV&P78;kke^@(Sxi8i4Iz?|e!jTXA! zHq~=2s~=YC(`Y$tEV%N_#+&elfE>8ga%EH^8ufYSya3QdXK6M4L5f4Znn&iZvf)FJrAiqfw7ObxNo+fxI5>O3> z{0PO1GM)$FfHQ7G5e4y+XlYFwuk_@tCo~_g$LpPT^08FL{ zG$j6nR#G;J2S1O8RmG^V>VX??He)M7aq?v(cB{Q*!4@(J?PdJejE`jH!su4h+)9rW zp10X76qCf--s~yBBSx=E{&F5VumUUvuoG#&QWMyU@&Wg$y#HEZd$d2RdecT)K%xUc`tI-`t)fbwe${b6@XGvo+)g+ z%*gL^dce4WGm>+w(d(b1V^`)#h+0Mp3;*>K;K8$qF^1T|T-UP}!p6fHD=3hQB|euu zv-KGwJJ2$7ok#Y+5hERn_?C^8P0)Kaq(OBpt5btR5OO4nQJsY7Rp_t~;*~n3-5{ZH z%g8u}eIiE2sOI8(juq7@+X|Sqrm`6!p(khm!RxE4opX!-N$Au3DA`ByRqzD0e`r&z zs_6;EuLv;4(XKkDffb;_1;_0_GVEkbP1ls|*Q_EVa>eF4zmU5~8d>f@n2Wv+9ude- zh5i=Uun{s-7C8Hz#(jeoglt+=B9tlzfb|qDKvUHkvz4vCXAF327xx*KrdPG@>o0qB zbVk;N_l{#HyV-&ly7u}cRYoUU9t+A);-S5=DJo!Z3gIxrhx+VBO#R4(NZkilxvUxU z_RVH82@dBPF=j}WE1RQ$79H^CK5j(aM+!?V;Lvvv_0E$jEUgfjCf1MjjI#je1fXne z!DM}*YME3b!24Qe%RqWm1Z-?oL5se_mdtLbegx*QzSj5$ib zO4zQbx>hSSAvHu{Ea=W4X=ZP$8$`9L&G%G?RrIU#&!VTJ&7;{1i{43}iQC*&X{@n4 zY@a$9w2GOf=&sq@Is&Rs%jvVuEifBCB^+C-4<<5%oGfb=bwk->3wkO46D9~nHN+nY;Nftirk*f5Wr&gWXyAb5JqNd?VH2q}?Xr8geGQ#eC& zB6uvrq*CZn7|Ib0XnuuCY9FL0?G?pRgaHg5-XN0uMcHe5BIbyEx4z)QDeN#SLCH2t(cYphUZC2rJYZD?DUkAosnfbCn zqHTHNHS#7y^Zv}rs;y?UF{yB4Ph?t`<|?#}#$Bg&xjnq%2n3Y?M)g&Ad%l+zcvs~p zLmq{uICmGBO&Q0FQUQ$v21HIKjif}sluA|5R<`j#NBXk*^wryjHHn5j(zaeic5Vl) z&yWTp>^Lx0`OKoqqq{sospOe5FG#)<)^Vxn8P(=yGe=bq6fK1AfirSL4OODv2cm#X zL!v6X*@KBjcnsRAzKUn+3j~!Eu^>Z0DqajHR5R*H>bf!kWF0cYW2A&Es?k6cV=OIL z^I0ehTE=ongt99C3~z5z2^PKzYsPp6_-ShsVh*QLX8k=wb*35igSuv0Yoae<6FJ*e zRrnTso-qxI52#B{f{K{d3NRv_OFXg6XF~>(E_G9OPXZJLgu4c?LSZ>xN^xqmeM)~TFjYJ*nVmqRf5kws$K@M;}a zJiDJqShAnx zu(8TBVb3O$;koenz*v2q5jG}$nj zB%6YLq?KBQNDJy=YS$~AAt?m_BR!M;0ZT;9O%k)hGts(OXpNufZS>t)$Dy{ zbSy-+lL(9lnZD*>I}|HT>q1=sLQnIuBRq2~QkEB(8Idv5j`YmXs+;MuiEdW0L(%IX zz$Y&dDWo;VBfKq?sGb8A@@Y0T`ABa|l_Q3NA+{{Cs``ZlXqw+{^Yn}m3GkTdR!fNlz$jg*!n0UjLOv7z%6AJv$5YAKmhC1I0J5;R1?h&CH zK%eRN9qDb!?3hyz^sITZ+S?i{0LvIXsa5=Eye*S3M{-lB&SsMz>1|aAqF)0RK20$B zM_S2Z()|)DsI0B_JEaVg_F>R0R{5ThuT0GiiXj2L3^8}u+r~<2P;xj@}IY8FM+;htc2EmYk63GzCVXN$rXPRqH^rXKDqmbaij`TZ`GmVOrH&b+6?RQcr zm<245WakR8X8cZ|d_gtjGHH|*o(Tb|j-a!|rtlA|tqkzWTy$Y<#|lx+xIZSUMk`5& zWkz^&g=a!~nqomQocte6=G9h0YvE?wT7;w(RsuC>Ea|;Nvnd*{vQqD=nA@fd&E>DQ zk_;ansxg(Q7ptvA?$NvH@(KIvhD%%zGUhrMlJd4Np;*kIZ=R(V?uYK3@DrTm5bzrt717euR5!%+7n zNV&pF{eP@^DRxYy>#T740;PwfFGHG=?8>GlAGSlWas$4nr`M(pu*%!U{4wCCo=IV( zZdOaf|Rr9sYFY_x(Gobc4h8G=4Na{R02&ny(Tj43j<9%eJs(%ZX3N~mV;0rwEd z=%gwohpp@(Bmwd;VcLS3PQ+m=AzbhxLD0J34XacNC4dAu>9LS5a!Xe@eVZ~I6(R`P zE|^$~rq~lnMYooevsNVb9$n8BzDn~x?_tkWSBmM&1k;Jrt@1m`O@pM7x-?ccM~w`l zWn`Fhtt$X|M3F$H5I-GjF#DaY`wr-jMB6pptNv#wQH3%9NZ6#8`)uI=g5U;pKy;;} zn>cfPXp$nQOZUm2M!f00!bxON){u?~a}paDIb%-fU51Ym=$DZ4=h3uUpvR0xrIr{wgFT6fyQ zRPE^o`RP#H&}Bp<(`O#GGDd9m97u(M^miWqOwvO_p|NR889rX5f7ml))<+>UO|^5i zx5ciQvbixgK0EPypQ+cODo%8lfl3*bhrKQ07cFqP@(kr`kj1xqpJ}DByy|b-9gDPn zyLYAgDQ5uBBHn@eyuuDe_rTl_v#X4U&E}FE_B*Y#0 zPFig~!peq~{3ERN3k;^#gBomPeTTg(c?X?%Xq=hR1R4AIupJ7&g3%_l!6nZWLyokP zK2VGj3z>^mZdp|F$58s9$8%qHg_97KUrI(wOA1qI?QPEvMI9`LnMgiS0VY|*c!ZVu z4t-t`zdO_Y*t@HVMM5OsM%^DP1 zDHN)Py4YDgVWj0lkG7r|U-0c4=~ELWrhaEmNR60-Y*_T<9ZmwEVS3_2pD9$D519wh zGhA@wv)HBNcZOYE$C$2scANw-B=Xu6S(G!fmBJ?4oxuYt;sny~W0^fBmK=Yc-4!OX zWjw^eDqE?BR}lv9fWa9vgDA448Gso+H;NMi1*HG(=MyVQJN`#nsa4_7&I9$E?a-cQ zdRxW#p%$n?!Rd+L`^@;A{hm3^LX3Ipk&d*I{2PiJEvjrT3C!+|cZe4xl1;!ShK^@b ztB$x*U;;`_STdXRaoEb}N;m6g?|oY<;nwNnX+ZflD|{8c%oG(lD3m^RvK3Z_UlG{` zG2Mie%qHx8TPv|%21Iv^3LIyV@t&21rADrV(_e%PT=Tb$3_ypDg;I_<+m8I6|=xjXJzZ?KwlNM#Rx5PVox|Tf>6*0NR8G??9mJWTF zw4Y7SP_0cQTcIx5zGnPS7(`%m2+=yvj%T6)i%zDS>Wtajw)aT7x+-*PgC)+`_r%nv z>0$UMmPztVQ<{NNxuI%hL^ZI1s$gKX(=0Xt#D?9SF8PA&tv;KmPXj)kS_KQ$)|W|6 zTITkXo}$hubOnUaF~u{KQ5x|8Sjm=HSoi-%{?oaIRZ@7Pye0C>zRKY%L!{i~XY{?&<)TGo*U1za(W%y6y`ZlzZsB>rb_6RE( zcXSQuGO>Xb_O`kI-22StUhoJjO;Lb7#@-`lu)^E2CaQgC5@a9@I$3R{-~z6hB(ZU& ztF6Sl5XXlOQl|H|_j`utHGEAYU2%-?PV;B#2jhxR{c~>Zo|T)L_QtVlS4_=q8KiHEE=(b})jz+3b zibrkzr#y84a8cvqM}bcPCJbH+>|1(2^^9m{)pOc{UuNdPdZ-i|L!X{_Lgfaa*HzeJ zy2!>1mJFgtw<9}4rrT;g>UNgu9juAzJ=6k8|0(-rE8F`|6ciZWx_(>ul@87ZO_<4g z8kt&bHdf(oa-WE>+aTH2kuQ+|%8$Z*^1-gUu6+0!Zxa@tVDy;FjMsLZn zUVP!+)?%tI=5}^Uw)P3!+ zZkBcISy^}oLwv|@XuPB<2uD~MWpSVrax&d4O5M9sMyFgiLVBP%lOm7ytTg}DjB3q} zkz&{=<%I8D8M9T#0dYcg$Z!KR4VLo$#xW2-st zZ90I0F~kSMrm$dE3W^m4Vq#aShhb$)t4aJHcnfWQxAvw73fX`;+e=v}zWR-|MzV61s~?f#S_f`45rj#?NeS!S<{yZg$X^F&+rsWYOE+l`>Zy65&5h zBi!fazcZpYTAl{wAUvqBH(x2^Ksf+vj!{KmMA^!b^mBKjX0SMk#stZntWS#96gRbu zO{Vk#Fml|;B6BVDFf!-LlAe)h3AIa@wOT=QX@F20lrq%DrX# zfN#l8Z}<~Z1(?8d3MXoYtQvmguF5DN9n$pdZTH+VRRJT-j!^h zW+b{jX3;Rk)$CarfYu59kqvEdZP(29&FsVs>#njU0N9$e*cl7GUTmoBt57{NiM+1- zMn(scI*nPalzuWxjj~DizgKIV2M^tz5{i&Id1&%Xe4Lhc2vY^yZdzlO3PcWpZ9FDt zC`CJ2sl?pV?<}lISOh2mg;`)8h9Y}g5_mp+t@9hdv)TMI6@kIj-qt%5vyUau{;$8@ zcb>9mwvLAaL(`6_ukLiCs3tOWgQlgHa;#xyHTSM;Zo&4hWQSxcvH%~|l$~sc_Pi}S zBxa=6OYWcg(TXc4qv%&)QEgQ|w*Y{ATZ68Tn_ScW81i zAZKzC_N*-O6=H9KlR%zlb?PImq?kTcPLSSbs^Q#Zj8}EWS5~KE(9xU0=&Sga)zrtL zf3pZ|eRksEmknHoq^VZM4slMTl+9I2Yi~3(6?;hwS1SWa22>;3!~#t#g>-ayGx)8t zD&Q^A%VyJ__to=HJkpjkyKie>cWrB@-&yN#@7r42x4pfwCbZoGA>ZE{9Y}ub)^@kM z51@3d*FCUrP20A&wy)dit!-^}_ib$K2c6s5x#<(JFZg8ZJ6mhR?Va_t?NNVcZR^1P z;acxN#{|pu?$*}M{$%yO{c7X~Hr9lTy|sRCu(RfwJ8L~t-~|H*`uh$fr*Rt+XS8o? zye3`t=KbxyH{Twt;c5?d*0(x4qyB-Le)i7J(BeQn=?-uBx5?*9Gj`|-fGv-5Reu(5AzV{2n=v|+CR zt_N%5&erxCZ6#Is@zzFXfAZ!B2BWQQ{GzqtXrJ%Be`mCYb97*B-}=^p-k`r_I@0!$ z-~62IQ|Q(KS|1{5!{BJD;zqKR7vm|IWn+FSzJp|MOGMyYTeWPkHD$@z+oF*Rk-CJ5Q|s+qvhQ zaPh(UlMbG;wg2Eb7o7j#6Zc=VvvqK1`^4&RpL71j2e zrPHbZv5PM_aPY}n7wt@*;O!rL;$-`ReLE*Sy#8G$toKeDobY3hKIi=H3!Z%OkDqw* zO}+fZTTjYgeY|tPz_D&`t+#bxYi&mlXl-k_zO^=5Kd?S>wfg;?{q;ND_|2fMS?-&ot~Gcb5=2goIEcelEu z^v8@(>Hn9$!wNrUd*`Ba4*510Ze6r>-p;|Di!OHJE;#>5I~O@~Cmguwg7Z!|=e(^a z?3{ez`A<0E-~}gaU3lTS=j`8#qj~a^&fh+1D-Om<%LD&k*gV4x_U$Olt#x*~`_~Q} z=sN^V1+xypI@;;?w+1`e=Jh+LbjJVxpM>IGm)G;;y*Ib~>sh&zi`c7+4?be&z$r(% zqfO67tlzGzM%?jYgX8bG=gVzAWm^$wd%d%7trJdfeW!n5ja>|fFc@yDcOTf---^wO zKkb5x&UwN)=Wm@`+oIZXY&W$Wal4CcnC)D=|Dtm)jE`Uctw+oj@n4^EioI}tw*19I zo^s*V{$JcVc*4&4?$bplKIGI7|J@y5f7DUOTzT4Ta^_>M{D((B{b7%M^s(Q);rCBI z>o#}&shiEWXTzU5c-z^DKk%tv`}EsB`iHl@ZSOmOaEJW|HeU5R@0vg81HXEg+3WA} z;wS#?xi|aBD}HeOliR0$apTx~zwHkmb^nuZJ3Z@p55MOAFL}gmp11k*C;#iu-t(CE z+RW&8(m((FvFHB87vJ}q8-DYpFMZYvUwG>; zeBlc}dH%PFFE7>_rL$8 zzp{1p-~HVkKJ*V4J?Ei6a>LL5=x@FI>R%YV`ORP-S_{V?cKOb<17hL(7SDy6P+q~_k|LCI!zWv&-yz~ig zKkN4Azw^`Yx$W6Ued$YIdJ&f76`Ox>;c>72=xh6@UViyQKJorr-}=@^z4EVK{=DZu z|FZl3%{Bl2@BjXV>#x852mj>s$Gz%RuiAIfSKoO2$4_|J?Y4Jzjye79UwYq9o^{qW z@A<;rzjDWqKID79a<@Nv%QJuI&0qP$|LZ%`&%g2)f8@WN_8X6Q(?`Df&(D6t8{Tk_ z?|ka)EC2QAr(FDRclg-Bvu<_E%YXchg-%{-t8YdzxS~-zV~x4KI0`X`@paM*n`fxWbo#DeEiLScKiEWxw!eU_j&yX zuX*iDuKVh*{PwRu>xMTz;w#r*{wLSnZnk-|>-O!x^W9IJZ$D*p#>-x@|I6R~Y1F#+ zAN8j5&fWjXPk#8V*Z=VLWZ$1Jdi%aO+dTeW&;IZ~|IQ0Oaq~a@^bfrLvg4m~^rOBu z+xLhce(J;j;vvs^^*c{_>l45AxHHdu)Yj*|^VElZ{TC13@`3;7Ti*Z9zx?L@Z+!XW z-&#Na`QJEW_=cPR{gp@G=@z&A^YJM+pYA{IfydqQYq!{Z>*(j-Kl|}J{nQoLJ@iA5 z{^0oF%bxf%SDbk4FRk73lmGp(pZw-Gf8m4Ad2Z)bYq!4kd$&F6{NXXLefazDx$)Uw zxZh7+anE~S{OkwZ?nf@W^NG)T>(6}R4byL4_Kf}&S3K*dKm5%%^&axMSL_@$d&b$v zU2^ifzxCsPdDlDN@$Rp_{Y(4zyu*8Lf5X#m|Fjps=GqtC{0Aq$_L3Jr>yk@8b@^9M zIOBVdIp*@mJp0{ue#GrQ{VyN+<4=9_=&KIC=3Q_6({Ek!wWB|9?Jd9d_&@p7rJo+& z>x0|3`TR-4&s_POYv1*|FTC{3J3V^#_<#KFeLnX8ocn@j-(u~fulwwOUh?#7zVg~X zJ@u2PUGcY9-QhvUe*G42J?*$VA9Kv>Ke7GX(V4e=;+;PFkrUqZZ+i3+-9P;KF>n3)*MIB5H$343m%QLHe{|*_o^bUOZ}H4`-1~&P-uk--o^#bLPC4mE zFTK|*|MFIApZ>EmAARNa<&S^jzMG%&$G`SZ|Ld&l|M~xY!VmrZF|Yd4{jd7nwg3LI z&0jz3^yBVx>QB7x`rbqDd)bLUd)M3i@6(U@&5yk4y^p%%n`Y1Mec<=@U48FA`j0z4 z{@ioV{fp;bb>Gw8^{A)b{Zn85yWfBJ+i(B;U;pcGpZk=*e*H7QeB!%5JA2!+HlB9* z6}LWT`(M8PzTbJr$BzEV$2{h@AN__GeDfL4z4YWiyX4o-eCJ<%;))Aj`jlH=d(mls zdF9p%|MoZj`5r&^->%*M+~bb@$bVe2_2Hj;($oLth1Xnj%`g1&FAdIk<8NK_*7NT7 zylWqN|NH*(-M;aiYfeA&p_{jP`}m!g-0NP)fAdp!1DN^w>#w=<)mL5B|Bny<+#mnV zgWmDg{bxSou@8IEJ>K-P*N>k1uA^S?6AVHIKgKL;sIg^k04a-<)#x z8=v;=TOGLi9w+_WJ07_6=F{(Z)WNe}{<4>S;nX+(&nvFDqW?c0c=szGaMUTAce~9o zmtK15#+Scw!}s3uppARp?j6@%cir08-@R}1hko?DGwycV8}2i{;|bmFOaJ;mZvFC0 z&ph$kAH4Zb9en0%|Lj($eetNBjaMJ{h2OaNy>EHTSAOF9_n!0SPv7r;-~H+x-}sW_ f{_p>B^tBJZ^k&Dt__U+^-)ZwRW|wU~{@MQ@0*j(= literal 0 HcmV?d00001 diff --git a/SFM/Assets.xcassets/AppIcon.appiconset/apple-256 1x.png b/SFM/Assets.xcassets/AppIcon.appiconset/apple-256 1x.png new file mode 100644 index 0000000000000000000000000000000000000000..db0a7f0915e252834c1c675efd0585aec6e18f3e GIT binary patch literal 293353 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

5(QYH;6=EXrM}dvMV= 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