This commit introduces the Tunnel view model object which has support for asking for permission, starting and stopping the tunnel. It automatically updates its state and publishes changes as an ObservableObject.
390 lines
17 KiB
Text
390 lines
17 KiB
Text
// !$*UTF8*$!
|
|
{
|
|
archiveVersion = 1;
|
|
classes = {
|
|
};
|
|
objectVersion = 56;
|
|
objects = {
|
|
|
|
/* Begin PBXBuildFile section */
|
|
D020F65829E4A697002790F6 /* PacketTunnelProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = D020F65729E4A697002790F6 /* PacketTunnelProvider.swift */; };
|
|
D020F65D29E4A697002790F6 /* BurrowNetworkExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = D020F65329E4A697002790F6 /* BurrowNetworkExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
|
D05B9F7629E39EEC008CB1F9 /* BurrowApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = D05B9F7529E39EEC008CB1F9 /* BurrowApp.swift */; };
|
|
D05B9F7829E39EEC008CB1F9 /* TunnelView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D05B9F7729E39EEC008CB1F9 /* TunnelView.swift */; };
|
|
D05B9F7A29E39EED008CB1F9 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D05B9F7929E39EED008CB1F9 /* Assets.xcassets */; };
|
|
D0BCC5FD2A086D4700AD070D /* NetworkExtension+Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0BCC5FC2A086D4700AD070D /* NetworkExtension+Async.swift */; };
|
|
D0BCC5FF2A086E1C00AD070D /* Status.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0BCC5FE2A086E1C00AD070D /* Status.swift */; };
|
|
D0BCC6082A0981FE00AD070D /* Tunnel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0B98FC629FDC5B5004E7149 /* Tunnel.swift */; };
|
|
D0BCC6092A09A03E00AD070D /* libburrow.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D0BCC6032A09535900AD070D /* libburrow.a */; };
|
|
D0BCC60A2A09A0B800AD070D /* build-rust.sh in Resources */ = {isa = PBXBuildFile; fileRef = D0B98FBF29FD8072004E7149 /* build-rust.sh */; };
|
|
/* End PBXBuildFile section */
|
|
|
|
/* Begin PBXContainerItemProxy section */
|
|
D020F65B29E4A697002790F6 /* PBXContainerItemProxy */ = {
|
|
isa = PBXContainerItemProxy;
|
|
containerPortal = D05B9F6A29E39EEC008CB1F9 /* Project object */;
|
|
proxyType = 1;
|
|
remoteGlobalIDString = D020F65229E4A697002790F6;
|
|
remoteInfo = BurrowNetworkExtension;
|
|
};
|
|
/* End PBXContainerItemProxy section */
|
|
|
|
/* Begin PBXCopyFilesBuildPhase section */
|
|
D020F66129E4A697002790F6 /* Embed Foundation Extensions */ = {
|
|
isa = PBXCopyFilesBuildPhase;
|
|
buildActionMask = 2147483647;
|
|
dstPath = "";
|
|
dstSubfolderSpec = 13;
|
|
files = (
|
|
D020F65D29E4A697002790F6 /* BurrowNetworkExtension.appex in Embed Foundation Extensions */,
|
|
);
|
|
name = "Embed Foundation Extensions";
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
};
|
|
/* End PBXCopyFilesBuildPhase section */
|
|
|
|
/* Begin PBXFileReference section */
|
|
D020F63D29E4A1FF002790F6 /* Identity.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Identity.xcconfig; sourceTree = "<group>"; };
|
|
D020F64029E4A1FF002790F6 /* Compiler.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Compiler.xcconfig; sourceTree = "<group>"; };
|
|
D020F64229E4A1FF002790F6 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
|
D020F64929E4A34B002790F6 /* App.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = App.xcconfig; sourceTree = "<group>"; };
|
|
D020F64A29E4A452002790F6 /* App.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = App.xcconfig; sourceTree = "<group>"; };
|
|
D020F65329E4A697002790F6 /* BurrowNetworkExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = BurrowNetworkExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
D020F65729E4A697002790F6 /* PacketTunnelProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PacketTunnelProvider.swift; sourceTree = "<group>"; };
|
|
D020F65929E4A697002790F6 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
|
D020F66229E4A6E5002790F6 /* NetworkExtension.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = NetworkExtension.xcconfig; sourceTree = "<group>"; };
|
|
D020F66329E4A703002790F6 /* Extension.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Extension.xcconfig; sourceTree = "<group>"; };
|
|
D020F66629E4A95D002790F6 /* NetworkExtension-macOS.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "NetworkExtension-macOS.entitlements"; sourceTree = "<group>"; };
|
|
D020F66729E4A95D002790F6 /* NetworkExtension-iOS.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "NetworkExtension-iOS.entitlements"; sourceTree = "<group>"; };
|
|
D020F66829E4AA74002790F6 /* App-iOS.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "App-iOS.entitlements"; sourceTree = "<group>"; };
|
|
D020F66929E4AA74002790F6 /* App-macOS.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "App-macOS.entitlements"; sourceTree = "<group>"; };
|
|
D05B9F7229E39EEC008CB1F9 /* Burrow.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Burrow.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
D05B9F7529E39EEC008CB1F9 /* BurrowApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BurrowApp.swift; sourceTree = "<group>"; };
|
|
D05B9F7729E39EEC008CB1F9 /* TunnelView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TunnelView.swift; sourceTree = "<group>"; };
|
|
D05B9F7929E39EED008CB1F9 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
|
D0B98FBF29FD8072004E7149 /* build-rust.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = "build-rust.sh"; sourceTree = "<group>"; };
|
|
D0B98FC629FDC5B5004E7149 /* Tunnel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tunnel.swift; sourceTree = "<group>"; };
|
|
D0B98FD829FDDB6F004E7149 /* libburrow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = libburrow.h; sourceTree = "<group>"; };
|
|
D0B98FDC29FDDDCF004E7149 /* module.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; path = module.modulemap; sourceTree = "<group>"; };
|
|
D0BCC5FC2A086D4700AD070D /* NetworkExtension+Async.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NetworkExtension+Async.swift"; sourceTree = "<group>"; };
|
|
D0BCC5FE2A086E1C00AD070D /* Status.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Status.swift; sourceTree = "<group>"; };
|
|
D0BCC6032A09535900AD070D /* libburrow.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libburrow.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
/* End PBXFileReference section */
|
|
|
|
/* Begin PBXFrameworksBuildPhase section */
|
|
D020F65029E4A697002790F6 /* Frameworks */ = {
|
|
isa = PBXFrameworksBuildPhase;
|
|
buildActionMask = 2147483647;
|
|
files = (
|
|
D0BCC6092A09A03E00AD070D /* libburrow.a in Frameworks */,
|
|
);
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
};
|
|
D05B9F6F29E39EEC008CB1F9 /* Frameworks */ = {
|
|
isa = PBXFrameworksBuildPhase;
|
|
buildActionMask = 2147483647;
|
|
files = (
|
|
);
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
};
|
|
/* End PBXFrameworksBuildPhase section */
|
|
|
|
/* Begin PBXGroup section */
|
|
D020F63C29E4A1FF002790F6 /* Configuration */ = {
|
|
isa = PBXGroup;
|
|
children = (
|
|
D020F63D29E4A1FF002790F6 /* Identity.xcconfig */,
|
|
D020F64A29E4A452002790F6 /* App.xcconfig */,
|
|
D020F66329E4A703002790F6 /* Extension.xcconfig */,
|
|
D020F64029E4A1FF002790F6 /* Compiler.xcconfig */,
|
|
D020F64229E4A1FF002790F6 /* Info.plist */,
|
|
);
|
|
path = Configuration;
|
|
sourceTree = "<group>";
|
|
};
|
|
D020F65629E4A697002790F6 /* NetworkExtension */ = {
|
|
isa = PBXGroup;
|
|
children = (
|
|
D020F65729E4A697002790F6 /* PacketTunnelProvider.swift */,
|
|
D020F65929E4A697002790F6 /* Info.plist */,
|
|
D020F66729E4A95D002790F6 /* NetworkExtension-iOS.entitlements */,
|
|
D020F66629E4A95D002790F6 /* NetworkExtension-macOS.entitlements */,
|
|
D020F66229E4A6E5002790F6 /* NetworkExtension.xcconfig */,
|
|
D0B98FD729FDDB57004E7149 /* libburrow */,
|
|
);
|
|
path = NetworkExtension;
|
|
sourceTree = "<group>";
|
|
};
|
|
D05B9F6929E39EEC008CB1F9 = {
|
|
isa = PBXGroup;
|
|
children = (
|
|
D05B9F7429E39EEC008CB1F9 /* App */,
|
|
D020F65629E4A697002790F6 /* NetworkExtension */,
|
|
D020F63C29E4A1FF002790F6 /* Configuration */,
|
|
D05B9F7329E39EEC008CB1F9 /* Products */,
|
|
);
|
|
sourceTree = "<group>";
|
|
};
|
|
D05B9F7329E39EEC008CB1F9 /* Products */ = {
|
|
isa = PBXGroup;
|
|
children = (
|
|
D05B9F7229E39EEC008CB1F9 /* Burrow.app */,
|
|
D020F65329E4A697002790F6 /* BurrowNetworkExtension.appex */,
|
|
);
|
|
name = Products;
|
|
sourceTree = "<group>";
|
|
};
|
|
D05B9F7429E39EEC008CB1F9 /* App */ = {
|
|
isa = PBXGroup;
|
|
children = (
|
|
D05B9F7529E39EEC008CB1F9 /* BurrowApp.swift */,
|
|
D05B9F7729E39EEC008CB1F9 /* TunnelView.swift */,
|
|
D0B98FC629FDC5B5004E7149 /* Tunnel.swift */,
|
|
D0BCC5FE2A086E1C00AD070D /* Status.swift */,
|
|
D0BCC5FC2A086D4700AD070D /* NetworkExtension+Async.swift */,
|
|
D05B9F7929E39EED008CB1F9 /* Assets.xcassets */,
|
|
D020F66829E4AA74002790F6 /* App-iOS.entitlements */,
|
|
D020F66929E4AA74002790F6 /* App-macOS.entitlements */,
|
|
D020F64929E4A34B002790F6 /* App.xcconfig */,
|
|
);
|
|
path = App;
|
|
sourceTree = "<group>";
|
|
};
|
|
D0B98FD729FDDB57004E7149 /* libburrow */ = {
|
|
isa = PBXGroup;
|
|
children = (
|
|
D0B98FBF29FD8072004E7149 /* build-rust.sh */,
|
|
D0B98FDC29FDDDCF004E7149 /* module.modulemap */,
|
|
D0B98FD829FDDB6F004E7149 /* libburrow.h */,
|
|
D0BCC6032A09535900AD070D /* libburrow.a */,
|
|
);
|
|
path = libburrow;
|
|
sourceTree = "<group>";
|
|
};
|
|
/* End PBXGroup section */
|
|
|
|
/* Begin PBXNativeTarget section */
|
|
D020F65229E4A697002790F6 /* NetworkExtension */ = {
|
|
isa = PBXNativeTarget;
|
|
buildConfigurationList = D020F65E29E4A697002790F6 /* Build configuration list for PBXNativeTarget "NetworkExtension" */;
|
|
buildPhases = (
|
|
D0BCC60B2A09A0C100AD070D /* Compile Rust */,
|
|
D020F64F29E4A697002790F6 /* Sources */,
|
|
D020F65029E4A697002790F6 /* Frameworks */,
|
|
D020F65129E4A697002790F6 /* Resources */,
|
|
);
|
|
buildRules = (
|
|
);
|
|
dependencies = (
|
|
);
|
|
name = NetworkExtension;
|
|
productName = BurrowNetworkExtension;
|
|
productReference = D020F65329E4A697002790F6 /* BurrowNetworkExtension.appex */;
|
|
productType = "com.apple.product-type.app-extension";
|
|
};
|
|
D05B9F7129E39EEC008CB1F9 /* App */ = {
|
|
isa = PBXNativeTarget;
|
|
buildConfigurationList = D05B9F8129E39EED008CB1F9 /* Build configuration list for PBXNativeTarget "App" */;
|
|
buildPhases = (
|
|
D05B9F6E29E39EEC008CB1F9 /* Sources */,
|
|
D05B9F6F29E39EEC008CB1F9 /* Frameworks */,
|
|
D05B9F7029E39EEC008CB1F9 /* Resources */,
|
|
D020F66129E4A697002790F6 /* Embed Foundation Extensions */,
|
|
);
|
|
buildRules = (
|
|
);
|
|
dependencies = (
|
|
D020F65C29E4A697002790F6 /* PBXTargetDependency */,
|
|
);
|
|
name = App;
|
|
productName = Burrow;
|
|
productReference = D05B9F7229E39EEC008CB1F9 /* Burrow.app */;
|
|
productType = "com.apple.product-type.application";
|
|
};
|
|
/* End PBXNativeTarget section */
|
|
|
|
/* Begin PBXProject section */
|
|
D05B9F6A29E39EEC008CB1F9 /* Project object */ = {
|
|
isa = PBXProject;
|
|
attributes = {
|
|
BuildIndependentTargetsInParallel = 1;
|
|
LastSwiftUpdateCheck = 1430;
|
|
LastUpgradeCheck = 1430;
|
|
TargetAttributes = {
|
|
D020F65229E4A697002790F6 = {
|
|
CreatedOnToolsVersion = 14.3;
|
|
};
|
|
D05B9F7129E39EEC008CB1F9 = {
|
|
CreatedOnToolsVersion = 14.3;
|
|
};
|
|
};
|
|
};
|
|
buildConfigurationList = D05B9F6D29E39EEC008CB1F9 /* Build configuration list for PBXProject "Burrow" */;
|
|
compatibilityVersion = "Xcode 14.0";
|
|
developmentRegion = en;
|
|
hasScannedForEncodings = 0;
|
|
knownRegions = (
|
|
en,
|
|
Base,
|
|
);
|
|
mainGroup = D05B9F6929E39EEC008CB1F9;
|
|
productRefGroup = D05B9F7329E39EEC008CB1F9 /* Products */;
|
|
projectDirPath = "";
|
|
projectRoot = "";
|
|
targets = (
|
|
D05B9F7129E39EEC008CB1F9 /* App */,
|
|
D020F65229E4A697002790F6 /* NetworkExtension */,
|
|
);
|
|
};
|
|
/* End PBXProject section */
|
|
|
|
/* Begin PBXResourcesBuildPhase section */
|
|
D020F65129E4A697002790F6 /* Resources */ = {
|
|
isa = PBXResourcesBuildPhase;
|
|
buildActionMask = 2147483647;
|
|
files = (
|
|
D0BCC60A2A09A0B800AD070D /* build-rust.sh in Resources */,
|
|
);
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
};
|
|
D05B9F7029E39EEC008CB1F9 /* Resources */ = {
|
|
isa = PBXResourcesBuildPhase;
|
|
buildActionMask = 2147483647;
|
|
files = (
|
|
D05B9F7A29E39EED008CB1F9 /* Assets.xcassets in Resources */,
|
|
);
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
};
|
|
/* End PBXResourcesBuildPhase section */
|
|
|
|
/* Begin PBXShellScriptBuildPhase section */
|
|
D0BCC60B2A09A0C100AD070D /* Compile Rust */ = {
|
|
isa = PBXShellScriptBuildPhase;
|
|
alwaysOutOfDate = 1;
|
|
buildActionMask = 2147483647;
|
|
files = (
|
|
);
|
|
inputFileListPaths = (
|
|
);
|
|
inputPaths = (
|
|
);
|
|
name = "Compile Rust";
|
|
outputFileListPaths = (
|
|
);
|
|
outputPaths = (
|
|
);
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
shellPath = /bin/sh;
|
|
shellScript = "\"${PROJECT_DIR}/NetworkExtension/libburrow/build-rust.sh\"\n";
|
|
showEnvVarsInLog = 0;
|
|
};
|
|
/* End PBXShellScriptBuildPhase section */
|
|
|
|
/* Begin PBXSourcesBuildPhase section */
|
|
D020F64F29E4A697002790F6 /* Sources */ = {
|
|
isa = PBXSourcesBuildPhase;
|
|
buildActionMask = 2147483647;
|
|
files = (
|
|
D020F65829E4A697002790F6 /* PacketTunnelProvider.swift in Sources */,
|
|
);
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
};
|
|
D05B9F6E29E39EEC008CB1F9 /* Sources */ = {
|
|
isa = PBXSourcesBuildPhase;
|
|
buildActionMask = 2147483647;
|
|
files = (
|
|
D0BCC6082A0981FE00AD070D /* Tunnel.swift in Sources */,
|
|
D05B9F7829E39EEC008CB1F9 /* TunnelView.swift in Sources */,
|
|
D0BCC5FF2A086E1C00AD070D /* Status.swift in Sources */,
|
|
D05B9F7629E39EEC008CB1F9 /* BurrowApp.swift in Sources */,
|
|
D0BCC5FD2A086D4700AD070D /* NetworkExtension+Async.swift in Sources */,
|
|
);
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
};
|
|
/* End PBXSourcesBuildPhase section */
|
|
|
|
/* Begin PBXTargetDependency section */
|
|
D020F65C29E4A697002790F6 /* PBXTargetDependency */ = {
|
|
isa = PBXTargetDependency;
|
|
target = D020F65229E4A697002790F6 /* NetworkExtension */;
|
|
targetProxy = D020F65B29E4A697002790F6 /* PBXContainerItemProxy */;
|
|
};
|
|
/* End PBXTargetDependency section */
|
|
|
|
/* Begin XCBuildConfiguration section */
|
|
D020F65F29E4A697002790F6 /* Debug */ = {
|
|
isa = XCBuildConfiguration;
|
|
baseConfigurationReference = D020F66229E4A6E5002790F6 /* NetworkExtension.xcconfig */;
|
|
buildSettings = {
|
|
};
|
|
name = Debug;
|
|
};
|
|
D020F66029E4A697002790F6 /* Release */ = {
|
|
isa = XCBuildConfiguration;
|
|
baseConfigurationReference = D020F66229E4A6E5002790F6 /* NetworkExtension.xcconfig */;
|
|
buildSettings = {
|
|
};
|
|
name = Release;
|
|
};
|
|
D05B9F7F29E39EED008CB1F9 /* Debug */ = {
|
|
isa = XCBuildConfiguration;
|
|
baseConfigurationReference = D020F64029E4A1FF002790F6 /* Compiler.xcconfig */;
|
|
buildSettings = {
|
|
};
|
|
name = Debug;
|
|
};
|
|
D05B9F8029E39EED008CB1F9 /* Release */ = {
|
|
isa = XCBuildConfiguration;
|
|
baseConfigurationReference = D020F64029E4A1FF002790F6 /* Compiler.xcconfig */;
|
|
buildSettings = {
|
|
};
|
|
name = Release;
|
|
};
|
|
D05B9F8229E39EED008CB1F9 /* Debug */ = {
|
|
isa = XCBuildConfiguration;
|
|
baseConfigurationReference = D020F64929E4A34B002790F6 /* App.xcconfig */;
|
|
buildSettings = {
|
|
};
|
|
name = Debug;
|
|
};
|
|
D05B9F8329E39EED008CB1F9 /* Release */ = {
|
|
isa = XCBuildConfiguration;
|
|
baseConfigurationReference = D020F64929E4A34B002790F6 /* App.xcconfig */;
|
|
buildSettings = {
|
|
};
|
|
name = Release;
|
|
};
|
|
/* End XCBuildConfiguration section */
|
|
|
|
/* Begin XCConfigurationList section */
|
|
D020F65E29E4A697002790F6 /* Build configuration list for PBXNativeTarget "NetworkExtension" */ = {
|
|
isa = XCConfigurationList;
|
|
buildConfigurations = (
|
|
D020F65F29E4A697002790F6 /* Debug */,
|
|
D020F66029E4A697002790F6 /* Release */,
|
|
);
|
|
defaultConfigurationIsVisible = 0;
|
|
defaultConfigurationName = Release;
|
|
};
|
|
D05B9F6D29E39EEC008CB1F9 /* Build configuration list for PBXProject "Burrow" */ = {
|
|
isa = XCConfigurationList;
|
|
buildConfigurations = (
|
|
D05B9F7F29E39EED008CB1F9 /* Debug */,
|
|
D05B9F8029E39EED008CB1F9 /* Release */,
|
|
);
|
|
defaultConfigurationIsVisible = 0;
|
|
defaultConfigurationName = Release;
|
|
};
|
|
D05B9F8129E39EED008CB1F9 /* Build configuration list for PBXNativeTarget "App" */ = {
|
|
isa = XCConfigurationList;
|
|
buildConfigurations = (
|
|
D05B9F8229E39EED008CB1F9 /* Debug */,
|
|
D05B9F8329E39EED008CB1F9 /* Release */,
|
|
);
|
|
defaultConfigurationIsVisible = 0;
|
|
defaultConfigurationName = Release;
|
|
};
|
|
/* End XCConfigurationList section */
|
|
};
|
|
rootObject = D05B9F6A29E39EEC008CB1F9 /* Project object */;
|
|
}
|