diff --git a/LaunchHelper/LaunchHelper.xcodeproj/project.pbxproj b/LaunchHelper/LaunchHelper.xcodeproj/project.pbxproj index 868f153d..b2e70301 100644 --- a/LaunchHelper/LaunchHelper.xcodeproj/project.pbxproj +++ b/LaunchHelper/LaunchHelper.xcodeproj/project.pbxproj @@ -97,21 +97,21 @@ 9B9F13851E8A282C00DE4794 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1250; + LastUpgradeCheck = 1320; ORGANIZATIONNAME = qiuyuzhou; TargetAttributes = { 9B9F138C1E8A282C00DE4794 = { CreatedOnToolsVersion = 8.2.1; - ProvisioningStyle = Manual; + DevelopmentTeam = K34Z59STMC; + ProvisioningStyle = Automatic; }; }; }; buildConfigurationList = 9B9F13881E8A282C00DE4794 /* Build configuration list for PBXProject "LaunchHelper" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - English, en, Base, ); @@ -272,10 +272,11 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_IDENTITY = "-"; - CODE_SIGN_STYLE = Manual; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = K34Z59STMC; + ENABLE_HARDENED_RUNTIME = YES; INFOPLIST_FILE = LaunchHelper/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.11; @@ -290,10 +291,11 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_IDENTITY = "-"; - CODE_SIGN_STYLE = Manual; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = K34Z59STMC; + ENABLE_HARDENED_RUNTIME = YES; INFOPLIST_FILE = LaunchHelper/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.11; diff --git a/Podfile b/Podfile index 2cce1c50..cddce7b3 100644 --- a/Podfile +++ b/Podfile @@ -1,19 +1,20 @@ # Uncomment this line to define a global platform for your project # platform :ios, '9.0' -platform :macos, '10.12' +#platform :macos, '10.12' +platform :macos, '10.15' target 'ShadowsocksX-NG' do # Comment this line if you're not using Swift and don't want to use dynamic frameworks use_frameworks! # Pods for ShadowsocksX-NG - pod 'Alamofire', '~> 5.4.3' - pod "GCDWebServer", "~> 3.0" - pod 'MASShortcut', '~> 2' + pod 'Alamofire'#, '~> 5.4.3' + pod "GCDWebServer"#, "~> 3.0" + pod 'MASShortcut'#, '~> 2' # https://github.com/ReactiveX/RxSwift/blob/master/Documentation/GettingStarted.md - pod 'RxSwift', '~> 6.2.0' - pod 'RxCocoa', '~> 6.2.0' + pod 'RxSwift'#, '~> 6.2.0' + pod 'RxCocoa'#, '~> 6.2.0' target 'ShadowsocksX-NGTests' do inherit! :search_paths @@ -23,5 +24,5 @@ target 'ShadowsocksX-NG' do end target 'proxy_conf_helper' do - pod 'BRLOptionParser', '~> 0.3.1' + pod 'BRLOptionParser'#, '~> 0.3.1' end diff --git a/Podfile.lock b/Podfile.lock index ba9ec4fe..d393cedc 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - Alamofire (5.4.3) + - Alamofire (5.4.4) - BRLOptionParser (0.3.1) - GCDWebServer (3.5.4): - GCDWebServer/Core (= 3.5.4) @@ -31,7 +31,7 @@ SPEC REPOS: - RxSwift SPEC CHECKSUMS: - Alamofire: e447a2774a40c996748296fa2c55112fdbbc42f9 + Alamofire: f3b09a368f1582ab751b3fff5460276e0d2cf5c9 BRLOptionParser: a03256a8ff003ca1f5376c55f55f210e085a3958 GCDWebServer: 2c156a56c8226e2d5c0c3f208a3621ccffbe3ce4 MASShortcut: d9e4909e878661cc42877cc9d6efbe638273ab57 @@ -39,6 +39,6 @@ SPEC CHECKSUMS: RxRelay: e72dbfd157807478401ef1982e1c61c945c94b2f RxSwift: d356ab7bee873611322f134c5f9ef379fa183d8f -PODFILE CHECKSUM: 5e6ee339e4466d456309238c104e8625cd1e3e41 +PODFILE CHECKSUM: 75c299eebbf64f166cffb1e7b29c582f4251c7da -COCOAPODS: 1.10.1 +COCOAPODS: 1.11.2 diff --git a/Pods/Alamofire/LICENSE b/Pods/Alamofire/LICENSE index 6b4d719a..cae030a0 100644 --- a/Pods/Alamofire/LICENSE +++ b/Pods/Alamofire/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2014-2021 Alamofire Software Foundation (http://alamofire.org/) +Copyright (c) 2014-2022 Alamofire Software Foundation (http://alamofire.org/) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Pods/Alamofire/README.md b/Pods/Alamofire/README.md index 9a5a8063..b3fc8175 100644 --- a/Pods/Alamofire/README.md +++ b/Pods/Alamofire/README.md @@ -1,12 +1,12 @@ -![Alamofire: Elegant Networking in Swift](https://raw.githubusercontent.com/Alamofire/Alamofire/master/alamofire.png) +![Alamofire: Elegant Networking in Swift](https://raw.githubusercontent.com/Alamofire/Alamofire/master/Resources/AlamofireLogo.png) -[![Build Status](https://github.com/Alamofire/Alamofire/workflows/Alamofire%20CI/badge.svg?branch=master)](https://github.com/Alamofire/Alamofire/actions) -[![CocoaPods Compatible](https://img.shields.io/cocoapods/v/Alamofire.svg)](https://img.shields.io/cocoapods/v/Alamofire.svg) -[![Carthage Compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) -[![Platform](https://img.shields.io/cocoapods/p/Alamofire.svg?style=flat)](https://alamofire.github.io/Alamofire) -[![Twitter](https://img.shields.io/badge/twitter-@AlamofireSF-blue.svg?style=flat)](https://twitter.com/AlamofireSF) -[![Gitter](https://badges.gitter.im/Alamofire/Alamofire.svg)](https://gitter.im/Alamofire/Alamofire?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) -[![Open Source Helpers](https://www.codetriage.com/alamofire/alamofire/badges/users.svg)](https://www.codetriage.com/alamofire/alamofire) +[![Swift](https://img.shields.io/badge/Swift-5.3_5.4_5.5_5.6-orange?style=flat-square)](https://img.shields.io/badge/Swift-5.3_5.4_5.5_5.6-Orange?style=flat-square) +[![Platforms](https://img.shields.io/badge/Platforms-macOS_iOS_tvOS_watchOS_Linux_Windows-yellowgreen?style=flat-square)](https://img.shields.io/badge/Platforms-macOS_iOS_tvOS_watchOS_Linux_Windows-Green?style=flat-square) +[![CocoaPods Compatible](https://img.shields.io/cocoapods/v/Alamofire.svg?style=flat-square)](https://img.shields.io/cocoapods/v/Alamofire.svg) +[![Carthage Compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat-square)](https://github.com/Carthage/Carthage) +[![Swift Package Manager](https://img.shields.io/badge/Swift_Package_Manager-compatible-orange?style=flat-square)](https://img.shields.io/badge/Swift_Package_Manager-compatible-orange?style=flat-square) +[![Twitter](https://img.shields.io/badge/twitter-@AlamofireSF-blue.svg?style=flat-square)](https://twitter.com/AlamofireSF) +[![Swift Forums](https://img.shields.io/badge/Swift_Forums-Alamofire-orange?style=flat-square)](https://forums.swift.org/c/related-projects/alamofire/37) Alamofire is an HTTP networking library written in Swift. @@ -16,16 +16,18 @@ Alamofire is an HTTP networking library written in Swift. - [Migration Guides](#migration-guides) - [Communication](#communication) - [Installation](#installation) +- [Contributing](#contributing) - [Usage](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#using-alamofire) - - [**Introduction -**](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#introduction) [Making Requests](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#making-requests), [Response Handling](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#response-handling), [Response Validation](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#response-validation), [Response Caching](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#response-caching) - - **HTTP -** [HTTP Methods](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#http-methods), [Parameters and Parameter Encoder](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md##request-parameters-and-parameter-encoders), [HTTP Headers](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#http-headers), [Authentication](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#authentication) - - **Large Data -** [Downloading Data to a File](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#downloading-data-to-a-file), [Uploading Data to a Server](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#uploading-data-to-a-server) - - **Tools -** [Statistical Metrics](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#statistical-metrics), [cURL Command Output](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#curl-command-output) + - [**Introduction -**](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#introduction) [Making Requests](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#making-requests), [Response Handling](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#response-handling), [Response Validation](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#response-validation), [Response Caching](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#response-caching) + - **HTTP -** [HTTP Methods](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#http-methods), [Parameters and Parameter Encoder](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md##request-parameters-and-parameter-encoders), [HTTP Headers](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#http-headers), [Authentication](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#authentication) + - **Large Data -** [Downloading Data to a File](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#downloading-data-to-a-file), [Uploading Data to a Server](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#uploading-data-to-a-server) + - **Tools -** [Statistical Metrics](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#statistical-metrics), [cURL Command Output](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#curl-command-output) - [Advanced Usage](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md) - - **URL Session -** [Session Manager](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#session), [Session Delegate](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#sessiondelegate), [Request](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#request) - - **Routing -** [Routing Requests](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#routing-requests), [Adapting and Retrying Requests](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#adapting-and-retrying-requests-with-requestinterceptor) - - **Model Objects -** [Custom Response Handlers](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#customizing-response-handlers) - - **Connection -** [Security](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#security), [Network Reachability](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#network-reachability) + - **URL Session -** [Session Manager](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#session), [Session Delegate](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#sessiondelegate), [Request](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#request) + - **Routing -** [Routing Requests](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#routing-requests), [Adapting and Retrying Requests](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#adapting-and-retrying-requests-with-requestinterceptor) + - **Model Objects -** [Custom Response Handlers](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#customizing-response-handlers) + - **Advanced Concurrency -** [Swift Concurrency](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#using-alamofire-with-swift-concurrency) and [Combine](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#using-alamofire-with-combine) + - **Connection -** [Security](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#security), [Network Reachability](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#network-reachability) - [Open Radars](#open-radars) - [FAQ](#faq) - [Credits](#credits) @@ -35,6 +37,7 @@ Alamofire is an HTTP networking library written in Swift. ## Features - [x] Chainable Request / Response Methods +- [x] Swift Concurrency Support Back to iOS 13, macOS 10.15, tvOS 13, and watchOS 6. - [x] Combine Support - [x] URL / JSON Parameter Encoding - [x] Upload File / Data / Stream / MultipartFormData @@ -58,9 +61,21 @@ In order to keep Alamofire focused specifically on core networking implementatio ## Requirements -- iOS 10.0+ / macOS 10.12+ / tvOS 10.0+ / watchOS 3.0+ -- Xcode 11+ -- Swift 5.1+ +| Platform | Minimum Swift Version | Installation | Status | +| --- | --- | --- | --- | +| iOS 10.0+ / macOS 10.12+ / tvOS 10.0+ / watchOS 3.0+ | 5.3 | [CocoaPods](#cocoapods), [Carthage](#carthage), [Swift Package Manager](#swift-package-manager), [Manual](#manually) | Fully Tested | +| Linux | Latest Only | [Swift Package Manager](#swift-package-manager) | Building But Unsupported | +| Windows | Latest Only | [Swift Package Manager](#swift-package-manager) | Building But Unsupported | + +#### Known Issues on Linux and Windows + +Alamofire builds on Linux and Windows but there are missing features and many issues in the underlying `swift-corelibs-foundation` that prevent full functionality and may cause crashes. These include: +- `ServerTrustManager` and associated certificate functionality is unavailable, so there is no certificate pinning and no client certificate support. +- Various methods of HTTP authentication may crash, including HTTP Basic and HTTP Digest. Crashes may occur if responses contain server challenges. +- Cache control through `CachedResponseHandler` and associated APIs is unavailable, as the underlying delegate methods aren't called. +- `URLSessionTaskMetrics` are never gathered. + +Due to these issues, Alamofire is unsupported on Linux and Windows. Please report any crashes to the [Swift bug reporter](https://bugs.swift.org). ## Migration Guides @@ -76,7 +91,6 @@ In order to keep Alamofire focused specifically on core networking implementatio - If you'd like to **discuss Alamofire best practices**, use [our forum on swift.org](https://forums.swift.org/c/related-projects/alamofire). - If you'd like to **discuss a feature request**, use [our forum on swift.org](https://forums.swift.org/c/related-projects/alamofire). - If you **found a bug**, open an issue here on GitHub and follow the guide. The more detail the better! -- If you **want to contribute**, submit a pull request! ## Installation @@ -85,7 +99,7 @@ In order to keep Alamofire focused specifically on core networking implementatio [CocoaPods](https://cocoapods.org) is a dependency manager for Cocoa projects. For usage and installation instructions, visit their website. To integrate Alamofire into your Xcode project using CocoaPods, specify it in your `Podfile`: ```ruby -pod 'Alamofire', '~> 5.2' +pod 'Alamofire' ``` ### Carthage @@ -93,18 +107,18 @@ pod 'Alamofire', '~> 5.2' [Carthage](https://github.com/Carthage/Carthage) is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks. To integrate Alamofire into your Xcode project using Carthage, specify it in your `Cartfile`: ```ogdl -github "Alamofire/Alamofire" ~> 5.2 +github "Alamofire/Alamofire" ``` ### Swift Package Manager -The [Swift Package Manager](https://swift.org/package-manager/) is a tool for automating the distribution of Swift code and is integrated into the `swift` compiler. It is in early development, but Alamofire does support its use on supported platforms. +The [Swift Package Manager](https://swift.org/package-manager/) is a tool for automating the distribution of Swift code and is integrated into the `swift` compiler. Once you have your Swift package set up, adding Alamofire as a dependency is as easy as adding it to the `dependencies` value of your `Package.swift`. ```swift dependencies: [ - .package(url: "https://github.com/Alamofire/Alamofire.git", .upToNextMajor(from: "5.2.0")) + .package(url: "https://github.com/Alamofire/Alamofire.git", .upToNextMajor(from: "5.6.1")) ] ``` @@ -146,6 +160,10 @@ If you prefer not to use any of the aforementioned dependency managers, you can > The `Alamofire.framework` is automagically added as a target dependency, linked framework and embedded framework in a copy files build phase which is all you need to build on the simulator and a device. +## Contributing + +Before contributing to Alamofire, please read the instructions detailed in our [contribution guide](https://github.com/Alamofire/Alamofire/blob/master/CONTRIBUTING.md). + ## Open Radars The following radars have some effect on the current implementation of Alamofire. @@ -153,7 +171,6 @@ The following radars have some effect on the current implementation of Alamofire - [`rdar://21349340`](http://www.openradar.me/radar?id=5517037090635776) - Compiler throwing warning due to toll-free bridging issue in the test case - `rdar://26870455` - Background URL Session Configurations do not work in the simulator - `rdar://26849668` - Some URLProtocol APIs do not properly handle `URLRequest` -- `FB7624529` - `urlSession(_:task:didFinishCollecting:)` never called on watchOS ## Resolved Radars @@ -163,10 +180,8 @@ The following radars have been resolved over time after being filed against the - (Resolved): 9/1/17 in Xcode 9 beta 6. - [`rdar://36082113`](http://openradar.appspot.com/radar?id=4942308441063424) - `URLSessionTaskMetrics` failing to link on watchOS 3.0+ - (Resolved): Just add `CFNetwork` to your linked frameworks. - -## Workarounds - -- Collection of `URLSessionTaskMetrics` is currently disabled on watchOS due to `FB7624529`. +- `FB7624529` - `urlSession(_:task:didFinishCollecting:)` never called on watchOS + - (Resolved): Metrics now collected on watchOS 7+. ## FAQ @@ -182,11 +197,11 @@ Alamofire is owned and maintained by the [Alamofire Software Foundation](http:// If you believe you have identified a security vulnerability with Alamofire, you should report it as soon as possible via email to security@alamofire.org. Please do not post it to a public issue tracker. -## Donations +## Sponsorship The [ASF](https://github.com/Alamofire/Foundation#members) is looking to raise money to officially stay registered as a federal non-profit organization. Registering will allow Foundation members to gain some legal protections and also allow us to put donations to use, tax-free. -Donating to the ASF will enable us to: +Sponsoring the ASF will enable us to: - Pay our yearly legal fees to keep the non-profit in good status - Pay for our mail servers to help us stay on top of all questions and security issues @@ -197,9 +212,15 @@ The community adoption of the ASF libraries has been amazing. We are greatly humbled by your enthusiasm around the projects and want to continue to do everything we can to move the needle forward. With your continued support, the ASF will be able to improve its reach and also provide better legal safety for the core members. If you use any of our libraries for work, see if your employers would be interested in donating. -Any amount you can donate today to help us reach our goal would be greatly appreciated. +Any amount you can donate, whether once or monthly, to help us reach our goal would be greatly appreciated. + +[Sponsor Alamofire](https://github.com/sponsors/Alamofire) + +## Supporters + +[MacStadium](https://macstadium.com) provides Alamofire with a free, hosted Mac mini. -[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=W34WPEE74APJQ) +![Powered by MacStadium](https://raw.githubusercontent.com/Alamofire/Alamofire/master/Resources/MacStadiumLogo.png) ## License diff --git a/Pods/Alamofire/Source/AFError.swift b/Pods/Alamofire/Source/AFError.swift index e8e4fe83..8cd60c70 100644 --- a/Pods/Alamofire/Source/AFError.swift +++ b/Pods/Alamofire/Source/AFError.swift @@ -129,6 +129,7 @@ public enum AFError: Error { case invalidEmptyResponse(type: String) } + #if !(os(Linux) || os(Windows)) /// Underlying reason a server trust evaluation error occurred. public enum ServerTrustFailureReason { /// The output of a server trust evaluation. @@ -178,6 +179,7 @@ public enum AFError: Error { /// Custom server trust evaluation failed due to the associated `Error`. case customEvaluationFailed(error: Error) } + #endif /// The underlying reason the `.urlRequestValidationFailed` public enum URLRequestValidationFailureReason { @@ -209,8 +211,10 @@ public enum AFError: Error { case responseValidationFailed(reason: ResponseValidationFailureReason) /// Response serialization failed. case responseSerializationFailed(reason: ResponseSerializationFailureReason) + #if !(os(Linux) || os(Windows)) /// `ServerTrustEvaluating` instance threw an error during trust evaluation. case serverTrustEvaluationFailed(reason: ServerTrustFailureReason) + #endif /// `Session` which issued the `Request` was deinitialized, most likely because its reference went out of scope. case sessionDeinitialized /// `Session` was explicitly invalidated, possibly with the `Error` produced by the underlying `URLSession`. @@ -310,12 +314,14 @@ extension AFError { return false } + #if !(os(Linux) || os(Windows)) /// Returns whether the instance is `.serverTrustEvaluationFailed`. When `true`, the `underlyingError` property will /// contain the associated value. public var isServerTrustEvaluationError: Bool { if case .serverTrustEvaluationFailed = self { return true } return false } + #endif /// Returns whether the instance is `requestRetryFailed`. When `true`, the `underlyingError` property will /// contain the associated value. @@ -387,8 +393,10 @@ extension AFError { return reason.underlyingError case let .responseSerializationFailed(reason): return reason.underlyingError + #if !(os(Linux) || os(Windows)) case let .serverTrustEvaluationFailed(reason): return reason.underlyingError + #endif case let .sessionInvalidated(error): return error case let .createUploadableFailed(error): @@ -443,10 +451,12 @@ extension AFError { return destination } + #if !(os(Linux) || os(Windows)) /// The download resume data of any underlying network error. Only produced by `DownloadRequest`s. public var downloadResumeData: Data? { (underlyingError as? URLError)?.userInfo[NSURLSessionDownloadTaskResumeData] as? Data } + #endif } extension AFError.ParameterEncodingFailureReason { @@ -600,6 +610,7 @@ extension AFError.ResponseSerializationFailureReason { } } +#if !(os(Linux) || os(Windows)) extension AFError.ServerTrustFailureReason { var output: AFError.ServerTrustFailureReason.Output? { switch self { @@ -642,6 +653,7 @@ extension AFError.ServerTrustFailureReason { } } } +#endif // MARK: - Error Descriptions @@ -676,8 +688,10 @@ extension AFError: LocalizedError { """ case let .sessionInvalidated(error): return "Session was invalidated with error: \(error?.localizedDescription ?? "No description.")" + #if !(os(Linux) || os(Windows)) case let .serverTrustEvaluationFailed(reason): return "Server trust evaluation failed due to reason: \(reason.localizedDescription)" + #endif case let .urlRequestValidationFailed(reason): return "URLRequest validation failed due to reason: \(reason.localizedDescription)" case let .createUploadableFailed(error): @@ -808,6 +822,7 @@ extension AFError.ResponseValidationFailureReason { } } +#if !(os(Linux) || os(Windows)) extension AFError.ServerTrustFailureReason { var localizedDescription: String { switch self { @@ -840,6 +855,7 @@ extension AFError.ServerTrustFailureReason { } } } +#endif extension AFError.URLRequestValidationFailureReason { var localizedDescription: String { diff --git a/Pods/Alamofire/Source/Alamofire.swift b/Pods/Alamofire/Source/Alamofire.swift index bcf43d02..8e2c3f55 100644 --- a/Pods/Alamofire/Source/Alamofire.swift +++ b/Pods/Alamofire/Source/Alamofire.swift @@ -22,8 +22,19 @@ // THE SOFTWARE. // +import Dispatch +import Foundation +#if canImport(FoundationNetworking) +@_exported import FoundationNetworking +#endif + +// Enforce minimum Swift version for all platforms and build systems. +#if swift(<5.3) +#error("Alamofire doesn't support Swift versions below 5.3.") +#endif + /// Reference to `Session.default` for quick bootstrapping and examples. public let AF = Session.default /// Current Alamofire version. Necessary since SPM doesn't use dynamic libraries. Plus this will be more accurate. -let version = "5.4.3" +let version = "5.6.3" diff --git a/Pods/Alamofire/Source/AuthenticationInterceptor.swift b/Pods/Alamofire/Source/AuthenticationInterceptor.swift index 9d7f8360..c3a3f31e 100644 --- a/Pods/Alamofire/Source/AuthenticationInterceptor.swift +++ b/Pods/Alamofire/Source/AuthenticationInterceptor.swift @@ -217,15 +217,15 @@ public class AuthenticationInterceptor: RequestInterceptor wh /// The `Credential` used to authenticate requests. public var credential: Credential? { - get { mutableState.credential } - set { mutableState.credential = newValue } + get { $mutableState.credential } + set { $mutableState.credential = newValue } } let authenticator: AuthenticatorType let queue = DispatchQueue(label: "org.alamofire.authentication.inspector") @Protected - private var mutableState = MutableState() + private var mutableState: MutableState // MARK: Initialization @@ -242,8 +242,7 @@ public class AuthenticationInterceptor: RequestInterceptor wh credential: Credential? = nil, refreshWindow: RefreshWindow? = RefreshWindow()) { self.authenticator = authenticator - mutableState.credential = credential - mutableState.refreshWindow = refreshWindow + mutableState = MutableState(credential: credential, refreshWindow: refreshWindow) } // MARK: Adapt diff --git a/Pods/Alamofire/Source/CachedResponseHandler.swift b/Pods/Alamofire/Source/CachedResponseHandler.swift index b6e0d4b2..e7d0060b 100644 --- a/Pods/Alamofire/Source/CachedResponseHandler.swift +++ b/Pods/Alamofire/Source/CachedResponseHandler.swift @@ -58,9 +58,9 @@ public struct ResponseCacher { case modify((URLSessionDataTask, CachedURLResponse) -> CachedURLResponse?) } - /// Returns a `ResponseCacher` with a follow `Behavior`. + /// Returns a `ResponseCacher` with a `.cache` `Behavior`. public static let cache = ResponseCacher(behavior: .cache) - /// Returns a `ResponseCacher` with a do not follow `Behavior`. + /// Returns a `ResponseCacher` with a `.doNotCache` `Behavior`. public static let doNotCache = ResponseCacher(behavior: .doNotCache) /// The `Behavior` of the `ResponseCacher`. @@ -89,3 +89,21 @@ extension ResponseCacher: CachedResponseHandler { } } } + +#if swift(>=5.5) +extension CachedResponseHandler where Self == ResponseCacher { + /// Provides a `ResponseCacher` which caches the response, if allowed. Equivalent to `ResponseCacher.cache`. + public static var cache: ResponseCacher { .cache } + + /// Provides a `ResponseCacher` which does not cache the response. Equivalent to `ResponseCacher.doNotCache`. + public static var doNotCache: ResponseCacher { .doNotCache } + + /// Creates a `ResponseCacher` which modifies the proposed `CachedURLResponse` using the provided closure. + /// + /// - Parameter closure: Closure used to modify the `CachedURLResponse`. + /// - Returns: The `ResponseCacher`. + public static func modify(using closure: @escaping ((URLSessionDataTask, CachedURLResponse) -> CachedURLResponse?)) -> ResponseCacher { + ResponseCacher(behavior: .modify(closure)) + } +} +#endif diff --git a/Pods/Alamofire/Source/Combine.swift b/Pods/Alamofire/Source/Combine.swift index a1382494..08329fce 100644 --- a/Pods/Alamofire/Source/Combine.swift +++ b/Pods/Alamofire/Source/Combine.swift @@ -22,7 +22,7 @@ // THE SOFTWARE. // -#if canImport(Combine) +#if !((os(iOS) && (arch(i386) || arch(arm))) || os(Windows) || os(Linux)) import Combine import Dispatch @@ -71,14 +71,14 @@ public struct DataResponsePublisher: Publisher { /// /// - Returns: The `AnyPublisher` publishing the `Result` value. public func result() -> AnyPublisher, Never> { - map { $0.result }.eraseToAnyPublisher() + map(\.result).eraseToAnyPublisher() } /// Publishes the `Result` of the `DataResponse` as a single `Value` or fail with the `AFError` instance. /// /// - Returns: The `AnyPublisher` publishing the stream. public func value() -> AnyPublisher { - setFailureType(to: AFError.self).flatMap { $0.result.publisher }.eraseToAnyPublisher() + setFailureType(to: AFError.self).flatMap(\.result.publisher).eraseToAnyPublisher() } public func receive(subscriber: S) where S: Subscriber, DataResponsePublisher.Failure == S.Failure, DataResponsePublisher.Output == S.Input { @@ -87,7 +87,7 @@ public struct DataResponsePublisher: Publisher { downstream: subscriber)) } - private final class Inner: Subscription, Cancellable + private final class Inner: Subscription where Downstream.Input == Output { typealias Failure = Downstream.Failure @@ -197,14 +197,31 @@ extension DataRequest { on: queue) } + @_disfavoredOverload + @available(macOS 10.15, iOS 13, watchOS 6, tvOS 13, *) + @available(*, deprecated, message: "Renamed publishDecodable(type:queue:preprocessor:decoder:emptyResponseCodes:emptyRequestMethods).") + public func publishDecodable(type: T.Type = T.self, + queue: DispatchQueue = .main, + preprocessor: DataPreprocessor = DecodableResponseSerializer.defaultDataPreprocessor, + decoder: DataDecoder = JSONDecoder(), + emptyResponseCodes: Set = DecodableResponseSerializer.defaultEmptyResponseCodes, + emptyResponseMethods: Set = DecodableResponseSerializer.defaultEmptyRequestMethods) -> DataResponsePublisher { + publishResponse(using: DecodableResponseSerializer(dataPreprocessor: preprocessor, + decoder: decoder, + emptyResponseCodes: emptyResponseCodes, + emptyRequestMethods: emptyResponseMethods), + on: queue) + } + /// Creates a `DataResponsePublisher` for this instance and uses a `DecodableResponseSerializer` to serialize the /// response. /// /// - Parameters: - /// - type: `Decodable` type to which to decode response `Data`. Inferred from the context by default. + /// - type: `Decodable` type to which to decode response `Data`. Inferred from the context by + /// default. /// - queue: `DispatchQueue` on which the `DataResponse` will be published. `.main` by default. - /// - preprocessor: `DataPreprocessor` which filters the `Data` before serialization. `PassthroughPreprocessor()` - /// by default. + /// - preprocessor: `DataPreprocessor` which filters the `Data` before serialization. + /// `PassthroughPreprocessor()` by default. /// - decoder: `DataDecoder` instance used to decode response `Data`. `JSONDecoder()` by default. /// - emptyResponseCodes: `Set` of HTTP status codes for which empty responses are allowed. `[204, 205]` by /// default. @@ -218,11 +235,11 @@ extension DataRequest { preprocessor: DataPreprocessor = DecodableResponseSerializer.defaultDataPreprocessor, decoder: DataDecoder = JSONDecoder(), emptyResponseCodes: Set = DecodableResponseSerializer.defaultEmptyResponseCodes, - emptyResponseMethods: Set = DecodableResponseSerializer.defaultEmptyRequestMethods) -> DataResponsePublisher { + emptyRequestMethods: Set = DecodableResponseSerializer.defaultEmptyRequestMethods) -> DataResponsePublisher { publishResponse(using: DecodableResponseSerializer(dataPreprocessor: preprocessor, decoder: decoder, emptyResponseCodes: emptyResponseCodes, - emptyRequestMethods: emptyResponseMethods), + emptyRequestMethods: emptyRequestMethods), on: queue) } @@ -282,7 +299,7 @@ public struct DataStreamPublisher: Publisher { /// /// - Returns: The `AnyPublisher` publishing the stream. public func value() -> AnyPublisher { - result().setFailureType(to: AFError.self).flatMap { $0.publisher }.eraseToAnyPublisher() + result().setFailureType(to: AFError.self).flatMap(\.publisher).eraseToAnyPublisher() } public func receive(subscriber: S) where S: Subscriber, DataStreamPublisher.Failure == S.Failure, DataStreamPublisher.Output == S.Input { @@ -291,7 +308,7 @@ public struct DataStreamPublisher: Publisher { downstream: subscriber)) } - private final class Inner: Subscription, Cancellable + private final class Inner: Subscription where Downstream.Input == Output { typealias Failure = Downstream.Failure @@ -425,14 +442,14 @@ public struct DownloadResponsePublisher: Publisher { /// /// - Returns: The `AnyPublisher` publishing the `Result` value. public func result() -> AnyPublisher, Never> { - map { $0.result }.eraseToAnyPublisher() + map(\.result).eraseToAnyPublisher() } /// Publishes the `Result` of the `DownloadResponse` as a single `Value` or fail with the `AFError` instance. /// /// - Returns: The `AnyPublisher` publishing the stream. public func value() -> AnyPublisher { - setFailureType(to: AFError.self).flatMap { $0.result.publisher }.eraseToAnyPublisher() + setFailureType(to: AFError.self).flatMap(\.result.publisher).eraseToAnyPublisher() } public func receive(subscriber: S) where S: Subscriber, DownloadResponsePublisher.Failure == S.Failure, DownloadResponsePublisher.Output == S.Input { @@ -441,7 +458,7 @@ public struct DownloadResponsePublisher: Publisher { downstream: subscriber)) } - private final class Inner: Subscription, Cancellable + private final class Inner: Subscription where Downstream.Input == Output { typealias Failure = Downstream.Failure @@ -538,7 +555,7 @@ extension DownloadRequest { on: queue) } - /// Creates a `DataResponsePublisher` for this instance and uses a `StringResponseSerializer` to serialize the + /// Creates a `DownloadResponsePublisher` for this instance and uses a `StringResponseSerializer` to serialize the /// response. /// /// - Parameters: @@ -567,19 +584,35 @@ extension DownloadRequest { on: queue) } - /// Creates a `DataResponsePublisher` for this instance and uses a `DecodableResponseSerializer` to serialize the - /// response. + @_disfavoredOverload + @available(macOS 10.15, iOS 13, watchOS 6, tvOS 13, *) + @available(*, deprecated, message: "Renamed publishDecodable(type:queue:preprocessor:decoder:emptyResponseCodes:emptyRequestMethods).") + public func publishDecodable(type: T.Type = T.self, + queue: DispatchQueue = .main, + preprocessor: DataPreprocessor = DecodableResponseSerializer.defaultDataPreprocessor, + decoder: DataDecoder = JSONDecoder(), + emptyResponseCodes: Set = DecodableResponseSerializer.defaultEmptyResponseCodes, + emptyResponseMethods: Set = DecodableResponseSerializer.defaultEmptyRequestMethods) -> DownloadResponsePublisher { + publishResponse(using: DecodableResponseSerializer(dataPreprocessor: preprocessor, + decoder: decoder, + emptyResponseCodes: emptyResponseCodes, + emptyRequestMethods: emptyResponseMethods), + on: queue) + } + + /// Creates a `DownloadResponsePublisher` for this instance and uses a `DecodableResponseSerializer` to serialize + /// the response. /// /// - Parameters: /// - type: `Decodable` type to which to decode response `Data`. Inferred from the context by default. /// - queue: `DispatchQueue` on which the `DataResponse` will be published. `.main` by default. - /// - preprocessor: `DataPreprocessor` which filters the `Data` before serialization. `PassthroughPreprocessor()` - /// by default. + /// - preprocessor: `DataPreprocessor` which filters the `Data` before serialization. + /// `PassthroughPreprocessor()` by default. /// - decoder: `DataDecoder` instance used to decode response `Data`. `JSONDecoder()` by default. /// - emptyResponseCodes: `Set` of HTTP status codes for which empty responses are allowed. `[204, 205]` by /// default. - /// - emptyRequestMethods: `Set` of `HTTPMethod`s for which empty responses are allowed, regardless of - /// status code. `[.head]` by default. + /// - emptyRequestMethods: `Set` of `HTTPMethod`s for which empty responses are allowed, regardless + /// of status code. `[.head]` by default. /// /// - Returns: The `DownloadResponsePublisher`. @available(macOS 10.15, iOS 13, watchOS 6, tvOS 13, *) @@ -588,11 +621,11 @@ extension DownloadRequest { preprocessor: DataPreprocessor = DecodableResponseSerializer.defaultDataPreprocessor, decoder: DataDecoder = JSONDecoder(), emptyResponseCodes: Set = DecodableResponseSerializer.defaultEmptyResponseCodes, - emptyResponseMethods: Set = DecodableResponseSerializer.defaultEmptyRequestMethods) -> DownloadResponsePublisher { + emptyRequestMethods: Set = DecodableResponseSerializer.defaultEmptyRequestMethods) -> DownloadResponsePublisher { publishResponse(using: DecodableResponseSerializer(dataPreprocessor: preprocessor, decoder: decoder, emptyResponseCodes: emptyResponseCodes, - emptyRequestMethods: emptyResponseMethods), + emptyRequestMethods: emptyRequestMethods), on: queue) } } diff --git a/Pods/Alamofire/Source/HTTPHeaders.swift b/Pods/Alamofire/Source/HTTPHeaders.swift index 7829fc69..cdbdbc6b 100644 --- a/Pods/Alamofire/Source/HTTPHeaders.swift +++ b/Pods/Alamofire/Source/HTTPHeaders.swift @@ -183,7 +183,7 @@ extension HTTPHeaders: Collection { extension HTTPHeaders: CustomStringConvertible { public var description: String { - headers.map { $0.description } + headers.map(\.description) .joined(separator: "\n") } } @@ -360,9 +360,7 @@ extension HTTPHeader { /// `preferredLanguages`. /// /// See the [Accept-Language HTTP header documentation](https://tools.ietf.org/html/rfc7231#section-5.3.5). - public static let defaultAcceptLanguage: HTTPHeader = { - .acceptLanguage(Locale.preferredLanguages.prefix(6).qualityEncoded()) - }() + public static let defaultAcceptLanguage: HTTPHeader = .acceptLanguage(Locale.preferredLanguages.prefix(6).qualityEncoded()) /// Returns Alamofire's default `User-Agent` header. /// @@ -371,12 +369,12 @@ extension HTTPHeader { /// Example: `iOS Example/1.0 (org.alamofire.iOS-Example; build:1; iOS 13.0.0) Alamofire/5.0.0` public static let defaultUserAgent: HTTPHeader = { let info = Bundle.main.infoDictionary - let executable = (info?[kCFBundleExecutableKey as String] as? String) ?? + let executable = (info?["CFBundleExecutable"] as? String) ?? (ProcessInfo.processInfo.arguments.first?.split(separator: "/").last.map(String.init)) ?? "Unknown" - let bundle = info?[kCFBundleIdentifierKey as String] as? String ?? "Unknown" + let bundle = info?["CFBundleIdentifier"] as? String ?? "Unknown" let appVersion = info?["CFBundleShortVersionString"] as? String ?? "Unknown" - let appBuild = info?[kCFBundleVersionKey as String] as? String ?? "Unknown" + let appBuild = info?["CFBundleVersion"] as? String ?? "Unknown" let osNameVersion: String = { let version = ProcessInfo.processInfo.operatingSystemVersion diff --git a/Pods/Alamofire/Source/HTTPMethod.swift b/Pods/Alamofire/Source/HTTPMethod.swift index 4867c1e9..539d2146 100644 --- a/Pods/Alamofire/Source/HTTPMethod.swift +++ b/Pods/Alamofire/Source/HTTPMethod.swift @@ -43,6 +43,8 @@ public struct HTTPMethod: RawRepresentable, Equatable, Hashable { public static let post = HTTPMethod(rawValue: "POST") /// `PUT` method. public static let put = HTTPMethod(rawValue: "PUT") + /// `QUERY` method. + public static let query = HTTPMethod(rawValue: "QUERY") /// `TRACE` method. public static let trace = HTTPMethod(rawValue: "TRACE") diff --git a/Pods/Alamofire/Source/MultipartFormData.swift b/Pods/Alamofire/Source/MultipartFormData.swift index d9cecef5..364b614b 100644 --- a/Pods/Alamofire/Source/MultipartFormData.swift +++ b/Pods/Alamofire/Source/MultipartFormData.swift @@ -213,6 +213,7 @@ open class MultipartFormData { // Check 2 - is file URL reachable? //============================================================ + #if !(os(Linux) || os(Windows)) do { let isReachable = try fileURL.checkPromisedItemIsReachable() guard isReachable else { @@ -223,6 +224,7 @@ open class MultipartFormData { setBodyPartError(withReason: .bodyPartFileNotReachableWithError(atURL: fileURL, error: error)) return } + #endif //============================================================ // Check 3 - is file URL a directory? @@ -506,18 +508,6 @@ open class MultipartFormData { } } - // MARK: - Private - Mime Type - - private func mimeType(forPathExtension pathExtension: String) -> String { - if - let id = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, pathExtension as CFString, nil)?.takeRetainedValue(), - let contentType = UTTypeCopyPreferredTagWithClass(id, kUTTagClassMIMEType)?.takeRetainedValue() { - return contentType as String - } - - return "application/octet-stream" - } - // MARK: - Private - Content Headers private func contentHeaders(withName name: String, fileName: String? = nil, mimeType: String? = nil) -> HTTPHeaders { @@ -551,3 +541,44 @@ open class MultipartFormData { bodyPartError = AFError.multipartEncodingFailed(reason: reason) } } + +#if canImport(UniformTypeIdentifiers) +import UniformTypeIdentifiers + +extension MultipartFormData { + // MARK: - Private - Mime Type + + private func mimeType(forPathExtension pathExtension: String) -> String { + if #available(iOS 14, macOS 11, tvOS 14, watchOS 7, *) { + return UTType(filenameExtension: pathExtension)?.preferredMIMEType ?? "application/octet-stream" + } else { + if + let id = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, pathExtension as CFString, nil)?.takeRetainedValue(), + let contentType = UTTypeCopyPreferredTagWithClass(id, kUTTagClassMIMEType)?.takeRetainedValue() { + return contentType as String + } + + return "application/octet-stream" + } + } +} + +#else + +extension MultipartFormData { + // MARK: - Private - Mime Type + + private func mimeType(forPathExtension pathExtension: String) -> String { + #if !(os(Linux) || os(Windows)) + if + let id = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, pathExtension as CFString, nil)?.takeRetainedValue(), + let contentType = UTTypeCopyPreferredTagWithClass(id, kUTTagClassMIMEType)?.takeRetainedValue() { + return contentType as String + } + #endif + + return "application/octet-stream" + } +} + +#endif diff --git a/Pods/Alamofire/Source/MultipartUpload.swift b/Pods/Alamofire/Source/MultipartUpload.swift index 606bd33e..ceda21f2 100644 --- a/Pods/Alamofire/Source/MultipartUpload.swift +++ b/Pods/Alamofire/Source/MultipartUpload.swift @@ -45,8 +45,8 @@ final class MultipartUpload { func build() throws -> UploadRequest.Uploadable { let uploadable: UploadRequest.Uploadable - if multipartFormData.contentLength < encodingMemoryThreshold { - let data = try multipartFormData.encode() + if $multipartFormData.contentLength < encodingMemoryThreshold { + let data = try $multipartFormData.read { try $0.encode() } uploadable = .data(data) } else { @@ -58,7 +58,7 @@ final class MultipartUpload { try fileManager.createDirectory(at: directoryURL, withIntermediateDirectories: true, attributes: nil) do { - try multipartFormData.writeEncodedData(to: fileURL) + try $multipartFormData.read { try $0.writeEncodedData(to: fileURL) } } catch { // Cleanup after attempted write if it fails. try? fileManager.removeItem(at: fileURL) diff --git a/Pods/Alamofire/Source/NetworkReachabilityManager.swift b/Pods/Alamofire/Source/NetworkReachabilityManager.swift index b97b62fa..deeb3a42 100644 --- a/Pods/Alamofire/Source/NetworkReachabilityManager.swift +++ b/Pods/Alamofire/Source/NetworkReachabilityManager.swift @@ -22,7 +22,7 @@ // THE SOFTWARE. // -#if !(os(watchOS) || os(Linux)) +#if !(os(watchOS) || os(Linux) || os(Windows)) import Foundation import SystemConfiguration diff --git a/Pods/Alamofire/Source/ParameterEncoder.swift b/Pods/Alamofire/Source/ParameterEncoder.swift index f4facbee..2263660d 100644 --- a/Pods/Alamofire/Source/ParameterEncoder.swift +++ b/Pods/Alamofire/Source/ParameterEncoder.swift @@ -92,6 +92,21 @@ open class JSONParameterEncoder: ParameterEncoder { } } +#if swift(>=5.5) +extension ParameterEncoder where Self == JSONParameterEncoder { + /// Provides a default `JSONParameterEncoder` instance. + public static var json: JSONParameterEncoder { JSONParameterEncoder() } + + /// Creates a `JSONParameterEncoder` using the provided `JSONEncoder`. + /// + /// - Parameter encoder: `JSONEncoder` used to encode parameters. `JSONEncoder()` by default. + /// - Returns: The `JSONParameterEncoder`. + public static func json(encoder: JSONEncoder = JSONEncoder()) -> JSONParameterEncoder { + JSONParameterEncoder(encoder: encoder) + } +} +#endif + /// A `ParameterEncoder` that encodes types as URL-encoded query strings to be set on the URL or as body data, depending /// on the `Destination` set. /// @@ -182,3 +197,21 @@ open class URLEncodedFormParameterEncoder: ParameterEncoder { return request } } + +#if swift(>=5.5) +extension ParameterEncoder where Self == URLEncodedFormParameterEncoder { + /// Provides a default `URLEncodedFormParameterEncoder` instance. + public static var urlEncodedForm: URLEncodedFormParameterEncoder { URLEncodedFormParameterEncoder() } + + /// Creates a `URLEncodedFormParameterEncoder` with the provided encoder and destination. + /// + /// - Parameters: + /// - encoder: `URLEncodedFormEncoder` used to encode the parameters. `URLEncodedFormEncoder()` by default. + /// - destination: `Destination` to which to encode the parameters. `.methodDependent` by default. + /// - Returns: The `URLEncodedFormParameterEncoder`. + public static func urlEncodedForm(encoder: URLEncodedFormEncoder = URLEncodedFormEncoder(), + destination: URLEncodedFormParameterEncoder.Destination = .methodDependent) -> URLEncodedFormParameterEncoder { + URLEncodedFormParameterEncoder(encoder: encoder, destination: destination) + } +} +#endif diff --git a/Pods/Alamofire/Source/ParameterEncoding.swift b/Pods/Alamofire/Source/ParameterEncoding.swift index 6e72604c..bb66781a 100644 --- a/Pods/Alamofire/Source/ParameterEncoding.swift +++ b/Pods/Alamofire/Source/ParameterEncoding.swift @@ -85,13 +85,17 @@ public struct URLEncoding: ParameterEncoding { case brackets /// No brackets are appended. The key is encoded as is. case noBrackets + /// Brackets containing the item index are appended. This matches the jQuery and Node.js behavior. + case indexInBrackets - func encode(key: String) -> String { + func encode(key: String, atIndex index: Int) -> String { switch self { case .brackets: return "\(key)[]" case .noBrackets: return key + case .indexInBrackets: + return "\(key)[\(index)]" } } } @@ -193,8 +197,8 @@ public struct URLEncoding: ParameterEncoding { components += queryComponents(fromKey: "\(key)[\(nestedKey)]", value: value) } case let array as [Any]: - for value in array { - components += queryComponents(fromKey: arrayEncoding.encode(key: key), value: value) + for (index, value) in array.enumerated() { + components += queryComponents(fromKey: arrayEncoding.encode(key: key, atIndex: index), value: value) } case let number as NSNumber: if number.isBool { @@ -235,6 +239,10 @@ public struct URLEncoding: ParameterEncoding { /// Uses `JSONSerialization` to create a JSON representation of the parameters object, which is set as the body of the /// request. The `Content-Type` HTTP header field of an encoded request is set to `application/json`. public struct JSONEncoding: ParameterEncoding { + public enum Error: Swift.Error { + case invalidJSONObject + } + // MARK: Properties /// Returns a `JSONEncoding` instance with default writing options. @@ -262,6 +270,10 @@ public struct JSONEncoding: ParameterEncoding { guard let parameters = parameters else { return urlRequest } + guard JSONSerialization.isValidJSONObject(parameters) else { + throw AFError.parameterEncodingFailed(reason: .jsonEncodingFailed(error: Error.invalidJSONObject)) + } + do { let data = try JSONSerialization.data(withJSONObject: parameters, options: options) @@ -290,6 +302,10 @@ public struct JSONEncoding: ParameterEncoding { guard let jsonObject = jsonObject else { return urlRequest } + guard JSONSerialization.isValidJSONObject(jsonObject) else { + throw AFError.parameterEncodingFailed(reason: .jsonEncodingFailed(error: Error.invalidJSONObject)) + } + do { let data = try JSONSerialization.data(withJSONObject: jsonObject, options: options) @@ -306,6 +322,15 @@ public struct JSONEncoding: ParameterEncoding { } } +extension JSONEncoding.Error { + public var localizedDescription: String { + """ + Invalid JSON object provided for parameter or object encoding. \ + This is most likely due to a value which can't be represented in Objective-C. + """ + } +} + // MARK: - extension NSNumber { diff --git a/Pods/Alamofire/Source/Protected.swift b/Pods/Alamofire/Source/Protected.swift index 6288205e..2c056fa5 100644 --- a/Pods/Alamofire/Source/Protected.swift +++ b/Pods/Alamofire/Source/Protected.swift @@ -35,51 +35,24 @@ extension Lock { /// - Parameter closure: The closure to run. /// /// - Returns: The value the closure generated. - func around(_ closure: () -> T) -> T { + func around(_ closure: () throws -> T) rethrows -> T { lock(); defer { unlock() } - return closure() + return try closure() } /// Execute a closure while acquiring the lock. /// /// - Parameter closure: The closure to run. - func around(_ closure: () -> Void) { + func around(_ closure: () throws -> Void) rethrows { lock(); defer { unlock() } - closure() + try closure() } } -#if os(Linux) -/// A `pthread_mutex_t` wrapper. -final class MutexLock: Lock { - private var mutex: UnsafeMutablePointer +#if os(Linux) || os(Windows) - init() { - mutex = .allocate(capacity: 1) - - var attr = pthread_mutexattr_t() - pthread_mutexattr_init(&attr) - pthread_mutexattr_settype(&attr, .init(PTHREAD_MUTEX_ERRORCHECK)) - - let error = pthread_mutex_init(mutex, &attr) - precondition(error == 0, "Failed to create pthread_mutex") - } +extension NSLock: Lock {} - deinit { - let error = pthread_mutex_destroy(mutex) - precondition(error == 0, "Failed to destroy pthread_mutex") - } - - fileprivate func lock() { - let error = pthread_mutex_lock(mutex) - precondition(error == 0, "Failed to lock pthread_mutex") - } - - fileprivate func unlock() { - let error = pthread_mutex_unlock(mutex) - precondition(error == 0, "Failed to unlock pthread_mutex") - } -} #endif #if os(macOS) || os(iOS) || os(watchOS) || os(tvOS) @@ -113,8 +86,8 @@ final class UnfairLock: Lock { final class Protected { #if os(macOS) || os(iOS) || os(watchOS) || os(tvOS) private let lock = UnfairLock() - #elseif os(Linux) - private let lock = MutexLock() + #elseif os(Linux) || os(Windows) + private let lock = NSLock() #endif private var value: T @@ -139,8 +112,8 @@ final class Protected { /// - Parameter closure: The closure to execute. /// /// - Returns: The return value of the closure passed. - func read(_ closure: (T) -> U) -> U { - lock.around { closure(self.value) } + func read(_ closure: (T) throws -> U) rethrows -> U { + try lock.around { try closure(self.value) } } /// Synchronously modify the protected value. @@ -149,53 +122,17 @@ final class Protected { /// /// - Returns: The modified value. @discardableResult - func write(_ closure: (inout T) -> U) -> U { - lock.around { closure(&self.value) } + func write(_ closure: (inout T) throws -> U) rethrows -> U { + try lock.around { try closure(&self.value) } } subscript(dynamicMember keyPath: WritableKeyPath) -> Property { get { lock.around { value[keyPath: keyPath] } } set { lock.around { value[keyPath: keyPath] = newValue } } } -} -extension Protected where T: RangeReplaceableCollection { - /// Adds a new element to the end of this protected collection. - /// - /// - Parameter newElement: The `Element` to append. - func append(_ newElement: T.Element) { - write { (ward: inout T) in - ward.append(newElement) - } - } - - /// Adds the elements of a sequence to the end of this protected collection. - /// - /// - Parameter newElements: The `Sequence` to append. - func append(contentsOf newElements: S) where S.Element == T.Element { - write { (ward: inout T) in - ward.append(contentsOf: newElements) - } - } - - /// Add the elements of a collection to the end of the protected collection. - /// - /// - Parameter newElements: The `Collection` to append. - func append(contentsOf newElements: C) where C.Element == T.Element { - write { (ward: inout T) in - ward.append(contentsOf: newElements) - } - } -} - -extension Protected where T == Data? { - /// Adds the contents of a `Data` value to the end of the protected `Data`. - /// - /// - Parameter data: The `Data` to be appended. - func append(_ data: Data) { - write { (ward: inout T) in - ward?.append(data) - } + subscript(dynamicMember keyPath: KeyPath) -> Property { + lock.around { value[keyPath: keyPath] } } } diff --git a/Pods/Alamofire/Source/RedirectHandler.swift b/Pods/Alamofire/Source/RedirectHandler.swift index b6c069ca..5c232b8a 100644 --- a/Pods/Alamofire/Source/RedirectHandler.swift +++ b/Pods/Alamofire/Source/RedirectHandler.swift @@ -93,3 +93,21 @@ extension Redirector: RedirectHandler { } } } + +#if swift(>=5.5) +extension RedirectHandler where Self == Redirector { + /// Provides a `Redirector` which follows redirects. Equivalent to `Redirector.follow`. + public static var follow: Redirector { .follow } + + /// Provides a `Redirector` which does not follow redirects. Equivalent to `Redirector.doNotFollow`. + public static var doNotFollow: Redirector { .doNotFollow } + + /// Creates a `Redirector` which modifies the redirected `URLRequest` using the provided closure. + /// + /// - Parameter closure: Closure used to modify the redirect. + /// - Returns: The `Redirector`. + public static func modify(using closure: @escaping (URLSessionTask, URLRequest, HTTPURLResponse) -> URLRequest?) -> Redirector { + Redirector(behavior: .modify(closure)) + } +} +#endif diff --git a/Pods/Alamofire/Source/Request.swift b/Pods/Alamofire/Source/Request.swift index 849f8784..d10bcee7 100644 --- a/Pods/Alamofire/Source/Request.swift +++ b/Pods/Alamofire/Source/Request.swift @@ -120,6 +120,8 @@ public class Request { /// Whether the instance has had `finish()` called and is running the serializers. Should be replaced with a /// representation in the state machine in the future. var isFinishing = false + /// Actions to run when requests are finished. Use for concurrency support. + var finishHandlers: [() -> Void] = [] } /// Protected `MutableState` value that provides thread-safe access to state values. @@ -127,7 +129,7 @@ public class Request { fileprivate var mutableState = MutableState() /// `State` of the `Request`. - public var state: State { mutableState.state } + public var state: State { $mutableState.state } /// Returns whether `state` is `.initialized`. public var isInitialized: Bool { state == .initialized } /// Returns whether `state is `.resumed`. @@ -150,38 +152,38 @@ public class Request { public let downloadProgress = Progress(totalUnitCount: 0) /// `ProgressHandler` called when `uploadProgress` is updated, on the provided `DispatchQueue`. private var uploadProgressHandler: (handler: ProgressHandler, queue: DispatchQueue)? { - get { mutableState.uploadProgressHandler } - set { mutableState.uploadProgressHandler = newValue } + get { $mutableState.uploadProgressHandler } + set { $mutableState.uploadProgressHandler = newValue } } /// `ProgressHandler` called when `downloadProgress` is updated, on the provided `DispatchQueue`. fileprivate var downloadProgressHandler: (handler: ProgressHandler, queue: DispatchQueue)? { - get { mutableState.downloadProgressHandler } - set { mutableState.downloadProgressHandler = newValue } + get { $mutableState.downloadProgressHandler } + set { $mutableState.downloadProgressHandler = newValue } } // MARK: Redirect Handling /// `RedirectHandler` set on the instance. public private(set) var redirectHandler: RedirectHandler? { - get { mutableState.redirectHandler } - set { mutableState.redirectHandler = newValue } + get { $mutableState.redirectHandler } + set { $mutableState.redirectHandler = newValue } } // MARK: Cached Response Handling /// `CachedResponseHandler` set on the instance. public private(set) var cachedResponseHandler: CachedResponseHandler? { - get { mutableState.cachedResponseHandler } - set { mutableState.cachedResponseHandler = newValue } + get { $mutableState.cachedResponseHandler } + set { $mutableState.cachedResponseHandler = newValue } } // MARK: URLCredential /// `URLCredential` used for authentication challenges. Created by calling one of the `authenticate` methods. public private(set) var credential: URLCredential? { - get { mutableState.credential } - set { mutableState.credential = newValue } + get { $mutableState.credential } + set { $mutableState.credential = newValue } } // MARK: Validators @@ -193,7 +195,7 @@ public class Request { // MARK: URLRequests /// All `URLRequests` created on behalf of the `Request`, including original and adapted requests. - public var requests: [URLRequest] { mutableState.requests } + public var requests: [URLRequest] { $mutableState.requests } /// First `URLRequest` created on behalf of the `Request`. May not be the first one actually executed. public var firstRequest: URLRequest? { requests.first } /// Last `URLRequest` created on behalf of the `Request`. @@ -203,7 +205,7 @@ public class Request { /// `URLRequest`s from all of the `URLSessionTask`s executed on behalf of the `Request`. May be different from /// `requests` due to `URLSession` manipulation. - public var performedRequests: [URLRequest] { $mutableState.read { $0.tasks.compactMap { $0.currentRequest } } } + public var performedRequests: [URLRequest] { $mutableState.read { $0.tasks.compactMap(\.currentRequest) } } // MARK: HTTPURLResponse @@ -214,7 +216,7 @@ public class Request { // MARK: Tasks /// All `URLSessionTask`s created on behalf of the `Request`. - public var tasks: [URLSessionTask] { mutableState.tasks } + public var tasks: [URLSessionTask] { $mutableState.tasks } /// First `URLSessionTask` created on behalf of the `Request`. public var firstTask: URLSessionTask? { tasks.first } /// Last `URLSessionTask` crated on behalf of the `Request`. @@ -225,7 +227,7 @@ public class Request { // MARK: Metrics /// All `URLSessionTaskMetrics` gathered on behalf of the `Request`. Should correspond to the `tasks` created. - public var allMetrics: [URLSessionTaskMetrics] { mutableState.metrics } + public var allMetrics: [URLSessionTaskMetrics] { $mutableState.metrics } /// First `URLSessionTaskMetrics` gathered on behalf of the `Request`. public var firstMetrics: URLSessionTaskMetrics? { allMetrics.first } /// Last `URLSessionTaskMetrics` gathered on behalf of the `Request`. @@ -236,14 +238,14 @@ public class Request { // MARK: Retry Count /// Number of times the `Request` has been retried. - public var retryCount: Int { mutableState.retryCount } + public var retryCount: Int { $mutableState.retryCount } // MARK: Error /// `Error` returned from Alamofire internally, from the network request directly, or any validators executed. public fileprivate(set) var error: AFError? { - get { mutableState.error } - set { mutableState.error = newValue } + get { $mutableState.error } + set { $mutableState.error = newValue } } /// Default initializer for the `Request` superclass. @@ -491,7 +493,7 @@ public class Request { func retryOrFinish(error: AFError?) { dispatchPrecondition(condition: .onQueue(underlyingQueue)) - guard let error = error, let delegate = delegate else { finish(); return } + guard !isCancelled, let error = error, let delegate = delegate else { finish(); return } delegate.retryResult(for: self, dueTo: error) { retryResult in switch retryResult { @@ -511,9 +513,9 @@ public class Request { func finish(error: AFError? = nil) { dispatchPrecondition(condition: .onQueue(underlyingQueue)) - guard !mutableState.isFinishing else { return } + guard !$mutableState.isFinishing else { return } - mutableState.isFinishing = true + $mutableState.isFinishing = true if let error = error { self.error = error } @@ -752,7 +754,7 @@ public class Request { /// - Returns: The instance. @discardableResult public func authenticate(with credential: URLCredential) -> Self { - mutableState.credential = credential + $mutableState.credential = credential return self } @@ -768,7 +770,7 @@ public class Request { /// - Returns: The instance. @discardableResult public func downloadProgress(queue: DispatchQueue = .main, closure: @escaping ProgressHandler) -> Self { - mutableState.downloadProgressHandler = (handler: closure, queue: queue) + $mutableState.downloadProgressHandler = (handler: closure, queue: queue) return self } @@ -784,7 +786,7 @@ public class Request { /// - Returns: The instance. @discardableResult public func uploadProgress(queue: DispatchQueue = .main, closure: @escaping ProgressHandler) -> Self { - mutableState.uploadProgressHandler = (handler: closure, queue: queue) + $mutableState.uploadProgressHandler = (handler: closure, queue: queue) return self } @@ -920,10 +922,25 @@ public class Request { // MARK: Cleanup + /// Adds a `finishHandler` closure to be called when the request completes. + /// + /// - Parameter closure: Closure to be called when the request finishes. + func onFinish(perform finishHandler: @escaping () -> Void) { + guard !isFinished else { finishHandler(); return } + + $mutableState.write { state in + state.finishHandlers.append(finishHandler) + } + } + /// Final cleanup step executed when the instance finishes response serialization. func cleanup() { delegate?.cleanup(after: self) - // No-op: override in subclass + let handlers = $mutableState.finishHandlers + handlers.forEach { $0() } + $mutableState.write { state in + state.finishHandlers.removeAll() + } } } @@ -1128,7 +1145,7 @@ public class DataRequest: Request { return session.dataTask(with: copiedRequest) } - /// Called to updated the `downloadProgress` of the instance. + /// Called to update the `downloadProgress` of the instance. func updateDownloadProgress() { let totalBytesReceived = Int64(data?.count ?? 0) let totalBytesExpected = task?.response?.expectedContentLength ?? NSURLSessionTransferSizeUnknown @@ -1298,12 +1315,14 @@ public final class DataStreamRequest: Request { func didReceive(data: Data) { $streamMutableState.write { state in + #if !(os(Linux) || os(Windows)) if let stream = state.outputStream { underlyingQueue.async { var bytes = Array(data) stream.write(&bytes, maxLength: bytes.count) } } + #endif state.numberOfExecutingStreams += state.streams.count let localState = state underlyingQueue.async { localState.streams.forEach { $0(data) } } @@ -1337,6 +1356,7 @@ public final class DataStreamRequest: Request { return self } + #if !(os(Linux) || os(Windows)) /// Produces an `InputStream` that receives the `Data` received by the instance. /// /// - Note: The `InputStream` produced by this method must have `open()` called before being able to read `Data`. @@ -1359,6 +1379,7 @@ public final class DataStreamRequest: Request { return inputStream } + #endif func capturingError(from closure: () throws -> Void) { do { @@ -1532,9 +1553,16 @@ public class DownloadRequest: Request { /// using the `download(resumingWith data:)` API. /// /// - Note: For more information about `resumeData`, see [Apple's documentation](https://developer.apple.com/documentation/foundation/urlsessiondownloadtask/1411634-cancel). - public var resumeData: Data? { mutableDownloadState.resumeData ?? error?.downloadResumeData } + public var resumeData: Data? { + #if !(os(Linux) || os(Windows)) + return $mutableDownloadState.resumeData ?? error?.downloadResumeData + #else + return $mutableDownloadState.resumeData + #endif + } + /// If the download is successful, the `URL` where the file was downloaded. - public var fileURL: URL? { mutableDownloadState.fileURL } + public var fileURL: URL? { $mutableDownloadState.fileURL } // MARK: Initial State @@ -1592,7 +1620,7 @@ public class DownloadRequest: Request { eventMonitor?.request(self, didFinishDownloadingUsing: task, with: result) switch result { - case let .success(url): mutableDownloadState.fileURL = url + case let .success(url): $mutableDownloadState.fileURL = url case let .failure(error): self.error = error } } @@ -1686,14 +1714,14 @@ public class DownloadRequest: Request { // Resume to ensure metrics are gathered. task.resume() task.cancel { resumeData in - self.mutableDownloadState.resumeData = resumeData + self.$mutableDownloadState.resumeData = resumeData self.underlyingQueue.async { self.didCancelTask(task) } completionHandler(resumeData) } } else { // Resume to ensure metrics are gathered. task.resume() - task.cancel(byProducingResumeData: { _ in }) + task.cancel() self.underlyingQueue.async { self.didCancelTask(task) } } } @@ -1771,6 +1799,8 @@ public class UploadRequest: DataRequest { /// `underlyingQueue`, but can be passed another queue from a `Session`. /// - eventMonitor: `EventMonitor` called for event callbacks from internal `Request` actions. /// - interceptor: `RequestInterceptor` used throughout the request lifecycle. + /// - fileManager: `FileManager` used to perform cleanup tasks, including the removal of multipart form + /// encoded payloads written to disk. /// - delegate: `RequestDelegate` that provides an interface to actions not performed by the `Request`. init(id: UUID = UUID(), convertible: UploadConvertible, @@ -1854,7 +1884,7 @@ public class UploadRequest: DataRequest { defer { super.cleanup() } guard - let uploadable = self.uploadable, + let uploadable = uploadable, case let .file(url, shouldRemove) = uploadable, shouldRemove else { return } diff --git a/Pods/Alamofire/Source/RequestInterceptor.swift b/Pods/Alamofire/Source/RequestInterceptor.swift index 1912e9c1..7ed39a5c 100644 --- a/Pods/Alamofire/Source/RequestInterceptor.swift +++ b/Pods/Alamofire/Source/RequestInterceptor.swift @@ -24,6 +24,17 @@ import Foundation +/// Stores all state associated with a `URLRequest` being adapted. +public struct RequestAdapterState { + /// The `UUID` of the `Request` associated with the `URLRequest` to adapt. + public let requestID: UUID + + /// The `Session` associated with the `URLRequest` to adapt. + public let session: Session +} + +// MARK: - + /// A type that can inspect and optionally adapt a `URLRequest` in some manner if necessary. public protocol RequestAdapter { /// Inspects and adapts the specified `URLRequest` in some manner and calls the completion handler with the Result. @@ -33,6 +44,20 @@ public protocol RequestAdapter { /// - session: The `Session` that will execute the `URLRequest`. /// - completion: The completion handler that must be called when adaptation is complete. func adapt(_ urlRequest: URLRequest, for session: Session, completion: @escaping (Result) -> Void) + + /// Inspects and adapts the specified `URLRequest` in some manner and calls the completion handler with the Result. + /// + /// - Parameters: + /// - urlRequest: The `URLRequest` to adapt. + /// - state: The `RequestAdapterState` associated with the `URLRequest`. + /// - completion: The completion handler that must be called when adaptation is complete. + func adapt(_ urlRequest: URLRequest, using state: RequestAdapterState, completion: @escaping (Result) -> Void) +} + +extension RequestAdapter { + public func adapt(_ urlRequest: URLRequest, using state: RequestAdapterState, completion: @escaping (Result) -> Void) { + adapt(urlRequest, for: state.session, completion: completion) + } } // MARK: - @@ -126,8 +151,24 @@ open class Adapter: RequestInterceptor { open func adapt(_ urlRequest: URLRequest, for session: Session, completion: @escaping (Result) -> Void) { adaptHandler(urlRequest, session, completion) } + + open func adapt(_ urlRequest: URLRequest, using state: RequestAdapterState, completion: @escaping (Result) -> Void) { + adaptHandler(urlRequest, state.session, completion) + } } +#if swift(>=5.5) +extension RequestAdapter where Self == Adapter { + /// Creates an `Adapter` using the provided `AdaptHandler` closure. + /// + /// - Parameter closure: `AdaptHandler` to use to adapt the request. + /// - Returns: The `Adapter`. + public static func adapter(using closure: @escaping AdaptHandler) -> Adapter { + Adapter(closure) + } +} +#endif + // MARK: - /// Closure-based `RequestRetrier`. @@ -149,6 +190,18 @@ open class Retrier: RequestInterceptor { } } +#if swift(>=5.5) +extension RequestRetrier where Self == Retrier { + /// Creates a `Retrier` using the provided `RetryHandler` closure. + /// + /// - Parameter closure: `RetryHandler` to use to retry the request. + /// - Returns: The `Retrier`. + public static func retrier(using closure: @escaping RetryHandler) -> Retrier { + Retrier(closure) + } +} +#endif + // MARK: - /// `RequestInterceptor` which can use multiple `RequestAdapter` and `RequestRetrier` values. @@ -213,6 +266,30 @@ open class Interceptor: RequestInterceptor { } } + open func adapt(_ urlRequest: URLRequest, using state: RequestAdapterState, completion: @escaping (Result) -> Void) { + adapt(urlRequest, using: state, adapters: adapters, completion: completion) + } + + private func adapt(_ urlRequest: URLRequest, + using state: RequestAdapterState, + adapters: [RequestAdapter], + completion: @escaping (Result) -> Void) { + var pendingAdapters = adapters + + guard !pendingAdapters.isEmpty else { completion(.success(urlRequest)); return } + + let adapter = pendingAdapters.removeFirst() + + adapter.adapt(urlRequest, using: state) { result in + switch result { + case let .success(urlRequest): + self.adapt(urlRequest, using: state, adapters: pendingAdapters, completion: completion) + case .failure: + completion(result) + } + } + } + open func retry(_ request: Request, for session: Session, dueTo error: Error, @@ -242,3 +319,39 @@ open class Interceptor: RequestInterceptor { } } } + +#if swift(>=5.5) +extension RequestInterceptor where Self == Interceptor { + /// Creates an `Interceptor` using the provided `AdaptHandler` and `RetryHandler` closures. + /// + /// - Parameters: + /// - adapter: `AdapterHandler`to use to adapt the request. + /// - retrier: `RetryHandler` to use to retry the request. + /// - Returns: The `Interceptor`. + public static func interceptor(adapter: @escaping AdaptHandler, retrier: @escaping RetryHandler) -> Interceptor { + Interceptor(adaptHandler: adapter, retryHandler: retrier) + } + + /// Creates an `Interceptor` using the provided `RequestAdapter` and `RequestRetrier` instances. + /// - Parameters: + /// - adapter: `RequestAdapter` to use to adapt the request + /// - retrier: `RequestRetrier` to use to retry the request. + /// - Returns: The `Interceptor`. + public static func interceptor(adapter: RequestAdapter, retrier: RequestRetrier) -> Interceptor { + Interceptor(adapter: adapter, retrier: retrier) + } + + /// Creates an `Interceptor` using the provided `RequestAdapter`s, `RequestRetrier`s, and `RequestInterceptor`s. + /// - Parameters: + /// - adapters: `RequestAdapter`s to use to adapt the request. These adapters will be run until one fails. + /// - retriers: `RequestRetrier`s to use to retry the request. These retriers will be run one at a time until + /// a retry is triggered. + /// - interceptors: `RequestInterceptor`s to use to intercept the request. + /// - Returns: The `Interceptor`. + public static func interceptor(adapters: [RequestAdapter] = [], + retriers: [RequestRetrier] = [], + interceptors: [RequestInterceptor] = []) -> Interceptor { + Interceptor(adapters: adapters, retriers: retriers, interceptors: interceptors) + } +} +#endif diff --git a/Pods/Alamofire/Source/Response.swift b/Pods/Alamofire/Source/Response.swift index 92e9c44e..d9ae9d85 100644 --- a/Pods/Alamofire/Source/Response.swift +++ b/Pods/Alamofire/Source/Response.swift @@ -248,8 +248,7 @@ public struct DownloadResponse { /// - Parameters: /// - request: The `URLRequest` sent to the server. /// - response: The `HTTPURLResponse` from the server. - /// - temporaryURL: The temporary destination `URL` of the data returned from the server. - /// - destinationURL: The final destination `URL` of the data returned from the server, if it was moved. + /// - fileURL: The final destination URL of the data returned from the server after it is moved. /// - resumeData: The resume `Data` generated if the request was cancelled. /// - metrics: The `URLSessionTaskMetrics` of the `DownloadRequest`. /// - serializationDuration: The duration taken by serialization. diff --git a/Pods/Alamofire/Source/ResponseSerialization.swift b/Pods/Alamofire/Source/ResponseSerialization.swift index 1b77016d..12066a0b 100644 --- a/Pods/Alamofire/Source/ResponseSerialization.swift +++ b/Pods/Alamofire/Source/ResponseSerialization.swift @@ -95,6 +95,18 @@ public struct GoogleXSSIPreprocessor: DataPreprocessor { } } +#if swift(>=5.5) +extension DataPreprocessor where Self == PassthroughPreprocessor { + /// Provides a `PassthroughPreprocessor` instance. + public static var passthrough: PassthroughPreprocessor { PassthroughPreprocessor() } +} + +extension DataPreprocessor where Self == GoogleXSSIPreprocessor { + /// Provides a `GoogleXSSIPreprocessor` instance. + public static var googleXSSI: GoogleXSSIPreprocessor { GoogleXSSIPreprocessor() } +} +#endif + extension ResponseSerializer { /// Default `DataPreprocessor`. `PassthroughPreprocessor` by default. public static var defaultDataPreprocessor: DataPreprocessor { PassthroughPreprocessor() } @@ -113,7 +125,7 @@ extension ResponseSerializer { /// /// - Returns: `Bool` representing the outcome of the evaluation, or `nil` if `request` was `nil`. public func requestAllowsEmptyResponseData(_ request: URLRequest?) -> Bool? { - request.flatMap { $0.httpMethod } + request.flatMap(\.httpMethod) .flatMap(HTTPMethod.init) .map { emptyRequestMethods.contains($0) } } @@ -124,7 +136,7 @@ extension ResponseSerializer { /// /// - Returns: `Bool` representing the outcome of the evaluation, or `nil` if `response` was `nil`. public func responseAllowsEmptyResponseData(_ response: HTTPURLResponse?) -> Bool? { - response.flatMap { $0.statusCode } + response.map(\.statusCode) .map { emptyResponseCodes.contains($0) } } @@ -199,18 +211,9 @@ extension DataRequest { return self } - /// Adds a handler to be called once the request has finished. - /// - /// - Parameters: - /// - queue: The queue on which the completion handler is dispatched. `.main` by default - /// - responseSerializer: The response serializer responsible for serializing the request, response, and data. - /// - completionHandler: The code to be executed once the request has finished. - /// - /// - Returns: The request. - @discardableResult - public func response(queue: DispatchQueue = .main, - responseSerializer: Serializer, - completionHandler: @escaping (AFDataResponse) -> Void) + private func _response(queue: DispatchQueue = .main, + responseSerializer: Serializer, + completionHandler: @escaping (AFDataResponse) -> Void) -> Self { appendResponseSerializer { // Start work that should be on the serialization queue. @@ -237,7 +240,7 @@ extension DataRequest { self.eventMonitor?.request(self, didParseResponse: response) - guard let serializerError = result.failure, let delegate = self.delegate else { + guard !self.isCancelled, let serializerError = result.failure, let delegate = self.delegate else { self.responseSerializerDidComplete { queue.async { completionHandler(response) } } return } @@ -276,6 +279,38 @@ extension DataRequest { return self } + + /// Adds a handler to be called once the request has finished. + /// + /// - Parameters: + /// - queue: The queue on which the completion handler is dispatched. `.main` by default + /// - responseSerializer: The response serializer responsible for serializing the request, response, and data. + /// - completionHandler: The code to be executed once the request has finished. + /// + /// - Returns: The request. + @discardableResult + public func response(queue: DispatchQueue = .main, + responseSerializer: Serializer, + completionHandler: @escaping (AFDataResponse) -> Void) + -> Self { + _response(queue: queue, responseSerializer: responseSerializer, completionHandler: completionHandler) + } + + /// Adds a handler to be called once the request has finished. + /// + /// - Parameters: + /// - queue: The queue on which the completion handler is dispatched. `.main` by default + /// - responseSerializer: The response serializer responsible for serializing the request, response, and data. + /// - completionHandler: The code to be executed once the request has finished. + /// + /// - Returns: The request. + @discardableResult + public func response(queue: DispatchQueue = .main, + responseSerializer: Serializer, + completionHandler: @escaping (AFDataResponse) -> Void) + -> Self { + _response(queue: queue, responseSerializer: responseSerializer, completionHandler: completionHandler) + } } extension DownloadRequest { @@ -313,19 +348,9 @@ extension DownloadRequest { return self } - /// Adds a handler to be called once the request has finished. - /// - /// - Parameters: - /// - queue: The queue on which the completion handler is dispatched. `.main` by default. - /// - responseSerializer: The response serializer responsible for serializing the request, response, and data - /// contained in the destination `URL`. - /// - completionHandler: The code to be executed once the request has finished. - /// - /// - Returns: The request. - @discardableResult - public func response(queue: DispatchQueue = .main, - responseSerializer: Serializer, - completionHandler: @escaping (AFDownloadResponse) -> Void) + private func _response(queue: DispatchQueue = .main, + responseSerializer: Serializer, + completionHandler: @escaping (AFDownloadResponse) -> Void) -> Self { appendResponseSerializer { // Start work that should be on the serialization queue. @@ -392,6 +417,40 @@ extension DownloadRequest { return self } + + /// Adds a handler to be called once the request has finished. + /// + /// - Parameters: + /// - queue: The queue on which the completion handler is dispatched. `.main` by default. + /// - responseSerializer: The response serializer responsible for serializing the request, response, and data + /// contained in the destination `URL`. + /// - completionHandler: The code to be executed once the request has finished. + /// + /// - Returns: The request. + @discardableResult + public func response(queue: DispatchQueue = .main, + responseSerializer: Serializer, + completionHandler: @escaping (AFDownloadResponse) -> Void) + -> Self { + _response(queue: queue, responseSerializer: responseSerializer, completionHandler: completionHandler) + } + + /// Adds a handler to be called once the request has finished. + /// + /// - Parameters: + /// - queue: The queue on which the completion handler is dispatched. `.main` by default. + /// - responseSerializer: The response serializer responsible for serializing the request, response, and data + /// contained in the destination `URL`. + /// - completionHandler: The code to be executed once the request has finished. + /// + /// - Returns: The request. + @discardableResult + public func response(queue: DispatchQueue = .main, + responseSerializer: Serializer, + completionHandler: @escaping (AFDownloadResponse) -> Void) + -> Self { + _response(queue: queue, responseSerializer: responseSerializer, completionHandler: completionHandler) + } } // MARK: - URL @@ -416,6 +475,13 @@ public struct URLResponseSerializer: DownloadResponseSerializerProtocol { } } +#if swift(>=5.5) +extension DownloadResponseSerializerProtocol where Self == URLResponseSerializer { + /// Provides a `URLResponseSerializer` instance. + public static var url: URLResponseSerializer { URLResponseSerializer() } +} +#endif + extension DownloadRequest { /// Adds a handler using a `URLResponseSerializer` to be called once the request is finished. /// @@ -441,7 +507,7 @@ public final class DataResponseSerializer: ResponseSerializer { public let emptyResponseCodes: Set public let emptyRequestMethods: Set - /// Creates an instance using the provided values. + /// Creates a `DataResponseSerializer` using the provided parameters. /// /// - Parameters: /// - dataPreprocessor: `DataPreprocessor` used to prepare the received `Data` for serialization. @@ -472,6 +538,29 @@ public final class DataResponseSerializer: ResponseSerializer { } } +#if swift(>=5.5) +extension ResponseSerializer where Self == DataResponseSerializer { + /// Provides a default `DataResponseSerializer` instance. + public static var data: DataResponseSerializer { DataResponseSerializer() } + + /// Creates a `DataResponseSerializer` using the provided parameters. + /// + /// - Parameters: + /// - dataPreprocessor: `DataPreprocessor` used to prepare the received `Data` for serialization. + /// - emptyResponseCodes: The HTTP response codes for which empty responses are allowed. `[204, 205]` by default. + /// - emptyRequestMethods: The HTTP request methods for which empty responses are allowed. `[.head]` by default. + /// + /// - Returns: The `DataResponseSerializer`. + public static func data(dataPreprocessor: DataPreprocessor = DataResponseSerializer.defaultDataPreprocessor, + emptyResponseCodes: Set = DataResponseSerializer.defaultEmptyResponseCodes, + emptyRequestMethods: Set = DataResponseSerializer.defaultEmptyRequestMethods) -> DataResponseSerializer { + DataResponseSerializer(dataPreprocessor: dataPreprocessor, + emptyResponseCodes: emptyResponseCodes, + emptyRequestMethods: emptyRequestMethods) + } +} +#endif + extension DataRequest { /// Adds a handler using a `DataResponseSerializer` to be called once the request has finished. /// @@ -583,6 +672,33 @@ public final class StringResponseSerializer: ResponseSerializer { } } +#if swift(>=5.5) +extension ResponseSerializer where Self == StringResponseSerializer { + /// Provides a default `StringResponseSerializer` instance. + public static var string: StringResponseSerializer { StringResponseSerializer() } + + /// Creates a `StringResponseSerializer` with the provided values. + /// + /// - Parameters: + /// - dataPreprocessor: `DataPreprocessor` used to prepare the received `Data` for serialization. + /// - encoding: A string encoding. Defaults to `nil`, in which case the encoding will be determined + /// from the server response, falling back to the default HTTP character set, `ISO-8859-1`. + /// - emptyResponseCodes: The HTTP response codes for which empty responses are allowed. `[204, 205]` by default. + /// - emptyRequestMethods: The HTTP request methods for which empty responses are allowed. `[.head]` by default. + /// + /// - Returns: The `StringResponseSerializer`. + public static func string(dataPreprocessor: DataPreprocessor = StringResponseSerializer.defaultDataPreprocessor, + encoding: String.Encoding? = nil, + emptyResponseCodes: Set = StringResponseSerializer.defaultEmptyResponseCodes, + emptyRequestMethods: Set = StringResponseSerializer.defaultEmptyRequestMethods) -> StringResponseSerializer { + StringResponseSerializer(dataPreprocessor: dataPreprocessor, + encoding: encoding, + emptyResponseCodes: emptyResponseCodes, + emptyRequestMethods: emptyRequestMethods) + } +} +#endif + extension DataRequest { /// Adds a handler using a `StringResponseSerializer` to be called once the request has finished. /// @@ -648,6 +764,7 @@ extension DownloadRequest { /// A `ResponseSerializer` that decodes the response data using `JSONSerialization`. By default, a request returning /// `nil` or no data is considered an error. However, if the request has an `HTTPMethod` or the response has an /// HTTP status code valid for empty responses, then an `NSNull` value is returned. +@available(*, deprecated, message: "JSONResponseSerializer deprecated and will be removed in Alamofire 6. Use DecodableResponseSerializer instead.") public final class JSONResponseSerializer: ResponseSerializer { public let dataPreprocessor: DataPreprocessor public let emptyResponseCodes: Set @@ -700,8 +817,6 @@ extension DataRequest { /// - queue: The queue on which the completion handler is dispatched. `.main` by default. /// - dataPreprocessor: `DataPreprocessor` which processes the received `Data` before calling the /// `completionHandler`. `PassthroughPreprocessor()` by default. - /// - encoding: The string encoding. Defaults to `nil`, in which case the encoding will be determined - /// from the server response, falling back to the default HTTP character set, `ISO-8859-1`. /// - emptyResponseCodes: HTTP status codes for which empty responses are always valid. `[204, 205]` by default. /// - emptyRequestMethods: `HTTPMethod`s for which empty responses are always valid. `[.head]` by default. /// - options: `JSONSerialization.ReadingOptions` used when parsing the response. `.allowFragments` @@ -709,6 +824,7 @@ extension DataRequest { /// - completionHandler: A closure to be executed once the request has finished. /// /// - Returns: The request. + @available(*, deprecated, message: "responseJSON deprecated and will be removed in Alamofire 6. Use responseDecodable instead.") @discardableResult public func responseJSON(queue: DispatchQueue = .main, dataPreprocessor: DataPreprocessor = JSONResponseSerializer.defaultDataPreprocessor, @@ -732,8 +848,6 @@ extension DownloadRequest { /// - queue: The queue on which the completion handler is dispatched. `.main` by default. /// - dataPreprocessor: `DataPreprocessor` which processes the received `Data` before calling the /// `completionHandler`. `PassthroughPreprocessor()` by default. - /// - encoding: The string encoding. Defaults to `nil`, in which case the encoding will be determined - /// from the server response, falling back to the default HTTP character set, `ISO-8859-1`. /// - emptyResponseCodes: HTTP status codes for which empty responses are always valid. `[204, 205]` by default. /// - emptyRequestMethods: `HTTPMethod`s for which empty responses are always valid. `[.head]` by default. /// - options: `JSONSerialization.ReadingOptions` used when parsing the response. `.allowFragments` @@ -741,6 +855,7 @@ extension DownloadRequest { /// - completionHandler: A closure to be executed once the request has finished. /// /// - Returns: The request. + @available(*, deprecated, message: "responseJSON deprecated and will be removed in Alamofire 6. Use responseDecodable instead.") @discardableResult public func responseJSON(queue: DispatchQueue = .main, dataPreprocessor: DataPreprocessor = JSONResponseSerializer.defaultDataPreprocessor, @@ -856,6 +971,31 @@ public final class DecodableResponseSerializer: ResponseSerializer } } +#if swift(>=5.5) +extension ResponseSerializer { + /// Creates a `DecodableResponseSerializer` using the values provided. + /// + /// - Parameters: + /// - type: `Decodable` type to decode from response data. + /// - dataPreprocessor: `DataPreprocessor` used to prepare the received `Data` for serialization. + /// - decoder: The `DataDecoder`. `JSONDecoder()` by default. + /// - emptyResponseCodes: The HTTP response codes for which empty responses are allowed. `[204, 205]` by default. + /// - emptyRequestMethods: The HTTP request methods for which empty responses are allowed. `[.head]` by default. + /// + /// - Returns: The `DecodableResponseSerializer`. + public static func decodable(of type: T.Type, + dataPreprocessor: DataPreprocessor = DecodableResponseSerializer.defaultDataPreprocessor, + decoder: DataDecoder = JSONDecoder(), + emptyResponseCodes: Set = DecodableResponseSerializer.defaultEmptyResponseCodes, + emptyRequestMethods: Set = DecodableResponseSerializer.defaultEmptyRequestMethods) -> DecodableResponseSerializer where Self == DecodableResponseSerializer { + DecodableResponseSerializer(dataPreprocessor: dataPreprocessor, + decoder: decoder, + emptyResponseCodes: emptyResponseCodes, + emptyRequestMethods: emptyRequestMethods) + } +} +#endif + extension DataRequest { /// Adds a handler using a `DecodableResponseSerializer` to be called once the request has finished. /// @@ -865,12 +1005,8 @@ extension DataRequest { /// - dataPreprocessor: `DataPreprocessor` which processes the received `Data` before calling the /// `completionHandler`. `PassthroughPreprocessor()` by default. /// - decoder: `DataDecoder` to use to decode the response. `JSONDecoder()` by default. - /// - encoding: The string encoding. Defaults to `nil`, in which case the encoding will be determined - /// from the server response, falling back to the default HTTP character set, `ISO-8859-1`. /// - emptyResponseCodes: HTTP status codes for which empty responses are always valid. `[204, 205]` by default. /// - emptyRequestMethods: `HTTPMethod`s for which empty responses are always valid. `[.head]` by default. - /// - options: `JSONSerialization.ReadingOptions` used when parsing the response. `.allowFragments` - /// by default. /// - completionHandler: A closure to be executed once the request has finished. /// /// - Returns: The request. @@ -900,12 +1036,8 @@ extension DownloadRequest { /// - dataPreprocessor: `DataPreprocessor` which processes the received `Data` before calling the /// `completionHandler`. `PassthroughPreprocessor()` by default. /// - decoder: `DataDecoder` to use to decode the response. `JSONDecoder()` by default. - /// - encoding: The string encoding. Defaults to `nil`, in which case the encoding will be determined - /// from the server response, falling back to the default HTTP character set, `ISO-8859-1`. /// - emptyResponseCodes: HTTP status codes for which empty responses are always valid. `[204, 205]` by default. /// - emptyRequestMethods: `HTTPMethod`s for which empty responses are always valid. `[.head]` by default. - /// - options: `JSONSerialization.ReadingOptions` used when parsing the response. `.allowFragments` - /// by default. /// - completionHandler: A closure to be executed once the request has finished. /// /// - Returns: The request. @@ -950,8 +1082,9 @@ public struct DecodableStreamSerializer: DataStreamSerializer { /// Creates an instance with the provided `DataDecoder` and `DataPreprocessor`. /// - Parameters: - /// - decoder: ` DataDecoder` used to decode incoming `Data`. - /// - dataPreprocessor: `DataPreprocessor` used to process incoming `Data` before it's passed through the `decoder`. + /// - decoder: ` DataDecoder` used to decode incoming `Data`. `JSONDecoder()` by default. + /// - dataPreprocessor: `DataPreprocessor` used to process incoming `Data` before it's passed through the + /// `decoder`. `PassthroughPreprocessor()` by default. public init(decoder: DataDecoder = JSONDecoder(), dataPreprocessor: DataPreprocessor = PassthroughPreprocessor()) { self.decoder = decoder self.dataPreprocessor = dataPreprocessor @@ -969,16 +1102,49 @@ public struct DecodableStreamSerializer: DataStreamSerializer { /// `DataStreamSerializer` which performs no serialization on incoming `Data`. public struct PassthroughStreamSerializer: DataStreamSerializer { + /// Creates an instance. + public init() {} + public func serialize(_ data: Data) throws -> Data { data } } /// `DataStreamSerializer` which serializes incoming stream `Data` into `UTF8`-decoded `String` values. public struct StringStreamSerializer: DataStreamSerializer { + /// Creates an instance. + public init() {} + public func serialize(_ data: Data) throws -> String { String(decoding: data, as: UTF8.self) } } +#if swift(>=5.5) +extension DataStreamSerializer { + /// Creates a `DecodableStreamSerializer` instance with the provided `DataDecoder` and `DataPreprocessor`. + /// + /// - Parameters: + /// - type: `Decodable` type to decode from stream data. + /// - decoder: ` DataDecoder` used to decode incoming `Data`. `JSONDecoder()` by default. + /// - dataPreprocessor: `DataPreprocessor` used to process incoming `Data` before it's passed through the + /// `decoder`. `PassthroughPreprocessor()` by default. + public static func decodable(of type: T.Type, + decoder: DataDecoder = JSONDecoder(), + dataPreprocessor: DataPreprocessor = PassthroughPreprocessor()) -> Self where Self == DecodableStreamSerializer { + DecodableStreamSerializer(decoder: decoder, dataPreprocessor: dataPreprocessor) + } +} + +extension DataStreamSerializer where Self == PassthroughStreamSerializer { + /// Provides a `PassthroughStreamSerializer` instance. + public static var passthrough: PassthroughStreamSerializer { PassthroughStreamSerializer() } +} + +extension DataStreamSerializer where Self == StringStreamSerializer { + /// Provides a `StringStreamSerializer` instance. + public static var string: StringStreamSerializer { StringStreamSerializer() } +} +#endif + extension DataStreamRequest { /// Adds a `StreamHandler` which performs no parsing on incoming `Data`. /// diff --git a/Pods/Alamofire/Source/RetryPolicy.swift b/Pods/Alamofire/Source/RetryPolicy.swift index e9cbcaf4..f6fd8d33 100644 --- a/Pods/Alamofire/Source/RetryPolicy.swift +++ b/Pods/Alamofire/Source/RetryPolicy.swift @@ -277,7 +277,7 @@ open class RetryPolicy: RequestInterceptor { /// The URL error codes that are automatically retried by the policy. public let retryableURLErrorCodes: Set - /// Creates an `ExponentialBackoffRetryPolicy` from the specified parameters. + /// Creates a `RetryPolicy` from the specified parameters. /// /// - Parameters: /// - retryLimit: The total number of times the request is allowed to be retried. `2` by default. @@ -339,6 +339,41 @@ open class RetryPolicy: RequestInterceptor { } } +#if swift(>=5.5) +extension RequestInterceptor where Self == RetryPolicy { + /// Provides a default `RetryPolicy` instance. + public static var retryPolicy: RetryPolicy { RetryPolicy() } + + /// Creates an `RetryPolicy` from the specified parameters. + /// + /// - Parameters: + /// - retryLimit: The total number of times the request is allowed to be retried. `2` by default. + /// - exponentialBackoffBase: The base of the exponential backoff policy. `2` by default. + /// - exponentialBackoffScale: The scale of the exponential backoff. `0.5` by default. + /// - retryableHTTPMethods: The HTTP methods that are allowed to be retried. + /// `RetryPolicy.defaultRetryableHTTPMethods` by default. + /// - retryableHTTPStatusCodes: The HTTP status codes that are automatically retried by the policy. + /// `RetryPolicy.defaultRetryableHTTPStatusCodes` by default. + /// - retryableURLErrorCodes: The URL error codes that are automatically retried by the policy. + /// `RetryPolicy.defaultRetryableURLErrorCodes` by default. + /// + /// - Returns: The `RetryPolicy` + public static func retryPolicy(retryLimit: UInt = RetryPolicy.defaultRetryLimit, + exponentialBackoffBase: UInt = RetryPolicy.defaultExponentialBackoffBase, + exponentialBackoffScale: Double = RetryPolicy.defaultExponentialBackoffScale, + retryableHTTPMethods: Set = RetryPolicy.defaultRetryableHTTPMethods, + retryableHTTPStatusCodes: Set = RetryPolicy.defaultRetryableHTTPStatusCodes, + retryableURLErrorCodes: Set = RetryPolicy.defaultRetryableURLErrorCodes) -> RetryPolicy { + RetryPolicy(retryLimit: retryLimit, + exponentialBackoffBase: exponentialBackoffBase, + exponentialBackoffScale: exponentialBackoffScale, + retryableHTTPMethods: retryableHTTPMethods, + retryableHTTPStatusCodes: retryableHTTPStatusCodes, + retryableURLErrorCodes: retryableURLErrorCodes) + } +} +#endif + // MARK: - /// A retry policy that automatically retries idempotent requests for network connection lost errors. For more @@ -368,3 +403,32 @@ open class ConnectionLostRetryPolicy: RetryPolicy { retryableURLErrorCodes: [.networkConnectionLost]) } } + +#if swift(>=5.5) +extension RequestInterceptor where Self == ConnectionLostRetryPolicy { + /// Provides a default `ConnectionLostRetryPolicy` instance. + public static var connectionLostRetryPolicy: ConnectionLostRetryPolicy { ConnectionLostRetryPolicy() } + + /// Creates a `ConnectionLostRetryPolicy` instance from the specified parameters. + /// + /// - Parameters: + /// - retryLimit: The total number of times the request is allowed to be retried. + /// `RetryPolicy.defaultRetryLimit` by default. + /// - exponentialBackoffBase: The base of the exponential backoff policy. + /// `RetryPolicy.defaultExponentialBackoffBase` by default. + /// - exponentialBackoffScale: The scale of the exponential backoff. + /// `RetryPolicy.defaultExponentialBackoffScale` by default. + /// - retryableHTTPMethods: The idempotent http methods to retry. + /// + /// - Returns: The `ConnectionLostRetryPolicy`. + public static func connectionLostRetryPolicy(retryLimit: UInt = RetryPolicy.defaultRetryLimit, + exponentialBackoffBase: UInt = RetryPolicy.defaultExponentialBackoffBase, + exponentialBackoffScale: Double = RetryPolicy.defaultExponentialBackoffScale, + retryableHTTPMethods: Set = RetryPolicy.defaultRetryableHTTPMethods) -> ConnectionLostRetryPolicy { + ConnectionLostRetryPolicy(retryLimit: retryLimit, + exponentialBackoffBase: exponentialBackoffBase, + exponentialBackoffScale: exponentialBackoffScale, + retryableHTTPMethods: retryableHTTPMethods) + } +} +#endif diff --git a/Pods/Alamofire/Source/ServerTrustEvaluation.swift b/Pods/Alamofire/Source/ServerTrustEvaluation.swift index 9ca94f16..8dda8bca 100644 --- a/Pods/Alamofire/Source/ServerTrustEvaluation.swift +++ b/Pods/Alamofire/Source/ServerTrustEvaluation.swift @@ -48,6 +48,7 @@ open class ServerTrustManager { self.evaluators = evaluators } + #if !(os(Linux) || os(Windows)) /// Returns the `ServerTrustEvaluating` value for the given host, if one is set. /// /// By default, this method will return the policy that perfectly matches the given host. Subclasses could override @@ -69,12 +70,13 @@ open class ServerTrustManager { return evaluator } + #endif } /// A protocol describing the API used to evaluate server trusts. public protocol ServerTrustEvaluating { - #if os(Linux) - // Implement this once Linux has API for evaluating server trusts. + #if os(Linux) || os(Windows) + // Implement this once Linux/Windows has API for evaluating server trusts. #else /// Evaluates the given `SecTrust` value for the given `host`. /// @@ -89,6 +91,7 @@ public protocol ServerTrustEvaluating { // MARK: - Server Trust Evaluators +#if !(os(Linux) || os(Windows)) /// An evaluator which uses the default server trust evaluation while allowing you to control whether to validate the /// host provided by the challenge. Applications are encouraged to always validate the host in production environments /// to guarantee the validity of the server's certificate chain. @@ -150,19 +153,19 @@ public final class RevocationTrustEvaluator: ServerTrustEvaluating { private let validateHost: Bool private let options: Options - /// Creates a `RevocationTrustEvaluator`. + /// Creates a `RevocationTrustEvaluator` using the provided parameters. /// /// - Note: Default and host validation will fail when using this evaluator with self-signed certificates. Use /// `PinnedCertificatesTrustEvaluator` if you need to use self-signed certificates. /// /// - Parameters: - /// - performDefaultValidation: Determines whether default validation should be performed in addition to - /// evaluating the pinned certificates. `true` by default. - /// - validateHost: Determines whether or not the evaluator should validate the host, in addition - /// to performing the default evaluation, even if `performDefaultValidation` is - /// `false`. `true` by default. - /// - options: The `Options` to use to check the revocation status of the certificate. `.any` - /// by default. + /// - performDefaultValidation: Determines whether default validation should be performed in addition to + /// evaluating the pinned certificates. `true` by default. + /// - validateHost: Determines whether or not the evaluator should validate the host, in addition to + /// performing the default evaluation, even if `performDefaultValidation` is `false`. + /// `true` by default. + /// - options: The `Options` to use to check the revocation status of the certificate. `.any` by + /// default. public init(performDefaultValidation: Bool = true, validateHost: Bool = true, options: Options = .any) { self.performDefaultValidation = performDefaultValidation self.validateHost = validateHost @@ -188,6 +191,35 @@ public final class RevocationTrustEvaluator: ServerTrustEvaluating { } } +#if swift(>=5.5) +extension ServerTrustEvaluating where Self == RevocationTrustEvaluator { + /// Provides a default `RevocationTrustEvaluator` instance. + public static var revocationChecking: RevocationTrustEvaluator { RevocationTrustEvaluator() } + + /// Creates a `RevocationTrustEvaluator` using the provided parameters. + /// + /// - Note: Default and host validation will fail when using this evaluator with self-signed certificates. Use + /// `PinnedCertificatesTrustEvaluator` if you need to use self-signed certificates. + /// + /// - Parameters: + /// - performDefaultValidation: Determines whether default validation should be performed in addition to + /// evaluating the pinned certificates. `true` by default. + /// - validateHost: Determines whether or not the evaluator should validate the host, in addition + /// to performing the default evaluation, even if `performDefaultValidation` is + /// `false`. `true` by default. + /// - options: The `Options` to use to check the revocation status of the certificate. `.any` + /// by default. + /// - Returns: The `RevocationTrustEvaluator`. + public static func revocationChecking(performDefaultValidation: Bool = true, + validateHost: Bool = true, + options: RevocationTrustEvaluator.Options = .any) -> RevocationTrustEvaluator { + RevocationTrustEvaluator(performDefaultValidation: performDefaultValidation, + validateHost: validateHost, + options: options) + } +} +#endif + /// Uses the pinned certificates to validate the server trust. The server trust is considered valid if one of the pinned /// certificates match one of the server certificates. By validating both the certificate chain and host, certificate /// pinning provides a very secure form of server trust validation mitigating most, if not all, MITM attacks. @@ -199,7 +231,7 @@ public final class PinnedCertificatesTrustEvaluator: ServerTrustEvaluating { private let performDefaultValidation: Bool private let validateHost: Bool - /// Creates a `PinnedCertificatesTrustEvaluator`. + /// Creates a `PinnedCertificatesTrustEvaluator` from the provided parameters. /// /// - Parameters: /// - certificates: The certificates to use to evaluate the trust. All `cer`, `crt`, and `der` @@ -251,6 +283,36 @@ public final class PinnedCertificatesTrustEvaluator: ServerTrustEvaluating { } } +#if swift(>=5.5) +extension ServerTrustEvaluating where Self == PinnedCertificatesTrustEvaluator { + /// Provides a default `PinnedCertificatesTrustEvaluator` instance. + public static var pinnedCertificates: PinnedCertificatesTrustEvaluator { PinnedCertificatesTrustEvaluator() } + + /// Creates a `PinnedCertificatesTrustEvaluator` using the provided parameters. + /// + /// - Parameters: + /// - certificates: The certificates to use to evaluate the trust. All `cer`, `crt`, and `der` + /// certificates in `Bundle.main` by default. + /// - acceptSelfSignedCertificates: Adds the provided certificates as anchors for the trust evaluation, allowing + /// self-signed certificates to pass. `false` by default. THIS SETTING SHOULD BE + /// FALSE IN PRODUCTION! + /// - performDefaultValidation: Determines whether default validation should be performed in addition to + /// evaluating the pinned certificates. `true` by default. + /// - validateHost: Determines whether or not the evaluator should validate the host, in addition + /// to performing the default evaluation, even if `performDefaultValidation` is + /// `false`. `true` by default. + public static func pinnedCertificates(certificates: [SecCertificate] = Bundle.main.af.certificates, + acceptSelfSignedCertificates: Bool = false, + performDefaultValidation: Bool = true, + validateHost: Bool = true) -> PinnedCertificatesTrustEvaluator { + PinnedCertificatesTrustEvaluator(certificates: certificates, + acceptSelfSignedCertificates: acceptSelfSignedCertificates, + performDefaultValidation: performDefaultValidation, + validateHost: validateHost) + } +} +#endif + /// Uses the pinned public keys to validate the server trust. The server trust is considered valid if one of the pinned /// public keys match one of the server certificate public keys. By validating both the certificate chain and host, /// public key pinning provides a very secure form of server trust validation mitigating most, if not all, MITM attacks. @@ -261,7 +323,7 @@ public final class PublicKeysTrustEvaluator: ServerTrustEvaluating { private let performDefaultValidation: Bool private let validateHost: Bool - /// Creates a `PublicKeysTrustEvaluator`. + /// Creates a `PublicKeysTrustEvaluator` from the provided parameters. /// /// - Note: Default and host validation will fail when using this evaluator with self-signed certificates. Use /// `PinnedCertificatesTrustEvaluator` if you need to use self-signed certificates. @@ -315,12 +377,38 @@ public final class PublicKeysTrustEvaluator: ServerTrustEvaluating { } } +#if swift(>=5.5) +extension ServerTrustEvaluating where Self == PublicKeysTrustEvaluator { + /// Provides a default `PublicKeysTrustEvaluator` instance. + public static var publicKeys: PublicKeysTrustEvaluator { PublicKeysTrustEvaluator() } + + /// Creates a `PublicKeysTrustEvaluator` from the provided parameters. + /// + /// - Note: Default and host validation will fail when using this evaluator with self-signed certificates. Use + /// `PinnedCertificatesTrustEvaluator` if you need to use self-signed certificates. + /// + /// - Parameters: + /// - keys: The `SecKey`s to use to validate public keys. Defaults to the public keys of all + /// certificates included in the main bundle. + /// - performDefaultValidation: Determines whether default validation should be performed in addition to + /// evaluating the pinned certificates. `true` by default. + /// - validateHost: Determines whether or not the evaluator should validate the host, in addition to + /// performing the default evaluation, even if `performDefaultValidation` is `false`. + /// `true` by default. + public static func publicKeys(keys: [SecKey] = Bundle.main.af.publicKeys, + performDefaultValidation: Bool = true, + validateHost: Bool = true) -> PublicKeysTrustEvaluator { + PublicKeysTrustEvaluator(keys: keys, performDefaultValidation: performDefaultValidation, validateHost: validateHost) + } +} +#endif + /// Uses the provided evaluators to validate the server trust. The trust is only considered valid if all of the /// evaluators consider it valid. public final class CompositeTrustEvaluator: ServerTrustEvaluating { private let evaluators: [ServerTrustEvaluating] - /// Creates a `CompositeTrustEvaluator`. + /// Creates a `CompositeTrustEvaluator` from the provided evaluators. /// /// - Parameter evaluators: The `ServerTrustEvaluating` values used to evaluate the server trust. public init(evaluators: [ServerTrustEvaluating]) { @@ -332,6 +420,17 @@ public final class CompositeTrustEvaluator: ServerTrustEvaluating { } } +#if swift(>=5.5) +extension ServerTrustEvaluating where Self == CompositeTrustEvaluator { + /// Creates a `CompositeTrustEvaluator` from the provided evaluators. + /// + /// - Parameter evaluators: The `ServerTrustEvaluating` values used to evaluate the server trust. + public static func composite(evaluators: [ServerTrustEvaluating]) -> CompositeTrustEvaluator { + CompositeTrustEvaluator(evaluators: evaluators) + } +} +#endif + /// Disables all evaluation which in turn will always consider any server trust as valid. /// /// - Note: Instead of disabling server trust evaluation, it's a better idea to configure systems to properly trust test @@ -358,8 +457,8 @@ public final class DisabledTrustEvaluator: ServerTrustEvaluating { // MARK: - Extensions extension Array where Element == ServerTrustEvaluating { - #if os(Linux) - // Add this same convenience method for Linux. + #if os(Linux) || os(Windows) + // Add this same convenience method for Linux/Windows. #else /// Evaluates the given `SecTrust` value for the given `host`. /// @@ -505,12 +604,25 @@ extension AlamofireExtension where ExtendedType == SecTrust { certificates.af.publicKeys } - /// The `SecCertificate`s contained i `self`. + #if swift(>=5.5.1) // Xcode 13.1 / 2021 SDKs. + /// The `SecCertificate`s contained in `self`. + public var certificates: [SecCertificate] { + if #available(iOS 15, macOS 12, tvOS 15, watchOS 8, *) { + return (SecTrustCopyCertificateChain(type) as? [SecCertificate]) ?? [] + } else { + return (0..=5.3.1) // SecTrustCopyKey not visible in Xcode <= 12.1, despite being a 2020 API. + if #available(iOS 14, macOS 11, tvOS 14, watchOS 7, *) { + return SecTrustCopyKey(createdTrust) + } else { + return SecTrustCopyPublicKey(createdTrust) + } + #else return SecTrustCopyPublicKey(createdTrust) + #endif } } @@ -617,3 +740,4 @@ extension AlamofireExtension where ExtendedType == SecTrustResultType { type == .unspecified || type == .proceed } } +#endif diff --git a/Pods/Alamofire/Source/Session.swift b/Pods/Alamofire/Source/Session.swift index ac0ab229..4232f859 100644 --- a/Pods/Alamofire/Source/Session.swift +++ b/Pods/Alamofire/Source/Session.swift @@ -183,12 +183,15 @@ open class Session { eventMonitors: [EventMonitor] = []) { precondition(configuration.identifier == nil, "Alamofire does not support background URLSessionConfigurations.") - let delegateQueue = OperationQueue(maxConcurrentOperationCount: 1, underlyingQueue: rootQueue, name: "org.alamofire.session.sessionDelegateQueue") + // Retarget the incoming rootQueue for safety, unless it's the main queue, which we know is safe. + let serialRootQueue = (rootQueue === DispatchQueue.main) ? rootQueue : DispatchQueue(label: rootQueue.label, + target: rootQueue) + let delegateQueue = OperationQueue(maxConcurrentOperationCount: 1, underlyingQueue: serialRootQueue, name: "\(serialRootQueue.label).sessionDelegate") let session = URLSession(configuration: configuration, delegate: delegate, delegateQueue: delegateQueue) self.init(session: session, delegate: delegate, - rootQueue: rootQueue, + rootQueue: serialRootQueue, startRequestsImmediately: startRequestsImmediately, requestQueue: requestQueue, serializationQueue: serializationQueue, @@ -312,15 +315,17 @@ open class Session { /// `RequestInterceptor`. /// /// - Parameters: - /// - convertible: `URLConvertible` value to be used as the `URLRequest`'s `URL`. - /// - method: `HTTPMethod` for the `URLRequest`. `.get` by default. - /// - parameters: `Encodable` value to be encoded into the `URLRequest`. `nil` by default. - /// - encoder: `ParameterEncoder` to be used to encode the `parameters` value into the `URLRequest`. - /// `URLEncodedFormParameterEncoder.default` by default. - /// - headers: `HTTPHeaders` value to be added to the `URLRequest`. `nil` by default. - /// - interceptor: `RequestInterceptor` value to be used by the returned `DataRequest`. `nil` by default. + /// - convertible: `URLConvertible` value to be used as the `URLRequest`'s `URL`. + /// - method: `HTTPMethod` for the `URLRequest`. `.get` by default. + /// - parameters: `Encodable` value to be encoded into the `URLRequest`. `nil` by default. + /// - encoder: `ParameterEncoder` to be used to encode the `parameters` value into the `URLRequest`. + /// `URLEncodedFormParameterEncoder.default` by default. + /// - headers: `HTTPHeaders` value to be added to the `URLRequest`. `nil` by default. + /// - interceptor: `RequestInterceptor` value to be used by the returned `DataRequest`. `nil` by default. + /// - requestModifier: `RequestModifier` which will be applied to the `URLRequest` created from + /// the provided parameters. `nil` by default. /// - /// - Returns: The created `DataRequest`. + /// - Returns: The created `DataRequest`. open func request(_ convertible: URLConvertible, method: HTTPMethod = .get, parameters: Parameters? = nil, @@ -784,8 +789,8 @@ open class Session { /// technique was used. /// /// - Parameters: - /// - multipartFormData: `MultipartFormData` building closure. - /// - convertible: `URLConvertible` value to be used as the `URLRequest`'s `URL`. + /// - multipartFormData: `MultipartFormData` building closure. + /// - url: `URLConvertible` value to be used as the `URLRequest`'s `URL`. /// - encodingMemoryThreshold: Byte threshold used to determine whether the form data is encoded into memory or /// onto disk before being uploaded. `MultipartFormData.encodingMemoryThreshold` by /// default. @@ -1044,8 +1049,7 @@ open class Session { func performSetupOperations(for request: Request, convertible: URLRequestConvertible, - shouldCreateTask: @escaping () -> Bool = { true }) - { + shouldCreateTask: @escaping () -> Bool = { true }) { dispatchPrecondition(condition: .onQueue(requestQueue)) let initialRequest: URLRequest @@ -1068,7 +1072,9 @@ open class Session { return } - adapter.adapt(initialRequest, for: self) { result in + let adapterState = RequestAdapterState(requestID: request.id, session: self) + + adapter.adapt(initialRequest, using: adapterState) { result in do { let adaptedRequest = try result.get() try adaptedRequest.validate() diff --git a/Pods/Alamofire/Source/SessionDelegate.swift b/Pods/Alamofire/Source/SessionDelegate.swift index befc80ea..a794d83d 100644 --- a/Pods/Alamofire/Source/SessionDelegate.swift +++ b/Pods/Alamofire/Source/SessionDelegate.swift @@ -91,11 +91,15 @@ extension SessionDelegate: URLSessionTaskDelegate { let evaluation: ChallengeEvaluation switch challenge.protectionSpace.authenticationMethod { + case NSURLAuthenticationMethodHTTPBasic, NSURLAuthenticationMethodHTTPDigest, NSURLAuthenticationMethodNTLM, + NSURLAuthenticationMethodNegotiate: + evaluation = attemptCredentialAuthentication(for: challenge, belongingTo: task) + #if !(os(Linux) || os(Windows)) case NSURLAuthenticationMethodServerTrust: evaluation = attemptServerTrustAuthentication(with: challenge) - case NSURLAuthenticationMethodHTTPBasic, NSURLAuthenticationMethodHTTPDigest, NSURLAuthenticationMethodNTLM, - NSURLAuthenticationMethodNegotiate, NSURLAuthenticationMethodClientCertificate: + case NSURLAuthenticationMethodClientCertificate: evaluation = attemptCredentialAuthentication(for: challenge, belongingTo: task) + #endif default: evaluation = (.performDefaultHandling, nil, nil) } @@ -107,6 +111,7 @@ extension SessionDelegate: URLSessionTaskDelegate { completionHandler(evaluation.disposition, evaluation.credential) } + #if !(os(Linux) || os(Windows)) /// Evaluates the server trust `URLAuthenticationChallenge` received. /// /// - Parameter challenge: The `URLAuthenticationChallenge`. @@ -133,6 +138,7 @@ extension SessionDelegate: URLSessionTaskDelegate { return (.cancelAuthenticationChallenge, nil, error.asAFError(or: .serverTrustEvaluationFailed(reason: .customEvaluationFailed(error: error)))) } } + #endif /// Evaluates the credential-based authentication `URLAuthenticationChallenge` received for `task`. /// diff --git a/Pods/Alamofire/Source/URLEncodedFormEncoder.swift b/Pods/Alamofire/Source/URLEncodedFormEncoder.swift index e5cc0c50..dfadc2ec 100644 --- a/Pods/Alamofire/Source/URLEncodedFormEncoder.swift +++ b/Pods/Alamofire/Source/URLEncodedFormEncoder.swift @@ -48,15 +48,21 @@ public final class URLEncodedFormEncoder { case brackets /// No brackets are appended to the key and the key is encoded as is. case noBrackets + /// Brackets containing the item index are appended. This matches the jQuery and Node.js behavior. + case indexInBrackets /// Encodes the key according to the encoding. /// - /// - Parameter key: The `key` to encode. - /// - Returns: The encoded key. - func encode(_ key: String) -> String { + /// - Parameters: + /// - key: The `key` to encode. + /// - index: When this enum instance is `.indexInBrackets`, the `index` to encode. + /// + /// - Returns: The encoded key. + func encode(_ key: String, atIndex index: Int) -> String { switch self { case .brackets: return "\(key)[]" case .noBrackets: return key + case .indexInBrackets: return "\(key)[\(index)]" } } } @@ -495,7 +501,7 @@ enum URLEncodedFormComponent { /// Recursive backing method to `set(to:at:)`. private func set(_ context: inout URLEncodedFormComponent, to value: URLEncodedFormComponent, at path: [CodingKey]) { - guard path.count >= 1 else { + guard !path.isEmpty else { context = value return } @@ -930,8 +936,8 @@ final class URLEncodedFormSerializer { } func serialize(_ array: [URLEncodedFormComponent], forKey key: String) -> String { - var segments: [String] = array.map { component in - let keyPath = arrayEncoding.encode(key) + var segments: [String] = array.enumerated().map { index, component in + let keyPath = arrayEncoding.encode(key, atIndex: index) return serialize(component, forKey: keyPath) } segments = alphabetizeKeyValuePairs ? segments.sorted() : segments diff --git a/Pods/Alamofire/Source/URLSessionConfiguration+Alamofire.swift b/Pods/Alamofire/Source/URLSessionConfiguration+Alamofire.swift index de3e290a..292a8fe7 100644 --- a/Pods/Alamofire/Source/URLSessionConfiguration+Alamofire.swift +++ b/Pods/Alamofire/Source/URLSessionConfiguration+Alamofire.swift @@ -34,4 +34,13 @@ extension AlamofireExtension where ExtendedType: URLSessionConfiguration { return configuration } + + /// `.ephemeral` configuration with Alamofire's default `Accept-Language`, `Accept-Encoding`, and `User-Agent` + /// headers. + public static var ephemeral: URLSessionConfiguration { + let configuration = URLSessionConfiguration.ephemeral + configuration.headers = .default + + return configuration + } } diff --git a/Pods/Alamofire/Source/Validation.swift b/Pods/Alamofire/Source/Validation.swift index bd2a2795..1dc30253 100644 --- a/Pods/Alamofire/Source/Validation.swift +++ b/Pods/Alamofire/Source/Validation.swift @@ -117,7 +117,7 @@ extension Request { } let error: AFError = { - let reason: ErrorReason = .missingContentType(acceptableContentTypes: Array(acceptableContentTypes)) + let reason: ErrorReason = .missingContentType(acceptableContentTypes: acceptableContentTypes.sorted()) return AFError.responseValidationFailed(reason: reason) }() @@ -131,7 +131,7 @@ extension Request { } let error: AFError = { - let reason: ErrorReason = .unacceptableContentType(acceptableContentTypes: Array(acceptableContentTypes), + let reason: ErrorReason = .unacceptableContentType(acceptableContentTypes: acceptableContentTypes.sorted(), responseContentType: responseContentType) return AFError.responseValidationFailed(reason: reason) @@ -152,9 +152,9 @@ extension DataRequest { /// /// If validation fails, subsequent calls to response handlers will have an associated error. /// - /// - Parameter statusCode: `Sequence` of acceptable response status codes. + /// - Parameter acceptableStatusCodes: `Sequence` of acceptable response status codes. /// - /// - Returns: The instance. + /// - Returns: The instance. @discardableResult public func validate(statusCode acceptableStatusCodes: S) -> Self where S.Iterator.Element == Int { validate { [unowned self] _, response, _ in @@ -200,9 +200,9 @@ extension DataStreamRequest { /// /// If validation fails, subsequent calls to response handlers will have an associated error. /// - /// - Parameter statusCode: `Sequence` of acceptable response status codes. + /// - Parameter acceptableStatusCodes: `Sequence` of acceptable response status codes. /// - /// - Returns: The instance. + /// - Returns: The instance. @discardableResult public func validate(statusCode acceptableStatusCodes: S) -> Self where S.Iterator.Element == Int { validate { [unowned self] _, response in @@ -253,9 +253,9 @@ extension DownloadRequest { /// /// If validation fails, subsequent calls to response handlers will have an associated error. /// - /// - Parameter statusCode: `Sequence` of acceptable response status codes. + /// - Parameter acceptableStatusCodes: `Sequence` of acceptable response status codes. /// - /// - Returns: The instance. + /// - Returns: The instance. @discardableResult public func validate(statusCode acceptableStatusCodes: S) -> Self where S.Iterator.Element == Int { validate { [unowned self] _, response, _ in diff --git a/Pods/Manifest.lock b/Pods/Manifest.lock index ba9ec4fe..d393cedc 100644 --- a/Pods/Manifest.lock +++ b/Pods/Manifest.lock @@ -1,5 +1,5 @@ PODS: - - Alamofire (5.4.3) + - Alamofire (5.4.4) - BRLOptionParser (0.3.1) - GCDWebServer (3.5.4): - GCDWebServer/Core (= 3.5.4) @@ -31,7 +31,7 @@ SPEC REPOS: - RxSwift SPEC CHECKSUMS: - Alamofire: e447a2774a40c996748296fa2c55112fdbbc42f9 + Alamofire: f3b09a368f1582ab751b3fff5460276e0d2cf5c9 BRLOptionParser: a03256a8ff003ca1f5376c55f55f210e085a3958 GCDWebServer: 2c156a56c8226e2d5c0c3f208a3621ccffbe3ce4 MASShortcut: d9e4909e878661cc42877cc9d6efbe638273ab57 @@ -39,6 +39,6 @@ SPEC CHECKSUMS: RxRelay: e72dbfd157807478401ef1982e1c61c945c94b2f RxSwift: d356ab7bee873611322f134c5f9ef379fa183d8f -PODFILE CHECKSUM: 5e6ee339e4466d456309238c104e8625cd1e3e41 +PODFILE CHECKSUM: 75c299eebbf64f166cffb1e7b29c582f4251c7da -COCOAPODS: 1.10.1 +COCOAPODS: 1.11.2 diff --git a/Pods/Pods.xcodeproj/project.pbxproj b/Pods/Pods.xcodeproj/project.pbxproj index f4979091..8f302eef 100644 --- a/Pods/Pods.xcodeproj/project.pbxproj +++ b/Pods/Pods.xcodeproj/project.pbxproj @@ -7,1054 +7,1056 @@ objects = { /* Begin PBXBuildFile section */ - 013BAC24F7AC722E59517CB110A9E685 /* HTTPMethod.swift in Sources */ = {isa = PBXBuildFile; fileRef = 403ABCCF5634DCD99A376EAA601F828E /* HTTPMethod.swift */; }; - 017170EB9F2450569816AB0FF2E6D541 /* CombineLatest.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF5FCDE3BD3C3E02C0A0B3D529BF6982 /* CombineLatest.swift */; }; - 022F83EC88B467A88CBB491D7C98FA7E /* UITabBar+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21F927D22EA76A49C54C44827DD1CE5A /* UITabBar+Rx.swift */; }; - 02AEF100BA92B652E6E48EF58B479533 /* en.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 4A797B2A249C56CB61DB60A3FEA31FD2 /* en.lproj */; }; - 037CEEDED76C75AB19A6A015D66C1322 /* RxCollectionViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9215F3DCBD2FE1BDADCEF5D05219A48 /* RxCollectionViewDelegateProxy.swift */; }; - 06185F389644D5BD1C84259027C533D5 /* UICollectionView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = D49EC557FA27872611535147AB5D700C /* UICollectionView+Rx.swift */; }; - 0722A6B0D2DE0B9620F5C9659CB679D8 /* Debounce.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A2C23CF743A94075196D7A4F419F5A4 /* Debounce.swift */; }; - 07326CA68F757A1C82495BB52A92BD5C /* CompositeDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BE91EC45C71C190D532DC351F5E724D /* CompositeDisposable.swift */; }; - 080F0457EB8E6A9F2841FB0D77AEEF42 /* RxCollectionViewDataSourcePrefetchingProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78275DA82CA025902C1D6FAF39BC9403 /* RxCollectionViewDataSourcePrefetchingProxy.swift */; }; - 08FE05B1BA0A6D9CE971027E0480350A /* AnonymousDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EB8536183BE6472CDCC5817172688EF /* AnonymousDisposable.swift */; }; - 091B8980E4EFE8B81548A8B0369DF1F7 /* UIPickerView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 608BE9EFB078FCC2348EF2782C265D92 /* UIPickerView+Rx.swift */; }; - 0A1849775CF90D514963187D3A771CF8 /* Combine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F78589C2F1DDF07DF58CD22F6835B19 /* Combine.swift */; }; - 0A20A09C199A4692A8EA72497B3D504A /* Catch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CD2535A24AA927A5965AF73264678A3 /* Catch.swift */; }; - 0A4DF5D6FC29A34C999E1ECBB53C696B /* RxMutableBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 530CEAEC9F4BC5F2EC9C9534779927A3 /* RxMutableBox.swift */; }; - 0A8A30C3BF493120607DD0157A560065 /* ObserveOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD39BD9C1B852EC7AC7CD7D77D1E606F /* ObserveOn.swift */; }; - 0A900DF17E3B64F08AF673E9A0DDD697 /* OperationQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26DA8062B81F764A6EEA6168DF6337AB /* OperationQueue+Alamofire.swift */; }; - 0CA982442C8027B672202D753260BAC9 /* RxSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 77B5C856C653A9586105526C4341767A /* RxSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0D8B936D823A959DDE9005A1C1D89487 /* Disposables.swift in Sources */ = {isa = PBXBuildFile; fileRef = CECC6752E3DD709B29A4ED0461B7BF82 /* Disposables.swift */; }; - 0E7C902AB09DA1CA05D07D36BD55C73E /* Enumerated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31234D4C5E912BD05D37874E7E89A233 /* Enumerated.swift */; }; - 0EEDE530AD4098CC0660A78E2852DA6A /* MASKeyMasks.h in Headers */ = {isa = PBXBuildFile; fileRef = 867FD5BBBCAC1E98FE144867305F8FEF /* MASKeyMasks.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0FB5F248B62BC1F0113E53461E807AE5 /* SubjectType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44D9E4509154BFFEBEA9AEA0C935EC9E /* SubjectType.swift */; }; - 0FE468D23725DEF3BB913C80A61F9B1B /* RxPickerViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 961D7CAE484B6E4929A7BE5B048D29B5 /* RxPickerViewDataSourceType.swift */; }; - 10993D369AADB3E2BCA4E966DE514C09 /* SchedulerServices+Emulation.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0791E5EB9ADBB88CEE0BCD83DA9502C /* SchedulerServices+Emulation.swift */; }; - 109ADA4349083858A198CA863E457E37 /* DisposeBag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F2EB184269284B56190B6EE5A7E5CC3 /* DisposeBag.swift */; }; - 11B06B47E4CB24A05B1299D730643803 /* ObservableType+PrimitiveSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1AA3BEB86C50C2AAE9CCEDB0171CFC56 /* ObservableType+PrimitiveSequence.swift */; }; - 1208E81DA8B532D0646D627B50290EB6 /* AFError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D8A09F0F8EDB0B1A568AA29A33D62EA /* AFError.swift */; }; - 128376A37733CDCD9870A39DE261904E /* UISearchController+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8ED0DC48A18FD32A95BE8B28D715172C /* UISearchController+Rx.swift */; }; - 12DF0C4E73CEC6118673050B236C7799 /* MASKeyCodes.h in Headers */ = {isa = PBXBuildFile; fileRef = 73327356D8055C270C5AFBAEE0D202DD /* MASKeyCodes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 12E8D9F9C1A9B4FC7669C18954BC4798 /* ControlEvent+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C0E4BDE3E30AF8C9062AFAD9C3AEA28 /* ControlEvent+Driver.swift */; }; - 14403B39AC36562E41D4768CCF3540B1 /* CombineLatest+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC41D63AA5F0A525ACB78573334AB97C /* CombineLatest+arity.swift */; }; - 14C185529F30494F6B6F0DFA9AEDDC05 /* TakeLast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73118DDBDD8A625213B479BD40C4B9CE /* TakeLast.swift */; }; - 14E31D647AFA8F0FBE3793EF61872247 /* ScheduledItemType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19FF8B675AE7A3F0AB7CDE7C48E8082A /* ScheduledItemType.swift */; }; - 16C263170733039596369C8D4F89077A /* InfiniteSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC8F5BC5CABB65CCD832B9821F532DBD /* InfiniteSequence.swift */; }; - 19D605A3233499828FB6B790869F3E9C /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5102E62600D264D29633030E490AAE6 /* NetworkReachabilityManager.swift */; }; - 1A630AD9EFDB068A1544BD51CA5E99B7 /* Dematerialize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 080201197B517655700BD33F44B1A602 /* Dematerialize.swift */; }; - 1AECEBA213A2C9E6EC56C2C1358849E4 /* MASShortcut.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A4A724DBFF9C1C260A76A4B104F3B1E /* MASShortcut.m */; }; - 1B341070BA8EB97021BE7C152639CBF5 /* VirtualTimeScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A2828DE92C9CEECE9FB19F2EE763305 /* VirtualTimeScheduler.swift */; }; - 1C0A940E6D4FD420BEC04B9F16914D71 /* RecursiveLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11DD125BCF1FDD4E34715800EC2F295F /* RecursiveLock.swift */; }; - 1C11628696BD0C889E0A4FC6CA4B6922 /* GCDWebServer-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 09A0680C8640FDF225CF2A27A4204628 /* GCDWebServer-dummy.m */; }; - 1D5606C6BD48C543FA0DB2C82B8791B7 /* GCDWebServer-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = B400BB6631F1C9F8534BE1CEF160097E /* GCDWebServer-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1DF080CB9D37CB063C6FEC09BBF8F238 /* Timer.swift in Sources */ = {isa = PBXBuildFile; fileRef = F893DD80BE166F23DB8567A0940B0FEE /* Timer.swift */; }; - 1EC23A9ACE471AAE845CE9ACD4588932 /* Infallible+Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2FFFF24B3AC3570742D7F2CCF2FE3C5 /* Infallible+Zip+arity.swift */; }; - 1ECDFBCA376564682426B5D8AC70393C /* RxTableViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADC06A8D8266504D3FD0F38F5F1A87AD /* RxTableViewDataSourceProxy.swift */; }; - 1FAEB66513E2610FE37D99FDD8F9E46D /* GCDWebServerStreamedResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = AE4742C0047EC328BE64C1DF6D868CEF /* GCDWebServerStreamedResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1FDEA9EB6CAF8FB09C98CEBE607DCFB6 /* SectionedViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4177B545582D09C0D653414E6353741 /* SectionedViewDataSourceType.swift */; }; - 212EDC48B68107BEA9247F3464CE696E /* StringEncoding+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8305C9D0B89A4CE30258C61DDD5A342 /* StringEncoding+Alamofire.swift */; }; - 218C14EAE5AA31C30314AE0289B732A0 /* Protected.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43D1B54DDFE366EA8E657D1CFA2A5349 /* Protected.swift */; }; - 221F057199246D7709DD91C950746B7B /* GCDWebServerMultiPartFormRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C1C25377D5ADEBBE1E5B44FD42F2BF8 /* GCDWebServerMultiPartFormRequest.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 2375AD3B88ECB4A1C01F9F70DCFB05E7 /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 718741562429DAE6AA6DC455ED6883D4 /* Errors.swift */; }; - 239AC2D5500F4E4FB04BC341A1335DF7 /* SerialDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DAFFC9484B606CC3A8583B2085B7957 /* SerialDisposable.swift */; }; - 23CF55A9FA514BDCA0B46320D4ED5DEC /* RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1816E3DFE7F11350A74B0C1F878F7FC /* RxCocoa.swift */; }; - 2453CFD81C667B99753FF8354AA82C60 /* HistoricalScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DA5F27AAEF9B366933CB017942EFAA8 /* HistoricalScheduler.swift */; }; - 262C2E49711CEA356F7C2031AE074C8A /* RecursiveScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40FC23633FFFBBD0FA165FB284958F8C /* RecursiveScheduler.swift */; }; - 262EBFD1844224838811BD9E1726CD73 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA187A944BB7C96464B1E79E6D12F90F /* AppKit.framework */; }; - 26900F59621365F9EF08DB37C7E07C06 /* RxScrollViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B58732AA1AF7EA39B29A8BE85721F26 /* RxScrollViewDelegateProxy.swift */; }; - 27C5636F69D717D7745A0235D715E4FB /* Platform.Linux.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FF704B43D944C2399606B76A430F1A6 /* Platform.Linux.swift */; }; - 27E59A11A2743B0595CDE3A08675EAE1 /* DispatchQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41ADA85A38ECDBBD122B707DA599E641 /* DispatchQueue+Alamofire.swift */; }; - 2862DA4097D964B745862F00BB45759D /* KVORepresentable+Swift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB5DBBABE4FD6FFF0223AC1BC4674DB /* KVORepresentable+Swift.swift */; }; - 2B540E502B0EE71D93636BA94B9F0817 /* Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABD89974F6EA342767735D559995D3FA /* Zip+arity.swift */; }; - 2BD53F1C421E9938A099F3F45C84FBAD /* Platform.Linux.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2586C5A6499D4E9A6B62C1CF5804DE66 /* Platform.Linux.swift */; }; - 2C8A055494092F137EDB2E3BDCA74DFC /* Maybe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5219820998BC7D8238F0F05F90A3D96F /* Maybe.swift */; }; - 2CD9AC66F1727C363449C4072DA57F89 /* ObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4338C646A92E1539E9BED963FC618602 /* ObservableType.swift */; }; - 2D890B63806F7465912098B60052B092 /* SerialDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 408AEB2CFB972D5D82E41BB027E6686C /* SerialDispatchQueueScheduler.swift */; }; - 2E0722133679D5C422D0EC5ACB8B23A1 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EE6672D913C4CDAB5BAC161BDC483A67 /* Cocoa.framework */; }; - 2F835E1CFB72A43AC17728C6105B9635 /* SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F401550E51DCC5F5746B99EC564065B /* SharedSequence.swift */; }; - 2FD49578803778A2F094C0B21FEE332C /* Cancelable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8565AD8EBB9A4E532AF93D887B586876 /* Cancelable.swift */; }; - 30536C64EAA45BE64894B48D74144B1E /* DispatchQueue+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29E3014CE53E3127CCD38149E2060C76 /* DispatchQueue+Extensions.swift */; }; - 313170D278E51360492948E6BB704EA7 /* ru.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 9A3F0ED147035005ABA4D679F9E36A7B /* ru.lproj */; }; - 3212BC4884F26AE9244A7548691A0CE0 /* Delay.swift in Sources */ = {isa = PBXBuildFile; fileRef = D570E112B81800B30A1165D0BC68DB8A /* Delay.swift */; }; - 325A6428E460396F0B0CB9B6FE10EEC4 /* it.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 321FC2ED515952B66BACDB8CAC130EB4 /* it.lproj */; }; - 332D9AE4473773687AA9155EF16A80D8 /* MASHotKey.h in Headers */ = {isa = PBXBuildFile; fileRef = 8937D9E4BB1CD1D979DFF21019B4D814 /* MASHotKey.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 34C033CDDD8217EE4221E9BDFFC23086 /* MainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98B151536C20EA366FDBE99C5A8BB7A5 /* MainScheduler.swift */; }; - 3596F8FDA81BECFE1B05B50500447638 /* KVORepresentable+CoreGraphics.swift in Sources */ = {isa = PBXBuildFile; fileRef = C70C13D2EC9B57E48D64BD7ABC49F9D6 /* KVORepresentable+CoreGraphics.swift */; }; - 35A428176550E4AA2BB98CDDEE2AFF99 /* Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E4505859B317DCDCC426973F6C7153D /* Signal.swift */; }; - 3685E20BBC5AFEA3BC80FE12732AB269 /* GCDWebServerResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = C40D7DCF882E3A5609EDE1602335E721 /* GCDWebServerResponse.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 36DED9F6B7737F022FB0B01ECE2BB88E /* GCDWebServerFunctions.m in Sources */ = {isa = PBXBuildFile; fileRef = 0555618E1BBA944D30E358F0700CDD8B /* GCDWebServerFunctions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 381FF05F8B4F611EE9C2FDBE4457BB89 /* SessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7045A3758C33721435A4135DBC6A8AA /* SessionDelegate.swift */; }; - 38A45D6FD7DCA41AC0C9CD58EDBB57CB /* UITextView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4BB8686A6F85698D8AC03A77D188340 /* UITextView+Rx.swift */; }; - 39988540E9F936FE5085117BB8F32FAC /* PriorityQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3A89F3DBB03CFC012C901EB6D452A3B /* PriorityQueue.swift */; }; - 3AB06F4DB0A01BA8F6662D0EDC495981 /* InvocableScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = F97D53A26324CAC07AB16E21B963CF9A /* InvocableScheduledItem.swift */; }; - 3BAE1C06A091DFA7A91F93BD40BD41B9 /* Throttle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 127B3965CEBAEBFB395F0D10B7C255FB /* Throttle.swift */; }; - 3BBEC4A24B60E2276CBC26E555F64F41 /* GCDWebServerDataResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = AB7765E1848A0449B3E3267F17DDE12E /* GCDWebServerDataResponse.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 3D8428BE717C8E76FA50C1D8B93561EE /* DisposeBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04A3FEA575D65278CDB553AA231A0CF6 /* DisposeBase.swift */; }; - 3E2FF4CBA1E2C3A36060CB61A25F80F7 /* BRLOptionParser-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1389D4639C0D9038BA081FA8DC1CD646 /* BRLOptionParser-dummy.m */; }; - 3E6A74677BA3612A449B323631B44559 /* ObservableType+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C713517A8C0251C9EEB925D43C63A544 /* ObservableType+Extensions.swift */; }; - 42DBD7750A47DE5273041BDEE8850195 /* Multicast.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD90405BE5311F3F3A8CFCFABCCF3560 /* Multicast.swift */; }; - 4319C0B97542219FCA256B790FE90C1C /* es.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 4504CA755CE81F89F9F165BF93126D21 /* es.lproj */; }; - 432B3CB444984CCCFB4EF37E2D762F05 /* Observable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 636937DE6DA6CE01D7E94282A16BC9D9 /* Observable.swift */; }; - 43BC914A79B9230DA50C9D476DE5114D /* WKWebView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDCA53BCCEFF4720A955F8202537A982 /* WKWebView+Rx.swift */; }; - 4407E13BF761D53607A7B419BE64458B /* TextInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DBE368EA1C6F7EBE80E08054C9BC6AE /* TextInput.swift */; }; - 440BDCF5820801BC8A6D740C48EEAB8E /* Queue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B23D7AFD516825208E6CE9B362989DB /* Queue.swift */; }; - 447B98FAB75F9B738B72DA92A3C581D6 /* RxPickerViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC44E7C397DF9B77CEF6F5C86EFCE92A /* RxPickerViewDataSourceProxy.swift */; }; - 44C45DEC66DB1FBBA5F850E79057DC13 /* TakeWithPredicate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6327835932D3C270A640C0C76A860EB8 /* TakeWithPredicate.swift */; }; - 44D30DA4840EF46F1C4BCEA6179AAE60 /* ElementAt.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA23B9C3D142FEFFA05E4F37B1A976AE /* ElementAt.swift */; }; - 45B8CC1C61E7A0BB28CFA8CE7C12FEBC /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7453403FEE25F56521DBB8A39EA0204 /* MultipartFormData.swift */; }; - 4673A5004D211FA68BB8506B9A323034 /* Sink.swift in Sources */ = {isa = PBXBuildFile; fileRef = B304846A96173EC0E0631D07751C0893 /* Sink.swift */; }; - 4728113A1BA4AE948E1B2FB610A473B4 /* Repeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45BF55923F2D3657D9D5420E606B641F /* Repeat.swift */; }; - 47E487EF80C53073DBFE5F5FD6BCFF0E /* AsyncSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD07F15ADFC693A5C730840EA2B42015 /* AsyncSubject.swift */; }; - 47FDBBBD2704901588C3A7C56BBC502D /* ServerTrustEvaluation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90E9219489B97BDFE17BA3231CC465FC /* ServerTrustEvaluation.swift */; }; - 4892C3EBD345FAE187A5E15D7FA19CBE /* GCDWebServerFileRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 962EFFE0B39AFE334DBCAF81B4DBFE56 /* GCDWebServerFileRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4940AB8BC3936DEBDC02BF49FE5E97A1 /* GCDWebServerFileRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 392538EA12C4E3008D6EF1ABB226B3BF /* GCDWebServerFileRequest.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 4953376F75EEA98570C65CFC41E0A154 /* RxSearchControllerDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 474547C10494F37402A98A0BFC7E6288 /* RxSearchControllerDelegateProxy.swift */; }; - 4A33F1A7BD2AD1F318E081E17B0AA80F /* InvocableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 200825C8579BF340304A9767D679EC35 /* InvocableType.swift */; }; - 4AEC050FA7D5ED52FDA9DF50EA3560DF /* ParameterEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7ED9E80778846168B6F3F867C04F6AA /* ParameterEncoder.swift */; }; - 4B9CC90686F274845EBBB82F230C11EE /* Infallible+Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF4A8984BD7018149BDA495C7EA5FE28 /* Infallible+Operators.swift */; }; - 4BEC411F5B170048C65D315C87832600 /* AsyncLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52626495FA7375A2A4753E3EC16FB26C /* AsyncLock.swift */; }; - 4BF6073DF04E6CD2C3BD8D2C552D7E65 /* UISlider+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 466B399C2E7FFAA61B709F2AB447ECDF /* UISlider+Rx.swift */; }; - 4C3A9F4F5A688009D660C0FA5E5D81BB /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EE6672D913C4CDAB5BAC161BDC483A67 /* Cocoa.framework */; }; - 4C6CC049B53AF49050AD6428C5B50AB0 /* NopDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6B674A528A68BF8E6AB4A5F747B05B8 /* NopDisposable.swift */; }; - 4C88ED296D3687C973B0472D047CE3E8 /* SchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 111E9F3F4997D0ACA2E0BCDAF269904C /* SchedulerType.swift */; }; - 4D15DB973A043E9B4A47B724738A2A5F /* MASShortcut.h in Headers */ = {isa = PBXBuildFile; fileRef = A2B9727C5385989526550D8E1AC4649A /* MASShortcut.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4D6504A580F9D6278452D19FD3DD35BC /* PublishRelay.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA7211C3393B6E1ED0E57C4CCF5F5005 /* PublishRelay.swift */; }; - 4E095DE808150F9350BB9CB3C99A37B2 /* _RXObjCRuntime.m in Sources */ = {isa = PBXBuildFile; fileRef = 638797412ABBF2F7725016AF4B056309 /* _RXObjCRuntime.m */; }; - 4EC10410410410FF3A33C6015FD5927D /* ShareReplayScope.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72D91E08E6C75E1F0DBACD4FF3CA2F55 /* ShareReplayScope.swift */; }; - 516E4177ED65653EA9DAADBA3CF3FBED /* OperationQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC4C66DE7DB1A4B525929AEF699AC3CE /* OperationQueueScheduler.swift */; }; - 519260344D4291AA4C1CEAD7711B1489 /* Deferred.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33BBD4B03778E41A59C1A3F64AAB876C /* Deferred.swift */; }; - 51B830516D57359FAB42031193E47CB1 /* RxCollectionViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0D1BF03B3F26978B85F2E44EBE18FC1 /* RxCollectionViewDataSourceType.swift */; }; - 5263ED302CD55D6C365476F9B20AD5D1 /* MASShortcutMonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24121C8FA3C10947BE50901868F9198A /* MASShortcutMonitor.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 52CB53A7C3EF4BD88F73996450B73AA7 /* Filter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44775F4816D20EB134F1DBAB43BE0B3A /* Filter.swift */; }; - 535519D2B25D1784AA6D6A9BDE60C759 /* Switch.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4786526A5AD085C95AC191C7253C591 /* Switch.swift */; }; - 543010884F5B7C1F2920A0DF33A3A9D1 /* SynchronizedUnsubscribeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FA62A0165A7A8D001536C62FD5E2392 /* SynchronizedUnsubscribeType.swift */; }; - 54FFBD61CC8FA5DD12646A7FFAAFE425 /* RxRelay-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DDC82F5641636881356BF49166C8DF3 /* RxRelay-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 563C41694A1B06EF34752E894297D3FA /* MASShortcut-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B668707F7C66384A3BB8BC4FE3F41E6 /* MASShortcut-dummy.m */; }; - 58D3BBBF801B54CC74FAAC0374F1948D /* NSTextStorage+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = E35662841C2AAA3188CD9ADFDC38880F /* NSTextStorage+Rx.swift */; }; - 5989329B01C0737EFDB490C5A771FDC2 /* GCDWebServerURLEncodedFormRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = DC40BD5F1E0BFED23CB5A6AE57FA4443 /* GCDWebServerURLEncodedFormRequest.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 5BF5F916582D2EE625A9F0F32ECE709A /* MASShortcut-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 930EB20F00FF48CAF9B19505BC219504 /* MASShortcut-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5CDF229542C4FC347E9D1DFDBAC8B230 /* Scan.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32777B9FE68F64D911474F7B7595C94C /* Scan.swift */; }; - 5E3681E1F77D4A9B58F332348935EE8C /* Range.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2096522151041770121528F182B6F42D /* Range.swift */; }; - 5F7CE7907DC769D3E61980B80D20A275 /* Concat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66C7F789300668AEDFA53AEA1392C48B /* Concat.swift */; }; - 601A69113478A1336ADA98C7658D2355 /* Take.swift in Sources */ = {isa = PBXBuildFile; fileRef = 273C90965AA81CCFE4CDA40530425746 /* Take.swift */; }; - 60FBA126D0D250DE50F4DD26041E4A9C /* RxTableViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = D418B4DEE726BA9D5A912D8F1FBF0888 /* RxTableViewDataSourceType.swift */; }; - 611ACC0E723AF0E572160BC75133A9E6 /* UIGestureRecognizer+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = D87FAE60EB40AC65B2E5000C6B82DFEB /* UIGestureRecognizer+Rx.swift */; }; - 62DF258CA1EA9A41A99B93052A72DAB0 /* _RXDelegateProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6AD4414199F479D544CBF1FFF3FB45E4 /* _RXDelegateProxy.m */; }; - 63257249A72693C87BF365F343DA1D36 /* ko.lproj in Resources */ = {isa = PBXBuildFile; fileRef = A254689F2908346AD7387F063C24B41A /* ko.lproj */; }; - 63CE2D43072C461D8DE926F0B9EC2E97 /* RxPickerViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22D41ECF1E34CC3D83A32F7896831100 /* RxPickerViewDelegateProxy.swift */; }; - 64F43894B4404E7BDE27A5C8BE96E0AE /* Completable+AndThen.swift in Sources */ = {isa = PBXBuildFile; fileRef = A111C3B36368413B50627674BB48E859 /* Completable+AndThen.swift */; }; - 652118C36365C28E76826357E309EADE /* Infallible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 370A313E34AF66CB8D7437ABDC3FB7F8 /* Infallible.swift */; }; - 6546D728B69398F93B506845141EBD61 /* EventMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E0CDE6403F2AF9E108FF190F90FA9FF /* EventMonitor.swift */; }; - 65EA84D8C4EA09B4455BC6C221D2A940 /* Pods-ShadowsocksX-NGTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 72A57876EDEB24ADDFE06DD482CE250C /* Pods-ShadowsocksX-NGTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 66207468882614FB8CE9896DC4250F13 /* Infallible+Create.swift in Sources */ = {isa = PBXBuildFile; fileRef = 161437331F54761E08F028DD14CDC21E /* Infallible+Create.swift */; }; - 665FBE569EDC9AF24C721F6B9C7241EC /* MASShortcutBinder.h in Headers */ = {isa = PBXBuildFile; fileRef = A18A7F7794D2CC58900E95F6644D63E8 /* MASShortcutBinder.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 666EC5C8356E6D4448A2FE7BEE77AD88 /* RedirectHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = A32434EC299FDE302FFF9F31EB8735D0 /* RedirectHandler.swift */; }; - 66B26C6CAE737EC21F4BA1F1851B69C5 /* Result+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD2C25316E1BF4F3230E3412417481E6 /* Result+Alamofire.swift */; }; - 6809229B402FC6C91774DA8664AD4F2F /* GCDWebServerRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = A4395BE2A0C53A82170A01602870453A /* GCDWebServerRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 695A83FEFDFE24858DDC37BD64DBBA33 /* Binder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4412635C50524157DDF38FA0CB197F4A /* Binder.swift */; }; - 69D750E3DAB2F11E37761A204A145883 /* Timeout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 661DD8158386E15481E17DE6E2FA1882 /* Timeout.swift */; }; - 6A2F2216A64E4B4E0FD6215A2F5E692D /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EE6672D913C4CDAB5BAC161BDC483A67 /* Cocoa.framework */; }; - 6A3972E7F1ACA4CEE36E0AA3B2BA34FB /* Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C0FB7A81FC88101C56EABF826BD78F5 /* Reactive.swift */; }; - 6A5300346FF40392C6A4B5908AA9C027 /* RxCocoaObjCRuntimeError+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F666DF6A38D74980DF6F191509F4971 /* RxCocoaObjCRuntimeError+Extensions.swift */; }; - 6AE407A4FB6C3D6ADD862CC6E3067A17 /* Session.swift in Sources */ = {isa = PBXBuildFile; fileRef = 996DFC2DB5C2F37F0E623EB885F5DEB5 /* Session.swift */; }; - 6B105A67121436E162ADE05A682BEA71 /* Amb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CB05B6D60934D955FE0D75C2339A114 /* Amb.swift */; }; - 6BDF6DD0C73F197EC93643F477997B40 /* UISearchBar+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2888FA81FD2BE4D3B068BCE4AFDC9A93 /* UISearchBar+Rx.swift */; }; - 6C08F6A77889651626583100F560153D /* RequestTaskMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF8D2E7C64775F0DD477127B5EC2E0AB /* RequestTaskMap.swift */; }; - 6C1064F34CFE15C3DB0E923D9D170E0C /* UIBarButtonItem+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB340F626B32E3AF98F1E13658FB46E2 /* UIBarButtonItem+Rx.swift */; }; - 6CA2AE8DA8D630D83FAED6FC2F081967 /* HistoricalSchedulerTimeConverter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38A0B431980745BE7A67D566D79E240A /* HistoricalSchedulerTimeConverter.swift */; }; - 6CD3A3F8ABC5FCE23D15CE6823840010 /* RxTabBarControllerDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39D9FF9E1CBB62DA6FC1910AA45EB039 /* RxTabBarControllerDelegateProxy.swift */; }; - 6CDC5000511AB1CF616FEBB8A856AE58 /* Bag+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCCC3232579F890A62A86540F6600BE6 /* Bag+Rx.swift */; }; - 6D5BDAE5D8D991B874AD4D7FF2EA7C8C /* Lock.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA0A6C3DB39AD5C25FF5B1A9F554E228 /* Lock.swift */; }; - 6E54F64E8DA73F4B0B46C216F9F93F63 /* RequestInterceptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80B5C55F7279E38D15E19E9DEDDEDE7B /* RequestInterceptor.swift */; }; - 6E75ECF4BDC7AF83E3151274539DFF93 /* DispatchQueue+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C96F1CEB77C6CB8A9D2A7682406E7AE9 /* DispatchQueue+Extensions.swift */; }; - 6FD62C6E23DE07DF1291500FEFC19354 /* BehaviorRelay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D796FDCC7398C88D7B835BD89700D56 /* BehaviorRelay.swift */; }; - 70359E1C7BAA76860EA35A607CCC4309 /* DelegateProxyType.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBB7AE66363DEA0FFF31BA0AD1EB9340 /* DelegateProxyType.swift */; }; - 7094648D68C944D337CE86C10F8EEB04 /* zh-Hans.lproj in Resources */ = {isa = PBXBuildFile; fileRef = B2BCE49AE180E28B89BBBE037DF32A2F /* zh-Hans.lproj */; }; - 72E6FED1FBFB7D269B435A3802528AA1 /* MASShortcutValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E796A67AE756E845646324A31731334 /* MASShortcutValidator.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 72EC2712926E6D28B52360D9AC41668F /* AlamofireExtended.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19AA7CC35C97B4BDF08E2E5CE20955E0 /* AlamofireExtended.swift */; }; - 73E48515343BD4E57358BAD9F3B2F590 /* Platform.Darwin.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAABDBC186233AEF9876B5A4F009C8B8 /* Platform.Darwin.swift */; }; - 741E51A8D9DE26331ABB938B3BD5751A /* AddRef.swift in Sources */ = {isa = PBXBuildFile; fileRef = 494FD3BF9675BD2ADCE4731FED65B5FF /* AddRef.swift */; }; - 75917BCA0645283EC7D9CC3ADEE6DB4F /* BehaviorRelay+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98EF0EFA057CC202BD041F55B091661A /* BehaviorRelay+Driver.swift */; }; - 77093BBAB8F2F51540322CB14BD2C178 /* BehaviorSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB1177638C48D2FB13DDFB46A70CD35D /* BehaviorSubject.swift */; }; - 77260113D5ADF7B45DAE46C549580AFD /* UIRefreshControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 506B13C445D67D7231C25641361EE5A1 /* UIRefreshControl+Rx.swift */; }; - 774C726DE2716860799DAEAD0B801A94 /* Reduce.swift in Sources */ = {isa = PBXBuildFile; fileRef = D894FDA92A29CEECD7D1E50C263F1777 /* Reduce.swift */; }; - 7813074001D6CD69B3A1EBAF59379E58 /* Observable+Bind.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A18EEA4857408358F9A8E6ED8AF8829 /* Observable+Bind.swift */; }; - 786C836C43BD6428332A4001EE13816F /* RecursiveLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5554F4E6979C7DDD1E00F81CB94D474D /* RecursiveLock.swift */; }; - 7885432DE1DDE9F2A4607033B2808E5B /* GroupBy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47EB7F9271D4EAE5B4A31D5D0194BECC /* GroupBy.swift */; }; - 7B0FB5B7BF42B15FDF1FCE073D8C4C21 /* AsSingle.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8D247C19100F15D54BFF5D93804C65E /* AsSingle.swift */; }; - 7B99EC9A5D3CF7B6DE0330773143F15F /* ObserverType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B00E954AA2FCFDF5ACDEC8CD8C6941E /* ObserverType.swift */; }; - 7BD242803D2ADF6E50A27C3542C8695D /* NSSlider+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5874107EF4581DA493B60BBCFE422D1C /* NSSlider+Rx.swift */; }; - 7BFBC9F9818BC849C72D672D6B6E4B75 /* RxNavigationControllerDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52DFCC55A239674DEF17871D293D227C /* RxNavigationControllerDelegateProxy.swift */; }; - 7CF0187F571D299FE14788318D720152 /* StartWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = 864BF009AFF7BFF4D8B68869FC885957 /* StartWith.swift */; }; - 7D3DD4A8BB36733BA15868F7FB8C56CE /* Alamofire-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 10E99E50E2994DB7AD9AEBDEF1A2F72B /* Alamofire-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7D5AE7E56AC7636F1D00076095F57745 /* GCDWebServerConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D0B40D5A184825074ECC549693CAF02 /* GCDWebServerConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7E8BC075464E9C355B763973CA6C08D2 /* UINavigationController+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D742A8B753D54115AD3C6D293B64276 /* UINavigationController+Rx.swift */; }; - 805003984E8CFD3375B935DC772A7BF3 /* MASShortcutView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C73921B2C710D3814A33EF328D04D20 /* MASShortcutView.m */; }; - 809C371060C874FBEF8FECDF197D74E3 /* sv.lproj in Resources */ = {isa = PBXBuildFile; fileRef = FDF7D102C3DA0493A530D68E569DA7CF /* sv.lproj */; }; - 80C7348602C99C09226B1241C02D4754 /* MASShortcutView.h in Headers */ = {isa = PBXBuildFile; fileRef = A2EEB1D58595D58C5DC8978116BE0648 /* MASShortcutView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 815908B08BEA64FC0E5641D046D43CB6 /* RxCocoa.h in Headers */ = {isa = PBXBuildFile; fileRef = 7EB9FE74C8220E21EC9A5A77098E9152 /* RxCocoa.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 82764E2E2DA3FD699FC5B659ED35D9AE /* pt.lproj in Resources */ = {isa = PBXBuildFile; fileRef = FAB6166D07AACCBF2B4A5FFC66F22602 /* pt.lproj */; }; - 830F06C3D23016D62112E4BA1C22A766 /* LockOwnerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 683395CCE980D15405934DC5E2BCD682 /* LockOwnerType.swift */; }; - 8314F89A5274810933307BC20E85D3B0 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EE6672D913C4CDAB5BAC161BDC483A67 /* Cocoa.framework */; }; - 83470A9EFB9948DED806CC1D1233D21C /* Skip.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07B4CEF97C27B2FE6205EE1D720BFB39 /* Skip.swift */; }; - 844134211AB7B26FACFFF74B58B81C02 /* UIButton+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17F9F190DDBE93E38A56D8405CBFA664 /* UIButton+Rx.swift */; }; - 8450D728709DB935952A5A59650DB926 /* MASDictionaryTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = 353B178196A1B3A383089B3D1006F66A /* MASDictionaryTransformer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 84E576015933A4F6F431759174C62956 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4764F518EAB30C5EA82C03A5607ED7AF /* Error.swift */; }; - 85CD565FB8198B084806FE075B268AB5 /* NSObject+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C119A4F639217703B4B382419AF9D4EF /* NSObject+Rx.swift */; }; - 872E07F59296D07A405BAB9C36936AC8 /* DelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB63C0EAF763E45BC31AAB9802F87995 /* DelegateProxy.swift */; }; - 8819CBF35F9919DFC3C17016DF3ACE46 /* UIApplication+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C78EDD95C0B56A70BE237D148A1726CA /* UIApplication+Rx.swift */; }; - 88665F16CDF39BC2A50C6619169E6EDF /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 62F5D09616527A0713F24DF416BEC64F /* Carbon.framework */; }; - 88F5FF298C4C3D2CDCA5EB7B0BE2B52C /* GCDWebServerResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 89066EEDE0D03A9B328DADDC9344CC13 /* GCDWebServerResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 896AD4C4865ECEA0A8344B54BBA3B9E1 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EE6672D913C4CDAB5BAC161BDC483A67 /* Cocoa.framework */; }; - 8AA937910F87915DE700CAB6C868689E /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = BEEC0450A3B1A48A304AE8BF1DC03429 /* Notifications.swift */; }; - 8B67845A8F56DF49F8B22B1BB63C5E10 /* VirtualTimeConverterType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4673D1BC54F57F490E2D3352F6BA1B73 /* VirtualTimeConverterType.swift */; }; - 8B7EEE0E899778DA279E64E26E38FB30 /* RxTextViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 531091EE9FF408558B83A1E053360F67 /* RxTextViewDelegateProxy.swift */; }; - 8BEDC2C0D907FBB47A65EE0E01DE2A59 /* GCDWebServerDataRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 36E9C273C636D7A0C559787BD1FABA68 /* GCDWebServerDataRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8CE605907DC8FA1F2E4751F939A4E604 /* UIControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C1FFDE936B5B805CB094F77E95A88FC /* UIControl+Rx.swift */; }; - 8EB4272CE33A59083F0DC9746C0F71D0 /* RxSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F0007682E9947D6BFA4DA24D30F6CBF2 /* RxSwift-dummy.m */; }; - 8EEA6795ED2806C80FBE6A00B615CB76 /* PriorityQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = D96D37A7C37C05D7DEEAE9B3944CC4DD /* PriorityQueue.swift */; }; - 8F66042610AE99F62D17E50EF0C83B0D /* Never.swift in Sources */ = {isa = PBXBuildFile; fileRef = F961756C2E9DE7614DBA1271483EB245 /* Never.swift */; }; - 901D8E9CC22C5E7FDB218557EBBB3559 /* GCDWebServerDataResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = C21721CAB3BC76F0D7582BD636DB821D /* GCDWebServerDataResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 90429156F020B4490158F6686EEFCB02 /* Date+Dispatch.swift in Sources */ = {isa = PBXBuildFile; fileRef = F11E6B29B9CB879F29AFEBD980D3AFBF /* Date+Dispatch.swift */; }; - 90B5B048AE70F82175F8A3DB72EF601E /* Buffer.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE717EAC81EE595FC7AE3C1A3C6D06A6 /* Buffer.swift */; }; - 911448B2EDA2FF880108F77642797A88 /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48CB9D3553F121F84DBB750A8FBE0F3D /* ResponseSerialization.swift */; }; - 9131DD9E2CB7420C156461E56835AE6E /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BFD92A4EF88D0A6B34E86A6A7CE2436D /* RxSwift.framework */; }; - 9141315B460BE4CD3030B62BE7692B73 /* Queue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 960C49C6C3C5E2554CA3CD8EB86B61AC /* Queue.swift */; }; - 91B837CE0DCD8EDB300FCDFFA1279162 /* HTTPHeaders.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3425B3045259FEA3A238D183DEEE520B /* HTTPHeaders.swift */; }; - 91C85BAD47B39F365F260E74AB24693D /* zh-Hant.lproj in Resources */ = {isa = PBXBuildFile; fileRef = B5D8A52DE9A6385138A6D20CB5527DDB /* zh-Hant.lproj */; }; - 9281E701873CD72C35440865226A1A8B /* Pods-ShadowsocksX-NGTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C10AA3C311345DB3616BCE827B69C55 /* Pods-ShadowsocksX-NGTests-dummy.m */; }; - 934592C980EE09EEE5F4B5074C6A56D8 /* PublishRelay+Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 758B67811993E4C5163D7637EDBB6CFD /* PublishRelay+Signal.swift */; }; - 9360BB098EFD18F90BA16149E8EF8A34 /* Merge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CA0D236EFCE9E4E77F9A2B2A0AF3FC4 /* Merge.swift */; }; - 9389C4BF3F440F2503FFEB8BBC8975C8 /* ja.lproj in Resources */ = {isa = PBXBuildFile; fileRef = B1F34EB08D07E2AF230CDA30F361889D /* ja.lproj */; }; - 953EC9012B7246D01EA866100FAEA023 /* RxPickerViewAdapter.swift in Sources */ = {isa = PBXBuildFile; fileRef = F979292485788BE53E5871123C74EB10 /* RxPickerViewAdapter.swift */; }; - 96E6F7A2D012051B29BC9147340E5117 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EE6672D913C4CDAB5BAC161BDC483A67 /* Cocoa.framework */; }; - 9806F1246774ADD50F50D3F1624EB0EB /* UITabBarController+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D4701E49CFDE5F411CDFD316EDD3C70 /* UITabBarController+Rx.swift */; }; - 99210D61FFF596695086F3E51D893204 /* ControlProperty+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97D6BD38BB9E0F241C3C82A118E7F253 /* ControlProperty+Driver.swift */; }; - 999CAB83E4F6D824DF56B2B755C0B588 /* _RXKVOObserver.m in Sources */ = {isa = PBXBuildFile; fileRef = A14B9E97BE00B01372727FA8DA9B10A3 /* _RXKVOObserver.m */; }; - 99ABB4C207FE146C78313E8A9A581FD6 /* GCDWebServerFileResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 5BC543740C092C697A08396093A0F7BD /* GCDWebServerFileResponse.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 99E2AEBB5C39DB1661C5C03DDAA451EC /* Infallible+CombineLatest+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40573DCBFB24CA15F7D6C33B5C73162F /* Infallible+CombineLatest+arity.swift */; }; - 9A1CDAE2E9AFFFDBC654855D4A8C6D36 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 817D9055D7659CAC86800D119F65E0F4 /* CFNetwork.framework */; }; - 9AA31D499392F8C3E63FE70C8DE816ED /* RxCocoaRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = 95F05E167015F6A202D2BEB9437AE766 /* RxCocoaRuntime.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9AC6705C60E05CAB6115BA7603BDC0F6 /* Bag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B98DA4C08DC1A12B2789714C6CDEFFA /* Bag.swift */; }; - 9B1D8A7798D8A6F518FC9AF9725431D0 /* URLConvertible+URLRequestConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE6768B8A7BED83ED5C93BB3439EFFEF /* URLConvertible+URLRequestConvertible.swift */; }; - 9C3D3F75523B1B1BB4B3051C01F8F6FE /* Zip+Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3677CB82C594C5820F17431AA45C5C87 /* Zip+Collection.swift */; }; - 9D05E77AB8415BB11EC5C5FB6FD62276 /* UITextField+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 877FA6BB936631CD8F2CA0DFFF6EFC9C /* UITextField+Rx.swift */; }; - 9D5CD154B7C49DA0BCBFF996CA9A6E62 /* RetryWhen.swift in Sources */ = {isa = PBXBuildFile; fileRef = AADC2D51259367D2BB2C73816E5A35CD /* RetryWhen.swift */; }; - 9E9A7DA26421695F48AA96DA35B813B4 /* RxTableViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5B1AE9FCFABDD97172220DFDFE618E5 /* RxTableViewDelegateProxy.swift */; }; - 9F77A1FFC61AF7C54E88B7436893C91B /* DistinctUntilChanged.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3949A4BE0C4C31915E5A812146DB23B9 /* DistinctUntilChanged.swift */; }; - 9F794FB773B632DAC0416008A8EC3F45 /* ScheduledDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0D4493458E5817BA46B4318626487F6 /* ScheduledDisposable.swift */; }; - 9FC8EA2F7B3939D69D1469F9046B166A /* Window.swift in Sources */ = {isa = PBXBuildFile; fileRef = 855607DC318E2CF3120B3C70565140A0 /* Window.swift */; }; - 9FED70D1E1FBFB80E974E999EF732258 /* RetryPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B85D80911EDFC7DD402EBEB3A05169A /* RetryPolicy.swift */; }; - A0F9BB688F14F5B350A388BA60C184A0 /* ObservableConvertibleType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4618A8C418D70264404BBAF10EE3A1F4 /* ObservableConvertibleType.swift */; }; - A1CB4107AB9FDEC58E3A7C0C14B4AB79 /* UIDatePicker+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46A83A815027A06FB7A8AB2CEDF56368 /* UIDatePicker+Rx.swift */; }; - A24E8834A85F99EF471C495AD4EFACAB /* RxRelay.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FBD8075FDD277652161C8676E945DE6A /* RxRelay.framework */; }; - A2526FE80C9370555D66A0A33EA22E44 /* NotificationCenter+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE18F7CA6E337EA48867C7D92143B6F9 /* NotificationCenter+Rx.swift */; }; - A2F246B7FCDC421BE6098866AA1509C9 /* MASShortcutView+Bindings.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C471325C18D493A8244DEB1563B18B6 /* MASShortcutView+Bindings.m */; }; - A34F81BE4A40B0C6EF378FBB8F240C66 /* _RXObjCRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = 6985BD62945B0A86382437BC1758C282 /* _RXObjCRuntime.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A3D78B5A2E0E6B987B021DA58CA55BEB /* PublishSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE18557905075BFBE5AFBE3A0D9287F4 /* PublishSubject.swift */; }; - A4CE525F7E6904D7D244727C90DBDBE2 /* Sample.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBC071EBDAC90F82FF4D25D024A5AACF /* Sample.swift */; }; - A525A6AE79BA19A9BDEA467D31477916 /* NSTextField+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C81F8C45A4C248E266304541A86B5A8 /* NSTextField+Rx.swift */; }; - A5BE980B95C08EDFEBEC17E0433A4A2E /* RxTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B37E46EBF28CB6542B58754F09D8AAA /* RxTarget.swift */; }; - A5DC2335899B03F0130A9C739319C92A /* SwitchIfEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = A20673B8CBA1827BCAE8A9CDEAF0CDC5 /* SwitchIfEmpty.swift */; }; - A6652D3942752A05ED133DB77C955216 /* DelaySubscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AE4AAE5FF0F7FEDE2C8D5FB08A1AE4F /* DelaySubscription.swift */; }; - A7A81BFC5D65FDB665AC19E78D4F21B6 /* ToArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314A2DB247EA6781CE45C5C146496327 /* ToArray.swift */; }; - A8DBBA1BD18472113BBE931A3F949659 /* Infallible+Bind.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36C45F96BE0AE01F3BB2C90370A73616 /* Infallible+Bind.swift */; }; - A8EEAAF6FACD8832BE7E4A6331ED57E4 /* ControlEvent+Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C3A35E7DD83A1437478608A9F2EF44C /* ControlEvent+Signal.swift */; }; - A9AFA432B293A80CF9B1ABD1285A4705 /* AtomicInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = A269EEED1FC8BFDA5FCB004DC335F5C8 /* AtomicInt.swift */; }; - A9DD82DFCFA49DC81169D82415DE7B94 /* Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = D54CB24891D5C94C81CAED6F6D1D4FAB /* Rx.swift */; }; - A9DFF7177D374AF79EEAD9F34B66569A /* NSButton+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DFC3F4E49698472F1AA8DE21B1BD0F2 /* NSButton+Rx.swift */; }; - A9E6EFE85136C81C4AD5BF1CC1B990FD /* BinaryDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2FEFD09344E88FFE590FC0A7146C0D32 /* BinaryDisposable.swift */; }; - AA5CBA43C0BF98751988A758EB180BA6 /* ScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8663196F6A9678BFC77A8E46F8666C75 /* ScheduledItem.swift */; }; - AB83592C5AA99079DA59151D2ACDFBE2 /* ObservableConvertibleType+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = E14C791F6C2C8320DE732C78C55306A1 /* ObservableConvertibleType+Driver.swift */; }; - ABA85887A41495358C83CE3F3030EDEA /* CachedResponseHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32EC506B43DB4AE47634A8AEE18D9E8C /* CachedResponseHandler.swift */; }; - ABDF69C30364D8B9BDFDA8D82A797396 /* ConcurrentDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB051CDFBF3B30AA181F5BF12F48FD3A /* ConcurrentDispatchQueueScheduler.swift */; }; - AC9540D461C3407AB049AEDB94B82375 /* _RXDelegateProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 30E50B8D09D21C042020DA82FA315C59 /* _RXDelegateProxy.h */; settings = {ATTRIBUTES = (Public, ); }; }; - ADF86969180231C97A14929F02866A1E /* DefaultIfEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = C798C591985DFD0B008AAEEBF78EF979 /* DefaultIfEmpty.swift */; }; - AE143D6485273A676FF9FBF637EE32B3 /* Create.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3ED0602BE820AA0F7B2D99CBFED4C1F0 /* Create.swift */; }; - AEA40BB1875D2E7B7DCB5E63E672033B /* UITableView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51E7C258B34B55C44CAA679574F0B5E1 /* UITableView+Rx.swift */; }; - AECCE1EAA0757255BC4D722A53202DB0 /* GCDWebServer.h in Headers */ = {isa = PBXBuildFile; fileRef = C771BA2A255CC372CD2AB83291BD3E1C /* GCDWebServer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AED84FBEE9189CFC8A946DDC2BFCB2BE /* _RX.m in Sources */ = {isa = PBXBuildFile; fileRef = 74E6FB11E3F38127740B54FF3C72D1EF /* _RX.m */; }; - B1501E5B044C314A7E3E08D5172CE6C4 /* MASLocalization.m in Sources */ = {isa = PBXBuildFile; fileRef = 46DA81F6288F2733B7F27CCDE97EA2C4 /* MASLocalization.m */; }; - B21C782362344F1FBCA4C5792EC1DED4 /* PrimitiveSequence+Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8C417EB740CAC7F2602C6D8880E7737 /* PrimitiveSequence+Zip+arity.swift */; }; - B2246BF06902F6B9264919F779968CCB /* RxTableViewDataSourcePrefetchingProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C15539256AFFEE061C9DE9660B995B25 /* RxTableViewDataSourcePrefetchingProxy.swift */; }; - B261ED81ABD31C88EAC460E27E453FAE /* NSTextView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5800B274C19C06FB1CA12AC039704852 /* NSTextView+Rx.swift */; }; - B28F09A584B9F1BBF2EFD17B072A5CE1 /* UIStepper+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B2134E06DD0F0E19694ADD2E46E9EF0 /* UIStepper+Rx.swift */; }; - B3C0F4C71E972214529455424C69E544 /* GroupedObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFD30F9BBDEB87F6ADD6C3AAF8DE6E30 /* GroupedObservable.swift */; }; - B3E529B0C5581EFBE667B478A97681F6 /* Pods-ShadowsocksX-NG-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D60357581333E7EC56952E31B2991366 /* Pods-ShadowsocksX-NG-dummy.m */; }; - B47372436C56EE24B909DE97D5005A64 /* GCDWebServerFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = DD31B6D267ADAB9B30F51F821C60554A /* GCDWebServerFunctions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B4E0DA5CB21C859040F39077A2731701 /* ImmediateSchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DF9FA6B1D40855A99145762147C1690 /* ImmediateSchedulerType.swift */; }; - B59F717CE3CD531818EAFE88FBB454AA /* InfiniteSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB62C29E42A50AB4AA5C6DED19DA376D /* InfiniteSequence.swift */; }; - B6634C3C7216D0A7B063174C16BA1922 /* PrimitiveSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 280A80C3BD890370005C094FC4C3DC12 /* PrimitiveSequence.swift */; }; - B7B31CEFFD225FE0DE33DA0CAAFB46BB /* AnonymousObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 636D1EE61F0E0E367F486461F8E0DF54 /* AnonymousObserver.swift */; }; - B82E2164A69C0D6D3A21B76EFF96F083 /* SharedSequence+Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = D18636DE7B757847E9D7B9E45CA10DE2 /* SharedSequence+Operators.swift */; }; - B8B7E2AC4972978F6894F9C22936CA42 /* Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E698A2854CB4D9E919B55523EB57D1A /* Driver.swift */; }; - B90A504C57627AFCC56F0608D321FB31 /* nl.lproj in Resources */ = {isa = PBXBuildFile; fileRef = A94A0417121D2C31F7167E4A79EC5313 /* nl.lproj */; }; - B936FB1A1779B971BCE58D1CFB84036B /* SingleAssignmentDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCF992D22D15D6CF73AF4D310FEE871C /* SingleAssignmentDisposable.swift */; }; - B9C2804D9E9FD66CF22595DBFED0DC79 /* SubscribeOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17A8B6DADE1F343EA5319D5964E84B71 /* SubscribeOn.swift */; }; - BAB6CF7AB28DA0D4BCBC2CF5F53D51AE /* UIScrollView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 441E899D371A5638D8CBD0A21A8CCA61 /* UIScrollView+Rx.swift */; }; - BAC5C3D7F895C6A95B5EA70D1C4BB998 /* DispatchQueueConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 222E861679233A0833D6C2F8079146E7 /* DispatchQueueConfiguration.swift */; }; - BACB203DEE570915EDEC3E701158A173 /* AsMaybe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D680C4252D37F732EE2D1BB9AB911DA /* AsMaybe.swift */; }; - BB15F798287F7447B78B4D49522030C4 /* SwiftSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BC06E9EC97DF3F5E3AB732D978BD66B /* SwiftSupport.swift */; }; - BB322452A0B606428489BA2B2F6D3715 /* NSControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAFFAAB92EFEC042FEE2F851EF9C6CC0 /* NSControl+Rx.swift */; }; - BC03F491551F314E102DEB2F96110609 /* ObservableConvertibleType+Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3DCF3854C69F5239CE7E89C1FCFAA51 /* ObservableConvertibleType+Signal.swift */; }; - BC184A6D6502B7B4B308496F5172E4FE /* SynchronizedOnType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95A61E2BD71E9AE873207EFE8994362B /* SynchronizedOnType.swift */; }; - BD379AB5D6DF4FF97EF15732D9635186 /* GCDWebServerURLEncodedFormRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 97319F4B64360DC3D794BD7B57BC9936 /* GCDWebServerURLEncodedFormRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BD386D2A7F6652D62B9E75803D3AAD3B /* Bag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BDFA1D8F5CB80DCE3773C11691B223D /* Bag.swift */; }; - BEF81EB8E8A3FB2B8519CDF1C6DEDA1E /* CombineLatest+Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68D133622632E3F0C62D1F74D188EA7E /* CombineLatest+Collection.swift */; }; - BF1EB892BE3CF9CDFA0DAC7F9392435C /* GCDWebServerRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = D4E3DADB00C8898A4A01F4DF1034F96C /* GCDWebServerRequest.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - C09F690FF2734763D8D2838B0BA14B0F /* RxCocoa-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E4C0551E43C5CE2E6F3BD09C18890BFD /* RxCocoa-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C0ACE318CA3576826A53026F9C253E0B /* RefCountDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = B97E5FCD7744551B43A8C353FD79E774 /* RefCountDisposable.swift */; }; - C0E1B20534F498B9891E956388D79209 /* NSView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4028B836251B6DD18772CF35047686A /* NSView+Rx.swift */; }; - C0EA3A392A5229080E52F9FDF969FDC8 /* Completable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AE63CBE5D3B0C2D25184C45E1B8C885 /* Completable.swift */; }; - C1C5B050B55C15103ABC81769551A283 /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D09EFC8E8E0DD0BACEB39FA20E08331 /* Response.swift */; }; - C1F1DB6A9CBDE584D09BA1613AAD4F9D /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E656BCAB89EA23EC58A161ACF0DAE68 /* Alamofire.swift */; }; - C33311F020C5777D0CB7E0F61E4FED8D /* Shortcut.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B9491CF676F85A85C4F0987D38F9051 /* Shortcut.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C341FC8944C28CCA39FB9AC4B0F23763 /* GCDWebServerHTTPStatusCodes.h in Headers */ = {isa = PBXBuildFile; fileRef = 57BEC3094A7FB642608645E131DA83D4 /* GCDWebServerHTTPStatusCodes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C3D17F4F92CD46A4285A92D1FD6AA4B1 /* fr.lproj in Resources */ = {isa = PBXBuildFile; fileRef = B68B5F9FDDB0D41979766C1D549A8780 /* fr.lproj */; }; - C4CD2007BF8F2B0B5125A85B1C43AD24 /* ReplayRelay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 485A8E801F2DA21AB5D16808AE1B4887 /* ReplayRelay.swift */; }; - C60C9B7447C5D9555611004E27093043 /* SharedSequence+Operators+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87A94DCCD78781BAE448DEA818B26DE4 /* SharedSequence+Operators+arity.swift */; }; - C6D5A4B4028B2C43380C9FA58BD5C8CA /* Alamofire-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 06A09DBC68AE0A93F94442D71EBF343F /* Alamofire-dummy.m */; }; - C7A325790D6CB1C3545FE9E688545C56 /* BooleanDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA0C023ECBE853C3AFE12E6702B6D1CD /* BooleanDisposable.swift */; }; - C81FF014587AC7E1A51D4F3F2C6F72EA /* ReplaySubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96D93775EA307729314581C5C539C487 /* ReplaySubject.swift */; }; - C83DA2E174587856EBBAAA1763F6D483 /* _RXKVOObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = A8A33670952794CBD825EC26F1A98DBF /* _RXKVOObserver.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C8422B20017685DE0D693EC679FF8BF6 /* KVORepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54F202B17AB2C7DC4FEC3F1CF2B5FD57 /* KVORepresentable.swift */; }; - CA391E5CE794FA6D964DC2DFC8B8E109 /* NSObject+Rx+KVORepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B00813C768C553C089DAF0C1900799B /* NSObject+Rx+KVORepresentable.swift */; }; - CC9F7F2B397CCCC5397750D0B139E373 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29BFF21F894144F23E9F778185A1EBC4 /* Utils.swift */; }; - CCE2D9FB50D6084FD48013ED3474F992 /* Optional.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5158C591583049B150EC9F57DC2FA656 /* Optional.swift */; }; - CD782D1189ADBAA42D087B87D53838A0 /* GCDWebServerDataRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DFEE31FDCAA3B9A85119C45EE5BF376 /* GCDWebServerDataRequest.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - CE622A228B2F310835326CCF0B83F031 /* SynchronizedDisposeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3623071AC720B9C13DD1043F7052A73 /* SynchronizedDisposeType.swift */; }; - CEA50BEC377AEE2AAA9DB5B71DEA418C /* BRLOptionParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 31F9576864749334961DE762B01B777C /* BRLOptionParser.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D03F1F02DE8606E6057D57866611BEBF /* MultipartUpload.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CF5ADA01C91A2DF993314D6CC9C63D3 /* MultipartUpload.swift */; }; - D0B9EA4DC98653D58DEAE9629A2F0285 /* SkipUntil.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1D0AF20D0BF5465039BB88836A959B6 /* SkipUntil.swift */; }; - D0C4275AF3346D1C08B187D04D9606F2 /* Platform.Darwin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E801F2049749D5BA709EAE3A2028661 /* Platform.Darwin.swift */; }; - D13BDCB5C86CD4018E19F1DA207BA61A /* CurrentThreadScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C793DFE7002D416E900642C76CEEBD75 /* CurrentThreadScheduler.swift */; }; - D14066FAE94E304798E43651E5886D13 /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF8CD0A416163A50B72AAF4B0C4A124 /* ParameterEncoding.swift */; }; - D21D80287E6B1C56E0BE86B1E3F08249 /* Decode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D99DA86D8CBFFCB2E7FD40BC42568F3 /* Decode.swift */; }; - D251A0235B97F9217D50C5A1C7C5F311 /* URLSession+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAB5B580FE6B602D602E607C7BC7C470 /* URLSession+Rx.swift */; }; - D260B45339932BAA56D7024048E2D155 /* GCDWebServerConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 1410700BFA8AF785CCF9919941F9930C /* GCDWebServerConnection.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - D31FC7FDD450C4CDD633ECBAD27C6221 /* URLEncodedFormEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D0A2A589A608DD00CA24C86BCD46E62 /* URLEncodedFormEncoder.swift */; }; - D33C1AD2E019F48235F734A00CE7C24C /* GCDWebServerFileResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 77E73C4E3CAF9AD8FAE2EA9130D6A37E /* GCDWebServerFileResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D37A995029438A503B62B1D2ACFE9247 /* MASShortcut.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 230F8208BE63C052A548A7D41A1158B2 /* MASShortcut.bundle */; }; - D557532ED179C1F26074DCD602EF357D /* cs.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 18B45BFB16E63DDF1AFB6C167D70D1C2 /* cs.lproj */; }; - D574A95C82CDFCC40442A4C5A20645D9 /* Single.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3E96B8BC40FDC92B51E51B50F126573 /* Single.swift */; }; - D57542063237724C1CA2962EAC1764C7 /* Sequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 172B845C32EEB48FD9EF1A11CC432D51 /* Sequence.swift */; }; - D597C1B3CBDE4896A022E9422A4F4874 /* Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 555231B7293881D7D76CA80C82AABA2B /* Debug.swift */; }; - D5E020763D69E9336EB398ACD48FEBB0 /* GCDWebServerErrorResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 199E49652A8B30754D25980910F956E1 /* GCDWebServerErrorResponse.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - D5EAAFB6FAD77A8F0699345149BA3CBB /* URLRequest+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47291D90953698297410B0C37E619402 /* URLRequest+Alamofire.swift */; }; - D6389E438CF72863B7F4832592B60428 /* Empty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65D8FEBF2028BCC7758A666F2A35989A /* Empty.swift */; }; - D661EA5F16B11BEE347BAE35961A3AD2 /* TailRecursiveSink.swift in Sources */ = {isa = PBXBuildFile; fileRef = 558A95B0EAE7FAFDFCC334A1E9277C19 /* TailRecursiveSink.swift */; }; - D9884F11DD4FAA059A45CBBBC68E090F /* RxCollectionViewReactiveArrayDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = B25AD05D537735CCA21E1986D98F830E /* RxCollectionViewReactiveArrayDataSource.swift */; }; - DAB6B67BBE65A9ECA898A563CACF442A /* RxWKNavigationDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3AC418FEB3CC60F42D6A18E6151C871A /* RxWKNavigationDelegateProxy.swift */; }; - DADE159BB4CF9E438FC5DEF80822A710 /* MASHotKey.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BE4993AB90D97D332E61EB54E0C3C9A /* MASHotKey.m */; }; - DBFA45EBB79E16D7B6780CDA789B0D08 /* SkipWhile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 904A920F44C4C4A18874A6A62A3ED759 /* SkipWhile.swift */; }; - DC627AFC5B585686898B014184AFCABD /* AuthenticationInterceptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E101994FDA2210D6CD7972A656C511F /* AuthenticationInterceptor.swift */; }; - DC708FA8C70373D522CB885D4451F3D0 /* RxTabBarDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66D1DACD1512DCFE82BC525C443DA8A5 /* RxTabBarDelegateProxy.swift */; }; - DCC8DE3CDC74A5E38864303C8C2404EF /* ObserverBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE8BA32B7F7B571C37D44747CBB93955 /* ObserverBase.swift */; }; - DD24A504D1BB91B71B67B4A93A92F1DA /* ConcurrentMainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = A126CA25C01C17FEF1E4B62108855349 /* ConcurrentMainScheduler.swift */; }; - DD7EC76A4EB8C3A1741CD5B77B57E0A4 /* UISwitch+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3622945DEBFCB14514027A236BDFC74C /* UISwitch+Rx.swift */; }; - DDA573352B48255CA674E8BB62C306C6 /* Using.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE3AAA7586F734974B628C45E2310229 /* Using.swift */; }; - DE76073247081964D8DA688F13021B62 /* UISegmentedControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = E39E7221D0BA332CC5AC5DD0A7C16C92 /* UISegmentedControl+Rx.swift */; }; - DF3FD63D6A37C12FDB09B8CA5AE80AC3 /* GCDWebServerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 10F2E7253B70490BD80C987E65C522AC /* GCDWebServerPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - E03556E8EC8DA4FF0DE3ED6F86BD7C51 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EE6672D913C4CDAB5BAC161BDC483A67 /* Cocoa.framework */; }; - E06F7DEDC12A706F1AA7067CA7D58BD8 /* Disposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8369906FA14B85B8271089FAAA1E4694 /* Disposable.swift */; }; - E0AF255AB2AFA980F44645355BB7828C /* _RX.h in Headers */ = {isa = PBXBuildFile; fileRef = 3BAD385D5CDC39C1AE6584A123D2DFC4 /* _RX.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E1AD1FE46FE8F693F913FEC190210A59 /* RxCocoa-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4752AFB18B745CA95D95FB7457EAA1C4 /* RxCocoa-dummy.m */; }; - E26E725D6366FA3AE20B95802F54C4B6 /* WithUnretained.swift in Sources */ = {isa = PBXBuildFile; fileRef = 897003218412D0C779A54DAAD7D2A4EE /* WithUnretained.swift */; }; - E3EE570AEF6808660B0542591285D354 /* RxRelay-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1718F5B8FAF3CE57AE64B5F53589493F /* RxRelay-dummy.m */; }; - E46EB73E26A44700E41C3CD2F1E847FD /* Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CE7CD3C7A16D2E9341BBBAB18D5D8DC /* Event.swift */; }; - E52E9DB2E0EB574ED157EB478E60D13D /* Pods-proxy_conf_helper-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8752D17209EE8AAD7681107D6444113F /* Pods-proxy_conf_helper-dummy.m */; }; - E5A162C30F57D3A21BD9D74BC97E782E /* First.swift in Sources */ = {isa = PBXBuildFile; fileRef = 543DFE92FBC6235F6826EF38928A7C08 /* First.swift */; }; - E5F1157CAB86D8C0C166874A6E826739 /* Materialize.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4618B5826B29CA49F53BD36B1570602 /* Materialize.swift */; }; - E5F3CF900C793B92F327E2F4BDF8A8AB /* MASLocalization.h in Headers */ = {isa = PBXBuildFile; fileRef = 82A2597C8D9860F95F40565C0631A47D /* MASLocalization.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E8064C59B797763270D65097B4CD075B /* ObservableConvertibleType+SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFAC6355D5B0FD94083A74B4602AF9D2 /* ObservableConvertibleType+SharedSequence.swift */; }; - E816A86AE437A96B389D73C115778CFA /* NSObject+Rx+RawRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C9EBFDB861299F7DC1241C7FCFF00DD /* NSObject+Rx+RawRepresentable.swift */; }; - E83CDC839BC5CA753A57BE04CB66F85D /* ConnectableObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2505B197F74151D018080608E6576C6C /* ConnectableObservableType.swift */; }; - E84DB9453D7F43DCEC20FDFB5F1CDFD6 /* RxSearchBarDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 345AE1A0C847584A14AD381D5E476AB9 /* RxSearchBarDelegateProxy.swift */; }; - E9B95D42F4510C79E2D8A8CFA251CD49 /* GCDWebServer.m in Sources */ = {isa = PBXBuildFile; fileRef = 55F5FEB17D952CAA64A6B7DE90D7E47D /* GCDWebServer.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - E9C69CBF2B72EC9A5031BA6FF30BC251 /* Generate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 886072F083033D493924A8BE652713ED /* Generate.swift */; }; - E9FD5789C7C4946FC504E7C679BDD156 /* ControlProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5878F666B9410A53C5BBE1778D1B2CCE /* ControlProperty.swift */; }; - EA82A6A287EA96119DF03722AB2F25B8 /* Just.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA1467E6A8A0A5B978108FDFC868000E /* Just.swift */; }; - EB8C4B9D8DFF39ECFE8538B73F5717F7 /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6415209F9685A39C6C1018082155EA5 /* CompactMap.swift */; }; - EC388029B45DC677A2412CF1617E4DF1 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EF91750DCDE73B687E4BA164856BE224 /* SystemConfiguration.framework */; }; - ED82861E104428E8C3FA8D1B2618C875 /* Producer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FDB60114950AF3BF06EF9DA0AF9E5AC /* Producer.swift */; }; - EDC93BD7B9262119AE145E4C7A9D0212 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9029CBEE1EB8EBFDFCC3F55CEC98E088 /* Request.swift */; }; - EDD85DAC7DC88B01D5A2C20969416C9B /* BRLOptionParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 68C9C3CF6142E1B32695BC562ECAC427 /* BRLOptionParser.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - F01A39BF2122BF11990A88015EF45A48 /* Pods-ShadowsocksX-NG-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CD95085BFAA31431686824B236DB9319 /* Pods-ShadowsocksX-NG-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F07EC9B60B1FB76D9F64FE2BC62A87DF /* MASShortcutView+Bindings.h in Headers */ = {isa = PBXBuildFile; fileRef = B5AEEDAA3124911175E2336A08227588 /* MASShortcutView+Bindings.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F0F3224FF592F9BA2A044A2FC2BD4CCD /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 151A22449BAFE60147DA302082A00FA1 /* Validation.swift */; }; - F186B25E38062738E07F219D0289CBFA /* ItemEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 684F8C697CD894D0F5680EE542AC32E9 /* ItemEvents.swift */; }; - F1A73AB066B6EC8C012F4044B542568D /* Map.swift in Sources */ = {isa = PBXBuildFile; fileRef = 494A67061DAFFD52534BC4699A8DF637 /* Map.swift */; }; - F1F7AF19C5D50FB5BCD1D357FB9A5946 /* Do.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E5F518C62FDAA5A762312C37D1CB101 /* Do.swift */; }; - F2AB55CF962B7EBDE26DD970C282CEDE /* RxTableViewReactiveArrayDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = B265FABD755D21851D1C166921BB4A24 /* RxTableViewReactiveArrayDataSource.swift */; }; - F44EF6685A8C029EAC293DE9FADC3794 /* ControlTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DA6A1DA8589C7192C8BFDBC3F4A9913 /* ControlTarget.swift */; }; - F45717BF2118BB61C328A1F67CFE9238 /* Driver+Subscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7F46244A2FF95EF2B228E2F76529358 /* Driver+Subscription.swift */; }; - F4C5E42370FEF310E72D2A8DAD2993FB /* pl.lproj in Resources */ = {isa = PBXBuildFile; fileRef = EE873D31D9227598B067D9426D366009 /* pl.lproj */; }; - F515F0E56CBF807E49797455E495074C /* MASShortcutMonitor.m in Sources */ = {isa = PBXBuildFile; fileRef = 605C26B2F1FFA16F0E85E33F5CC526EC /* MASShortcutMonitor.m */; }; - F5C3C227785D45C44F1FA8157EF99C71 /* GCDWebServerErrorResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 9EE8B6717B73CE07A9FAC17FFCB1BA91 /* GCDWebServerErrorResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F5E8D9EC4166B35C084791CAEFF2404C /* WithLatestFrom.swift in Sources */ = {isa = PBXBuildFile; fileRef = A49E3489F755F888C3405824694827BF /* WithLatestFrom.swift */; }; - F621486B5084C21DA2498C0FC6A85E02 /* AnyObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 840A431555445FF451B4B74E7A8DDCF4 /* AnyObserver.swift */; }; - F654788A27A296CD2C1F104B4C897EF0 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EE6672D913C4CDAB5BAC161BDC483A67 /* Cocoa.framework */; }; - F6F5712CC3ED7DD4D51BA12747FCDE6E /* MASDictionaryTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = F6460C30C5328ED85A1103897C8CB63C /* MASDictionaryTransformer.m */; }; - F70EF854395CDE981A8336E4FF0310FE /* URLSessionConfiguration+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83FE5C08C0F9F63C9A7D2B71EF9F0864 /* URLSessionConfiguration+Alamofire.swift */; }; - F71DB74D923AB8F40A88103BDC5ABFA6 /* RxTextStorageDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95B33DD3F11E0587A32ECE709173E4EF /* RxTextStorageDelegateProxy.swift */; }; - F7DAD2EF3F86BC40F7D4F2EE49362418 /* GCDWebServerStreamedResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = DAE48A7C993FBD43A674E228A900457B /* GCDWebServerStreamedResponse.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - F89A75BE493264635F9977B0A9233617 /* ObservableConvertibleType+Infallible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 834EB5666F2D27EDBD25C600C80DF7CE /* ObservableConvertibleType+Infallible.swift */; }; - F8C1D484E959F9ADD96E9CD2F3B045B0 /* Observable+Bind.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8976DA3C1E5870E7B74F26E219A9885 /* Observable+Bind.swift */; }; - F8EC0962127455A9E5ABEA1B2D0C91D7 /* UIActivityIndicatorView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89A41E2A66DF6A8547AFAB72FE74B6A2 /* UIActivityIndicatorView+Rx.swift */; }; - F9872C7244CA7C80D5E402B3922DB009 /* SchedulerType+SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53EB3CB0FCC5ABA4F18B576E6BA4EB1F /* SchedulerType+SharedSequence.swift */; }; - F9C743AF2433172C84F9365D8DE8CBF3 /* MASShortcutValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = 726DEA3A84065F8E12FDE5617447B366 /* MASShortcutValidator.m */; }; - FA547DB169BA1CB0759702BA51F1C52E /* SubscriptionDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAFB048690381EFB0893639F33D3C764 /* SubscriptionDisposable.swift */; }; - FAEF22DB65A2C18EAF044623FF4ECA43 /* SingleAsync.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2B10B3F59B2394712B672A72C5827F0 /* SingleAsync.swift */; }; - FB3AD79C536DC201CED66150778FA691 /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BFD92A4EF88D0A6B34E86A6A7CE2436D /* RxSwift.framework */; }; - FB425C8625656D7AE2AFD1F8A78713B0 /* MASShortcutBinder.m in Sources */ = {isa = PBXBuildFile; fileRef = 46002374E8C8C6F2127C7C9A6DFEF743 /* MASShortcutBinder.m */; }; - FC22B1E68007E6AC40CC8DF2DF5E0AB6 /* Zip.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FA0DBB3C5358A6E4EF0C16145BB0F7E /* Zip.swift */; }; - FCBF7F9DA53A194F0653EE7E00B57BC8 /* GCDWebServerMultiPartFormRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = D157799A728D6FFED669C62E86BABD73 /* GCDWebServerMultiPartFormRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FD397CD62192F67DF9C2088CC5EBE409 /* ControlEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38724BD70D1712C03FA9B7A4C417144D /* ControlEvent.swift */; }; - FDEBCA25E0674ADFB66FA6256FF6486F /* RxCollectionViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5BD2C8DB205D16490D3804A6CAB6C50 /* RxCollectionViewDataSourceProxy.swift */; }; - FF36522388E5964B78AD72A59721AADC /* de.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 8F90CD66F125C28F8983AFCFA7DF6607 /* de.lproj */; }; - FFF63A18CD673B6821ED19EB164316C9 /* Signal+Subscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12318B6E6BA8040BCC422023A5ABEF27 /* Signal+Subscription.swift */; }; + 005B319B494ED2DAA239B9939A504DFC /* Alamofire-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 64A3880E0B63F6FD4127BFA6D5590473 /* Alamofire-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 029C1D6AA73EE83F565277B7A37485F4 /* GCDWebServerErrorResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 45530F955076EA5655EB435DD5DE3585 /* GCDWebServerErrorResponse.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 045DE6EBF9B2F63F60F5BE60C1198E06 /* RedirectHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C4550A0DA3EA5E54106C3803BE8C66A /* RedirectHandler.swift */; }; + 04A896288CE3A59B530250337A5F8362 /* Result+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9B8A8325D956FD938036C3139AE6129 /* Result+Alamofire.swift */; }; + 057D0EC1E728D714A73210ACAF1FAC6A /* UISearchBar+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAF8B4EB3C1C2EFA5B2F20EAB97ECD94 /* UISearchBar+Rx.swift */; }; + 067E3A34BAF924D533EFACD40CFEB2D5 /* Completable.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF3F7B4090B424F5670EBE41C8C81E73 /* Completable.swift */; }; + 06E689EAE82BAFB010CD741C40221167 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4F2579AE72F6DD9B6256C7D49D10422 /* Carbon.framework */; }; + 07550E0A8451CACE9593873C543F1B78 /* RxTabBarControllerDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A57B938452DB85051BBB46EBDE95EF5 /* RxTabBarControllerDelegateProxy.swift */; }; + 0907413AF1BF312948C6CA8289CE29AE /* ControlProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1F2D7291E6958F70E49DED6E3BF29E6 /* ControlProperty.swift */; }; + 0919B671617BE6F0E78F4177DA5B8A12 /* ScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C8F218344B3917EF30B1E44536FCAFF /* ScheduledItem.swift */; }; + 09932802E0BFE21000513D21AAA7F3D9 /* Zip.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC751EA3C09AF53889B2664879A417F3 /* Zip.swift */; }; + 0B5BB08F1937AD6324F0ADDD8F9E067B /* Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671AB1791B016C61F0C6549D08F0BD1F /* Driver.swift */; }; + 0DB3252795DC77B37E66B665A9D1EEA9 /* Infallible.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED00544EBF14CE50DB59827BA54CACC5 /* Infallible.swift */; }; + 0EB450A362764F07B5CB7D01814D5137 /* NopDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DD14B293979F3FD0EE1532F69F646FA /* NopDisposable.swift */; }; + 0F3DA3BA9850BF4BF894FEEDFF0C9229 /* GCDWebServerFileRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D650AF047FF1CD48F3AEB6348C2357B /* GCDWebServerFileRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0F83F817EA7EBA0367F0AAD1CA3DF7C6 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 775A6C13A2C7C50A8FCD730CD47806FA /* Cocoa.framework */; }; + 0FABF145E1082CE34AEE60179D5570B7 /* GCDWebServerStreamedResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = A5F0782A5E760F9174EDE0C9F1CFE357 /* GCDWebServerStreamedResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 111810B8652D290C58076B92FCE40A1F /* RxPickerViewAdapter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53D96F2DD703AA4AB9ACFAC2D60C1C08 /* RxPickerViewAdapter.swift */; }; + 114F6342633413C8BBEC4169F34CFAFD /* RxTextViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A1E2EEEFF1000CE076AEE01F814DD72 /* RxTextViewDelegateProxy.swift */; }; + 128543B4E1BEEC49A4864F6EABA0CF3E /* CombineLatest+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79648DBA9B9D99F42B5DA9FEE7299815 /* CombineLatest+arity.swift */; }; + 12AC94EEA3EBCD92EC7813622C59C2C5 /* GCDWebServerFileRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = C095CD6453A6E8AC183F9997E51BC98D /* GCDWebServerFileRequest.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 12B3F52CF0950AAAF96CCC36A99DA7C2 /* MASHotKey.m in Sources */ = {isa = PBXBuildFile; fileRef = BCDC3021D014AE10447DFDCF14C73035 /* MASHotKey.m */; }; + 143D018302392375567BBE6BE40F3D64 /* Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB3F3E2326436DD196BE2DEADFC24B94 /* Zip+arity.swift */; }; + 14CAA40442778EFE3DF8B07CE170CAF7 /* UITextView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = E338D0F008765585EBB7C1C3D75556E1 /* UITextView+Rx.swift */; }; + 15BA8B1210DEB85B37F2FE9D70268FB0 /* AsyncLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90EF02E85A20C909F307BFEEB385CDE0 /* AsyncLock.swift */; }; + 172F1CC15F19C91B81B3C5C8015D4065 /* CurrentThreadScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 444DD09E60D2F64AA8444674834DB638 /* CurrentThreadScheduler.swift */; }; + 1787EBB3723875770997006509209EDD /* RxTableViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBEAAD00894195B3938039EA3284D796 /* RxTableViewDataSourceProxy.swift */; }; + 18211EE7B495AA06EBBED1D6FD9423C0 /* RxCocoa-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E3BCF8C37F6DE75E391CF06A9EF262AF /* RxCocoa-dummy.m */; }; + 1867BD2B95B0EE813BF46FD09B2E92F5 /* fr.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 034FAFFBD46866189D2D869AB1FFD14B /* fr.lproj */; }; + 18ECA0A9E4E58D512C7F2D8A6F1E0EAB /* BRLOptionParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D562A22B993B1803E2ADF888B912BC /* BRLOptionParser.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1936CE37E62BF53AEDD577067354B96A /* RecursiveScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5B91044D2B831D63383A0F06BDD387F /* RecursiveScheduler.swift */; }; + 1976BB7D7E26A12E29283E71154B63B3 /* SessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8CAD9568825063DD134B497F67ACB7 /* SessionDelegate.swift */; }; + 1A39DB248E0F9D0245E844CBAFA013E5 /* Dematerialize.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB7CE57ED65BD107011E99F57ECC6A61 /* Dematerialize.swift */; }; + 1A3A48510F5EADB9FB14E0DF45B3AD2F /* MASShortcut.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E9DBB24F2E4DDA405A4A6F6EA93DE62 /* MASShortcut.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1C2DA2FFED3F4B8B580AF311F7EC7B7C /* Shortcut.h in Headers */ = {isa = PBXBuildFile; fileRef = 21FEDF355A97339C75BCCD724914CD48 /* Shortcut.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1C59E23513E8D9E53FB5C11507133D5D /* MASKeyMasks.h in Headers */ = {isa = PBXBuildFile; fileRef = 237DC5B5F6513BE805D5F7321CF06CEF /* MASKeyMasks.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1CC3FBF38E35B664C2A003664C58E2D7 /* ControlEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9BB469C029D6C1BF44CA8CE16FE1E64 /* ControlEvent.swift */; }; + 1DF9CBE7D64CC2C69E6E61F98C95AF68 /* ko.lproj in Resources */ = {isa = PBXBuildFile; fileRef = C16719B76B2DFB46ACA80A4EAA03C560 /* ko.lproj */; }; + 1EE44196E7BCE57AD96A2C751651EF40 /* AlamofireExtended.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC3453BADE578C7C0405D698F9F929DA /* AlamofireExtended.swift */; }; + 1F1848E1EB16BABB1EF73BD7F20FC96D /* WithUnretained.swift in Sources */ = {isa = PBXBuildFile; fileRef = F58ABAF7BD1C45287DB622F97A91E363 /* WithUnretained.swift */; }; + 1F33F8E108D15243EEB99F581F1FF666 /* Create.swift in Sources */ = {isa = PBXBuildFile; fileRef = 410B30D245645CD29C9B637ACB25E965 /* Create.swift */; }; + 1F64C124283555FF5E1944FA37501247 /* Signal+Subscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F3D6D69472B6B83B5651B144D1D2670 /* Signal+Subscription.swift */; }; + 1F6F0B8C1A8EA633EFEBE64EB781A6B5 /* UINavigationController+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = F78FDAE4C3B97F3BC8D5F7B46FB6B649 /* UINavigationController+Rx.swift */; }; + 1F90B4FC1A8631BCE0F077E61FB30CEF /* Merge.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6CBEA350B108B0889F334E6CE99AE46 /* Merge.swift */; }; + 1FA3A6F0773C5D86C7DFEF86BCF54070 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34ED2C103D2EE19749677CB8DC7533F4 /* AppKit.framework */; }; + 2087DD8278E2FC32F75C947E058EA423 /* NSObject+Rx+KVORepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E093955708F7D7CE63497D298B066AF4 /* NSObject+Rx+KVORepresentable.swift */; }; + 21518C4FD2BA434F3CD00604CB4DE7A7 /* Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8F5282CAAEB98373BB034FF2724C421 /* Rx.swift */; }; + 22139F5928749D467808E18375CADEBE /* PrimitiveSequence+Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09FD646F5A1D9B1EF5F9958DB655DD9B /* PrimitiveSequence+Concurrency.swift */; }; + 225C55E53C69F075862C8BE39BEE49F9 /* ConcurrentDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E773939C934D7EAA4A1CCC715105689 /* ConcurrentDispatchQueueScheduler.swift */; }; + 22BAB6412F4DD7742B43EF97DD55DB61 /* GCDWebServerResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 104388085671048C3F84BECBFFD2DC17 /* GCDWebServerResponse.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 23865265557A519370D211F2ED05190B /* GCDWebServer.h in Headers */ = {isa = PBXBuildFile; fileRef = D09F8AFD2F060ED24FA597FCABCAA8BF /* GCDWebServer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2414852D5C218604A8B27F60A15F988E /* ReplaySubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D02CB9F28A5ACCC6435C7257C7C9E57 /* ReplaySubject.swift */; }; + 2452560E5DF0137D386C574E3A495DDD /* DistinctUntilChanged.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE9AB36E2BA4EFE0ED2CBBAD11042A57 /* DistinctUntilChanged.swift */; }; + 24C8FC3B11676AD57F3A7914E6621AD0 /* TextInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = B47915552EAE918A6D8FC2A35AF5C883 /* TextInput.swift */; }; + 25250198FCB8297381B35F0525A7A230 /* BRLOptionParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 57CD3F9440CB8BB69530F52C9DB19454 /* BRLOptionParser.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 252B64A12E2810921E86B78ECD5BDA9D /* UIApplication+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64B111695766BEB2618F2952E93D351E /* UIApplication+Rx.swift */; }; + 258A6E0F281A7584984F14CF539827B2 /* ObserverBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF6C70FCA2B3635F8B84B58EE2F72320 /* ObserverBase.swift */; }; + 25B83B14339ADDBC2E612F2828B039CA /* pt.lproj in Resources */ = {isa = PBXBuildFile; fileRef = EDE5BDD8367EAE24F95591B6890A88E4 /* pt.lproj */; }; + 263A6B3B9C8592FC16697D2AB6333AC9 /* RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60C657F82CB9250FEB84149A4508A8CF /* RxCocoa.swift */; }; + 26415F10850623345BBA43B7D5CF74B6 /* TakeLast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4CEF008DC6589EEB34772EBBFAB72 /* TakeLast.swift */; }; + 2662EA3D1400EC4BD90947902CD85670 /* Platform.Darwin.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE765A58C225D35C125565456C29E208 /* Platform.Darwin.swift */; }; + 26A4EBA1265F61D6AD1A4D980F81AFB4 /* RetryWhen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 863524789F6A6A001601944518DC77DF /* RetryWhen.swift */; }; + 275C15979C1EC7DB6234974758037906 /* PublishRelay+Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E99DB904BE3F5A8B4C18DB0EBEB8B11 /* PublishRelay+Signal.swift */; }; + 2772E29017FAFD272AEEF8D7C9DCB592 /* Completable+AndThen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CEF379498BB188E7923BC15C3D9E4B8 /* Completable+AndThen.swift */; }; + 27F2BE5D6E990841E8DA1DF91CF3623B /* Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EFE10D2326E198A91DCF8DDA343BBE6 /* Signal.swift */; }; + 28B20C35F4E1B3DDE716C831B049ADBC /* _RX.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F9BA9538F2B971FC34BE7028A9E70DB /* _RX.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 28F6C290B055D8D3C8FFBB94D8ADDC3A /* MASKeyCodes.h in Headers */ = {isa = PBXBuildFile; fileRef = 40136A324C33025441F42D67F5847FE3 /* MASKeyCodes.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2AC794BEBE17BA6257A13065584EC5DF /* UIDatePicker+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEF2A4D34DA455F038463728E6CCC730 /* UIDatePicker+Rx.swift */; }; + 2B21F82362615E875845EE3B33A3A27A /* VirtualTimeConverterType.swift in Sources */ = {isa = PBXBuildFile; fileRef = F273F3CDA7F0F6D962FC2ADC5320157C /* VirtualTimeConverterType.swift */; }; + 2B26D77D236373BA33AB9B01A9C1F63E /* Decode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 507D61EB6B72F98F27D46FBF4A4E5BCF /* Decode.swift */; }; + 2CBE3651CA006E19F5D64A2DE9B9A028 /* CachedResponseHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD0339A381ACE5CAA0B64588E981DAA7 /* CachedResponseHandler.swift */; }; + 2CCD13099063CD560E3067BD132914FA /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF753CBC9955D3F0EDAF20B3C760EADC /* Notifications.swift */; }; + 2D12EC03C8C96877369DB5C8EE38C4A9 /* MASDictionaryTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 0FD45A6C73BECDE0ED9E618C48B758C6 /* MASDictionaryTransformer.m */; }; + 2D7960E401631712E471DEA577ABB176 /* GroupBy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64F9F62075830F151EBAF1188B9EDA75 /* GroupBy.swift */; }; + 2E8628BD5FE21F31B46CADC2D7488066 /* Range.swift in Sources */ = {isa = PBXBuildFile; fileRef = E88E91DACCBD45989990FE8BB7F3BF02 /* Range.swift */; }; + 2EFF6DCB0FC66EB564B96A35840D5016 /* RxTableViewDataSourcePrefetchingProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = A798C1FEED23FCDE88564CCF15EB6F80 /* RxTableViewDataSourcePrefetchingProxy.swift */; }; + 2F6A20E21ADCC6D6A927036DC9A594D6 /* TakeWithPredicate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D98DD1A9BFD5B73AE9115FF6B8D901F /* TakeWithPredicate.swift */; }; + 2FCCAB4BA1D71EDB993309159D5DFA7C /* RecursiveLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D379EB968A74DABD21FD0AEFE5A6A2A /* RecursiveLock.swift */; }; + 30A33FA9DE74AE5CDEEC66BD1850DAB8 /* PrimitiveSequence+Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0275DF96AF2D1C8B3EE0A46FE2B3E585 /* PrimitiveSequence+Zip+arity.swift */; }; + 335CE42F522625D762B3D7A8C0ABCB48 /* RxSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DF8613B9CCB98109E681DC1CD63A305 /* RxSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 33899BA38E53338F559359256C38AC5C /* Pods-ShadowsocksX-NG-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CD95085BFAA31431686824B236DB9319 /* Pods-ShadowsocksX-NG-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 33A7D0F2D03004CE256A75E03DF33C70 /* RetryPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F489618E1EA6D13A4D216EE6A18DC1F /* RetryPolicy.swift */; }; + 345B98DBCEA05D8952D8BBB9AF19BE89 /* SingleAssignmentDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DCE5898FACBE16183428F56F66CCAAC /* SingleAssignmentDisposable.swift */; }; + 35602BB7E0BD62908CE29B7C2CF670C3 /* GroupedObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3AEFB50A7B93944F2324E907AF6EF4B8 /* GroupedObservable.swift */; }; + 35A8DDC495DDB9D50C1F490A7D20B766 /* Sample.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E2988907500F3BAC7C06246E6C0ABA6 /* Sample.swift */; }; + 371CD58570B89DE6A3090CC6CE16AEE7 /* UIControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C816D3128A36A1E5BBDAAC91355DEE41 /* UIControl+Rx.swift */; }; + 373246E3169E796FD0453A4F8AEE7A9D /* ObservableType+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD0D41E4E168FD9315E1DA98A6935A51 /* ObservableType+Extensions.swift */; }; + 377229136C0061FE2FABE71862C2070F /* ItemEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3690C26E02E9D7DF329C57EFC691EE29 /* ItemEvents.swift */; }; + 38140DDAE5B5323FCD1541939CECC89D /* AtomicInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 907E4D689CB3CCCF5C1FEAE3BC2382A7 /* AtomicInt.swift */; }; + 38143FD8326A47334BA94BCA3052E245 /* MASShortcut-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 94E31ED4427D92BBC5E42D9B9130FD0A /* MASShortcut-dummy.m */; }; + 386ED68C2B7D5EF75A32EEE17DD5A2CC /* DispatchQueue+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3FAF08569914D800FBB77D94F8CA155 /* DispatchQueue+Extensions.swift */; }; + 38CE672815F222A641AAA1D8DA8D5451 /* Producer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 470345AF0C60461FDB177148C054347B /* Producer.swift */; }; + 39E29F20F1C015EF8A7696FDA62F981E /* PrimitiveSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5865C9124F17728546EFD907FEF21DED /* PrimitiveSequence.swift */; }; + 3A379670D0CFBC0FCC9D0F66E944D074 /* RxTextStorageDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE3C6AD22E975E2CFAB59017D8F5B19C /* RxTextStorageDelegateProxy.swift */; }; + 3AB9D7F829E68D9168A2DB6BBED5E193 /* GCDWebServer-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C57120B628334F42293D3812EEC58A2 /* GCDWebServer-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3B077F9E0A9D209C83423538E4B9957B /* Generate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A8F040847E21E6117A5D959A9CE1D40 /* Generate.swift */; }; + 3C4059621E23842C19D4EB5D35B41989 /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63D7DBF6E732F8DCE7731A173618FF10 /* Validation.swift */; }; + 3C7057CBBBD05D8B4AF56AE1B60956E3 /* nl.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 9A65B65D01A905DD9989951DC919C5FE /* nl.lproj */; }; + 3CEF5061A79A6425372B9AD3AEE4A68F /* ReplayRelay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83928D29C2B14950DD44021E313F5C2A /* ReplayRelay.swift */; }; + 3DF06B114A441E99A76C516A42BF919B /* ObserverType.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF941B35CC8A67742F89ADEB18D7FB42 /* ObserverType.swift */; }; + 3EE7A29FCEE9B2A257B977E7137BC44C /* UITabBar+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49212E4D5AEBE8A252627A379DEA2ED1 /* UITabBar+Rx.swift */; }; + 3EE9595B35B6FF8026C306C5833461A9 /* GCDWebServerHTTPStatusCodes.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E88D80C9DB32C5918A1A3BFB069B644 /* GCDWebServerHTTPStatusCodes.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3EFE8454C7301C05A00EC9870F47968B /* RxTableViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = B34055EA479E9B7EFB03684593A3AB72 /* RxTableViewDataSourceType.swift */; }; + 3F3B33BA54EC53BF166C12AC1DB419B6 /* Buffer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21640EC4DE8B34FF9C41BD8CAEE549E1 /* Buffer.swift */; }; + 408E6DA1E4EAE04F43E9F99BED36A25B /* ToArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = 393193FDE1A69305270DAF46011DAAFA /* ToArray.swift */; }; + 419A11A8F7797E02FA5AAC6D8B4B3C2F /* UIStepper+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52A9EDB10C045A48EDA9E01842F49D48 /* UIStepper+Rx.swift */; }; + 4251CDB971A8B94270E34381974BC9F8 /* _RXKVOObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 50727E77BDEF6E76095C122100062879 /* _RXKVOObserver.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 426C76C68C9FA3582F26BBB9E96316E4 /* _RX.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C7FB0C7D41112AA7C5ABFAA12B510B2 /* _RX.m */; }; + 4393720E799FF355F65DDAD3F7AB267A /* en.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 94201212718386C719AC1C21F8B0D77B /* en.lproj */; }; + 44AF244842046018E8744785BC813B72 /* Date+Dispatch.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD39A639363B95816D608A6A4C5622E0 /* Date+Dispatch.swift */; }; + 452ABC56EEFE08C4F2C24C25D6DB54BE /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 59894EE39CF11C03D85FA6F97E18E8FC /* CFNetwork.framework */; }; + 4536AFD0B7C530B7F905F890B32F8BEE /* Maybe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 885563EF4C86A4554739A4D4B60D9E63 /* Maybe.swift */; }; + 45F6BA1117D64D98B32E0C77670EF906 /* RxCocoaRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = F99300286A934263B5C0B775C31BE933 /* RxCocoaRuntime.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 46A64A43AFA057B6B63C8F0C12F509B4 /* Combine.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4126F0E5A37DFC3A167CC62CC4CDF3F /* Combine.swift */; }; + 47458029EBA0306FE547B96105ABBCCE /* HistoricalSchedulerTimeConverter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0303CE67439B86F95A5F30F551715C22 /* HistoricalSchedulerTimeConverter.swift */; }; + 47D3FBF90386DABCAB70AA2CA176C8EB /* ControlEvent+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7F68AA4C71DE350DC293386A02AA2E5 /* ControlEvent+Driver.swift */; }; + 4853819BBD903ABDF27B937D1D5FFFCE /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DF880C891B8543DB21CF29DB46EC491 /* Utils.swift */; }; + 4B3977968977EA8CCB73ACA8C95B5F46 /* Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F2E7CB4A21C0853799A26305259C67C /* Event.swift */; }; + 4CCC21EF4EBF38DCA48A3AA1E23BDCAE /* CombineLatest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F12637F4D1B5E61C8AA418063BF8658 /* CombineLatest.swift */; }; + 4DD8F66CAE5947B96C433FB8F43BBDE7 /* GCDWebServerFileResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = EB5900D68A352DEF8FE3FA3D4C2279CF /* GCDWebServerFileResponse.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 4E71A1264CCCE390ABFED345F4C645B6 /* Switch.swift in Sources */ = {isa = PBXBuildFile; fileRef = BEF7E13AFEB66355348465DE59B241D2 /* Switch.swift */; }; + 4F30642E4F2109DE340494AAB2FAB993 /* MASShortcutMonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E0D6EE645D535A97E160EF7F90B086F /* MASShortcutMonitor.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4F315C18FC854325DD5D062DD7A363D5 /* ObservableConvertibleType+SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC71F6C41C4E5995C31D3BD4366E1138 /* ObservableConvertibleType+SharedSequence.swift */; }; + 513047B7DA6C1DDE594C344240354FC2 /* GCDWebServerDataRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 136D683ED12FEF437E85B90FE787ABBE /* GCDWebServerDataRequest.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 51762D44FB8D5C956D34D1504C47AD5E /* SkipWhile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1838C6B160E745FF0A75D4ED798BC03D /* SkipWhile.swift */; }; + 519BAE8712232622A71F3FF03885AA45 /* MASShortcutView+Bindings.m in Sources */ = {isa = PBXBuildFile; fileRef = C25726D3D578731D9926B0552BD50078 /* MASShortcutView+Bindings.m */; }; + 5230B70A7B448918B83D3B983533D29A /* KVORepresentable+CoreGraphics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B65CF9C022314716AB80900036C7EAE /* KVORepresentable+CoreGraphics.swift */; }; + 5269125E3DB0BD186DB3AE857B3C9E62 /* MASHotKey.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A46A80355FB2E02FBD051133423EA94 /* MASHotKey.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 532B6D563A72502F7A092D8EFAD28E81 /* GCDWebServerRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = E442CC92114CB624FE50AB3B04E7226D /* GCDWebServerRequest.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 539CCBD2298E0AB330438D331E3F96F0 /* SubscribeOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 016FC15793BB34F8A129444E1CE885C2 /* SubscribeOn.swift */; }; + 540DB448BAF78AEBFC1245AB5EAF8820 /* SwitchIfEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9333453F2D6FC62A5D744E4DB659F510 /* SwitchIfEmpty.swift */; }; + 5435E924E7CE7B05B7F650C078A12F5B /* UITabBarController+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA082DFD4CA11A2BC241153B8DCA3751 /* UITabBarController+Rx.swift */; }; + 543824E1170EF49570C40DAE54604F21 /* _RXDelegateProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F70711E654F4BBAD0596F86BCA3C888 /* _RXDelegateProxy.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 55713DE36F28B0D078ADAD60D5EE7FF4 /* ObservableConvertibleType+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3318EC278302AB2BD1FCA8A8EFCE3C7 /* ObservableConvertibleType+Driver.swift */; }; + 557AE7547352CEA86AEE5518CC1A503E /* RxCocoa-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 33AA300BC3BC14583832D2DA2CB5ADBA /* RxCocoa-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 55AABB1FB38F61A3369ACC555FF3046D /* Alamofire-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D007371B5C32973A8D7D3A78DB7C195E /* Alamofire-dummy.m */; }; + 567E2B1BAE575E6556A2E57191BA2DA7 /* DelegateProxyType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B9D6431FF78BA37E55E5B3D3717BFBC /* DelegateProxyType.swift */; }; + 577BBE61BAB038F07F55AABFED30B836 /* Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F269BD46AFE676BD9AD2A0F20B98CA2 /* Reactive.swift */; }; + 5955164B14366E7229BB67FF49731ACE /* Observable+Bind.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5074F2EE5628C6A4983982E16E49C6BD /* Observable+Bind.swift */; }; + 59C5DEA34359323178DC4924BFEDF256 /* MASShortcutView+Bindings.h in Headers */ = {isa = PBXBuildFile; fileRef = 08DEE252E0668B463D2CFA2A63C7C88A /* MASShortcutView+Bindings.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5A0B3EBBFDF56C81A8A84CFD4C3DC1A4 /* Filter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01FA422DE40777935F20098DD1B27999 /* Filter.swift */; }; + 5A39F3F258372FA025F08ECAFFFCF71D /* NSTextField+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E056392010C47F7C684843486C13614 /* NSTextField+Rx.swift */; }; + 5A3DE5038C0E8C2BAFC3316589D0F918 /* NotificationCenter+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1267CEEB56120FD2F045A5976E61645A /* NotificationCenter+Rx.swift */; }; + 5AB18903EF88370908E7019EAEAA0F82 /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAB3B55ED49AD990F27921D57251BBD1 /* CompactMap.swift */; }; + 5B9DA8129071FBEBF6CC504D0C053169 /* Infallible+Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC1A0514A77FE30ED38692270CAD7209 /* Infallible+Operators.swift */; }; + 5BA208076CE6D85BA9B3B6E908B289CF /* DelaySubscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75898966AE6114412893A92CD111BEFE /* DelaySubscription.swift */; }; + 5E8BFD7D7B4B9ADA245E29CEE0327A53 /* Map.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28A725CED2B91464E6C927D05570A106 /* Map.swift */; }; + 5F055B330B966C819A15F7AD9985416D /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12B0BA22334C1EE7C7A974FAA5F91ABC /* Error.swift */; }; + 608DC0C8110DDFF5D8E5A43BB48A6A86 /* UISlider+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33FA8AE2347C4EE55E045065587F0AAC /* UISlider+Rx.swift */; }; + 60ABD69FAD73E64A8160718FEF2AAADD /* BooleanDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 584033FD126401E2888402CB15ECA8E2 /* BooleanDisposable.swift */; }; + 612A4B4771FC480A2E9862DB796704C2 /* Throttle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37FDE0455962281829EA678FEAFA1E2C /* Throttle.swift */; }; + 6160B5323E337A12F04DC1F8CF033232 /* Amb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27055488534F6A6E3CF87C16E7D0C092 /* Amb.swift */; }; + 61EB40AB5F1BB5E6FDC8C5CDE06C3DE9 /* RxPickerViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40A515817D572CA14681F3DC01EBB26A /* RxPickerViewDataSourceType.swift */; }; + 62E0B861C81922D4CF4470196268CFF4 /* SynchronizedUnsubscribeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D803CC0D72130D96D3FCEABAD91D11C /* SynchronizedUnsubscribeType.swift */; }; + 635ABD0355F2C1CA79045B4351473CED /* Using.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30555C0335A4ED7F7326232B37F60335 /* Using.swift */; }; + 6500305844320FB99D294E28D5544327 /* GCDWebServerErrorResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = CBAEBA865C689C4ABC23E4077C694783 /* GCDWebServerErrorResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 654D9C29A846E7ED4DD5BF0BFC8D64B8 /* UISwitch+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CEB34E7DA4CC9CBA2FDD18EDDC86840 /* UISwitch+Rx.swift */; }; + 65575FCA14CC51BECC4A45AB89E71580 /* zh-Hans.lproj in Resources */ = {isa = PBXBuildFile; fileRef = ECC7DBFC74ADE5B030C69F54DFA6A40E /* zh-Hans.lproj */; }; + 655C227164DED5686865D00F75B3C44D /* HistoricalScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = A36DE33CFF4EA2091522F6B2C2C5AB56 /* HistoricalScheduler.swift */; }; + 660E73ECB1E50185B9D21BAA127DC3A0 /* UIRefreshControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F9A934B020E7BAD8DE7CDCD33CC14E7 /* UIRefreshControl+Rx.swift */; }; + 66A2594ACEEF59E152626AB9D495F4E0 /* es.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 3E302881D4992E5DB254B068BCDF50EE /* es.lproj */; }; + 66A7D22440C9ED2F42534BF9B8925990 /* Pods-ShadowsocksX-NG-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D60357581333E7EC56952E31B2991366 /* Pods-ShadowsocksX-NG-dummy.m */; }; + 66DC59E34C28E1D61C236F5C54999712 /* Bag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92EA709DC3EA80EE422F8EFE216D654D /* Bag.swift */; }; + 67C9F0E6E458C59825B7AE079866D280 /* ConnectableObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C556CB839FEFB35D70DE56C8545CA4FF /* ConnectableObservableType.swift */; }; + 67EB792309C5E0E4FCF2699A768A6367 /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7EFF8A84A7AA91D68DCD5391C11671DB /* Errors.swift */; }; + 688995167374A2BE17F2DBDD76BDDCE3 /* Platform.Linux.swift in Sources */ = {isa = PBXBuildFile; fileRef = E56EF32752C87559079B80B330EDABDF /* Platform.Linux.swift */; }; + 68FB2DCB4C77DBCAF9A6037E470F2BDE /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = E102BDCF29691A8DFF60D5A65B77005B /* ParameterEncoding.swift */; }; + 6927E0A61FCF762B43C75325110C3D77 /* Infallible+Bind.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC6CB85A5001635067D55D2CE0B5C9B9 /* Infallible+Bind.swift */; }; + 6938EAF0E000BD8493D652E410B41977 /* ru.lproj in Resources */ = {isa = PBXBuildFile; fileRef = CAAB811816DB87F5B34CDF69458C6DB0 /* ru.lproj */; }; + 69657DEC11BB7E4F9F5B6DE8E1148B3E /* _RXObjCRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = B149A8C38BE7F16C107272F6ABA14548 /* _RXObjCRuntime.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 697F38AF25341132E197BF41FE1A66BF /* MASShortcutValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = 64407BF0F1B5AC43759AEE116008EFC4 /* MASShortcutValidator.m */; }; + 69BB67FDE3B6D34B598357983972B892 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BB573A2ED725E33BB5FC290ECA094E39 /* SystemConfiguration.framework */; }; + 69C94E12AB95AEA4FC713479D7CE2F2C /* AddRef.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5B47DA578C7E3A406C5F874E0668047 /* AddRef.swift */; }; + 6A6DEB0A79F0EA003CEDAF49352F580B /* GCDWebServerDataResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = A827C518FBDD773E32618069D8581F2A /* GCDWebServerDataResponse.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 6B6F109DCAE28A80DEB70167AFAC3BBD /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 775A6C13A2C7C50A8FCD730CD47806FA /* Cocoa.framework */; }; + 6BC7A69A659212C9555C99C12126C7CB /* Bag+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBDC332D123C6CCBF7F197D038718C9D /* Bag+Rx.swift */; }; + 6BDA2BC21E394076C2E58E9269F4AABD /* SchedulerType+SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06A8BE88425EDEFFE5F442D4B4597830 /* SchedulerType+SharedSequence.swift */; }; + 6BDAD8F13427FFB8FD409B01C261D940 /* sv.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 1F41065A5906D3D048C5AEE99C1B69DC /* sv.lproj */; }; + 6C16372757826289A572B797E8B074C1 /* Timer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C6EA24AD2BB5847E9E0F7DBB7BE6EAE /* Timer.swift */; }; + 6C510D382EF58C77B51B7F0628D46426 /* RecursiveLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 009E06ED0C889A6141D74F752E63188C /* RecursiveLock.swift */; }; + 6DB19BEE9C42CBE8101A114524B38CE7 /* NSView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9669D8F039ADFEC331E15B4920299911 /* NSView+Rx.swift */; }; + 6DD5D1A933244769CC0504FE934A68CA /* MASLocalization.h in Headers */ = {isa = PBXBuildFile; fileRef = FD7FC10E44C5F27E0F747F7C11EAC677 /* MASLocalization.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6DF176B8148E09C2D7237CC0E9E2C2A9 /* Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20FBE41EDCAEB94C171DF589C72E5A52 /* Debug.swift */; }; + 6DFB5C921332D5E14BF251A5ADA46473 /* RxNavigationControllerDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 696DC75370555D534D5D1B7619A84C13 /* RxNavigationControllerDelegateProxy.swift */; }; + 6E9578CC352290EF98FAA2EBA1CDA771 /* Enumerated.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC73922535D191E3672CA214133EADB0 /* Enumerated.swift */; }; + 6ED162E8C07378AD17BB34563B673CBF /* ScheduledDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F435463B7DEBD592F014B878F7B735CE /* ScheduledDisposable.swift */; }; + 6F04818259A372DBEAA37BE83ADD933F /* ConcurrentMainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AA8D73E04FE894B7CC39C6F036BE385 /* ConcurrentMainScheduler.swift */; }; + 6F803B4767FE50C12E3F0402DC0A3BE5 /* PriorityQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0EBAAA7BD3B4A773D32FCEB6E0C7563 /* PriorityQueue.swift */; }; + 6F8B5E8FBBDD4FF86139E4252E566B0E /* GCDWebServerMultiPartFormRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 68514BC74BD8508060AA74F5B6F9BC10 /* GCDWebServerMultiPartFormRequest.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 708D33C558F8FF49D4711575C8407067 /* RefCountDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E78B172A308747E1A1AB79CF4305878 /* RefCountDisposable.swift */; }; + 70FE24F3FF6BC79CE0D5031D94C81B02 /* GCDWebServerResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 1161E401E97CF532E96EAD75740DBC67 /* GCDWebServerResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 72722A73707A0C94876F7A6AEB6A37CC /* Pods-ShadowsocksX-NGTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C10AA3C311345DB3616BCE827B69C55 /* Pods-ShadowsocksX-NGTests-dummy.m */; }; + 729412A007BD5F63E222116DAEE12A4E /* AsSingle.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0048BDA7B0DA8396046085FE62AAB92 /* AsSingle.swift */; }; + 72EE3F69E6154EF5C5524DE4F4EE0B5C /* Queue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DDAAFC70DE4978DCCADD0DFDCF6FC18 /* Queue.swift */; }; + 72FCE0D3F5EA7EB908C108DFD468B267 /* RxCollectionViewDataSourcePrefetchingProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = B313C5D58D0E168A0D97DD4913659502 /* RxCollectionViewDataSourcePrefetchingProxy.swift */; }; + 7483E5327027263F7E4B94A2997191C4 /* AuthenticationInterceptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37A90F84E4CC922A2BC89752EF4FA839 /* AuthenticationInterceptor.swift */; }; + 75966A9262648D4647D764E3E76BC6AC /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = DCF2ECAD90F54E56FD7B30B5CE227C05 /* Response.swift */; }; + 768A33DCEB41CBC5C7ECF5F0220B1A97 /* SharedSequence+Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A31C36F574D3AE3E717AB557ECBFF89 /* SharedSequence+Concurrency.swift */; }; + 77908B0FC56784305EFF8F17FCF5D948 /* Single.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF75FD55B65DB7082B60EBEF726AD840 /* Single.swift */; }; + 77A8D5093CACB06BD76970BD99279905 /* Infallible+Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B6E0C1C0779A1BDF126391E0A57D813 /* Infallible+Concurrency.swift */; }; + 782082D9F5529E63F249E8811BA6FD10 /* RxPickerViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30E27FCCEB4558EC1E85984F78A4AF21 /* RxPickerViewDataSourceProxy.swift */; }; + 785307B96F347C685E5B06EE75E0E58C /* SynchronizedDisposeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59FF4BBF39A8F81CBB450508F27C00CD /* SynchronizedDisposeType.swift */; }; + 79243D3221A9AD8E3A497EA9C74AFC38 /* MASShortcutView.m in Sources */ = {isa = PBXBuildFile; fileRef = A7EA5C0B182377876869AC8047612114 /* MASShortcutView.m */; }; + 7930C94414B4C661867AC4FBE82E996C /* URLEncodedFormEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FC4E20AAD69EA3CB0A6B0308811A9CA /* URLEncodedFormEncoder.swift */; }; + 79BB85BC2A010560039A4570FC874940 /* Take.swift in Sources */ = {isa = PBXBuildFile; fileRef = 629D440C07E30FDBD158AF581302319D /* Take.swift */; }; + 7B81D3549CC178200FAD98E288F35875 /* Zip+Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = A75B1903EDE9AF0E837F552C3B4B0ECB /* Zip+Collection.swift */; }; + 7B835D47DE258886D4DE32448092B2E0 /* MASShortcutView.h in Headers */ = {isa = PBXBuildFile; fileRef = D5048F1E538FA6BE380FDEA797C67964 /* MASShortcutView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7BA5D9B38DAEDD6A5166ECF2A498D194 /* RxCollectionViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EDC27DAA842ADF912C0833851E30E58 /* RxCollectionViewDataSourceType.swift */; }; + 7BBF7CD170A158ADB7BC4BE728D6E991 /* GCDWebServerFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = 482AC49125B4EDA3FAC852085735EE69 /* GCDWebServerFunctions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7C029376ECFAAF6EE34B547B6A8F98FD /* MASShortcutValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = 61338EB49B056D8863FBA9E7E378FB7F /* MASShortcutValidator.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7C9C0D2AB5BB6670928CC95B4DA46814 /* RxSearchBarDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = DEC1198C70484AA5C5EDEFA6FE308EAC /* RxSearchBarDelegateProxy.swift */; }; + 7CC78047BCFFE5FDE737AD7FAE0CDF83 /* Lock.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0D1E4D2720FEE99EE28A91AC2870C00 /* Lock.swift */; }; + 7D6AF0C3709A6993BDC1D881D8A697C0 /* Timeout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D95F72C85445990035BD522BB442C39 /* Timeout.swift */; }; + 7E02F5B62BE00E97847DF549FFED2490 /* HTTPHeaders.swift in Sources */ = {isa = PBXBuildFile; fileRef = B23840FF2411332091792A8069873D62 /* HTTPHeaders.swift */; }; + 7EB856724C85DA12CFE4BDAC4B3C8614 /* ImmediateSchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFF609E54FAF8A3E557D3AFBF9175D37 /* ImmediateSchedulerType.swift */; }; + 7F1BB526AAE3ECDCE90127D9D0E10261 /* StringEncoding+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B054A71E5C8F9E6E6B2383775622927 /* StringEncoding+Alamofire.swift */; }; + 7F59999179584A86DC8922AF1D751E96 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 775A6C13A2C7C50A8FCD730CD47806FA /* Cocoa.framework */; }; + 7FE695DA8EE7FF1286556E06B692009B /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9F3F7EA108A1D03D9742FB0D83F9E56 /* MultipartFormData.swift */; }; + 80453E521159124CCFF522C9703C3B49 /* Disposables.swift in Sources */ = {isa = PBXBuildFile; fileRef = B47CD6DE02149D4259E550A53C5CEAC1 /* Disposables.swift */; }; + 808C960C82D708FC1A42C581D6CB4940 /* URLSessionConfiguration+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF97D2AAECD0BA15BB76003B5DE56498 /* URLSessionConfiguration+Alamofire.swift */; }; + 80D71A98721958B12DF4DE9E4CE5354A /* GCDWebServer.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A2903ED8C49325DCC161BD6B13F5169 /* GCDWebServer.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 80DD4A8CB008AE85A6F3660BFF682E85 /* GCDWebServerURLEncodedFormRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 007A57A69CD7D0AE9FB4B13B5B840DD7 /* GCDWebServerURLEncodedFormRequest.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 81148E8E0935476F92B10881A023D0DC /* ControlTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CEA48923432981EF903E40CFDF79766 /* ControlTarget.swift */; }; + 81B8D2B7CEB25C2448B0BC9B33591A65 /* Session.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC90AC0316EFD5AA9D132504E62002D2 /* Session.swift */; }; + 824D816B1EE404F2DD400EE678695CBE /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5C17D58BC8D0956619116C04A26E7C9 /* ResponseSerialization.swift */; }; + 8486C6C26FAF2A7E4DC7919A8E5392FC /* Reduce.swift in Sources */ = {isa = PBXBuildFile; fileRef = F324C054EDE9A159CB6E25B984EC907F /* Reduce.swift */; }; + 84AEE29F4E7DDA962C49D6FAC6044EBC /* RxCocoaObjCRuntimeError+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F6837FEF771D5935E144B379E5F88A8 /* RxCocoaObjCRuntimeError+Extensions.swift */; }; + 85D3EBD6A396620BE3716A94EB7BBEB3 /* MainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19DD09CCB82CF1D81F9B31A54FD9C5DD /* MainScheduler.swift */; }; + 8938B371C6BE7190C2E601D993E13ECC /* Empty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A7E4749F000D2F0B4C47C52D4737FFC /* Empty.swift */; }; + 8958CEA20746A9370C1B951DBA44F93E /* it.lproj in Resources */ = {isa = PBXBuildFile; fileRef = DB09C3D886E30AFA5026665F796A50B3 /* it.lproj */; }; + 8A27623AD4E7175402A6151D2ADDCC3C /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 775A6C13A2C7C50A8FCD730CD47806FA /* Cocoa.framework */; }; + 8A8AD24A8CE75FBE807EB5A9FC11E62A /* Bag.swift in Sources */ = {isa = PBXBuildFile; fileRef = F69ED8B5779A77092441A1FAF84B41F2 /* Bag.swift */; }; + 8AEE5B74A5BAC274D6589F229D867768 /* UITableView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3745E32BFCA99EAF512B4D01BBB6825 /* UITableView+Rx.swift */; }; + 8C1B1327BE533F70B7E6B9A3B238D34B /* Observable+Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63149FD87147213D7E080E620AE4D35D /* Observable+Concurrency.swift */; }; + 8D75FC8D7476C9674234F39F1A820D8C /* URLConvertible+URLRequestConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6D8DE43ADD2C75FED599E1CAFD45C95 /* URLConvertible+URLRequestConvertible.swift */; }; + 8DD993BD9A4B2B78BB332CAD26155D7A /* AnonymousDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FF66B1AF009CD60FCC6F7AA535E8D8E /* AnonymousDisposable.swift */; }; + 8DE60863E0628717AFB9325CD1A925A5 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 775A6C13A2C7C50A8FCD730CD47806FA /* Cocoa.framework */; }; + 8E2687C4769FB67E17FB08211557FABE /* Platform.Darwin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECDA758165E6790FAE7FA3B90A6506C /* Platform.Darwin.swift */; }; + 8E34914BED7F8A2318C9A25090F05F97 /* TailRecursiveSink.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0504AA6DCA9B2D96E5D5D9EC7F775349 /* TailRecursiveSink.swift */; }; + 8E5E1C646F12A53565A89569ECF4F063 /* SchedulerServices+Emulation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43729D9B5DB03B1BC46F7C68E6A00746 /* SchedulerServices+Emulation.swift */; }; + 8E6AF60E498B87C8CC251EBA60E7CC33 /* Concat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DDA8B26CD511391BB6D3A0FB169D7D2 /* Concat.swift */; }; + 8FD7E911282ACAD7D1E9A13D50609093 /* Disposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61A5715B11567EEE920C4FF4B171DD1E /* Disposable.swift */; }; + 8FE813128FBC16B49DB67269987E8C16 /* ObserveOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 181DF3AB77646551CE2D9D1BD6A86F1A /* ObserveOn.swift */; }; + 8FFAEC748E582309A35E1B2723DA9448 /* MASShortcutBinder.h in Headers */ = {isa = PBXBuildFile; fileRef = 29FE5DC10B37F307897AA4E330FEE8E6 /* MASShortcutBinder.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 90585B3B5526DB8ECBD1AB8EF2C4D5A2 /* UISegmentedControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF575F54188EB69DD0D5955BF62BEFA7 /* UISegmentedControl+Rx.swift */; }; + 92944059FF69DB074DF315134E34C487 /* Sequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D530A3B292A3F977FBB9FE4BBD9FFF0 /* Sequence.swift */; }; + 929FFE207F5BFBC7A54F298DF34204A9 /* zh-Hant.lproj in Resources */ = {isa = PBXBuildFile; fileRef = A5F4D1EA9C1539878BAF7725A7E48F15 /* zh-Hant.lproj */; }; + 956494AB969C30DA2EED78DBF028AD13 /* SerialDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDE1777E948471084F50485994501A99 /* SerialDispatchQueueScheduler.swift */; }; + 96002784E3F3C258B8E16D81511F3D75 /* StartWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = 275141589DF5FDB6B902EF22CDAA90B4 /* StartWith.swift */; }; + 961B5042F0BFBD2C5FCDCCF40E2EA7CD /* UIButton+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0690390D7CE8D03DFE5A3068017ABED /* UIButton+Rx.swift */; }; + 96F9E4762C05BF7B009FA52FC18C18C5 /* NSObject+Rx+RawRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 430B12EB94CF6C2CFC591FD745A07004 /* NSObject+Rx+RawRepresentable.swift */; }; + 9761C548E5E773E5676503024CAD41C5 /* GCDWebServerURLEncodedFormRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 04A6B88D4B9A4937CA2382AC0CDC139F /* GCDWebServerURLEncodedFormRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 99C3157D6C24B6313766D8AC358CEAE4 /* MASShortcut-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A8F49077FDFEA313FACF481B994E0C9A /* MASShortcut-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 99D058E53EFEE3AC4857CDE3DBA5C004 /* ParameterEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3558EF2E0A948AD345088C37F97F568D /* ParameterEncoder.swift */; }; + 9A089E9F224B11791335C4EBDFC523F3 /* GCDWebServerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = C18CC82205F3614ABAD3EFA14363B01B /* GCDWebServerPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 9A151985A3D24023E8B2996BF3EBA2BB /* RxCocoa.h in Headers */ = {isa = PBXBuildFile; fileRef = C3A16BFEADC40CC728024772C6452F21 /* RxCocoa.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9ADE1DD7C6AD8B57FD158350A66EF8D0 /* SharedSequence+Operators+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F7724C2E0531F16AFF3EB28C5029C8E /* SharedSequence+Operators+arity.swift */; }; + 9C9030DEDB0DF955B16FE08C50892D57 /* Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6B4B4B6187C38301DB95EA173BDB608 /* Concurrency.swift */; }; + 9CF5896506A95255ED72BC661E1878BA /* RxRelay-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D4B3457B8D08EF0500A84B572444A3C /* RxRelay-dummy.m */; }; + 9D1B40333E44D1B18CF3BED65875E706 /* AnonymousObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BEB6EF28493C1C91BA9D776ACACA4D2 /* AnonymousObserver.swift */; }; + 9D809E7E7DA02E3271211B20A96F0493 /* Binder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 687BC2869AACFF1B09470C93D4DC3593 /* Binder.swift */; }; + 9DD51D67336AD13F67C6C96E83750F61 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 775A6C13A2C7C50A8FCD730CD47806FA /* Cocoa.framework */; }; + 9DE2C359D96E64DE44783F3B892EC4F1 /* Pods-proxy_conf_helper-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8752D17209EE8AAD7681107D6444113F /* Pods-proxy_conf_helper-dummy.m */; }; + 9E78521366F6AEEDDAD66DC96E0AD729 /* CompositeDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1720C3A5E95C03167250EB07E74CDD85 /* CompositeDisposable.swift */; }; + 9E7AA12D79CA575AC58968035D0A78D7 /* CombineLatest+Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFBBE9DD398DCD2D3763D7BDA82FE600 /* CombineLatest+Collection.swift */; }; + 9E8BA4FB802EDCD492DAF618CA7BFCE8 /* SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7606BAC6953A1907D884E30A12291B66 /* SharedSequence.swift */; }; + 9F370B3928A333AD7E41680A29B1F051 /* RxCollectionViewReactiveArrayDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930BB733C888B5672C3297BD4F9BE685 /* RxCollectionViewReactiveArrayDataSource.swift */; }; + A0208B623442A26CB9157F193CBB4A7F /* Platform.Linux.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A23ABFEBD66BE17527C826A602E427F /* Platform.Linux.swift */; }; + A02EE6648C92AADF5D82AFCCFE75C252 /* MASShortcut.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D34EC5B59E132952450763CE4805369 /* MASShortcut.m */; }; + A20321979D272B922CD60B531BD05F7F /* UIPickerView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C2543EF0849519DB393C50448C3FCA5 /* UIPickerView+Rx.swift */; }; + A214A653E430C9079AA7B1090169262D /* UICollectionView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 779809B62651DE3F091A8292E5BAA8C3 /* UICollectionView+Rx.swift */; }; + A29100AA1876DDEFF6F54694A51FDB0E /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDB899B9D1186B7B6847C13A627A8842 /* NetworkReachabilityManager.swift */; }; + A53BDE589BDD6483F3EEDCE5EA1DCCD3 /* Protected.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2EDF3226EEFE41A77A722F851227632 /* Protected.swift */; }; + A55470E44EA3E6CFF56B42BE8DB7C4C8 /* Observable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 952C70F572C07576837F89D2BA3A6E18 /* Observable.swift */; }; + A56EA17142E08761D5265CD99611C318 /* GCDWebServerFileResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 85E06B7F32F52E018A4DA73A84805E96 /* GCDWebServerFileResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A5A7D110616D7FC8F9D653FB40FBAB87 /* LockOwnerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CEE1342C080FBA4C08E996D1941576A /* LockOwnerType.swift */; }; + A61DBDB2950BFFCB425FAE038D3F5355 /* DisposeBag.swift in Sources */ = {isa = PBXBuildFile; fileRef = B006F15C087BE6137A58081F78689AD0 /* DisposeBag.swift */; }; + A6692C758FC5CA8A5111CE1226714BA3 /* SynchronizedOnType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6400B2B598451DE9300C4D612CB45F9A /* SynchronizedOnType.swift */; }; + A84CA5C9802FEDBF9D1430D9184EE191 /* Infallible+Create.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA2000B64EBE40E05BE0FF20BF010DF9 /* Infallible+Create.swift */; }; + A93FC5BCB5B02182D27377A3724A60B1 /* RxSearchControllerDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32693431B98346A6E2CA72513716389B /* RxSearchControllerDelegateProxy.swift */; }; + A9557DFF5C2F5266EADEA56E40DD7BF2 /* Materialize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E20826792C3F3A80A8754BE96649C4C /* Materialize.swift */; }; + AAA7A11591D6E4B06124708291C37698 /* RxTabBarDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F586EF12D92A360E2794E62B12B7D41 /* RxTabBarDelegateProxy.swift */; }; + AB88D7A71BA82D3BAF097C992BFB221B /* UISearchController+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2F22930B3947B0755CD20014AC3F4DA /* UISearchController+Rx.swift */; }; + AB8E2A84111CE8295B2DA0EA086ADE2A /* SwiftSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A79BEC98E69A2C5C03D3299A86FC49E /* SwiftSupport.swift */; }; + AC356E4814E578FE3ACF2FDDCE752946 /* DefaultIfEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0B3FDDCC8429ABE465984BB0D5B716F /* DefaultIfEmpty.swift */; }; + AC66BC7AE5BF6D4CFE0F56E7525DE15C /* RxSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 18F2E48E25112EB80DD0D3454EDF16DC /* RxSwift-dummy.m */; }; + ACA3DBC73A19F3CDF9C4FAB09988D0E6 /* RxScrollViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EBD9E9CC7F7291C0EF63239434B0FA5 /* RxScrollViewDelegateProxy.swift */; }; + B00AF217A5FFD370AB3CDE0F9E6B876A /* ScheduledItemType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91ACF157C2DC936ACE89CC43F055DFA0 /* ScheduledItemType.swift */; }; + B00B8088EB50EA3F0F875993C675F421 /* UITextField+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A10EBC69D52215CD012AE90091B8363 /* UITextField+Rx.swift */; }; + B1605B055C82D80291D7C696494BD6A6 /* GCDWebServerFunctions.m in Sources */ = {isa = PBXBuildFile; fileRef = 6439E4DF8A85FEA4C8E98F10978DAFAB /* GCDWebServerFunctions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + B25FD3B8B970EE0212FB4398402FA2E7 /* First.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C31593A17D4BB953FD42CFA086E49AD /* First.swift */; }; + B3167FEDC691D1DDF267F855CFF33636 /* DelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E73B672CFD4CC3003C05A179520020E /* DelegateProxy.swift */; }; + B3658C29BBDE1033F6269A92E612CB30 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70349FB09331376131C0FA2E07BBA732 /* Request.swift */; }; + B3955E2887BEEF351AD4803F60F5966B /* Queue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66AF23A879E6B63132BBDAECE8B16C14 /* Queue.swift */; }; + B3F14F1B196B5858BD951366FA89FA6D /* RxWKNavigationDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8058F8FA1996F9DDF826174FC66BDE26 /* RxWKNavigationDelegateProxy.swift */; }; + B405C9038D5FB16832E5F6134092246E /* ObservableType+PrimitiveSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F1C7F9A8EE75A48FB824C608CFACF2B /* ObservableType+PrimitiveSequence.swift */; }; + B4588246480FA67D1E50AC5E4291AADC /* Do.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DFDE89D41E398EC6E891B15AAFE5AC7 /* Do.swift */; }; + B4A708E38EB366EE8BC4FA983A103CCB /* PriorityQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A7076BC81DD3F5A01EEF0582DD508A5 /* PriorityQueue.swift */; }; + B59095D5EF330419B3ADFBAD7EBC2B1F /* NSButton+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C947525B426B362C8203934373208157 /* NSButton+Rx.swift */; }; + B5ACECCDD52AF69EBA2E11666BBAEB42 /* RxCollectionViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E64CD6C971CD4187200B46FFF8BADDB /* RxCollectionViewDataSourceProxy.swift */; }; + B5C094E30068692A8BF64D6321807B97 /* Infallible+Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 865561D523F149A573B5FF730D35C946 /* Infallible+Zip+arity.swift */; }; + B69A35ABD06CEC9985C423528CF06026 /* Window.swift in Sources */ = {isa = PBXBuildFile; fileRef = A098ADFF8C57C325813C3A388F03580E /* Window.swift */; }; + B6A862C477663B2FBFB7440792E808C2 /* Cancelable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A37E6B8781C125442DE7222246AC236 /* Cancelable.swift */; }; + B704B198B9B520D449260877E300D821 /* ServerTrustEvaluation.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8FA7C22966C76E2A060F78BA813FADB /* ServerTrustEvaluation.swift */; }; + B9CB1EB3C6C65F32564871B4939FBCCA /* GCDWebServerRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 0536B9566364D92CA97E42CF0ABDCABE /* GCDWebServerRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BA5658B6C27A81FA4665E507A1ED88DA /* Driver+Subscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 635282F645B46F26C06E60575AE3B00F /* Driver+Subscription.swift */; }; + BAD3834746DAB3C038417D16101B29A2 /* NSControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4572022411C17BF51ED99D06B66B9FA0 /* NSControl+Rx.swift */; }; + BB72FC9215BD907A82AE928782813D6C /* NSObject+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EE82638039845A907B2AE701F01EB6A /* NSObject+Rx.swift */; }; + BBD437FE6BFF63452E6B7E08DFAB4DD9 /* UIBarButtonItem+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD399408DDAC2A33A3E75E5833691BA7 /* UIBarButtonItem+Rx.swift */; }; + BC0ECA8F22DEDE8886E189CD0EAA1197 /* URLRequest+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = F819AF91CF337560B7B662DB9A0E2498 /* URLRequest+Alamofire.swift */; }; + BC739E2C29749577D9A750BE65167A10 /* DisposeBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = D90202E02D3BC6CC4040C6297BB45361 /* DisposeBase.swift */; }; + BD227A88D50B87748A8DB3C7D5C73656 /* MASShortcut-MASShortcut in Resources */ = {isa = PBXBuildFile; fileRef = 230F8208BE63C052A548A7D41A1158B2 /* MASShortcut-MASShortcut */; }; + BD4D947D414A257A3CB825F0A819AE64 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 775A6C13A2C7C50A8FCD730CD47806FA /* Cocoa.framework */; }; + BD8A0CE5456A04E2FE170454BE89096C /* ObservableConvertibleType+Infallible.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAAABFE0516216019356175ED5209BAA /* ObservableConvertibleType+Infallible.swift */; }; + BD9134C9C58077E93C7236479B9EAD34 /* AsyncSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D3228BE4FC6FEBF9E4DD962D89D838C /* AsyncSubject.swift */; }; + BD998F7DE6FC5A895FB8FC2CDBE9B5FA /* InfiniteSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC94AA7AC5D52B5FD296C4B2B727DB65 /* InfiniteSequence.swift */; }; + BDEE7FA0E55B449CED84DAF51312BDCC /* de.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 840DE34BAC7B22DD54D018AE8FEF1A04 /* de.lproj */; }; + BE6F5E98FDE6165479ECB77A2EC98B05 /* Sink.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0242F9ECC827A21EC92B4B30C920E4F2 /* Sink.swift */; }; + BE8DC14ED92A9F04A64C600D714C9AD2 /* BehaviorSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1DDBC2E8C6E39D36CEFD36943025308 /* BehaviorSubject.swift */; }; + BE9BF30280A7FA94F5CD13C62FEB34F5 /* Multicast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38193DD6C0BBDFCBA79A8898DD0F5650 /* Multicast.swift */; }; + C06CB2B5784DD4CCD19D83EC1A7D726E /* Repeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = E68AA3D79D819489F51587F62001284D /* Repeat.swift */; }; + C10D78BCB90364CAE5222A1B99B767E6 /* AsMaybe.swift in Sources */ = {isa = PBXBuildFile; fileRef = DECEB5F91A2F6F2D1B5F8355FB36E886 /* AsMaybe.swift */; }; + C1139D5C549CD5F0D8A98F039FAC8460 /* InvocableScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1502CC5F117C1A2E65DAF0EBD063E83C /* InvocableScheduledItem.swift */; }; + C12DCA02D36C5C6167F566AFC96A6057 /* _RXObjCRuntime.m in Sources */ = {isa = PBXBuildFile; fileRef = AEFF466AA46EC948ED299B53DCD0E215 /* _RXObjCRuntime.m */; }; + C2D4FEEAF01038DB5C31CA401C105476 /* _RXDelegateProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 656AEE7E80D2E832E14C523B8E4A7661 /* _RXDelegateProxy.m */; }; + C30F659E76DA76D2FF4D159AD1E1ED9A /* ElementAt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 774E293236E0B1DA33299FA64244F1AA /* ElementAt.swift */; }; + C378AC3DF57A41F6F16D01BBD7A1BB02 /* UIActivityIndicatorView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0A73B6F779FACA103F3CD8745E4A39C /* UIActivityIndicatorView+Rx.swift */; }; + C46BC31AE0990290C166945C5DB9B5C4 /* cs.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 791A38AD9245F3DDBD3A751B74C477BC /* cs.lproj */; }; + C4D029D242534F39F1CE844F6E4902EA /* VirtualTimeScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE6B2BA7726D04EAFA6680D37A48D222 /* VirtualTimeScheduler.swift */; }; + C5A13BF26F65C27199B794EEAFACCB78 /* DispatchQueueConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = D713A1A7001B98E7643E77B34948B0B6 /* DispatchQueueConfiguration.swift */; }; + C6A1AF1239CD2F0D4745BAA097E1E63F /* RxCollectionViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 962DD2DC965E46D0AC14F2280FE93164 /* RxCollectionViewDelegateProxy.swift */; }; + C784A7AAD94DD830A9EB5ADDEE6DE1BB /* KVORepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EC07C5384264B22A157A387A72CCBDE /* KVORepresentable.swift */; }; + C7E34DF3E98918E2DF4AA3E2355606FC /* Infallible+CombineLatest+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = F21EAF77FDEC4FA3BCBBCC724A148D92 /* Infallible+CombineLatest+arity.swift */; }; + C84C449C8C7BAC52CB078E6380141C4B /* Just.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05FE2AD464C7BF337123F1A23F43A4A8 /* Just.swift */; }; + C99776A2F8AAB9B5B54E2C4F30FF2B19 /* Never.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D8274AA9FC1CA06C97CA6286966F0FA /* Never.swift */; }; + C9FDAFC84391A33D39CEB71A7A9F1DE6 /* Deferred.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4FFE056544DD08DC565D45DAD4CC691 /* Deferred.swift */; }; + CA665E5BDAB5904C802DC18C3046D514 /* GCDWebServerConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 2CB9B78AF77AB071F564390FBD3F7606 /* GCDWebServerConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CB3ACAC0625702DEC5BBB5F9AC0CC737 /* RxTableViewReactiveArrayDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC7F5AF7100A7371FE87143D0C656229 /* RxTableViewReactiveArrayDataSource.swift */; }; + CB5F30E2806C67C2DE4637D28F71BD49 /* ja.lproj in Resources */ = {isa = PBXBuildFile; fileRef = B723BDF25FB0187F11297B5A58500D85 /* ja.lproj */; }; + CD0BD7BCEF43C693BC6035EC145121B5 /* SchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06409BFEAFFBCD3D8F31DB592CCF3CD5 /* SchedulerType.swift */; }; + CE08483A41A5535019BE5E198792480B /* KVORepresentable+Swift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D0F56EFD598440991E392C3E4790207 /* KVORepresentable+Swift.swift */; }; + CEBFFEED65D877702B2F36102528CF6D /* EventMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 985DB1772208876B4A7AB92A8BDF2A2A /* EventMonitor.swift */; }; + CECC07060F4E45F30BB686631B8C5FA7 /* GCDWebServerConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = F1597FFEE5882FAE50302F9B1F2E712C /* GCDWebServerConnection.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + CF32140300489AD5D6D5A74E4605FDAF /* DispatchQueue+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDE8F08A9E8EC28B4BE33084C87A0888 /* DispatchQueue+Extensions.swift */; }; + CFFEE199B117D7FE05021FA87E77BC5A /* SubscriptionDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDDDBE8A8B396AA948EF844E3078F3A9 /* SubscriptionDisposable.swift */; }; + D01993B04AAAD674AC030B8E2445A1D0 /* ObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1BB440EB1ECF4EF45EDE5FBE80B31751 /* ObservableType.swift */; }; + D07A6461A975C435024586B48DA524FF /* GCDWebServerDataResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C075BB9C933358473BDA41FF547F3B4 /* GCDWebServerDataResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D09BF66099F17D546FF21AF35DBA204E /* SkipUntil.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7EE55002794EA6709FA9B28FFCCFEB4 /* SkipUntil.swift */; }; + D0A339D63E42D1B9F836EF0FB87241BB /* GCDWebServerDataRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = C6E37EE4A0A848B5F6DB87C29B200BC9 /* GCDWebServerDataRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D0EA90FBF83350C49E6EF6C8A98D6F00 /* AFError.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2C96636333F26E04DBC652A12300611 /* AFError.swift */; }; + D2004A03ADD62CD0C4649710F32A91F5 /* NSTextStorage+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF7A8F913EE0F9EC4EEA067263A55C16 /* NSTextStorage+Rx.swift */; }; + D213DA8A52C532FAB6C51F6919C16DA7 /* PublishSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3438FEF56AB580D576E3EBDB8A66CB47 /* PublishSubject.swift */; }; + D2C293D847E95B01671EB3E6A32F11C7 /* WKWebView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = DCC2AC628B606D5CC00CCEF11AE00C47 /* WKWebView+Rx.swift */; }; + D3AB490FA372E1922315D4F2E5709254 /* InfiniteSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74E8004F30877F3D613F3101239B3171 /* InfiniteSequence.swift */; }; + D3BC528010D39EB2D79585A671FD80B6 /* UIScrollView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 977565D9DB39ED993109D0B241605A08 /* UIScrollView+Rx.swift */; }; + D47B1058991EEC007A109B8E354EDB80 /* ObservableConvertibleType+Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE99CEF7C18373C783D02CFD50F55410 /* ObservableConvertibleType+Signal.swift */; }; + D4933D17DC286C3DABCFD930BED56DD9 /* UIGestureRecognizer+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94BBFAADDB26AC75A65DBB7A8C1ADE4F /* UIGestureRecognizer+Rx.swift */; }; + D6B4751CED01D53E4A1B6A571AAA2F83 /* HTTPMethod.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5C5D686281C1358498E76D48FDFDF90 /* HTTPMethod.swift */; }; + D6C6D74A2CFF2FB96AF70F31BB57B4FA /* MASShortcutBinder.m in Sources */ = {isa = PBXBuildFile; fileRef = EF6CA6C56D94CB72E7B054FD8F46F12D /* MASShortcutBinder.m */; }; + D6FDE9DFAC4AA548A9A4E2D6BBCE54FC /* ControlProperty+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = A86B89BE2651169B6EB2EBBA8427B97E /* ControlProperty+Driver.swift */; }; + D8E2E1F080775F5F3624585A3A00CB70 /* MASShortcutMonitor.m in Sources */ = {isa = PBXBuildFile; fileRef = DDFD67AA606F5C51BA83B782D8AB5BAA /* MASShortcutMonitor.m */; }; + DA34899BEF0668D76CBCE8C4CE47B97B /* RequestTaskMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 797B211C000D8302E9F7F84315859377 /* RequestTaskMap.swift */; }; + DC41CE47B4261E43FDFCA11B046D297D /* SingleAsync.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3A321BCB3E416BCEFDCCAC04057D6F4 /* SingleAsync.swift */; }; + DD902FE8D6824681C929D028655AE121 /* RequestInterceptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = E78F609085B34D46DE3C6B22B4D1FC9B /* RequestInterceptor.swift */; }; + DDBE808A71649DEB890855963D37DA30 /* Skip.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68E9767F6D9EDF8BF3633035BEE77D2E /* Skip.swift */; }; + DDFAA85F65DD2A13878FE9956AE6BE73 /* BehaviorRelay.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD9D6E7BCAA76B372F40977D8F7CF680 /* BehaviorRelay.swift */; }; + DE1A0AEB54B4831B694F2398590571B6 /* pl.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 6A783BEA5050505FFC2F43F99BA68822 /* pl.lproj */; }; + DE71610B229DF6E2B65A8574BAF21414 /* SectionedViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7B6E62CAE81DC82140DA31A1FF34126 /* SectionedViewDataSourceType.swift */; }; + DFE9580690BDD98E48EFACE348EAB0E5 /* InvocableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65636F24F254B0DA48D32700B93D5EC6 /* InvocableType.swift */; }; + E2C61937ABA261A901CC4F433EB5218D /* GCDWebServer-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D2EEDFA22C04CA3D90C2A2745E60DA3F /* GCDWebServer-dummy.m */; }; + E37B0C9660B38478CFAFBD462D049B6F /* WithLatestFrom.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD141250853A8135F9C3FB046FB58E7F /* WithLatestFrom.swift */; }; + E3BD00BCED3F907CC487712E296B00E3 /* Debounce.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A4FC8C5D64E70B4243889F747A96759 /* Debounce.swift */; }; + E54654D504A42C24F284A68F87F7671D /* OperationQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3862370A1FCAB7651E5E1F13A0C16CFB /* OperationQueue+Alamofire.swift */; }; + E65591290320B54BA43102B861F29CAA /* Delay.swift in Sources */ = {isa = PBXBuildFile; fileRef = C46BCC7C16014A337199C524B8BF169F /* Delay.swift */; }; + E819DB8A90FFE6F925EFEABE565C66F3 /* RxRelay-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 19918C4B6F33B928EE64C0865D7E0D9B /* RxRelay-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E846944AB98599A0F8A6CDAE0F6DAFC1 /* RxMutableBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B7CBDC69F93BECCD851D5FBD84262B2 /* RxMutableBox.swift */; }; + E8E6BC505092417C3B5330216BCE20B8 /* Optional.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3DF585B86534FF9AC3CA3B6CC8DA72A /* Optional.swift */; }; + E900C744AAB9A106D26C969A82B3D13F /* PublishRelay.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA2D15A4612482369D1D5FA49514C999 /* PublishRelay.swift */; }; + E9B4C89E7EB3B27D46AFCA452C3D426F /* MultipartUpload.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AB89402B625C137D6AEFC83C52BF5A0 /* MultipartUpload.swift */; }; + EA5FE4B4B3BF04976C37430E4F3721EF /* RxPickerViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4D8A4AD795BD3E0768640208AA29D6B /* RxPickerViewDelegateProxy.swift */; }; + EE334F20B0F3150F4AE027AF63A3CB56 /* Catch.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8578CD36481891CB3F62B36071EADF0 /* Catch.swift */; }; + EE62BAE6048AA29EB11FB65DB9D62E71 /* ShareReplayScope.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFB575FB44B150B2ECEB0D21325D28D2 /* ShareReplayScope.swift */; }; + EEC150B66BCCD6C80FDA7E4D1975166B /* DispatchQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AE9B6BB311666BF1BDEEA389470683F /* DispatchQueue+Alamofire.swift */; }; + EF6DD06709E5EFD67031FF9B5901A827 /* RxTableViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FA8730D6A1BFEEB0AC605DC5B679A64 /* RxTableViewDelegateProxy.swift */; }; + EFE7F464275E3F44546898B89D198CAA /* BinaryDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15DFF0AA37E1E922210DF5D0620E39E3 /* BinaryDisposable.swift */; }; + F04000A157F4A60BBE08879421963D9E /* MASDictionaryTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = EE4C82A87A43C29DED6FC18CFA09CC44 /* MASDictionaryTransformer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F17A4CA4664CABB331D39FE902E06843 /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7938F1D7B3ED6EC957C9F6480A094638 /* Alamofire.swift */; }; + F2204EB00883C3007F7F1D572065748C /* SerialDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95A6BBC67C863E496F0286A3D6C95425 /* SerialDisposable.swift */; }; + F2DDF679DF721DDA14A53744DD540092 /* NSSlider+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 014D86E59B82F4EA0F68EC9AEA6F1E07 /* NSSlider+Rx.swift */; }; + F31B06B80D78F9C318CDDB4DA5AF2F16 /* Scan.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D51C50F4B015BFDDA967C26E796FA63 /* Scan.swift */; }; + F3B4A826460EF6A9B19849D1E7AF6A52 /* ControlEvent+Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41EB9B265B76D21416C59A85B2461BC9 /* ControlEvent+Signal.swift */; }; + F3BEF8B713D97B7BA9A05E537D549EB2 /* MASLocalization.m in Sources */ = {isa = PBXBuildFile; fileRef = 617F3ED9788266A1443488A3BAA0CF81 /* MASLocalization.m */; }; + F3CB4B376D60816810D98E8851530BE9 /* BRLOptionParser-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C94E0AC8C9C8620F57D0049FC338ED51 /* BRLOptionParser-dummy.m */; }; + F5A28A45E4EDCBB181CB7ABC888E7C41 /* Pods-ShadowsocksX-NGTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 72A57876EDEB24ADDFE06DD482CE250C /* Pods-ShadowsocksX-NGTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F5AF27692F3A5C9087F015B5C40A35E7 /* RxTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16C7749A02F3830FD82CBB94ACED6EC4 /* RxTarget.swift */; }; + F60E2B85B28D1E27FD52F9B0D62A50C8 /* _RXKVOObserver.m in Sources */ = {isa = PBXBuildFile; fileRef = 8260A9D19D11ED884B1E6BE9E5A976A9 /* _RXKVOObserver.m */; }; + F7437FCEC265F2A087C8B28DE0CBAD7C /* OperationQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5A3274A27C2A4753A681D1F2B3BD2C7 /* OperationQueueScheduler.swift */; }; + F776664773ADD737AF9EF25006645112 /* SubjectType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62891923BD65FB1018742A3A7EC53C24 /* SubjectType.swift */; }; + F7774F70F3F7CD7E11F01BD8B62FFF15 /* URLSession+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 096CD3825785B69BCAB953A053429860 /* URLSession+Rx.swift */; }; + F9821B669566BA01F845426DC6834E76 /* Observable+Bind.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B177D229C57B64FE6039D8AC92C6378 /* Observable+Bind.swift */; }; + FA4DDBBC3C154F5F66D9FC100564B3B2 /* GCDWebServerStreamedResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = B9CBA5FF3D8C04AA76F6E7B922F34B81 /* GCDWebServerStreamedResponse.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + FAF7C9C4F9B6AE2CE9F5866B210D9275 /* SharedSequence+Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36483C07BBCA83AC03CEE38569548EDD /* SharedSequence+Operators.swift */; }; + FB2E73B91F25191EB97751FC50961F74 /* AnyObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08E4D506DA477D3B7C178209DE2A200D /* AnyObserver.swift */; }; + FCD9660A73D7E00EA19E2F2295876E04 /* NSTextView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = B132AB9D1ED88D00EFF1E0D0C659F8C0 /* NSTextView+Rx.swift */; }; + FD5BF0783A18B5C2E0EC90C0CF47B993 /* GCDWebServerMultiPartFormRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = D73EC4AA12FB5BDC56A582F913D05E76 /* GCDWebServerMultiPartFormRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FE9261A1344AF922C1EFCB457B938425 /* BehaviorRelay+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C9F18861D86E1B3CCD8029C68CEFB81 /* BehaviorRelay+Driver.swift */; }; + FEE3816C588E3EF09A51C496A321FBBF /* ObservableConvertibleType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A8C6C885B11A81D52E0B4E3358F86C9 /* ObservableConvertibleType.swift */; }; + FF9EB053904D3592FFAF35CAEFAD1D1B /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 775A6C13A2C7C50A8FCD730CD47806FA /* Cocoa.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 1CA90026A2A030CD980CB1E78050B63A /* PBXContainerItemProxy */ = { + 0D4A8FABE32ED990935A446B4D115334 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 4622BFEF3DC16E8BD15EEFC30D4D0084; - remoteInfo = RxRelay; + remoteGlobalIDString = EA9EA43B3B503823EE36C60D9C8A865F; + remoteInfo = RxSwift; }; - 290D7A27821274F88F50BA4027E877B0 /* PBXContainerItemProxy */ = { + 27500F9BC75EC84E9B4D3440EC9E0840 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 00F92A6698B766C4479D7B608F28D680; remoteInfo = BRLOptionParser; }; - 3A3C6F9E9E958812D1FF93C9737FE5B1 /* PBXContainerItemProxy */ = { + 666D025BB4CB8AFAC945CC402275D55C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = EA9EA43B3B503823EE36C60D9C8A865F; - remoteInfo = RxSwift; + remoteGlobalIDString = 4622BFEF3DC16E8BD15EEFC30D4D0084; + remoteInfo = RxRelay; }; - 3DE69038DEBF7AC72F345377CCA1A457 /* PBXContainerItemProxy */ = { + 805BFF68D27E26F52E8BCB5B8989CABF /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 73C37A16ECCEAD845651DCDEE95675BE; remoteInfo = "MASShortcut-MASShortcut"; }; - 6C21C08D1A9E4A42298C1E83946EFBF6 /* PBXContainerItemProxy */ = { + 82070B39743D322666A33F8A2FBAF33D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = EAAA1AD3A8A1B59AB91319EE40752C6D; - remoteInfo = Alamofire; + remoteGlobalIDString = 2B2B481A164695722839BD581D442457; + remoteInfo = MASShortcut; }; - 7569E9B350638EBD714C781E38F158A8 /* PBXContainerItemProxy */ = { + 85774D18CF1AAA3C1B15A01255C86F46 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = E9FDECF69808DB0491D4B4C08CF920DC; - remoteInfo = "Pods-ShadowsocksX-NG"; + remoteGlobalIDString = 4622BFEF3DC16E8BD15EEFC30D4D0084; + remoteInfo = RxRelay; }; - 809667767BFFB7D46B762AD5F006A069 /* PBXContainerItemProxy */ = { + 8C4E10B30963A51313AEF838FF208BAA /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = EA9EA43B3B503823EE36C60D9C8A865F; - remoteInfo = RxSwift; + remoteGlobalIDString = E9FDECF69808DB0491D4B4C08CF920DC; + remoteInfo = "Pods-ShadowsocksX-NG"; }; - 93C581FCCE9BCA693063DEB0CB18943C /* PBXContainerItemProxy */ = { + 8E7973518985F4CF9410E24C9BAEDDBF /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 4622BFEF3DC16E8BD15EEFC30D4D0084; - remoteInfo = RxRelay; + remoteGlobalIDString = EA9EA43B3B503823EE36C60D9C8A865F; + remoteInfo = RxSwift; }; - 95ED7E1E76F66FF2AFA473A3D49F574E /* PBXContainerItemProxy */ = { + B8BB3764FBB517ADF809B8623B7F5B32 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = EA9EA43B3B503823EE36C60D9C8A865F; - remoteInfo = RxSwift; + remoteGlobalIDString = EAAA1AD3A8A1B59AB91319EE40752C6D; + remoteInfo = Alamofire; }; - A5DE8E8EE1A9A5D27FEA05AD1FF38C1E /* PBXContainerItemProxy */ = { + DCC03C2ED3E7DFD137B8FBB64C285019 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 7AD0C6DCDC9CEC8A3C7C10C7FEE07BE6; remoteInfo = RxCocoa; }; - B0B5FA86CABF29A7785405416D374CDA /* PBXContainerItemProxy */ = { + E22CCCCBB12F6B9A66CA9BAD35811D69 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 2B2B481A164695722839BD581D442457; - remoteInfo = MASShortcut; + remoteGlobalIDString = AD904F32069787EFB2DFFE05EB82F5BD; + remoteInfo = GCDWebServer; }; - E627335D42AC0ADFBA7B40BFD314B204 /* PBXContainerItemProxy */ = { + FF536082F6162F97AC81C97C6FD0DABE /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = AD904F32069787EFB2DFFE05EB82F5BD; - remoteInfo = GCDWebServer; + remoteGlobalIDString = EA9EA43B3B503823EE36C60D9C8A865F; + remoteInfo = RxSwift; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 04A3FEA575D65278CDB553AA231A0CF6 /* DisposeBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DisposeBase.swift; path = RxSwift/Disposables/DisposeBase.swift; sourceTree = ""; }; - 0555618E1BBA944D30E358F0700CDD8B /* GCDWebServerFunctions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerFunctions.m; path = GCDWebServer/Core/GCDWebServerFunctions.m; sourceTree = ""; }; - 06A09DBC68AE0A93F94442D71EBF343F /* Alamofire-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Alamofire-dummy.m"; sourceTree = ""; }; - 07B4CEF97C27B2FE6205EE1D720BFB39 /* Skip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Skip.swift; path = RxSwift/Observables/Skip.swift; sourceTree = ""; }; - 080201197B517655700BD33F44B1A602 /* Dematerialize.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Dematerialize.swift; path = RxSwift/Observables/Dematerialize.swift; sourceTree = ""; }; - 09A0680C8640FDF225CF2A27A4204628 /* GCDWebServer-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "GCDWebServer-dummy.m"; sourceTree = ""; }; - 0A18EEA4857408358F9A8E6ED8AF8829 /* Observable+Bind.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Bind.swift"; path = "RxRelay/Observable+Bind.swift"; sourceTree = ""; }; - 0B98DA4C08DC1A12B2789714C6CDEFFA /* Bag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bag.swift; path = Platform/DataStructures/Bag.swift; sourceTree = ""; }; - 0BC06E9EC97DF3F5E3AB732D978BD66B /* SwiftSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftSupport.swift; path = RxSwift/SwiftSupport/SwiftSupport.swift; sourceTree = ""; }; - 0C0FB7A81FC88101C56EABF826BD78F5 /* Reactive.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reactive.swift; path = RxSwift/Reactive.swift; sourceTree = ""; }; - 0C1C25377D5ADEBBE1E5B44FD42F2BF8 /* GCDWebServerMultiPartFormRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerMultiPartFormRequest.m; path = GCDWebServer/Requests/GCDWebServerMultiPartFormRequest.m; sourceTree = ""; }; - 0CB05B6D60934D955FE0D75C2339A114 /* Amb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Amb.swift; path = RxSwift/Observables/Amb.swift; sourceTree = ""; }; - 0D09EFC8E8E0DD0BACEB39FA20E08331 /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Response.swift; path = Source/Response.swift; sourceTree = ""; }; - 0E5F518C62FDAA5A762312C37D1CB101 /* Do.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Do.swift; path = RxSwift/Observables/Do.swift; sourceTree = ""; }; - 0F2EB184269284B56190B6EE5A7E5CC3 /* DisposeBag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DisposeBag.swift; path = RxSwift/Disposables/DisposeBag.swift; sourceTree = ""; }; - 10E99E50E2994DB7AD9AEBDEF1A2F72B /* Alamofire-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-umbrella.h"; sourceTree = ""; }; - 10F2E7253B70490BD80C987E65C522AC /* GCDWebServerPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerPrivate.h; path = GCDWebServer/Core/GCDWebServerPrivate.h; sourceTree = ""; }; - 111E9F3F4997D0ACA2E0BCDAF269904C /* SchedulerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SchedulerType.swift; path = RxSwift/SchedulerType.swift; sourceTree = ""; }; - 11DD125BCF1FDD4E34715800EC2F295F /* RecursiveLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveLock.swift; path = Platform/RecursiveLock.swift; sourceTree = ""; }; + 007A57A69CD7D0AE9FB4B13B5B840DD7 /* GCDWebServerURLEncodedFormRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerURLEncodedFormRequest.m; path = GCDWebServer/Requests/GCDWebServerURLEncodedFormRequest.m; sourceTree = ""; }; + 009E06ED0C889A6141D74F752E63188C /* RecursiveLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveLock.swift; path = Platform/RecursiveLock.swift; sourceTree = ""; }; + 014D86E59B82F4EA0F68EC9AEA6F1E07 /* NSSlider+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSSlider+Rx.swift"; path = "RxCocoa/macOS/NSSlider+Rx.swift"; sourceTree = ""; }; + 016FC15793BB34F8A129444E1CE885C2 /* SubscribeOn.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscribeOn.swift; path = RxSwift/Observables/SubscribeOn.swift; sourceTree = ""; }; + 01FA422DE40777935F20098DD1B27999 /* Filter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Filter.swift; path = RxSwift/Observables/Filter.swift; sourceTree = ""; }; + 0242F9ECC827A21EC92B4B30C920E4F2 /* Sink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sink.swift; path = RxSwift/Observables/Sink.swift; sourceTree = ""; }; + 0275DF96AF2D1C8B3EE0A46FE2B3E585 /* PrimitiveSequence+Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PrimitiveSequence+Zip+arity.swift"; path = "RxSwift/Traits/PrimitiveSequence/PrimitiveSequence+Zip+arity.swift"; sourceTree = ""; }; + 0303CE67439B86F95A5F30F551715C22 /* HistoricalSchedulerTimeConverter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HistoricalSchedulerTimeConverter.swift; path = RxSwift/Schedulers/HistoricalSchedulerTimeConverter.swift; sourceTree = ""; }; + 034FAFFBD46866189D2D869AB1FFD14B /* fr.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = fr.lproj; path = Resources/fr.lproj; sourceTree = ""; }; + 04A6B88D4B9A4937CA2382AC0CDC139F /* GCDWebServerURLEncodedFormRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerURLEncodedFormRequest.h; path = GCDWebServer/Requests/GCDWebServerURLEncodedFormRequest.h; sourceTree = ""; }; + 0504AA6DCA9B2D96E5D5D9EC7F775349 /* TailRecursiveSink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TailRecursiveSink.swift; path = RxSwift/Observers/TailRecursiveSink.swift; sourceTree = ""; }; + 0536B9566364D92CA97E42CF0ABDCABE /* GCDWebServerRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerRequest.h; path = GCDWebServer/Core/GCDWebServerRequest.h; sourceTree = ""; }; + 05FE2AD464C7BF337123F1A23F43A4A8 /* Just.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Just.swift; path = RxSwift/Observables/Just.swift; sourceTree = ""; }; + 06409BFEAFFBCD3D8F31DB592CCF3CD5 /* SchedulerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SchedulerType.swift; path = RxSwift/SchedulerType.swift; sourceTree = ""; }; + 06A8BE88425EDEFFE5F442D4B4597830 /* SchedulerType+SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SchedulerType+SharedSequence.swift"; path = "RxCocoa/Traits/SharedSequence/SchedulerType+SharedSequence.swift"; sourceTree = ""; }; + 087D351229BD3D80D6AC31721E35AF00 /* RxCocoa-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxCocoa-prefix.pch"; sourceTree = ""; }; + 08DEE252E0668B463D2CFA2A63C7C88A /* MASShortcutView+Bindings.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "MASShortcutView+Bindings.h"; path = "Framework/UI/MASShortcutView+Bindings.h"; sourceTree = ""; }; + 08E4D506DA477D3B7C178209DE2A200D /* AnyObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyObserver.swift; path = RxSwift/AnyObserver.swift; sourceTree = ""; }; + 096CD3825785B69BCAB953A053429860 /* URLSession+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLSession+Rx.swift"; path = "RxCocoa/Foundation/URLSession+Rx.swift"; sourceTree = ""; }; + 09FD646F5A1D9B1EF5F9958DB655DD9B /* PrimitiveSequence+Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PrimitiveSequence+Concurrency.swift"; path = "RxSwift/Traits/PrimitiveSequence/PrimitiveSequence+Concurrency.swift"; sourceTree = ""; }; + 0B054A71E5C8F9E6E6B2383775622927 /* StringEncoding+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "StringEncoding+Alamofire.swift"; path = "Source/StringEncoding+Alamofire.swift"; sourceTree = ""; }; + 0B6E0C1C0779A1BDF126391E0A57D813 /* Infallible+Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+Concurrency.swift"; path = "RxSwift/Traits/Infallible/Infallible+Concurrency.swift"; sourceTree = ""; }; + 0D98DD1A9BFD5B73AE9115FF6B8D901F /* TakeWithPredicate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeWithPredicate.swift; path = RxSwift/Observables/TakeWithPredicate.swift; sourceTree = ""; }; + 0E99DB904BE3F5A8B4C18DB0EBEB8B11 /* PublishRelay+Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PublishRelay+Signal.swift"; path = "RxCocoa/Traits/Signal/PublishRelay+Signal.swift"; sourceTree = ""; }; + 0EBD9E9CC7F7291C0EF63239434B0FA5 /* RxScrollViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxScrollViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxScrollViewDelegateProxy.swift; sourceTree = ""; }; + 0F70711E654F4BBAD0596F86BCA3C888 /* _RXDelegateProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXDelegateProxy.h; path = RxCocoa/Runtime/include/_RXDelegateProxy.h; sourceTree = ""; }; + 0FD45A6C73BECDE0ED9E618C48B758C6 /* MASDictionaryTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASDictionaryTransformer.m; path = "Framework/User Defaults Storage/MASDictionaryTransformer.m"; sourceTree = ""; }; + 104388085671048C3F84BECBFFD2DC17 /* GCDWebServerResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerResponse.m; path = GCDWebServer/Core/GCDWebServerResponse.m; sourceTree = ""; }; + 1161E401E97CF532E96EAD75740DBC67 /* GCDWebServerResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerResponse.h; path = GCDWebServer/Core/GCDWebServerResponse.h; sourceTree = ""; }; 11F97CBA2FD3653262BC227DD1340D90 /* Pods-proxy_conf_helper-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-proxy_conf_helper-acknowledgements.plist"; sourceTree = ""; }; - 12318B6E6BA8040BCC422023A5ABEF27 /* Signal+Subscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Signal+Subscription.swift"; path = "RxCocoa/Traits/Signal/Signal+Subscription.swift"; sourceTree = ""; }; - 127B3965CEBAEBFB395F0D10B7C255FB /* Throttle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Throttle.swift; path = RxSwift/Observables/Throttle.swift; sourceTree = ""; }; - 1389D4639C0D9038BA081FA8DC1CD646 /* BRLOptionParser-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "BRLOptionParser-dummy.m"; sourceTree = ""; }; - 1410700BFA8AF785CCF9919941F9930C /* GCDWebServerConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerConnection.m; path = GCDWebServer/Core/GCDWebServerConnection.m; sourceTree = ""; }; - 151A22449BAFE60147DA302082A00FA1 /* Validation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Validation.swift; path = Source/Validation.swift; sourceTree = ""; }; - 161437331F54761E08F028DD14CDC21E /* Infallible+Create.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+Create.swift"; path = "RxSwift/Traits/Infallible/Infallible+Create.swift"; sourceTree = ""; }; - 1718F5B8FAF3CE57AE64B5F53589493F /* RxRelay-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxRelay-dummy.m"; sourceTree = ""; }; - 172B845C32EEB48FD9EF1A11CC432D51 /* Sequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sequence.swift; path = RxSwift/Observables/Sequence.swift; sourceTree = ""; }; - 17A8B6DADE1F343EA5319D5964E84B71 /* SubscribeOn.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscribeOn.swift; path = RxSwift/Observables/SubscribeOn.swift; sourceTree = ""; }; - 17F9F190DDBE93E38A56D8405CBFA664 /* UIButton+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIButton+Rx.swift"; path = "RxCocoa/iOS/UIButton+Rx.swift"; sourceTree = ""; }; - 18B45BFB16E63DDF1AFB6C167D70D1C2 /* cs.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; name = cs.lproj; path = Resources/cs.lproj; sourceTree = ""; }; + 1267CEEB56120FD2F045A5976E61645A /* NotificationCenter+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NotificationCenter+Rx.swift"; path = "RxCocoa/Foundation/NotificationCenter+Rx.swift"; sourceTree = ""; }; + 12B0BA22334C1EE7C7A974FAA5F91ABC /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = RxSwift/Observables/Error.swift; sourceTree = ""; }; + 136D683ED12FEF437E85B90FE787ABBE /* GCDWebServerDataRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerDataRequest.m; path = GCDWebServer/Requests/GCDWebServerDataRequest.m; sourceTree = ""; }; + 1502CC5F117C1A2E65DAF0EBD063E83C /* InvocableScheduledItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InvocableScheduledItem.swift; path = RxSwift/Schedulers/Internal/InvocableScheduledItem.swift; sourceTree = ""; }; + 15DFF0AA37E1E922210DF5D0620E39E3 /* BinaryDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryDisposable.swift; path = RxSwift/Disposables/BinaryDisposable.swift; sourceTree = ""; }; + 16C7749A02F3830FD82CBB94ACED6EC4 /* RxTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTarget.swift; path = RxCocoa/Common/RxTarget.swift; sourceTree = ""; }; + 1720C3A5E95C03167250EB07E74CDD85 /* CompositeDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompositeDisposable.swift; path = RxSwift/Disposables/CompositeDisposable.swift; sourceTree = ""; }; + 181DF3AB77646551CE2D9D1BD6A86F1A /* ObserveOn.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserveOn.swift; path = RxSwift/Observables/ObserveOn.swift; sourceTree = ""; }; + 1838C6B160E745FF0A75D4ED798BC03D /* SkipWhile.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SkipWhile.swift; path = RxSwift/Observables/SkipWhile.swift; sourceTree = ""; }; + 18C6454190AF6299CCD9431AAA6FFAB7 /* GCDWebServer.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = GCDWebServer.release.xcconfig; sourceTree = ""; }; + 18F2E48E25112EB80DD0D3454EDF16DC /* RxSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxSwift-dummy.m"; sourceTree = ""; }; 196DA983244F60766BA272090829A16E /* Pods-ShadowsocksX-NGTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ShadowsocksX-NGTests.debug.xcconfig"; sourceTree = ""; }; - 199E49652A8B30754D25980910F956E1 /* GCDWebServerErrorResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerErrorResponse.m; path = GCDWebServer/Responses/GCDWebServerErrorResponse.m; sourceTree = ""; }; - 19AA7CC35C97B4BDF08E2E5CE20955E0 /* AlamofireExtended.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AlamofireExtended.swift; path = Source/AlamofireExtended.swift; sourceTree = ""; }; - 19FF8B675AE7A3F0AB7CDE7C48E8082A /* ScheduledItemType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledItemType.swift; path = RxSwift/Schedulers/Internal/ScheduledItemType.swift; sourceTree = ""; }; - 1A2C716EE769E98BF094D14B243A42C2 /* Alamofire-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-prefix.pch"; sourceTree = ""; }; - 1AA3BEB86C50C2AAE9CCEDB0171CFC56 /* ObservableType+PrimitiveSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableType+PrimitiveSequence.swift"; path = "RxSwift/Traits/PrimitiveSequence/ObservableType+PrimitiveSequence.swift"; sourceTree = ""; }; - 1B2134E06DD0F0E19694ADD2E46E9EF0 /* UIStepper+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIStepper+Rx.swift"; path = "RxCocoa/iOS/UIStepper+Rx.swift"; sourceTree = ""; }; + 19918C4B6F33B928EE64C0865D7E0D9B /* RxRelay-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxRelay-umbrella.h"; sourceTree = ""; }; + 19DD09CCB82CF1D81F9B31A54FD9C5DD /* MainScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MainScheduler.swift; path = RxSwift/Schedulers/MainScheduler.swift; sourceTree = ""; }; + 1A57B938452DB85051BBB46EBDE95EF5 /* RxTabBarControllerDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTabBarControllerDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTabBarControllerDelegateProxy.swift; sourceTree = ""; }; + 1BB440EB1ECF4EF45EDE5FBE80B31751 /* ObservableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObservableType.swift; path = RxSwift/ObservableType.swift; sourceTree = ""; }; 1C10AA3C311345DB3616BCE827B69C55 /* Pods-ShadowsocksX-NGTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ShadowsocksX-NGTests-dummy.m"; sourceTree = ""; }; - 1CD2535A24AA927A5965AF73264678A3 /* Catch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Catch.swift; path = RxSwift/Observables/Catch.swift; sourceTree = ""; }; - 1DBE368EA1C6F7EBE80E08054C9BC6AE /* TextInput.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextInput.swift; path = RxCocoa/Common/TextInput.swift; sourceTree = ""; }; + 1C9F18861D86E1B3CCD8029C68CEFB81 /* BehaviorRelay+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BehaviorRelay+Driver.swift"; path = "RxCocoa/Traits/Driver/BehaviorRelay+Driver.swift"; sourceTree = ""; }; + 1CEF379498BB188E7923BC15C3D9E4B8 /* Completable+AndThen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Completable+AndThen.swift"; path = "RxSwift/Traits/PrimitiveSequence/Completable+AndThen.swift"; sourceTree = ""; }; + 1D650AF047FF1CD48F3AEB6348C2357B /* GCDWebServerFileRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerFileRequest.h; path = GCDWebServer/Requests/GCDWebServerFileRequest.h; sourceTree = ""; }; + 1DFDE89D41E398EC6E891B15AAFE5AC7 /* Do.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Do.swift; path = RxSwift/Observables/Do.swift; sourceTree = ""; }; 1EA29F7E0E65B6A9619DB77448844EC1 /* Pods-ShadowsocksX-NG.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-ShadowsocksX-NG.modulemap"; sourceTree = ""; }; - 1EB8536183BE6472CDCC5817172688EF /* AnonymousDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousDisposable.swift; path = RxSwift/Disposables/AnonymousDisposable.swift; sourceTree = ""; }; - 1FA62A0165A7A8D001536C62FD5E2392 /* SynchronizedUnsubscribeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedUnsubscribeType.swift; path = RxSwift/Concurrency/SynchronizedUnsubscribeType.swift; sourceTree = ""; }; - 200825C8579BF340304A9767D679EC35 /* InvocableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InvocableType.swift; path = RxSwift/Schedulers/Internal/InvocableType.swift; sourceTree = ""; }; - 2094BFBE78A2839B3C673A3E450C77FC /* GCDWebServer.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = GCDWebServer.release.xcconfig; sourceTree = ""; }; - 2096522151041770121528F182B6F42D /* Range.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Range.swift; path = RxSwift/Observables/Range.swift; sourceTree = ""; }; - 21F927D22EA76A49C54C44827DD1CE5A /* UITabBar+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITabBar+Rx.swift"; path = "RxCocoa/iOS/UITabBar+Rx.swift"; sourceTree = ""; }; - 222E861679233A0833D6C2F8079146E7 /* DispatchQueueConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DispatchQueueConfiguration.swift; path = RxSwift/Schedulers/Internal/DispatchQueueConfiguration.swift; sourceTree = ""; }; + 1EC07C5384264B22A157A387A72CCBDE /* KVORepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KVORepresentable.swift; path = RxCocoa/Foundation/KVORepresentable.swift; sourceTree = ""; }; + 1ECDA758165E6790FAE7FA3B90A6506C /* Platform.Darwin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Darwin.swift; path = Platform/Platform.Darwin.swift; sourceTree = ""; }; + 1F2E7CB4A21C0853799A26305259C67C /* Event.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Event.swift; path = RxSwift/Event.swift; sourceTree = ""; }; + 1F41065A5906D3D048C5AEE99C1B69DC /* sv.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = sv.lproj; path = Resources/sv.lproj; sourceTree = ""; }; + 1FF830CD5C4B919977BAEB2456833D3B /* GCDWebServer-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "GCDWebServer-prefix.pch"; sourceTree = ""; }; + 20FBE41EDCAEB94C171DF589C72E5A52 /* Debug.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debug.swift; path = RxSwift/Observables/Debug.swift; sourceTree = ""; }; + 21640EC4DE8B34FF9C41BD8CAEE549E1 /* Buffer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Buffer.swift; path = RxSwift/Observables/Buffer.swift; sourceTree = ""; }; + 21FEDF355A97339C75BCCD724914CD48 /* Shortcut.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Shortcut.h; path = Framework/Shortcut.h; sourceTree = ""; }; 22ADD736785A6DE33628551E25AC889A /* Pods-ShadowsocksX-NGTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ShadowsocksX-NGTests-acknowledgements.markdown"; sourceTree = ""; }; - 22D41ECF1E34CC3D83A32F7896831100 /* RxPickerViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxPickerViewDelegateProxy.swift; sourceTree = ""; }; - 230F8208BE63C052A548A7D41A1158B2 /* MASShortcut.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MASShortcut.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; - 24121C8FA3C10947BE50901868F9198A /* MASShortcutMonitor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcutMonitor.h; path = Framework/Monitoring/MASShortcutMonitor.h; sourceTree = ""; }; - 2505B197F74151D018080608E6576C6C /* ConnectableObservableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConnectableObservableType.swift; path = RxSwift/ConnectableObservableType.swift; sourceTree = ""; }; - 2586C5A6499D4E9A6B62C1CF5804DE66 /* Platform.Linux.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Linux.swift; path = Platform/Platform.Linux.swift; sourceTree = ""; }; - 26A8810424438A12E7ADBFB3E068C658 /* MASShortcut.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MASShortcut.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 26DA8062B81F764A6EEA6168DF6337AB /* OperationQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "OperationQueue+Alamofire.swift"; path = "Source/OperationQueue+Alamofire.swift"; sourceTree = ""; }; - 273C90965AA81CCFE4CDA40530425746 /* Take.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Take.swift; path = RxSwift/Observables/Take.swift; sourceTree = ""; }; - 280A80C3BD890370005C094FC4C3DC12 /* PrimitiveSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PrimitiveSequence.swift; path = RxSwift/Traits/PrimitiveSequence/PrimitiveSequence.swift; sourceTree = ""; }; - 2888FA81FD2BE4D3B068BCE4AFDC9A93 /* UISearchBar+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISearchBar+Rx.swift"; path = "RxCocoa/iOS/UISearchBar+Rx.swift"; sourceTree = ""; }; - 28F6CED61832E1CE6BA74AA90F7E45EE /* RxSwift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxSwift.release.xcconfig; sourceTree = ""; }; - 29BFF21F894144F23E9F778185A1EBC4 /* Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Utils.swift; path = RxRelay/Utils.swift; sourceTree = ""; }; - 29E3014CE53E3127CCD38149E2060C76 /* DispatchQueue+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Extensions.swift"; path = "Platform/DispatchQueue+Extensions.swift"; sourceTree = ""; }; + 230F8208BE63C052A548A7D41A1158B2 /* MASShortcut-MASShortcut */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "MASShortcut-MASShortcut"; path = MASShortcut.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + 237DC5B5F6513BE805D5F7321CF06CEF /* MASKeyMasks.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASKeyMasks.h; path = Framework/Model/MASKeyMasks.h; sourceTree = ""; }; + 26A8810424438A12E7ADBFB3E068C658 /* MASShortcut */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = MASShortcut; path = MASShortcut.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 27055488534F6A6E3CF87C16E7D0C092 /* Amb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Amb.swift; path = RxSwift/Observables/Amb.swift; sourceTree = ""; }; + 275141589DF5FDB6B902EF22CDAA90B4 /* StartWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StartWith.swift; path = RxSwift/Observables/StartWith.swift; sourceTree = ""; }; + 28A725CED2B91464E6C927D05570A106 /* Map.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Map.swift; path = RxSwift/Observables/Map.swift; sourceTree = ""; }; + 29FE5DC10B37F307897AA4E330FEE8E6 /* MASShortcutBinder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcutBinder.h; path = "Framework/User Defaults Storage/MASShortcutBinder.h"; sourceTree = ""; }; 2A11F032AFA3310A3EEE63E67481B01E /* Pods-ShadowsocksX-NG-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ShadowsocksX-NG-frameworks.sh"; sourceTree = ""; }; - 2AE63CBE5D3B0C2D25184C45E1B8C885 /* Completable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Completable.swift; path = RxSwift/Traits/PrimitiveSequence/Completable.swift; sourceTree = ""; }; - 2BDFA1D8F5CB80DCE3773C11691B223D /* Bag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bag.swift; path = Platform/DataStructures/Bag.swift; sourceTree = ""; }; - 2C81F8C45A4C248E266304541A86B5A8 /* NSTextField+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSTextField+Rx.swift"; path = "RxCocoa/macOS/NSTextField+Rx.swift"; sourceTree = ""; }; + 2B1CF1064ADBE135F24BF997C9AAC18B /* RxCocoa.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxCocoa.debug.xcconfig; sourceTree = ""; }; + 2C6EA24AD2BB5847E9E0F7DBB7BE6EAE /* Timer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timer.swift; path = RxSwift/Observables/Timer.swift; sourceTree = ""; }; + 2CB9B78AF77AB071F564390FBD3F7606 /* GCDWebServerConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerConnection.h; path = GCDWebServer/Core/GCDWebServerConnection.h; sourceTree = ""; }; + 2CEE1342C080FBA4C08E996D1941576A /* LockOwnerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LockOwnerType.swift; path = RxSwift/Concurrency/LockOwnerType.swift; sourceTree = ""; }; 2CFE9D0E45288EBBAF865D7685C2B983 /* Pods-ShadowsocksX-NGTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ShadowsocksX-NGTests-acknowledgements.plist"; sourceTree = ""; }; - 2DDC82F5641636881356BF49166C8DF3 /* RxRelay-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxRelay-umbrella.h"; sourceTree = ""; }; - 2E101994FDA2210D6CD7972A656C511F /* AuthenticationInterceptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AuthenticationInterceptor.swift; path = Source/AuthenticationInterceptor.swift; sourceTree = ""; }; - 2E656BCAB89EA23EC58A161ACF0DAE68 /* Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Alamofire.swift; path = Source/Alamofire.swift; sourceTree = ""; }; - 2F138B6C28378A801D2186B22E1E6224 /* RxCocoa.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxCocoa.debug.xcconfig; sourceTree = ""; }; - 2FEFD09344E88FFE590FC0A7146C0D32 /* BinaryDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryDisposable.swift; path = RxSwift/Disposables/BinaryDisposable.swift; sourceTree = ""; }; - 30E50B8D09D21C042020DA82FA315C59 /* _RXDelegateProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXDelegateProxy.h; path = RxCocoa/Runtime/include/_RXDelegateProxy.h; sourceTree = ""; }; - 31234D4C5E912BD05D37874E7E89A233 /* Enumerated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Enumerated.swift; path = RxSwift/Observables/Enumerated.swift; sourceTree = ""; }; - 314A2DB247EA6781CE45C5C146496327 /* ToArray.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ToArray.swift; path = RxSwift/Observables/ToArray.swift; sourceTree = ""; }; - 31F9576864749334961DE762B01B777C /* BRLOptionParser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BRLOptionParser.h; path = BRLOptionParser/BRLOptionParser.h; sourceTree = ""; }; - 321FC2ED515952B66BACDB8CAC130EB4 /* it.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; name = it.lproj; path = Resources/it.lproj; sourceTree = ""; }; - 32777B9FE68F64D911474F7B7595C94C /* Scan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scan.swift; path = RxSwift/Observables/Scan.swift; sourceTree = ""; }; - 32EC506B43DB4AE47634A8AEE18D9E8C /* CachedResponseHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CachedResponseHandler.swift; path = Source/CachedResponseHandler.swift; sourceTree = ""; }; - 336A70440B171C2C6AEE66F83620273A /* Alamofire.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Alamofire.modulemap; sourceTree = ""; }; - 33BBD4B03778E41A59C1A3F64AAB876C /* Deferred.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deferred.swift; path = RxSwift/Observables/Deferred.swift; sourceTree = ""; }; - 3425B3045259FEA3A238D183DEEE520B /* HTTPHeaders.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HTTPHeaders.swift; path = Source/HTTPHeaders.swift; sourceTree = ""; }; - 345AE1A0C847584A14AD381D5E476AB9 /* RxSearchBarDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxSearchBarDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxSearchBarDelegateProxy.swift; sourceTree = ""; }; - 353B178196A1B3A383089B3D1006F66A /* MASDictionaryTransformer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASDictionaryTransformer.h; path = "Framework/User Defaults Storage/MASDictionaryTransformer.h"; sourceTree = ""; }; - 3622945DEBFCB14514027A236BDFC74C /* UISwitch+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISwitch+Rx.swift"; path = "RxCocoa/iOS/UISwitch+Rx.swift"; sourceTree = ""; }; - 3677CB82C594C5820F17431AA45C5C87 /* Zip+Collection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Zip+Collection.swift"; path = "RxSwift/Observables/Zip+Collection.swift"; sourceTree = ""; }; - 3685B6DE4DF41097400DA11AA41A500B /* RxSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxSwift-prefix.pch"; sourceTree = ""; }; - 36C45F96BE0AE01F3BB2C90370A73616 /* Infallible+Bind.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+Bind.swift"; path = "RxCocoa/Common/Infallible+Bind.swift"; sourceTree = ""; }; - 36E9C273C636D7A0C559787BD1FABA68 /* GCDWebServerDataRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerDataRequest.h; path = GCDWebServer/Requests/GCDWebServerDataRequest.h; sourceTree = ""; }; - 370A313E34AF66CB8D7437ABDC3FB7F8 /* Infallible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Infallible.swift; path = RxSwift/Traits/Infallible/Infallible.swift; sourceTree = ""; }; - 38724BD70D1712C03FA9B7A4C417144D /* ControlEvent.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlEvent.swift; path = RxCocoa/Traits/ControlEvent.swift; sourceTree = ""; }; - 38A0B431980745BE7A67D566D79E240A /* HistoricalSchedulerTimeConverter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HistoricalSchedulerTimeConverter.swift; path = RxSwift/Schedulers/HistoricalSchedulerTimeConverter.swift; sourceTree = ""; }; - 38A6B331CD11EA3ADC9BE7CFD5DE99DA /* RxRelay.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = RxRelay.modulemap; sourceTree = ""; }; - 392538EA12C4E3008D6EF1ABB226B3BF /* GCDWebServerFileRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerFileRequest.m; path = GCDWebServer/Requests/GCDWebServerFileRequest.m; sourceTree = ""; }; - 3949A4BE0C4C31915E5A812146DB23B9 /* DistinctUntilChanged.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DistinctUntilChanged.swift; path = RxSwift/Observables/DistinctUntilChanged.swift; sourceTree = ""; }; - 39D9FF9E1CBB62DA6FC1910AA45EB039 /* RxTabBarControllerDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTabBarControllerDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTabBarControllerDelegateProxy.swift; sourceTree = ""; }; - 3AC418FEB3CC60F42D6A18E6151C871A /* RxWKNavigationDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxWKNavigationDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxWKNavigationDelegateProxy.swift; sourceTree = ""; }; - 3B85D80911EDFC7DD402EBEB3A05169A /* RetryPolicy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RetryPolicy.swift; path = Source/RetryPolicy.swift; sourceTree = ""; }; - 3BAD385D5CDC39C1AE6584A123D2DFC4 /* _RX.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RX.h; path = RxCocoa/Runtime/include/_RX.h; sourceTree = ""; }; - 3BE91EC45C71C190D532DC351F5E724D /* CompositeDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompositeDisposable.swift; path = RxSwift/Disposables/CompositeDisposable.swift; sourceTree = ""; }; - 3ED0602BE820AA0F7B2D99CBFED4C1F0 /* Create.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Create.swift; path = RxSwift/Observables/Create.swift; sourceTree = ""; }; - 403ABCCF5634DCD99A376EAA601F828E /* HTTPMethod.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HTTPMethod.swift; path = Source/HTTPMethod.swift; sourceTree = ""; }; - 40573DCBFB24CA15F7D6C33B5C73162F /* Infallible+CombineLatest+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+CombineLatest+arity.swift"; path = "RxSwift/Traits/Infallible/Infallible+CombineLatest+arity.swift"; sourceTree = ""; }; - 408AEB2CFB972D5D82E41BB027E6686C /* SerialDispatchQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SerialDispatchQueueScheduler.swift; path = RxSwift/Schedulers/SerialDispatchQueueScheduler.swift; sourceTree = ""; }; - 40FC23633FFFBBD0FA165FB284958F8C /* RecursiveScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveScheduler.swift; path = RxSwift/Schedulers/RecursiveScheduler.swift; sourceTree = ""; }; - 41ADA85A38ECDBBD122B707DA599E641 /* DispatchQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Alamofire.swift"; path = "Source/DispatchQueue+Alamofire.swift"; sourceTree = ""; }; - 4338C646A92E1539E9BED963FC618602 /* ObservableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObservableType.swift; path = RxSwift/ObservableType.swift; sourceTree = ""; }; - 43D1B54DDFE366EA8E657D1CFA2A5349 /* Protected.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Protected.swift; path = Source/Protected.swift; sourceTree = ""; }; - 4412635C50524157DDF38FA0CB197F4A /* Binder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Binder.swift; path = RxSwift/Binder.swift; sourceTree = ""; }; - 441E899D371A5638D8CBD0A21A8CCA61 /* UIScrollView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIScrollView+Rx.swift"; path = "RxCocoa/iOS/UIScrollView+Rx.swift"; sourceTree = ""; }; - 44775F4816D20EB134F1DBAB43BE0B3A /* Filter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Filter.swift; path = RxSwift/Observables/Filter.swift; sourceTree = ""; }; - 44D9E4509154BFFEBEA9AEA0C935EC9E /* SubjectType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubjectType.swift; path = RxSwift/Subjects/SubjectType.swift; sourceTree = ""; }; - 4504CA755CE81F89F9F165BF93126D21 /* es.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; name = es.lproj; path = Resources/es.lproj; sourceTree = ""; }; - 45BF55923F2D3657D9D5420E606B641F /* Repeat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Repeat.swift; path = RxSwift/Observables/Repeat.swift; sourceTree = ""; }; - 46002374E8C8C6F2127C7C9A6DFEF743 /* MASShortcutBinder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcutBinder.m; path = "Framework/User Defaults Storage/MASShortcutBinder.m"; sourceTree = ""; }; - 4618A8C418D70264404BBAF10EE3A1F4 /* ObservableConvertibleType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObservableConvertibleType.swift; path = RxSwift/ObservableConvertibleType.swift; sourceTree = ""; }; - 466B399C2E7FFAA61B709F2AB447ECDF /* UISlider+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISlider+Rx.swift"; path = "RxCocoa/iOS/UISlider+Rx.swift"; sourceTree = ""; }; - 4673D1BC54F57F490E2D3352F6BA1B73 /* VirtualTimeConverterType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VirtualTimeConverterType.swift; path = RxSwift/Schedulers/VirtualTimeConverterType.swift; sourceTree = ""; }; - 46A83A815027A06FB7A8AB2CEDF56368 /* UIDatePicker+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIDatePicker+Rx.swift"; path = "RxCocoa/iOS/UIDatePicker+Rx.swift"; sourceTree = ""; }; - 46DA81F6288F2733B7F27CCDE97EA2C4 /* MASLocalization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASLocalization.m; path = Framework/UI/MASLocalization.m; sourceTree = ""; }; - 47291D90953698297410B0C37E619402 /* URLRequest+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLRequest+Alamofire.swift"; path = "Source/URLRequest+Alamofire.swift"; sourceTree = ""; }; - 474547C10494F37402A98A0BFC7E6288 /* RxSearchControllerDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxSearchControllerDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxSearchControllerDelegateProxy.swift; sourceTree = ""; }; - 4752AFB18B745CA95D95FB7457EAA1C4 /* RxCocoa-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxCocoa-dummy.m"; sourceTree = ""; }; - 4764F518EAB30C5EA82C03A5607ED7AF /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = RxSwift/Observables/Error.swift; sourceTree = ""; }; - 47EB7F9271D4EAE5B4A31D5D0194BECC /* GroupBy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GroupBy.swift; path = RxSwift/Observables/GroupBy.swift; sourceTree = ""; }; - 485A8E801F2DA21AB5D16808AE1B4887 /* ReplayRelay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ReplayRelay.swift; path = RxRelay/ReplayRelay.swift; sourceTree = ""; }; - 48CB9D3553F121F84DBB750A8FBE0F3D /* ResponseSerialization.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResponseSerialization.swift; path = Source/ResponseSerialization.swift; sourceTree = ""; }; - 4946CBDE2CD13F181402416264EBF61D /* RxSwift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "RxSwift-Info.plist"; sourceTree = ""; }; - 494A67061DAFFD52534BC4699A8DF637 /* Map.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Map.swift; path = RxSwift/Observables/Map.swift; sourceTree = ""; }; - 494FD3BF9675BD2ADCE4731FED65B5FF /* AddRef.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AddRef.swift; path = RxSwift/Observables/AddRef.swift; sourceTree = ""; }; + 2D379EB968A74DABD21FD0AEFE5A6A2A /* RecursiveLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveLock.swift; path = Platform/RecursiveLock.swift; sourceTree = ""; }; + 2DF8613B9CCB98109E681DC1CD63A305 /* RxSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxSwift-umbrella.h"; sourceTree = ""; }; + 2E20826792C3F3A80A8754BE96649C4C /* Materialize.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Materialize.swift; path = RxSwift/Observables/Materialize.swift; sourceTree = ""; }; + 2EB924D0A36237BD6F163933F6C75001 /* Alamofire.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Alamofire.modulemap; sourceTree = ""; }; + 2F6837FEF771D5935E144B379E5F88A8 /* RxCocoaObjCRuntimeError+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "RxCocoaObjCRuntimeError+Extensions.swift"; path = "RxCocoa/Common/RxCocoaObjCRuntimeError+Extensions.swift"; sourceTree = ""; }; + 2F9A934B020E7BAD8DE7CDCD33CC14E7 /* UIRefreshControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIRefreshControl+Rx.swift"; path = "RxCocoa/iOS/UIRefreshControl+Rx.swift"; sourceTree = ""; }; + 30555C0335A4ED7F7326232B37F60335 /* Using.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Using.swift; path = RxSwift/Observables/Using.swift; sourceTree = ""; }; + 30E27FCCEB4558EC1E85984F78A4AF21 /* RxPickerViewDataSourceProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewDataSourceProxy.swift; path = RxCocoa/iOS/Proxies/RxPickerViewDataSourceProxy.swift; sourceTree = ""; }; + 32693431B98346A6E2CA72513716389B /* RxSearchControllerDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxSearchControllerDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxSearchControllerDelegateProxy.swift; sourceTree = ""; }; + 33AA300BC3BC14583832D2DA2CB5ADBA /* RxCocoa-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxCocoa-umbrella.h"; sourceTree = ""; }; + 33FA8AE2347C4EE55E045065587F0AAC /* UISlider+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISlider+Rx.swift"; path = "RxCocoa/iOS/UISlider+Rx.swift"; sourceTree = ""; }; + 3438FEF56AB580D576E3EBDB8A66CB47 /* PublishSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PublishSubject.swift; path = RxSwift/Subjects/PublishSubject.swift; sourceTree = ""; }; + 34ED2C103D2EE19749677CB8DC7533F4 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/AppKit.framework; sourceTree = DEVELOPER_DIR; }; + 3558EF2E0A948AD345088C37F97F568D /* ParameterEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoder.swift; path = Source/ParameterEncoder.swift; sourceTree = ""; }; + 36483C07BBCA83AC03CEE38569548EDD /* SharedSequence+Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SharedSequence+Operators.swift"; path = "RxCocoa/Traits/SharedSequence/SharedSequence+Operators.swift"; sourceTree = ""; }; + 3690C26E02E9D7DF329C57EFC691EE29 /* ItemEvents.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ItemEvents.swift; path = RxCocoa/iOS/Events/ItemEvents.swift; sourceTree = ""; }; + 37A90F84E4CC922A2BC89752EF4FA839 /* AuthenticationInterceptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AuthenticationInterceptor.swift; path = Source/AuthenticationInterceptor.swift; sourceTree = ""; }; + 37FDE0455962281829EA678FEAFA1E2C /* Throttle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Throttle.swift; path = RxSwift/Observables/Throttle.swift; sourceTree = ""; }; + 38193DD6C0BBDFCBA79A8898DD0F5650 /* Multicast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Multicast.swift; path = RxSwift/Observables/Multicast.swift; sourceTree = ""; }; + 3862370A1FCAB7651E5E1F13A0C16CFB /* OperationQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "OperationQueue+Alamofire.swift"; path = "Source/OperationQueue+Alamofire.swift"; sourceTree = ""; }; + 38F2BA21A8C185F956DE87BBC8A3F7A6 /* MASShortcut.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = MASShortcut.modulemap; sourceTree = ""; }; + 393193FDE1A69305270DAF46011DAAFA /* ToArray.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ToArray.swift; path = RxSwift/Observables/ToArray.swift; sourceTree = ""; }; + 3AEFB50A7B93944F2324E907AF6EF4B8 /* GroupedObservable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GroupedObservable.swift; path = RxSwift/GroupedObservable.swift; sourceTree = ""; }; + 3B8CAD9568825063DD134B497F67ACB7 /* SessionDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionDelegate.swift; path = Source/SessionDelegate.swift; sourceTree = ""; }; + 3D95F72C85445990035BD522BB442C39 /* Timeout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeout.swift; path = RxSwift/Observables/Timeout.swift; sourceTree = ""; }; + 3E302881D4992E5DB254B068BCDF50EE /* es.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = es.lproj; path = Resources/es.lproj; sourceTree = ""; }; + 3E64CD6C971CD4187200B46FFF8BADDB /* RxCollectionViewDataSourceProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDataSourceProxy.swift; path = RxCocoa/iOS/Proxies/RxCollectionViewDataSourceProxy.swift; sourceTree = ""; }; + 3F9BA9538F2B971FC34BE7028A9E70DB /* _RX.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RX.h; path = RxCocoa/Runtime/include/_RX.h; sourceTree = ""; }; + 40136A324C33025441F42D67F5847FE3 /* MASKeyCodes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASKeyCodes.h; path = Framework/Model/MASKeyCodes.h; sourceTree = ""; }; + 40A515817D572CA14681F3DC01EBB26A /* RxPickerViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewDataSourceType.swift; path = RxCocoa/iOS/Protocols/RxPickerViewDataSourceType.swift; sourceTree = ""; }; + 410B30D245645CD29C9B637ACB25E965 /* Create.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Create.swift; path = RxSwift/Observables/Create.swift; sourceTree = ""; }; + 41A3F20DC6ACA43ADA5210B53FF97E15 /* BRLOptionParser.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = BRLOptionParser.release.xcconfig; sourceTree = ""; }; + 41EB9B265B76D21416C59A85B2461BC9 /* ControlEvent+Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ControlEvent+Signal.swift"; path = "RxCocoa/Traits/Signal/ControlEvent+Signal.swift"; sourceTree = ""; }; + 430B12EB94CF6C2CFC591FD745A07004 /* NSObject+Rx+RawRepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx+RawRepresentable.swift"; path = "RxCocoa/Foundation/NSObject+Rx+RawRepresentable.swift"; sourceTree = ""; }; + 43729D9B5DB03B1BC46F7C68E6A00746 /* SchedulerServices+Emulation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SchedulerServices+Emulation.swift"; path = "RxSwift/Schedulers/SchedulerServices+Emulation.swift"; sourceTree = ""; }; + 43C60B64528BC63C319695A8B8046F0B /* RxCocoa.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = RxCocoa.modulemap; sourceTree = ""; }; + 444DD09E60D2F64AA8444674834DB638 /* CurrentThreadScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CurrentThreadScheduler.swift; path = RxSwift/Schedulers/CurrentThreadScheduler.swift; sourceTree = ""; }; + 45530F955076EA5655EB435DD5DE3585 /* GCDWebServerErrorResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerErrorResponse.m; path = GCDWebServer/Responses/GCDWebServerErrorResponse.m; sourceTree = ""; }; + 4572022411C17BF51ED99D06B66B9FA0 /* NSControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSControl+Rx.swift"; path = "RxCocoa/macOS/NSControl+Rx.swift"; sourceTree = ""; }; + 470345AF0C60461FDB177148C054347B /* Producer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Producer.swift; path = RxSwift/Observables/Producer.swift; sourceTree = ""; }; + 482AC49125B4EDA3FAC852085735EE69 /* GCDWebServerFunctions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerFunctions.h; path = GCDWebServer/Core/GCDWebServerFunctions.h; sourceTree = ""; }; + 49212E4D5AEBE8A252627A379DEA2ED1 /* UITabBar+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITabBar+Rx.swift"; path = "RxCocoa/iOS/UITabBar+Rx.swift"; sourceTree = ""; }; 4A70BE8C07BCE9C6D6F47AC73225C959 /* Pods-proxy_conf_helper.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-proxy_conf_helper.release.xcconfig"; sourceTree = ""; }; - 4A797B2A249C56CB61DB60A3FEA31FD2 /* en.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; name = en.lproj; path = Resources/en.lproj; sourceTree = ""; }; - 4C0E4BDE3E30AF8C9062AFAD9C3AEA28 /* ControlEvent+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ControlEvent+Driver.swift"; path = "RxCocoa/Traits/Driver/ControlEvent+Driver.swift"; sourceTree = ""; }; - 4C9EBFDB861299F7DC1241C7FCFF00DD /* NSObject+Rx+RawRepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx+RawRepresentable.swift"; path = "RxCocoa/Foundation/NSObject+Rx+RawRepresentable.swift"; sourceTree = ""; }; - 4E0CDE6403F2AF9E108FF190F90FA9FF /* EventMonitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EventMonitor.swift; path = Source/EventMonitor.swift; sourceTree = ""; }; - 4F401550E51DCC5F5746B99EC564065B /* SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SharedSequence.swift; path = RxCocoa/Traits/SharedSequence/SharedSequence.swift; sourceTree = ""; }; - 4FDB60114950AF3BF06EF9DA0AF9E5AC /* Producer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Producer.swift; path = RxSwift/Observables/Producer.swift; sourceTree = ""; }; - 4FF704B43D944C2399606B76A430F1A6 /* Platform.Linux.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Linux.swift; path = Platform/Platform.Linux.swift; sourceTree = ""; }; - 506B13C445D67D7231C25641361EE5A1 /* UIRefreshControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIRefreshControl+Rx.swift"; path = "RxCocoa/iOS/UIRefreshControl+Rx.swift"; sourceTree = ""; }; - 5158C591583049B150EC9F57DC2FA656 /* Optional.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Optional.swift; path = RxSwift/Observables/Optional.swift; sourceTree = ""; }; - 51E7C258B34B55C44CAA679574F0B5E1 /* UITableView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITableView+Rx.swift"; path = "RxCocoa/iOS/UITableView+Rx.swift"; sourceTree = ""; }; - 5219820998BC7D8238F0F05F90A3D96F /* Maybe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Maybe.swift; path = RxSwift/Traits/PrimitiveSequence/Maybe.swift; sourceTree = ""; }; - 52626495FA7375A2A4753E3EC16FB26C /* AsyncLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncLock.swift; path = RxSwift/Concurrency/AsyncLock.swift; sourceTree = ""; }; - 52786C2AA26607ED32FA242D407DEC3D /* RxRelay-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "RxRelay-Info.plist"; sourceTree = ""; }; - 52DFCC55A239674DEF17871D293D227C /* RxNavigationControllerDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxNavigationControllerDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxNavigationControllerDelegateProxy.swift; sourceTree = ""; }; - 530CEAEC9F4BC5F2EC9C9534779927A3 /* RxMutableBox.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxMutableBox.swift; path = RxSwift/RxMutableBox.swift; sourceTree = ""; }; - 531091EE9FF408558B83A1E053360F67 /* RxTextViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTextViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTextViewDelegateProxy.swift; sourceTree = ""; }; - 53EB3CB0FCC5ABA4F18B576E6BA4EB1F /* SchedulerType+SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SchedulerType+SharedSequence.swift"; path = "RxCocoa/Traits/SharedSequence/SchedulerType+SharedSequence.swift"; sourceTree = ""; }; - 543DFE92FBC6235F6826EF38928A7C08 /* First.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = First.swift; path = RxSwift/Observables/First.swift; sourceTree = ""; }; - 54F202B17AB2C7DC4FEC3F1CF2B5FD57 /* KVORepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KVORepresentable.swift; path = RxCocoa/Foundation/KVORepresentable.swift; sourceTree = ""; }; - 555231B7293881D7D76CA80C82AABA2B /* Debug.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debug.swift; path = RxSwift/Observables/Debug.swift; sourceTree = ""; }; - 5554F4E6979C7DDD1E00F81CB94D474D /* RecursiveLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveLock.swift; path = Platform/RecursiveLock.swift; sourceTree = ""; }; - 558A95B0EAE7FAFDFCC334A1E9277C19 /* TailRecursiveSink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TailRecursiveSink.swift; path = RxSwift/Observers/TailRecursiveSink.swift; sourceTree = ""; }; - 55F5FEB17D952CAA64A6B7DE90D7E47D /* GCDWebServer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServer.m; path = GCDWebServer/Core/GCDWebServer.m; sourceTree = ""; }; - 57BEC3094A7FB642608645E131DA83D4 /* GCDWebServerHTTPStatusCodes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerHTTPStatusCodes.h; path = GCDWebServer/Core/GCDWebServerHTTPStatusCodes.h; sourceTree = ""; }; - 5800B274C19C06FB1CA12AC039704852 /* NSTextView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSTextView+Rx.swift"; path = "RxCocoa/macOS/NSTextView+Rx.swift"; sourceTree = ""; }; - 5874107EF4581DA493B60BBCFE422D1C /* NSSlider+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSSlider+Rx.swift"; path = "RxCocoa/macOS/NSSlider+Rx.swift"; sourceTree = ""; }; - 5878F666B9410A53C5BBE1778D1B2CCE /* ControlProperty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlProperty.swift; path = RxCocoa/Traits/ControlProperty.swift; sourceTree = ""; }; - 5BC543740C092C697A08396093A0F7BD /* GCDWebServerFileResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerFileResponse.m; path = GCDWebServer/Responses/GCDWebServerFileResponse.m; sourceTree = ""; }; + 4A7E4749F000D2F0B4C47C52D4737FFC /* Empty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Empty.swift; path = RxSwift/Observables/Empty.swift; sourceTree = ""; }; + 4A8F040847E21E6117A5D959A9CE1D40 /* Generate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generate.swift; path = RxSwift/Observables/Generate.swift; sourceTree = ""; }; + 4CE4CEF008DC6589EEB34772EBBFAB72 /* TakeLast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeLast.swift; path = RxSwift/Observables/TakeLast.swift; sourceTree = ""; }; + 4D02CB9F28A5ACCC6435C7257C7C9E57 /* ReplaySubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ReplaySubject.swift; path = RxSwift/Subjects/ReplaySubject.swift; sourceTree = ""; }; + 4D3228BE4FC6FEBF9E4DD962D89D838C /* AsyncSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncSubject.swift; path = RxSwift/Subjects/AsyncSubject.swift; sourceTree = ""; }; + 4DDAAFC70DE4978DCCADD0DFDCF6FC18 /* Queue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Queue.swift; path = Platform/DataStructures/Queue.swift; sourceTree = ""; }; + 4E2988907500F3BAC7C06246E6C0ABA6 /* Sample.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sample.swift; path = RxSwift/Observables/Sample.swift; sourceTree = ""; }; + 4FA8730D6A1BFEEB0AC605DC5B679A64 /* RxTableViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTableViewDelegateProxy.swift; sourceTree = ""; }; + 50727E77BDEF6E76095C122100062879 /* _RXKVOObserver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXKVOObserver.h; path = RxCocoa/Runtime/include/_RXKVOObserver.h; sourceTree = ""; }; + 5074F2EE5628C6A4983982E16E49C6BD /* Observable+Bind.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Bind.swift"; path = "RxRelay/Observable+Bind.swift"; sourceTree = ""; }; + 507D61EB6B72F98F27D46FBF4A4E5BCF /* Decode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Decode.swift; path = RxSwift/Observables/Decode.swift; sourceTree = ""; }; + 52A9EDB10C045A48EDA9E01842F49D48 /* UIStepper+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIStepper+Rx.swift"; path = "RxCocoa/iOS/UIStepper+Rx.swift"; sourceTree = ""; }; + 53D96F2DD703AA4AB9ACFAC2D60C1C08 /* RxPickerViewAdapter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewAdapter.swift; path = RxCocoa/iOS/DataSources/RxPickerViewAdapter.swift; sourceTree = ""; }; + 5777FE8905648D46454A4788A8D64788 /* RxSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxSwift-prefix.pch"; sourceTree = ""; }; + 57CD3F9440CB8BB69530F52C9DB19454 /* BRLOptionParser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BRLOptionParser.m; path = BRLOptionParser/BRLOptionParser.m; sourceTree = ""; }; + 584033FD126401E2888402CB15ECA8E2 /* BooleanDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BooleanDisposable.swift; path = RxSwift/Disposables/BooleanDisposable.swift; sourceTree = ""; }; + 5865C9124F17728546EFD907FEF21DED /* PrimitiveSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PrimitiveSequence.swift; path = RxSwift/Traits/PrimitiveSequence/PrimitiveSequence.swift; sourceTree = ""; }; + 59894EE39CF11C03D85FA6F97E18E8FC /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/CFNetwork.framework; sourceTree = DEVELOPER_DIR; }; + 59FF4BBF39A8F81CBB450508F27C00CD /* SynchronizedDisposeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedDisposeType.swift; path = RxSwift/Concurrency/SynchronizedDisposeType.swift; sourceTree = ""; }; + 5A31C36F574D3AE3E717AB557ECBFF89 /* SharedSequence+Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SharedSequence+Concurrency.swift"; path = "RxCocoa/Traits/SharedSequence/SharedSequence+Concurrency.swift"; sourceTree = ""; }; + 5A7076BC81DD3F5A01EEF0582DD508A5 /* PriorityQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PriorityQueue.swift; path = Platform/DataStructures/PriorityQueue.swift; sourceTree = ""; }; + 5AE9B6BB311666BF1BDEEA389470683F /* DispatchQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Alamofire.swift"; path = "Source/DispatchQueue+Alamofire.swift"; sourceTree = ""; }; + 5B4F918932DC61FD281B0DA342959B4E /* RxSwift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxSwift.debug.xcconfig; sourceTree = ""; }; 5C0C485AB4EA81F3E9128F65E9AC66CA /* Pods-ShadowsocksX-NGTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ShadowsocksX-NGTests.release.xcconfig"; sourceTree = ""; }; - 5CA0D236EFCE9E4E77F9A2B2A0AF3FC4 /* Merge.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Merge.swift; path = RxSwift/Observables/Merge.swift; sourceTree = ""; }; - 5CE7CD3C7A16D2E9341BBBAB18D5D8DC /* Event.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Event.swift; path = RxSwift/Event.swift; sourceTree = ""; }; - 5D0A2A589A608DD00CA24C86BCD46E62 /* URLEncodedFormEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = URLEncodedFormEncoder.swift; path = Source/URLEncodedFormEncoder.swift; sourceTree = ""; }; - 5D797E9A5C5782CE845840781FA1CC81 /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 5D99DA86D8CBFFCB2E7FD40BC42568F3 /* Decode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Decode.swift; path = RxSwift/Observables/Decode.swift; sourceTree = ""; }; - 5DA6A1DA8589C7192C8BFDBC3F4A9913 /* ControlTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlTarget.swift; path = RxCocoa/Common/ControlTarget.swift; sourceTree = ""; }; - 5E698A2854CB4D9E919B55523EB57D1A /* Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Driver.swift; path = RxCocoa/Traits/Driver/Driver.swift; sourceTree = ""; }; - 5EE446AD8C625612BFF0E37E4419E0FD /* BRLOptionParser.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = BRLOptionParser.debug.xcconfig; sourceTree = ""; }; - 605C26B2F1FFA16F0E85E33F5CC526EC /* MASShortcutMonitor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcutMonitor.m; path = Framework/Monitoring/MASShortcutMonitor.m; sourceTree = ""; }; - 608BE9EFB078FCC2348EF2782C265D92 /* UIPickerView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIPickerView+Rx.swift"; path = "RxCocoa/iOS/UIPickerView+Rx.swift"; sourceTree = ""; }; - 61C23DB60A84900CD4BDA2F5EE2A0865 /* libPods-proxy_conf_helper.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-proxy_conf_helper.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 62F5D09616527A0713F24DF416BEC64F /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Carbon.framework; sourceTree = DEVELOPER_DIR; }; - 6327835932D3C270A640C0C76A860EB8 /* TakeWithPredicate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeWithPredicate.swift; path = RxSwift/Observables/TakeWithPredicate.swift; sourceTree = ""; }; - 636937DE6DA6CE01D7E94282A16BC9D9 /* Observable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Observable.swift; path = RxSwift/Observable.swift; sourceTree = ""; }; - 636D1EE61F0E0E367F486461F8E0DF54 /* AnonymousObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousObserver.swift; path = RxSwift/Observers/AnonymousObserver.swift; sourceTree = ""; }; - 638797412ABBF2F7725016AF4B056309 /* _RXObjCRuntime.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXObjCRuntime.m; path = RxCocoa/Runtime/_RXObjCRuntime.m; sourceTree = ""; }; - 65D8FEBF2028BCC7758A666F2A35989A /* Empty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Empty.swift; path = RxSwift/Observables/Empty.swift; sourceTree = ""; }; - 661DD8158386E15481E17DE6E2FA1882 /* Timeout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeout.swift; path = RxSwift/Observables/Timeout.swift; sourceTree = ""; }; - 66C7F789300668AEDFA53AEA1392C48B /* Concat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Concat.swift; path = RxSwift/Observables/Concat.swift; sourceTree = ""; }; - 66D1DACD1512DCFE82BC525C443DA8A5 /* RxTabBarDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTabBarDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTabBarDelegateProxy.swift; sourceTree = ""; }; - 683395CCE980D15405934DC5E2BCD682 /* LockOwnerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LockOwnerType.swift; path = RxSwift/Concurrency/LockOwnerType.swift; sourceTree = ""; }; - 684F8C697CD894D0F5680EE542AC32E9 /* ItemEvents.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ItemEvents.swift; path = RxCocoa/iOS/Events/ItemEvents.swift; sourceTree = ""; }; - 68C9C3CF6142E1B32695BC562ECAC427 /* BRLOptionParser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BRLOptionParser.m; path = BRLOptionParser/BRLOptionParser.m; sourceTree = ""; }; - 68D133622632E3F0C62D1F74D188EA7E /* CombineLatest+Collection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CombineLatest+Collection.swift"; path = "RxSwift/Observables/CombineLatest+Collection.swift"; sourceTree = ""; }; - 6985BD62945B0A86382437BC1758C282 /* _RXObjCRuntime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXObjCRuntime.h; path = RxCocoa/Runtime/include/_RXObjCRuntime.h; sourceTree = ""; }; - 6A2828DE92C9CEECE9FB19F2EE763305 /* VirtualTimeScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VirtualTimeScheduler.swift; path = RxSwift/Schedulers/VirtualTimeScheduler.swift; sourceTree = ""; }; - 6AD4414199F479D544CBF1FFF3FB45E4 /* _RXDelegateProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXDelegateProxy.m; path = RxCocoa/Runtime/_RXDelegateProxy.m; sourceTree = ""; }; - 6B37E46EBF28CB6542B58754F09D8AAA /* RxTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTarget.swift; path = RxCocoa/Common/RxTarget.swift; sourceTree = ""; }; - 6B668707F7C66384A3BB8BC4FE3F41E6 /* MASShortcut-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "MASShortcut-dummy.m"; sourceTree = ""; }; - 6B9491CF676F85A85C4F0987D38F9051 /* Shortcut.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Shortcut.h; path = Framework/Shortcut.h; sourceTree = ""; }; - 6D0B40D5A184825074ECC549693CAF02 /* GCDWebServerConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerConnection.h; path = GCDWebServer/Core/GCDWebServerConnection.h; sourceTree = ""; }; - 6D742A8B753D54115AD3C6D293B64276 /* UINavigationController+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UINavigationController+Rx.swift"; path = "RxCocoa/iOS/UINavigationController+Rx.swift"; sourceTree = ""; }; - 6D8A09F0F8EDB0B1A568AA29A33D62EA /* AFError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AFError.swift; path = Source/AFError.swift; sourceTree = ""; }; - 6DA5F27AAEF9B366933CB017942EFAA8 /* HistoricalScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HistoricalScheduler.swift; path = RxSwift/Schedulers/HistoricalScheduler.swift; sourceTree = ""; }; - 6DAFFC9484B606CC3A8583B2085B7957 /* SerialDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SerialDisposable.swift; path = RxSwift/Disposables/SerialDisposable.swift; sourceTree = ""; }; - 6DFC3F4E49698472F1AA8DE21B1BD0F2 /* NSButton+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSButton+Rx.swift"; path = "RxCocoa/macOS/NSButton+Rx.swift"; sourceTree = ""; }; - 6EB5DBBABE4FD6FFF0223AC1BC4674DB /* KVORepresentable+Swift.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "KVORepresentable+Swift.swift"; path = "RxCocoa/Foundation/KVORepresentable+Swift.swift"; sourceTree = ""; }; - 70C291AA3C3CEE619534F472C4F04882 /* MASShortcut.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MASShortcut.debug.xcconfig; sourceTree = ""; }; - 718741562429DAE6AA6DC455ED6883D4 /* Errors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Errors.swift; path = RxSwift/Errors.swift; sourceTree = ""; }; - 726DEA3A84065F8E12FDE5617447B366 /* MASShortcutValidator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcutValidator.m; path = Framework/Model/MASShortcutValidator.m; sourceTree = ""; }; + 5C2543EF0849519DB393C50448C3FCA5 /* UIPickerView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIPickerView+Rx.swift"; path = "RxCocoa/iOS/UIPickerView+Rx.swift"; sourceTree = ""; }; + 5C4550A0DA3EA5E54106C3803BE8C66A /* RedirectHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RedirectHandler.swift; path = Source/RedirectHandler.swift; sourceTree = ""; }; + 5C7FB0C7D41112AA7C5ABFAA12B510B2 /* _RX.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RX.m; path = RxCocoa/Runtime/_RX.m; sourceTree = ""; }; + 5D0F56EFD598440991E392C3E4790207 /* KVORepresentable+Swift.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "KVORepresentable+Swift.swift"; path = "RxCocoa/Foundation/KVORepresentable+Swift.swift"; sourceTree = ""; }; + 5D51C50F4B015BFDDA967C26E796FA63 /* Scan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scan.swift; path = RxSwift/Observables/Scan.swift; sourceTree = ""; }; + 5D797E9A5C5782CE845840781FA1CC81 /* Alamofire */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Alamofire; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 5DCE5898FACBE16183428F56F66CCAAC /* SingleAssignmentDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SingleAssignmentDisposable.swift; path = RxSwift/Disposables/SingleAssignmentDisposable.swift; sourceTree = ""; }; + 5E0D6EE645D535A97E160EF7F90B086F /* MASShortcutMonitor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcutMonitor.h; path = Framework/Monitoring/MASShortcutMonitor.h; sourceTree = ""; }; + 5E64BD1EBE090A21DD76BB80A9F800A9 /* MASShortcut.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MASShortcut.debug.xcconfig; sourceTree = ""; }; + 5E773939C934D7EAA4A1CCC715105689 /* ConcurrentDispatchQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConcurrentDispatchQueueScheduler.swift; path = RxSwift/Schedulers/ConcurrentDispatchQueueScheduler.swift; sourceTree = ""; }; + 5E88D80C9DB32C5918A1A3BFB069B644 /* GCDWebServerHTTPStatusCodes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerHTTPStatusCodes.h; path = GCDWebServer/Core/GCDWebServerHTTPStatusCodes.h; sourceTree = ""; }; + 5F12637F4D1B5E61C8AA418063BF8658 /* CombineLatest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CombineLatest.swift; path = RxSwift/Observables/CombineLatest.swift; sourceTree = ""; }; + 5F489618E1EA6D13A4D216EE6A18DC1F /* RetryPolicy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RetryPolicy.swift; path = Source/RetryPolicy.swift; sourceTree = ""; }; + 5FC4E20AAD69EA3CB0A6B0308811A9CA /* URLEncodedFormEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = URLEncodedFormEncoder.swift; path = Source/URLEncodedFormEncoder.swift; sourceTree = ""; }; + 5FF66B1AF009CD60FCC6F7AA535E8D8E /* AnonymousDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousDisposable.swift; path = RxSwift/Disposables/AnonymousDisposable.swift; sourceTree = ""; }; + 608ECE750D7640A34D0D3B0D6A4B1795 /* MASShortcut-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "MASShortcut-Info.plist"; sourceTree = ""; }; + 60C657F82CB9250FEB84149A4508A8CF /* RxCocoa.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCocoa.swift; path = RxCocoa/RxCocoa.swift; sourceTree = ""; }; + 61338EB49B056D8863FBA9E7E378FB7F /* MASShortcutValidator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcutValidator.h; path = Framework/Model/MASShortcutValidator.h; sourceTree = ""; }; + 617F3ED9788266A1443488A3BAA0CF81 /* MASLocalization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASLocalization.m; path = Framework/UI/MASLocalization.m; sourceTree = ""; }; + 61A5715B11567EEE920C4FF4B171DD1E /* Disposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposable.swift; path = RxSwift/Disposable.swift; sourceTree = ""; }; + 61C23DB60A84900CD4BDA2F5EE2A0865 /* Pods-proxy_conf_helper */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "Pods-proxy_conf_helper"; path = "libPods-proxy_conf_helper.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 62891923BD65FB1018742A3A7EC53C24 /* SubjectType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubjectType.swift; path = RxSwift/Subjects/SubjectType.swift; sourceTree = ""; }; + 629D440C07E30FDBD158AF581302319D /* Take.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Take.swift; path = RxSwift/Observables/Take.swift; sourceTree = ""; }; + 63149FD87147213D7E080E620AE4D35D /* Observable+Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Concurrency.swift"; path = "RxSwift/Observable+Concurrency.swift"; sourceTree = ""; }; + 635282F645B46F26C06E60575AE3B00F /* Driver+Subscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Driver+Subscription.swift"; path = "RxCocoa/Traits/Driver/Driver+Subscription.swift"; sourceTree = ""; }; + 63D7DBF6E732F8DCE7731A173618FF10 /* Validation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Validation.swift; path = Source/Validation.swift; sourceTree = ""; }; + 6400B2B598451DE9300C4D612CB45F9A /* SynchronizedOnType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedOnType.swift; path = RxSwift/Concurrency/SynchronizedOnType.swift; sourceTree = ""; }; + 6439E4DF8A85FEA4C8E98F10978DAFAB /* GCDWebServerFunctions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerFunctions.m; path = GCDWebServer/Core/GCDWebServerFunctions.m; sourceTree = ""; }; + 64407BF0F1B5AC43759AEE116008EFC4 /* MASShortcutValidator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcutValidator.m; path = Framework/Model/MASShortcutValidator.m; sourceTree = ""; }; + 64A3880E0B63F6FD4127BFA6D5590473 /* Alamofire-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-umbrella.h"; sourceTree = ""; }; + 64B111695766BEB2618F2952E93D351E /* UIApplication+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIApplication+Rx.swift"; path = "RxCocoa/iOS/UIApplication+Rx.swift"; sourceTree = ""; }; + 64F9F62075830F151EBAF1188B9EDA75 /* GroupBy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GroupBy.swift; path = RxSwift/Observables/GroupBy.swift; sourceTree = ""; }; + 65636F24F254B0DA48D32700B93D5EC6 /* InvocableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InvocableType.swift; path = RxSwift/Schedulers/Internal/InvocableType.swift; sourceTree = ""; }; + 656AEE7E80D2E832E14C523B8E4A7661 /* _RXDelegateProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXDelegateProxy.m; path = RxCocoa/Runtime/_RXDelegateProxy.m; sourceTree = ""; }; + 65940BEF454F1034165DC086B4F81208 /* GCDWebServer.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = GCDWebServer.debug.xcconfig; sourceTree = ""; }; + 66AF23A879E6B63132BBDAECE8B16C14 /* Queue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Queue.swift; path = Platform/DataStructures/Queue.swift; sourceTree = ""; }; + 671AB1791B016C61F0C6549D08F0BD1F /* Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Driver.swift; path = RxCocoa/Traits/Driver/Driver.swift; sourceTree = ""; }; + 68514BC74BD8508060AA74F5B6F9BC10 /* GCDWebServerMultiPartFormRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerMultiPartFormRequest.m; path = GCDWebServer/Requests/GCDWebServerMultiPartFormRequest.m; sourceTree = ""; }; + 687BC2869AACFF1B09470C93D4DC3593 /* Binder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Binder.swift; path = RxSwift/Binder.swift; sourceTree = ""; }; + 68E9767F6D9EDF8BF3633035BEE77D2E /* Skip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Skip.swift; path = RxSwift/Observables/Skip.swift; sourceTree = ""; }; + 696DC75370555D534D5D1B7619A84C13 /* RxNavigationControllerDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxNavigationControllerDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxNavigationControllerDelegateProxy.swift; sourceTree = ""; }; + 6A1E2EEEFF1000CE076AEE01F814DD72 /* RxTextViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTextViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTextViewDelegateProxy.swift; sourceTree = ""; }; + 6A2903ED8C49325DCC161BD6B13F5169 /* GCDWebServer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServer.m; path = GCDWebServer/Core/GCDWebServer.m; sourceTree = ""; }; + 6A783BEA5050505FFC2F43F99BA68822 /* pl.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = pl.lproj; path = Resources/pl.lproj; sourceTree = ""; }; + 6A79BEC98E69A2C5C03D3299A86FC49E /* SwiftSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftSupport.swift; path = RxSwift/SwiftSupport/SwiftSupport.swift; sourceTree = ""; }; + 6AB89402B625C137D6AEFC83C52BF5A0 /* MultipartUpload.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartUpload.swift; path = Source/MultipartUpload.swift; sourceTree = ""; }; + 6B177D229C57B64FE6039D8AC92C6378 /* Observable+Bind.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Bind.swift"; path = "RxCocoa/Common/Observable+Bind.swift"; sourceTree = ""; }; + 6B65CF9C022314716AB80900036C7EAE /* KVORepresentable+CoreGraphics.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "KVORepresentable+CoreGraphics.swift"; path = "RxCocoa/Foundation/KVORepresentable+CoreGraphics.swift"; sourceTree = ""; }; + 6BEB7F4D7CEEBEB1E87F91B8EC4DE3C8 /* RxRelay-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxRelay-prefix.pch"; sourceTree = ""; }; + 6C31593A17D4BB953FD42CFA086E49AD /* First.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = First.swift; path = RxSwift/Observables/First.swift; sourceTree = ""; }; + 6C57120B628334F42293D3812EEC58A2 /* GCDWebServer-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "GCDWebServer-umbrella.h"; sourceTree = ""; }; + 6C8F218344B3917EF30B1E44536FCAFF /* ScheduledItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledItem.swift; path = RxSwift/Schedulers/Internal/ScheduledItem.swift; sourceTree = ""; }; + 6CEF73DE3398CF6EC6240A4670A86CFE /* Alamofire.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.release.xcconfig; sourceTree = ""; }; + 6D34EC5B59E132952450763CE4805369 /* MASShortcut.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcut.m; path = Framework/Model/MASShortcut.m; sourceTree = ""; }; + 6D4B3457B8D08EF0500A84B572444A3C /* RxRelay-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxRelay-dummy.m"; sourceTree = ""; }; + 6D803CC0D72130D96D3FCEABAD91D11C /* SynchronizedUnsubscribeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedUnsubscribeType.swift; path = RxSwift/Concurrency/SynchronizedUnsubscribeType.swift; sourceTree = ""; }; + 6DF880C891B8543DB21CF29DB46EC491 /* Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Utils.swift; path = RxRelay/Utils.swift; sourceTree = ""; }; + 6E73B672CFD4CC3003C05A179520020E /* DelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelegateProxy.swift; path = RxCocoa/Common/DelegateProxy.swift; sourceTree = ""; }; + 6E9DBB24F2E4DDA405A4A6F6EA93DE62 /* MASShortcut.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcut.h; path = Framework/Model/MASShortcut.h; sourceTree = ""; }; + 6EDC27DAA842ADF912C0833851E30E58 /* RxCollectionViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDataSourceType.swift; path = RxCocoa/iOS/Protocols/RxCollectionViewDataSourceType.swift; sourceTree = ""; }; + 6F1C7F9A8EE75A48FB824C608CFACF2B /* ObservableType+PrimitiveSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableType+PrimitiveSequence.swift"; path = "RxSwift/Traits/PrimitiveSequence/ObservableType+PrimitiveSequence.swift"; sourceTree = ""; }; + 6F269BD46AFE676BD9AD2A0F20B98CA2 /* Reactive.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reactive.swift; path = RxSwift/Reactive.swift; sourceTree = ""; }; + 6F3D6D69472B6B83B5651B144D1D2670 /* Signal+Subscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Signal+Subscription.swift"; path = "RxCocoa/Traits/Signal/Signal+Subscription.swift"; sourceTree = ""; }; + 70349FB09331376131C0FA2E07BBA732 /* Request.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Request.swift; path = Source/Request.swift; sourceTree = ""; }; 72A57876EDEB24ADDFE06DD482CE250C /* Pods-ShadowsocksX-NGTests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ShadowsocksX-NGTests-umbrella.h"; sourceTree = ""; }; - 72D91E08E6C75E1F0DBACD4FF3CA2F55 /* ShareReplayScope.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ShareReplayScope.swift; path = RxSwift/Observables/ShareReplayScope.swift; sourceTree = ""; }; - 73118DDBDD8A625213B479BD40C4B9CE /* TakeLast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeLast.swift; path = RxSwift/Observables/TakeLast.swift; sourceTree = ""; }; - 73327356D8055C270C5AFBAEE0D202DD /* MASKeyCodes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASKeyCodes.h; path = Framework/Model/MASKeyCodes.h; sourceTree = ""; }; 74656C1BF53AED56A45CDA8600A787D1 /* Pods-proxy_conf_helper-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-proxy_conf_helper-acknowledgements.markdown"; sourceTree = ""; }; - 74E6FB11E3F38127740B54FF3C72D1EF /* _RX.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RX.m; path = RxCocoa/Runtime/_RX.m; sourceTree = ""; }; - 758B67811993E4C5163D7637EDBB6CFD /* PublishRelay+Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PublishRelay+Signal.swift"; path = "RxCocoa/Traits/Signal/PublishRelay+Signal.swift"; sourceTree = ""; }; - 75EA425CE2A4DBDDEB580C7303DD2454 /* Alamofire.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.debug.xcconfig; sourceTree = ""; }; - 7720FEFA630547FDE17C156840E36CC6 /* MASShortcut-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MASShortcut-prefix.pch"; sourceTree = ""; }; - 77B5C856C653A9586105526C4341767A /* RxSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxSwift-umbrella.h"; sourceTree = ""; }; - 77E73C4E3CAF9AD8FAE2EA9130D6A37E /* GCDWebServerFileResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerFileResponse.h; path = GCDWebServer/Responses/GCDWebServerFileResponse.h; sourceTree = ""; }; - 78275DA82CA025902C1D6FAF39BC9403 /* RxCollectionViewDataSourcePrefetchingProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDataSourcePrefetchingProxy.swift; path = RxCocoa/iOS/Proxies/RxCollectionViewDataSourcePrefetchingProxy.swift; sourceTree = ""; }; - 7A4A724DBFF9C1C260A76A4B104F3B1E /* MASShortcut.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcut.m; path = Framework/Model/MASShortcut.m; sourceTree = ""; }; - 7B00813C768C553C089DAF0C1900799B /* NSObject+Rx+KVORepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx+KVORepresentable.swift"; path = "RxCocoa/Foundation/NSObject+Rx+KVORepresentable.swift"; sourceTree = ""; }; - 7B00E954AA2FCFDF5ACDEC8CD8C6941E /* ObserverType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserverType.swift; path = RxSwift/ObserverType.swift; sourceTree = ""; }; - 7B58732AA1AF7EA39B29A8BE85721F26 /* RxScrollViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxScrollViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxScrollViewDelegateProxy.swift; sourceTree = ""; }; - 7BE4993AB90D97D332E61EB54E0C3C9A /* MASHotKey.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASHotKey.m; path = Framework/Monitoring/MASHotKey.m; sourceTree = ""; }; - 7C471325C18D493A8244DEB1563B18B6 /* MASShortcutView+Bindings.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "MASShortcutView+Bindings.m"; path = "Framework/UI/MASShortcutView+Bindings.m"; sourceTree = ""; }; - 7C73921B2C710D3814A33EF328D04D20 /* MASShortcutView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcutView.m; path = Framework/UI/MASShortcutView.m; sourceTree = ""; }; - 7D680C4252D37F732EE2D1BB9AB911DA /* AsMaybe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsMaybe.swift; path = RxSwift/Observables/AsMaybe.swift; sourceTree = ""; }; - 7DF9FA6B1D40855A99145762147C1690 /* ImmediateSchedulerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImmediateSchedulerType.swift; path = RxSwift/ImmediateSchedulerType.swift; sourceTree = ""; }; - 7DFEE31FDCAA3B9A85119C45EE5BF376 /* GCDWebServerDataRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerDataRequest.m; path = GCDWebServer/Requests/GCDWebServerDataRequest.m; sourceTree = ""; }; - 7EB9FE74C8220E21EC9A5A77098E9152 /* RxCocoa.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RxCocoa.h; path = RxCocoa/RxCocoa.h; sourceTree = ""; }; - 809C5FAB588354C9BA37DC3EAB8CB45C /* RxSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 80B5C55F7279E38D15E19E9DEDDEDE7B /* RequestInterceptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RequestInterceptor.swift; path = Source/RequestInterceptor.swift; sourceTree = ""; }; - 817D9055D7659CAC86800D119F65E0F4 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/CFNetwork.framework; sourceTree = DEVELOPER_DIR; }; - 82A2597C8D9860F95F40565C0631A47D /* MASLocalization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASLocalization.h; path = Framework/UI/MASLocalization.h; sourceTree = ""; }; - 834EB5666F2D27EDBD25C600C80DF7CE /* ObservableConvertibleType+Infallible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+Infallible.swift"; path = "RxSwift/Traits/Infallible/ObservableConvertibleType+Infallible.swift"; sourceTree = ""; }; - 8369906FA14B85B8271089FAAA1E4694 /* Disposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposable.swift; path = RxSwift/Disposable.swift; sourceTree = ""; }; + 74E8004F30877F3D613F3101239B3171 /* InfiniteSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InfiniteSequence.swift; path = Platform/DataStructures/InfiniteSequence.swift; sourceTree = ""; }; + 75898966AE6114412893A92CD111BEFE /* DelaySubscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelaySubscription.swift; path = RxSwift/Observables/DelaySubscription.swift; sourceTree = ""; }; + 7606BAC6953A1907D884E30A12291B66 /* SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SharedSequence.swift; path = RxCocoa/Traits/SharedSequence/SharedSequence.swift; sourceTree = ""; }; + 774E293236E0B1DA33299FA64244F1AA /* ElementAt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ElementAt.swift; path = RxSwift/Observables/ElementAt.swift; sourceTree = ""; }; + 775A6C13A2C7C50A8FCD730CD47806FA /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; }; + 779809B62651DE3F091A8292E5BAA8C3 /* UICollectionView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UICollectionView+Rx.swift"; path = "RxCocoa/iOS/UICollectionView+Rx.swift"; sourceTree = ""; }; + 791A38AD9245F3DDBD3A751B74C477BC /* cs.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = cs.lproj; path = Resources/cs.lproj; sourceTree = ""; }; + 7938F1D7B3ED6EC957C9F6480A094638 /* Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Alamofire.swift; path = Source/Alamofire.swift; sourceTree = ""; }; + 79648DBA9B9D99F42B5DA9FEE7299815 /* CombineLatest+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CombineLatest+arity.swift"; path = "RxSwift/Observables/CombineLatest+arity.swift"; sourceTree = ""; }; + 797B211C000D8302E9F7F84315859377 /* RequestTaskMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RequestTaskMap.swift; path = Source/RequestTaskMap.swift; sourceTree = ""; }; + 7A192A308529FF611F0CE9FD39865653 /* MASShortcut.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MASShortcut.release.xcconfig; sourceTree = ""; }; + 7A23ABFEBD66BE17527C826A602E427F /* Platform.Linux.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Linux.swift; path = Platform/Platform.Linux.swift; sourceTree = ""; }; + 7A37E6B8781C125442DE7222246AC236 /* Cancelable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cancelable.swift; path = RxSwift/Cancelable.swift; sourceTree = ""; }; + 7A8C6C885B11A81D52E0B4E3358F86C9 /* ObservableConvertibleType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObservableConvertibleType.swift; path = RxSwift/ObservableConvertibleType.swift; sourceTree = ""; }; + 7AA8D73E04FE894B7CC39C6F036BE385 /* ConcurrentMainScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConcurrentMainScheduler.swift; path = RxSwift/Schedulers/ConcurrentMainScheduler.swift; sourceTree = ""; }; + 7B9D6431FF78BA37E55E5B3D3717BFBC /* DelegateProxyType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelegateProxyType.swift; path = RxCocoa/Common/DelegateProxyType.swift; sourceTree = ""; }; + 7C4F8C828CA18CBB5B2349F72D67F295 /* Alamofire.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.debug.xcconfig; sourceTree = ""; }; + 7CEB34E7DA4CC9CBA2FDD18EDDC86840 /* UISwitch+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISwitch+Rx.swift"; path = "RxCocoa/iOS/UISwitch+Rx.swift"; sourceTree = ""; }; + 7DDA8B26CD511391BB6D3A0FB169D7D2 /* Concat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Concat.swift; path = RxSwift/Observables/Concat.swift; sourceTree = ""; }; + 7EFF8A84A7AA91D68DCD5391C11671DB /* Errors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Errors.swift; path = RxSwift/Errors.swift; sourceTree = ""; }; + 7F7724C2E0531F16AFF3EB28C5029C8E /* SharedSequence+Operators+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SharedSequence+Operators+arity.swift"; path = "RxCocoa/Traits/SharedSequence/SharedSequence+Operators+arity.swift"; sourceTree = ""; }; + 8058F8FA1996F9DDF826174FC66BDE26 /* RxWKNavigationDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxWKNavigationDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxWKNavigationDelegateProxy.swift; sourceTree = ""; }; + 809C5FAB588354C9BA37DC3EAB8CB45C /* RxSwift */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = RxSwift; path = RxSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 8260A9D19D11ED884B1E6BE9E5A976A9 /* _RXKVOObserver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXKVOObserver.m; path = RxCocoa/Runtime/_RXKVOObserver.m; sourceTree = ""; }; + 82ABA113E492E7154AA04EFF46B49345 /* RxRelay-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "RxRelay-Info.plist"; sourceTree = ""; }; 83899FE1EDE6090C8B2F4703A7895330 /* Pods-ShadowsocksX-NGTests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-ShadowsocksX-NGTests.modulemap"; sourceTree = ""; }; - 83FE5C08C0F9F63C9A7D2B71EF9F0864 /* URLSessionConfiguration+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLSessionConfiguration+Alamofire.swift"; path = "Source/URLSessionConfiguration+Alamofire.swift"; sourceTree = ""; }; - 840A431555445FF451B4B74E7A8DDCF4 /* AnyObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyObserver.swift; path = RxSwift/AnyObserver.swift; sourceTree = ""; }; - 848DD5BA5CA758D1F00A7F6F947019EB /* Alamofire.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.release.xcconfig; sourceTree = ""; }; - 855607DC318E2CF3120B3C70565140A0 /* Window.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Window.swift; path = RxSwift/Observables/Window.swift; sourceTree = ""; }; - 8565AD8EBB9A4E532AF93D887B586876 /* Cancelable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cancelable.swift; path = RxSwift/Cancelable.swift; sourceTree = ""; }; - 864BF009AFF7BFF4D8B68869FC885957 /* StartWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StartWith.swift; path = RxSwift/Observables/StartWith.swift; sourceTree = ""; }; - 8663196F6A9678BFC77A8E46F8666C75 /* ScheduledItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledItem.swift; path = RxSwift/Schedulers/Internal/ScheduledItem.swift; sourceTree = ""; }; - 866C21955F27EBD7A49148F5E63A6E7E /* libBRLOptionParser.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libBRLOptionParser.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 867FD5BBBCAC1E98FE144867305F8FEF /* MASKeyMasks.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASKeyMasks.h; path = Framework/Model/MASKeyMasks.h; sourceTree = ""; }; + 83928D29C2B14950DD44021E313F5C2A /* ReplayRelay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ReplayRelay.swift; path = RxRelay/ReplayRelay.swift; sourceTree = ""; }; + 840DE34BAC7B22DD54D018AE8FEF1A04 /* de.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = de.lproj; path = Resources/de.lproj; sourceTree = ""; }; + 84D562A22B993B1803E2ADF888B912BC /* BRLOptionParser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BRLOptionParser.h; path = BRLOptionParser/BRLOptionParser.h; sourceTree = ""; }; + 85E06B7F32F52E018A4DA73A84805E96 /* GCDWebServerFileResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerFileResponse.h; path = GCDWebServer/Responses/GCDWebServerFileResponse.h; sourceTree = ""; }; + 863524789F6A6A001601944518DC77DF /* RetryWhen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RetryWhen.swift; path = RxSwift/Observables/RetryWhen.swift; sourceTree = ""; }; + 865561D523F149A573B5FF730D35C946 /* Infallible+Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+Zip+arity.swift"; path = "RxSwift/Traits/Infallible/Infallible+Zip+arity.swift"; sourceTree = ""; }; + 866C21955F27EBD7A49148F5E63A6E7E /* BRLOptionParser */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = BRLOptionParser; path = libBRLOptionParser.a; sourceTree = BUILT_PRODUCTS_DIR; }; 8752D17209EE8AAD7681107D6444113F /* Pods-proxy_conf_helper-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-proxy_conf_helper-dummy.m"; sourceTree = ""; }; - 877FA6BB936631CD8F2CA0DFFF6EFC9C /* UITextField+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITextField+Rx.swift"; path = "RxCocoa/iOS/UITextField+Rx.swift"; sourceTree = ""; }; - 87A94DCCD78781BAE448DEA818B26DE4 /* SharedSequence+Operators+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SharedSequence+Operators+arity.swift"; path = "RxCocoa/Traits/SharedSequence/SharedSequence+Operators+arity.swift"; sourceTree = ""; }; - 886072F083033D493924A8BE652713ED /* Generate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generate.swift; path = RxSwift/Observables/Generate.swift; sourceTree = ""; }; - 89066EEDE0D03A9B328DADDC9344CC13 /* GCDWebServerResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerResponse.h; path = GCDWebServer/Core/GCDWebServerResponse.h; sourceTree = ""; }; - 8937D9E4BB1CD1D979DFF21019B4D814 /* MASHotKey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASHotKey.h; path = Framework/Monitoring/MASHotKey.h; sourceTree = ""; }; - 897003218412D0C779A54DAAD7D2A4EE /* WithUnretained.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WithUnretained.swift; path = RxSwift/Observables/WithUnretained.swift; sourceTree = ""; }; - 89A41E2A66DF6A8547AFAB72FE74B6A2 /* UIActivityIndicatorView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIActivityIndicatorView+Rx.swift"; path = "RxCocoa/iOS/UIActivityIndicatorView+Rx.swift"; sourceTree = ""; }; - 8A2C23CF743A94075196D7A4F419F5A4 /* Debounce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debounce.swift; path = RxSwift/Observables/Debounce.swift; sourceTree = ""; }; - 8AE4AAE5FF0F7FEDE2C8D5FB08A1AE4F /* DelaySubscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelaySubscription.swift; path = RxSwift/Observables/DelaySubscription.swift; sourceTree = ""; }; - 8C1810C471075F4E78D93E645BD7F63B /* MASShortcut.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = MASShortcut.modulemap; sourceTree = ""; }; - 8D796FDCC7398C88D7B835BD89700D56 /* BehaviorRelay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BehaviorRelay.swift; path = RxRelay/BehaviorRelay.swift; sourceTree = ""; }; - 8E4505859B317DCDCC426973F6C7153D /* Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Signal.swift; path = RxCocoa/Traits/Signal/Signal.swift; sourceTree = ""; }; - 8E796A67AE756E845646324A31731334 /* MASShortcutValidator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcutValidator.h; path = Framework/Model/MASShortcutValidator.h; sourceTree = ""; }; - 8E801F2049749D5BA709EAE3A2028661 /* Platform.Darwin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Darwin.swift; path = Platform/Platform.Darwin.swift; sourceTree = ""; }; - 8ED0DC48A18FD32A95BE8B28D715172C /* UISearchController+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISearchController+Rx.swift"; path = "RxCocoa/iOS/UISearchController+Rx.swift"; sourceTree = ""; }; - 8F90CD66F125C28F8983AFCFA7DF6607 /* de.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; name = de.lproj; path = Resources/de.lproj; sourceTree = ""; }; - 9029CBEE1EB8EBFDFCC3F55CEC98E088 /* Request.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Request.swift; path = Source/Request.swift; sourceTree = ""; }; - 904A920F44C4C4A18874A6A62A3ED759 /* SkipWhile.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SkipWhile.swift; path = RxSwift/Observables/SkipWhile.swift; sourceTree = ""; }; - 90E9219489B97BDFE17BA3231CC465FC /* ServerTrustEvaluation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ServerTrustEvaluation.swift; path = Source/ServerTrustEvaluation.swift; sourceTree = ""; }; + 885563EF4C86A4554739A4D4B60D9E63 /* Maybe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Maybe.swift; path = RxSwift/Traits/PrimitiveSequence/Maybe.swift; sourceTree = ""; }; + 8A10EBC69D52215CD012AE90091B8363 /* UITextField+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITextField+Rx.swift"; path = "RxCocoa/iOS/UITextField+Rx.swift"; sourceTree = ""; }; + 8A46A80355FB2E02FBD051133423EA94 /* MASHotKey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASHotKey.h; path = Framework/Monitoring/MASHotKey.h; sourceTree = ""; }; + 8B7CBDC69F93BECCD851D5FBD84262B2 /* RxMutableBox.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxMutableBox.swift; path = RxSwift/RxMutableBox.swift; sourceTree = ""; }; + 8CEA48923432981EF903E40CFDF79766 /* ControlTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlTarget.swift; path = RxCocoa/Common/ControlTarget.swift; sourceTree = ""; }; + 8DD14B293979F3FD0EE1532F69F646FA /* NopDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NopDisposable.swift; path = RxSwift/Disposables/NopDisposable.swift; sourceTree = ""; }; + 8E056392010C47F7C684843486C13614 /* NSTextField+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSTextField+Rx.swift"; path = "RxCocoa/macOS/NSTextField+Rx.swift"; sourceTree = ""; }; + 8E78B172A308747E1A1AB79CF4305878 /* RefCountDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RefCountDisposable.swift; path = RxSwift/Disposables/RefCountDisposable.swift; sourceTree = ""; }; + 8EE82638039845A907B2AE701F01EB6A /* NSObject+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx.swift"; path = "RxCocoa/Foundation/NSObject+Rx.swift"; sourceTree = ""; }; + 8EFE10D2326E198A91DCF8DDA343BBE6 /* Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Signal.swift; path = RxCocoa/Traits/Signal/Signal.swift; sourceTree = ""; }; + 8F586EF12D92A360E2794E62B12B7D41 /* RxTabBarDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTabBarDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTabBarDelegateProxy.swift; sourceTree = ""; }; + 907E4D689CB3CCCF5C1FEAE3BC2382A7 /* AtomicInt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomicInt.swift; path = Platform/AtomicInt.swift; sourceTree = ""; }; + 90EF02E85A20C909F307BFEEB385CDE0 /* AsyncLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncLock.swift; path = RxSwift/Concurrency/AsyncLock.swift; sourceTree = ""; }; + 91ACF157C2DC936ACE89CC43F055DFA0 /* ScheduledItemType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledItemType.swift; path = RxSwift/Schedulers/Internal/ScheduledItemType.swift; sourceTree = ""; }; 92B4BB091693150E5B1FCC6987683C6F /* Pods-ShadowsocksX-NG.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ShadowsocksX-NG.release.xcconfig"; sourceTree = ""; }; - 930EB20F00FF48CAF9B19505BC219504 /* MASShortcut-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MASShortcut-umbrella.h"; sourceTree = ""; }; - 95A61E2BD71E9AE873207EFE8994362B /* SynchronizedOnType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedOnType.swift; path = RxSwift/Concurrency/SynchronizedOnType.swift; sourceTree = ""; }; - 95B33DD3F11E0587A32ECE709173E4EF /* RxTextStorageDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTextStorageDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTextStorageDelegateProxy.swift; sourceTree = ""; }; - 95F05E167015F6A202D2BEB9437AE766 /* RxCocoaRuntime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RxCocoaRuntime.h; path = RxCocoa/Runtime/include/RxCocoaRuntime.h; sourceTree = ""; }; - 960C49C6C3C5E2554CA3CD8EB86B61AC /* Queue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Queue.swift; path = Platform/DataStructures/Queue.swift; sourceTree = ""; }; - 961D7CAE484B6E4929A7BE5B048D29B5 /* RxPickerViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewDataSourceType.swift; path = RxCocoa/iOS/Protocols/RxPickerViewDataSourceType.swift; sourceTree = ""; }; - 962EFFE0B39AFE334DBCAF81B4DBFE56 /* GCDWebServerFileRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerFileRequest.h; path = GCDWebServer/Requests/GCDWebServerFileRequest.h; sourceTree = ""; }; + 92EA709DC3EA80EE422F8EFE216D654D /* Bag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bag.swift; path = Platform/DataStructures/Bag.swift; sourceTree = ""; }; + 930BB733C888B5672C3297BD4F9BE685 /* RxCollectionViewReactiveArrayDataSource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewReactiveArrayDataSource.swift; path = RxCocoa/iOS/DataSources/RxCollectionViewReactiveArrayDataSource.swift; sourceTree = ""; }; + 9333453F2D6FC62A5D744E4DB659F510 /* SwitchIfEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwitchIfEmpty.swift; path = RxSwift/Observables/SwitchIfEmpty.swift; sourceTree = ""; }; + 94201212718386C719AC1C21F8B0D77B /* en.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = en.lproj; path = Resources/en.lproj; sourceTree = ""; }; + 94914F82AE66D1FF39717080B54E44C2 /* RxRelay.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxRelay.debug.xcconfig; sourceTree = ""; }; + 94BBFAADDB26AC75A65DBB7A8C1ADE4F /* UIGestureRecognizer+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIGestureRecognizer+Rx.swift"; path = "RxCocoa/iOS/UIGestureRecognizer+Rx.swift"; sourceTree = ""; }; + 94E31ED4427D92BBC5E42D9B9130FD0A /* MASShortcut-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "MASShortcut-dummy.m"; sourceTree = ""; }; + 952C70F572C07576837F89D2BA3A6E18 /* Observable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Observable.swift; path = RxSwift/Observable.swift; sourceTree = ""; }; + 95A6BBC67C863E496F0286A3D6C95425 /* SerialDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SerialDisposable.swift; path = RxSwift/Disposables/SerialDisposable.swift; sourceTree = ""; }; + 962DD2DC965E46D0AC14F2280FE93164 /* RxCollectionViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxCollectionViewDelegateProxy.swift; sourceTree = ""; }; + 9669D8F039ADFEC331E15B4920299911 /* NSView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSView+Rx.swift"; path = "RxCocoa/macOS/NSView+Rx.swift"; sourceTree = ""; }; 96C80DBAD0A8D59912E005E60636A935 /* Pods-ShadowsocksX-NG-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ShadowsocksX-NG-Info.plist"; sourceTree = ""; }; - 96D93775EA307729314581C5C539C487 /* ReplaySubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ReplaySubject.swift; path = RxSwift/Subjects/ReplaySubject.swift; sourceTree = ""; }; - 97319F4B64360DC3D794BD7B57BC9936 /* GCDWebServerURLEncodedFormRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerURLEncodedFormRequest.h; path = GCDWebServer/Requests/GCDWebServerURLEncodedFormRequest.h; sourceTree = ""; }; - 97D6BD38BB9E0F241C3C82A118E7F253 /* ControlProperty+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ControlProperty+Driver.swift"; path = "RxCocoa/Traits/Driver/ControlProperty+Driver.swift"; sourceTree = ""; }; - 98B151536C20EA366FDBE99C5A8BB7A5 /* MainScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MainScheduler.swift; path = RxSwift/Schedulers/MainScheduler.swift; sourceTree = ""; }; - 98EF0EFA057CC202BD041F55B091661A /* BehaviorRelay+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BehaviorRelay+Driver.swift"; path = "RxCocoa/Traits/Driver/BehaviorRelay+Driver.swift"; sourceTree = ""; }; - 996DFC2DB5C2F37F0E623EB885F5DEB5 /* Session.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Session.swift; path = Source/Session.swift; sourceTree = ""; }; - 9A3F0ED147035005ABA4D679F9E36A7B /* ru.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; name = ru.lproj; path = Resources/ru.lproj; sourceTree = ""; }; + 977565D9DB39ED993109D0B241605A08 /* UIScrollView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIScrollView+Rx.swift"; path = "RxCocoa/iOS/UIScrollView+Rx.swift"; sourceTree = ""; }; + 985DB1772208876B4A7AB92A8BDF2A2A /* EventMonitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EventMonitor.swift; path = Source/EventMonitor.swift; sourceTree = ""; }; + 9A4FC8C5D64E70B4243889F747A96759 /* Debounce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debounce.swift; path = RxSwift/Observables/Debounce.swift; sourceTree = ""; }; + 9A65B65D01A905DD9989951DC919C5FE /* nl.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = nl.lproj; path = Resources/nl.lproj; sourceTree = ""; }; 9A71B9958F30759ED2645E0DF9ADF314 /* Pods-ShadowsocksX-NG.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ShadowsocksX-NG.debug.xcconfig"; sourceTree = ""; }; - 9B23D7AFD516825208E6CE9B362989DB /* Queue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Queue.swift; path = Platform/DataStructures/Queue.swift; sourceTree = ""; }; - 9C1FFDE936B5B805CB094F77E95A88FC /* UIControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIControl+Rx.swift"; path = "RxCocoa/iOS/UIControl+Rx.swift"; sourceTree = ""; }; - 9C3A35E7DD83A1437478608A9F2EF44C /* ControlEvent+Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ControlEvent+Signal.swift"; path = "RxCocoa/Traits/Signal/ControlEvent+Signal.swift"; sourceTree = ""; }; - 9CF5ADA01C91A2DF993314D6CC9C63D3 /* MultipartUpload.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartUpload.swift; path = Source/MultipartUpload.swift; sourceTree = ""; }; - 9D407239EE1987EFBB2A7EB11F70BFCF /* BRLOptionParser-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BRLOptionParser-prefix.pch"; sourceTree = ""; }; - 9D4701E49CFDE5F411CDFD316EDD3C70 /* UITabBarController+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITabBarController+Rx.swift"; path = "RxCocoa/iOS/UITabBarController+Rx.swift"; sourceTree = ""; }; - 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 9EE8B6717B73CE07A9FAC17FFCB1BA91 /* GCDWebServerErrorResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerErrorResponse.h; path = GCDWebServer/Responses/GCDWebServerErrorResponse.h; sourceTree = ""; }; - 9EF2C4A08C5514586AFFBB5AE22A99ED /* ResourceBundle-MASShortcut-MASShortcut-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-MASShortcut-MASShortcut-Info.plist"; sourceTree = ""; }; - 9F666DF6A38D74980DF6F191509F4971 /* RxCocoaObjCRuntimeError+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "RxCocoaObjCRuntimeError+Extensions.swift"; path = "RxCocoa/Common/RxCocoaObjCRuntimeError+Extensions.swift"; sourceTree = ""; }; - 9F78589C2F1DDF07DF58CD22F6835B19 /* Combine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Combine.swift; path = Source/Combine.swift; sourceTree = ""; }; - 9FA0DBB3C5358A6E4EF0C16145BB0F7E /* Zip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Zip.swift; path = RxSwift/Observables/Zip.swift; sourceTree = ""; }; - A01C872DE26A61BFEF081FC71E72A0D0 /* RxRelay-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxRelay-prefix.pch"; sourceTree = ""; }; - A0791E5EB9ADBB88CEE0BCD83DA9502C /* SchedulerServices+Emulation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SchedulerServices+Emulation.swift"; path = "RxSwift/Schedulers/SchedulerServices+Emulation.swift"; sourceTree = ""; }; - A111C3B36368413B50627674BB48E859 /* Completable+AndThen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Completable+AndThen.swift"; path = "RxSwift/Traits/PrimitiveSequence/Completable+AndThen.swift"; sourceTree = ""; }; - A126CA25C01C17FEF1E4B62108855349 /* ConcurrentMainScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConcurrentMainScheduler.swift; path = RxSwift/Schedulers/ConcurrentMainScheduler.swift; sourceTree = ""; }; - A14B9E97BE00B01372727FA8DA9B10A3 /* _RXKVOObserver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXKVOObserver.m; path = RxCocoa/Runtime/_RXKVOObserver.m; sourceTree = ""; }; - A18A7F7794D2CC58900E95F6644D63E8 /* MASShortcutBinder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcutBinder.h; path = "Framework/User Defaults Storage/MASShortcutBinder.h"; sourceTree = ""; }; - A1D0AF20D0BF5465039BB88836A959B6 /* SkipUntil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SkipUntil.swift; path = RxSwift/Observables/SkipUntil.swift; sourceTree = ""; }; - A20673B8CBA1827BCAE8A9CDEAF0CDC5 /* SwitchIfEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwitchIfEmpty.swift; path = RxSwift/Observables/SwitchIfEmpty.swift; sourceTree = ""; }; - A254689F2908346AD7387F063C24B41A /* ko.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; name = ko.lproj; path = Resources/ko.lproj; sourceTree = ""; }; - A269EEED1FC8BFDA5FCB004DC335F5C8 /* AtomicInt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomicInt.swift; path = Platform/AtomicInt.swift; sourceTree = ""; }; - A2738BBB0867C27512A99A3C9DBB2F1E /* GCDWebServer-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "GCDWebServer-Info.plist"; sourceTree = ""; }; - A2B10B3F59B2394712B672A72C5827F0 /* SingleAsync.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SingleAsync.swift; path = RxSwift/Observables/SingleAsync.swift; sourceTree = ""; }; - A2B9727C5385989526550D8E1AC4649A /* MASShortcut.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcut.h; path = Framework/Model/MASShortcut.h; sourceTree = ""; }; - A2EEB1D58595D58C5DC8978116BE0648 /* MASShortcutView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcutView.h; path = Framework/UI/MASShortcutView.h; sourceTree = ""; }; - A2FFFF24B3AC3570742D7F2CCF2FE3C5 /* Infallible+Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+Zip+arity.swift"; path = "RxSwift/Traits/Infallible/Infallible+Zip+arity.swift"; sourceTree = ""; }; - A32434EC299FDE302FFF9F31EB8735D0 /* RedirectHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RedirectHandler.swift; path = Source/RedirectHandler.swift; sourceTree = ""; }; - A3A89F3DBB03CFC012C901EB6D452A3B /* PriorityQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PriorityQueue.swift; path = Platform/DataStructures/PriorityQueue.swift; sourceTree = ""; }; - A3E96B8BC40FDC92B51E51B50F126573 /* Single.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Single.swift; path = RxSwift/Traits/PrimitiveSequence/Single.swift; sourceTree = ""; }; - A4177B545582D09C0D653414E6353741 /* SectionedViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SectionedViewDataSourceType.swift; path = RxCocoa/Common/SectionedViewDataSourceType.swift; sourceTree = ""; }; - A4395BE2A0C53A82170A01602870453A /* GCDWebServerRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerRequest.h; path = GCDWebServer/Core/GCDWebServerRequest.h; sourceTree = ""; }; - A49E3489F755F888C3405824694827BF /* WithLatestFrom.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WithLatestFrom.swift; path = RxSwift/Observables/WithLatestFrom.swift; sourceTree = ""; }; - A4BB8686A6F85698D8AC03A77D188340 /* UITextView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITextView+Rx.swift"; path = "RxCocoa/iOS/UITextView+Rx.swift"; sourceTree = ""; }; - A6415209F9685A39C6C1018082155EA5 /* CompactMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompactMap.swift; path = RxSwift/Observables/CompactMap.swift; sourceTree = ""; }; - A8A33670952794CBD825EC26F1A98DBF /* _RXKVOObserver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXKVOObserver.h; path = RxCocoa/Runtime/include/_RXKVOObserver.h; sourceTree = ""; }; - A8C417EB740CAC7F2602C6D8880E7737 /* PrimitiveSequence+Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PrimitiveSequence+Zip+arity.swift"; path = "RxSwift/Traits/PrimitiveSequence/PrimitiveSequence+Zip+arity.swift"; sourceTree = ""; }; + 9BEB6EF28493C1C91BA9D776ACACA4D2 /* AnonymousObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousObserver.swift; path = RxSwift/Observers/AnonymousObserver.swift; sourceTree = ""; }; + 9C075BB9C933358473BDA41FF547F3B4 /* GCDWebServerDataResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerDataResponse.h; path = GCDWebServer/Responses/GCDWebServerDataResponse.h; sourceTree = ""; }; + 9D530A3B292A3F977FBB9FE4BBD9FFF0 /* Sequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sequence.swift; path = RxSwift/Observables/Sequence.swift; sourceTree = ""; }; + 9D8274AA9FC1CA06C97CA6286966F0FA /* Never.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Never.swift; path = RxSwift/Observables/Never.swift; sourceTree = ""; }; + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + A0690390D7CE8D03DFE5A3068017ABED /* UIButton+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIButton+Rx.swift"; path = "RxCocoa/iOS/UIButton+Rx.swift"; sourceTree = ""; }; + A095659684F104C17AB76DD8C10825E4 /* GCDWebServer-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "GCDWebServer-Info.plist"; sourceTree = ""; }; + A098ADFF8C57C325813C3A388F03580E /* Window.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Window.swift; path = RxSwift/Observables/Window.swift; sourceTree = ""; }; + A0BE63FDCAF2892CB42B5E10022E2632 /* RxSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = RxSwift.modulemap; sourceTree = ""; }; + A1D72F72A7925F10C7E216750C32EF30 /* RxCocoa.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxCocoa.release.xcconfig; sourceTree = ""; }; + A1DDBC2E8C6E39D36CEFD36943025308 /* BehaviorSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BehaviorSubject.swift; path = RxSwift/Subjects/BehaviorSubject.swift; sourceTree = ""; }; + A1F2D7291E6958F70E49DED6E3BF29E6 /* ControlProperty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlProperty.swift; path = RxCocoa/Traits/ControlProperty.swift; sourceTree = ""; }; + A2EDF3226EEFE41A77A722F851227632 /* Protected.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Protected.swift; path = Source/Protected.swift; sourceTree = ""; }; + A2F22930B3947B0755CD20014AC3F4DA /* UISearchController+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISearchController+Rx.swift"; path = "RxCocoa/iOS/UISearchController+Rx.swift"; sourceTree = ""; }; + A36DE33CFF4EA2091522F6B2C2C5AB56 /* HistoricalScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HistoricalScheduler.swift; path = RxSwift/Schedulers/HistoricalScheduler.swift; sourceTree = ""; }; + A3DF585B86534FF9AC3CA3B6CC8DA72A /* Optional.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Optional.swift; path = RxSwift/Observables/Optional.swift; sourceTree = ""; }; + A5F0782A5E760F9174EDE0C9F1CFE357 /* GCDWebServerStreamedResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerStreamedResponse.h; path = GCDWebServer/Responses/GCDWebServerStreamedResponse.h; sourceTree = ""; }; + A5F4D1EA9C1539878BAF7725A7E48F15 /* zh-Hant.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = "zh-Hant.lproj"; path = "Resources/zh-Hant.lproj"; sourceTree = ""; }; + A7270845E2410708A8079D504609D55A /* RxSwift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "RxSwift-Info.plist"; sourceTree = ""; }; + A75B1903EDE9AF0E837F552C3B4B0ECB /* Zip+Collection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Zip+Collection.swift"; path = "RxSwift/Observables/Zip+Collection.swift"; sourceTree = ""; }; + A798C1FEED23FCDE88564CCF15EB6F80 /* RxTableViewDataSourcePrefetchingProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDataSourcePrefetchingProxy.swift; path = RxCocoa/iOS/Proxies/RxTableViewDataSourcePrefetchingProxy.swift; sourceTree = ""; }; + A7EA5C0B182377876869AC8047612114 /* MASShortcutView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcutView.m; path = Framework/UI/MASShortcutView.m; sourceTree = ""; }; + A827C518FBDD773E32618069D8581F2A /* GCDWebServerDataResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerDataResponse.m; path = GCDWebServer/Responses/GCDWebServerDataResponse.m; sourceTree = ""; }; + A86B89BE2651169B6EB2EBBA8427B97E /* ControlProperty+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ControlProperty+Driver.swift"; path = "RxCocoa/Traits/Driver/ControlProperty+Driver.swift"; sourceTree = ""; }; + A8F49077FDFEA313FACF481B994E0C9A /* MASShortcut-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MASShortcut-umbrella.h"; sourceTree = ""; }; A907FA326D15CD08847B63032F80EB64 /* Pods-ShadowsocksX-NG-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ShadowsocksX-NG-acknowledgements.markdown"; sourceTree = ""; }; - A94A0417121D2C31F7167E4A79EC5313 /* nl.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; name = nl.lproj; path = Resources/nl.lproj; sourceTree = ""; }; - AADC2D51259367D2BB2C73816E5A35CD /* RetryWhen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RetryWhen.swift; path = RxSwift/Observables/RetryWhen.swift; sourceTree = ""; }; - AAFFAAB92EFEC042FEE2F851EF9C6CC0 /* NSControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSControl+Rx.swift"; path = "RxCocoa/macOS/NSControl+Rx.swift"; sourceTree = ""; }; - AB7765E1848A0449B3E3267F17DDE12E /* GCDWebServerDataResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerDataResponse.m; path = GCDWebServer/Responses/GCDWebServerDataResponse.m; sourceTree = ""; }; - ABD89974F6EA342767735D559995D3FA /* Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Zip+arity.swift"; path = "RxSwift/Observables/Zip+arity.swift"; sourceTree = ""; }; - AC4C66DE7DB1A4B525929AEF699AC3CE /* OperationQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OperationQueueScheduler.swift; path = RxSwift/Schedulers/OperationQueueScheduler.swift; sourceTree = ""; }; - ADC06A8D8266504D3FD0F38F5F1A87AD /* RxTableViewDataSourceProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDataSourceProxy.swift; path = RxCocoa/iOS/Proxies/RxTableViewDataSourceProxy.swift; sourceTree = ""; }; - AE4742C0047EC328BE64C1DF6D868CEF /* GCDWebServerStreamedResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerStreamedResponse.h; path = GCDWebServer/Responses/GCDWebServerStreamedResponse.h; sourceTree = ""; }; - AE6768B8A7BED83ED5C93BB3439EFFEF /* URLConvertible+URLRequestConvertible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLConvertible+URLRequestConvertible.swift"; path = "Source/URLConvertible+URLRequestConvertible.swift"; sourceTree = ""; }; - AF22EDE51D4C2AF18359CE03247D06F1 /* RxCocoa.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxCocoa.release.xcconfig; sourceTree = ""; }; - B1816E3DFE7F11350A74B0C1F878F7FC /* RxCocoa.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCocoa.swift; path = RxCocoa/RxCocoa.swift; sourceTree = ""; }; - B1F34EB08D07E2AF230CDA30F361889D /* ja.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; name = ja.lproj; path = Resources/ja.lproj; sourceTree = ""; }; - B25AD05D537735CCA21E1986D98F830E /* RxCollectionViewReactiveArrayDataSource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewReactiveArrayDataSource.swift; path = RxCocoa/iOS/DataSources/RxCollectionViewReactiveArrayDataSource.swift; sourceTree = ""; }; - B265FABD755D21851D1C166921BB4A24 /* RxTableViewReactiveArrayDataSource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewReactiveArrayDataSource.swift; path = RxCocoa/iOS/DataSources/RxTableViewReactiveArrayDataSource.swift; sourceTree = ""; }; - B2BCE49AE180E28B89BBBE037DF32A2F /* zh-Hans.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; name = "zh-Hans.lproj"; path = "Resources/zh-Hans.lproj"; sourceTree = ""; }; - B304846A96173EC0E0631D07751C0893 /* Sink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sink.swift; path = RxSwift/Observables/Sink.swift; sourceTree = ""; }; - B400BB6631F1C9F8534BE1CEF160097E /* GCDWebServer-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "GCDWebServer-umbrella.h"; sourceTree = ""; }; - B5AEEDAA3124911175E2336A08227588 /* MASShortcutView+Bindings.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "MASShortcutView+Bindings.h"; path = "Framework/UI/MASShortcutView+Bindings.h"; sourceTree = ""; }; - B5B1AE9FCFABDD97172220DFDFE618E5 /* RxTableViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTableViewDelegateProxy.swift; sourceTree = ""; }; - B5D8A52DE9A6385138A6D20CB5527DDB /* zh-Hant.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; name = "zh-Hant.lproj"; path = "Resources/zh-Hant.lproj"; sourceTree = ""; }; - B68B5F9FDDB0D41979766C1D549A8780 /* fr.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; name = fr.lproj; path = Resources/fr.lproj; sourceTree = ""; }; - B68C1052A3B51DBCF7D960F898AAFA95 /* GCDWebServer.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = GCDWebServer.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B7045A3758C33721435A4135DBC6A8AA /* SessionDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionDelegate.swift; path = Source/SessionDelegate.swift; sourceTree = ""; }; + AA2D15A4612482369D1D5FA49514C999 /* PublishRelay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PublishRelay.swift; path = RxRelay/PublishRelay.swift; sourceTree = ""; }; + AB3F3E2326436DD196BE2DEADFC24B94 /* Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Zip+arity.swift"; path = "RxSwift/Observables/Zip+arity.swift"; sourceTree = ""; }; + AC6CB85A5001635067D55D2CE0B5C9B9 /* Infallible+Bind.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+Bind.swift"; path = "RxCocoa/Common/Infallible+Bind.swift"; sourceTree = ""; }; + AC751EA3C09AF53889B2664879A417F3 /* Zip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Zip.swift; path = RxSwift/Observables/Zip.swift; sourceTree = ""; }; + AC90AC0316EFD5AA9D132504E62002D2 /* Session.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Session.swift; path = Source/Session.swift; sourceTree = ""; }; + AD0D41E4E168FD9315E1DA98A6935A51 /* ObservableType+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableType+Extensions.swift"; path = "RxSwift/ObservableType+Extensions.swift"; sourceTree = ""; }; + AE765A58C225D35C125565456C29E208 /* Platform.Darwin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Darwin.swift; path = Platform/Platform.Darwin.swift; sourceTree = ""; }; + AEF2A4D34DA455F038463728E6CCC730 /* UIDatePicker+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIDatePicker+Rx.swift"; path = "RxCocoa/iOS/UIDatePicker+Rx.swift"; sourceTree = ""; }; + AEFF466AA46EC948ED299B53DCD0E215 /* _RXObjCRuntime.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXObjCRuntime.m; path = RxCocoa/Runtime/_RXObjCRuntime.m; sourceTree = ""; }; + AF575F54188EB69DD0D5955BF62BEFA7 /* UISegmentedControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISegmentedControl+Rx.swift"; path = "RxCocoa/iOS/UISegmentedControl+Rx.swift"; sourceTree = ""; }; + AF6C70FCA2B3635F8B84B58EE2F72320 /* ObserverBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserverBase.swift; path = RxSwift/Observers/ObserverBase.swift; sourceTree = ""; }; + AF75FD55B65DB7082B60EBEF726AD840 /* Single.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Single.swift; path = RxSwift/Traits/PrimitiveSequence/Single.swift; sourceTree = ""; }; + B0048BDA7B0DA8396046085FE62AAB92 /* AsSingle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsSingle.swift; path = RxSwift/Observables/AsSingle.swift; sourceTree = ""; }; + B006F15C087BE6137A58081F78689AD0 /* DisposeBag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DisposeBag.swift; path = RxSwift/Disposables/DisposeBag.swift; sourceTree = ""; }; + B132AB9D1ED88D00EFF1E0D0C659F8C0 /* NSTextView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSTextView+Rx.swift"; path = "RxCocoa/macOS/NSTextView+Rx.swift"; sourceTree = ""; }; + B149A8C38BE7F16C107272F6ABA14548 /* _RXObjCRuntime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXObjCRuntime.h; path = RxCocoa/Runtime/include/_RXObjCRuntime.h; sourceTree = ""; }; + B23840FF2411332091792A8069873D62 /* HTTPHeaders.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HTTPHeaders.swift; path = Source/HTTPHeaders.swift; sourceTree = ""; }; + B313C5D58D0E168A0D97DD4913659502 /* RxCollectionViewDataSourcePrefetchingProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDataSourcePrefetchingProxy.swift; path = RxCocoa/iOS/Proxies/RxCollectionViewDataSourcePrefetchingProxy.swift; sourceTree = ""; }; + B34055EA479E9B7EFB03684593A3AB72 /* RxTableViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDataSourceType.swift; path = RxCocoa/iOS/Protocols/RxTableViewDataSourceType.swift; sourceTree = ""; }; + B47915552EAE918A6D8FC2A35AF5C883 /* TextInput.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextInput.swift; path = RxCocoa/Common/TextInput.swift; sourceTree = ""; }; + B47CD6DE02149D4259E550A53C5CEAC1 /* Disposables.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposables.swift; path = RxSwift/Disposables/Disposables.swift; sourceTree = ""; }; + B5B91044D2B831D63383A0F06BDD387F /* RecursiveScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveScheduler.swift; path = RxSwift/Schedulers/RecursiveScheduler.swift; sourceTree = ""; }; + B68C1052A3B51DBCF7D960F898AAFA95 /* GCDWebServer */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = GCDWebServer; path = GCDWebServer.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B6B4B4B6187C38301DB95EA173BDB608 /* Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Concurrency.swift; path = Source/Concurrency.swift; sourceTree = ""; }; + B6D8DE43ADD2C75FED599E1CAFD45C95 /* URLConvertible+URLRequestConvertible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLConvertible+URLRequestConvertible.swift"; path = "Source/URLConvertible+URLRequestConvertible.swift"; sourceTree = ""; }; + B723BDF25FB0187F11297B5A58500D85 /* ja.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = ja.lproj; path = Resources/ja.lproj; sourceTree = ""; }; B797965188D07FBBF91BA7F69EC21D39 /* Pods-ShadowsocksX-NGTests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ShadowsocksX-NGTests-Info.plist"; sourceTree = ""; }; - B81749D1C6130BC14B2386B76041124F /* GCDWebServer.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = GCDWebServer.debug.xcconfig; sourceTree = ""; }; - B8D247C19100F15D54BFF5D93804C65E /* AsSingle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsSingle.swift; path = RxSwift/Observables/AsSingle.swift; sourceTree = ""; }; - B9215F3DCBD2FE1BDADCEF5D05219A48 /* RxCollectionViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxCollectionViewDelegateProxy.swift; sourceTree = ""; }; - B97E5FCD7744551B43A8C353FD79E774 /* RefCountDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RefCountDisposable.swift; path = RxSwift/Disposables/RefCountDisposable.swift; sourceTree = ""; }; - BB1177638C48D2FB13DDFB46A70CD35D /* BehaviorSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BehaviorSubject.swift; path = RxSwift/Subjects/BehaviorSubject.swift; sourceTree = ""; }; - BB63C0EAF763E45BC31AAB9802F87995 /* DelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelegateProxy.swift; path = RxCocoa/Common/DelegateProxy.swift; sourceTree = ""; }; - BC41D63AA5F0A525ACB78573334AB97C /* CombineLatest+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CombineLatest+arity.swift"; path = "RxSwift/Observables/CombineLatest+arity.swift"; sourceTree = ""; }; - BC432FD48A5932251F1CAFBC4BF74894 /* RxCocoa.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxCocoa.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - BE717EAC81EE595FC7AE3C1A3C6D06A6 /* Buffer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Buffer.swift; path = RxSwift/Observables/Buffer.swift; sourceTree = ""; }; - BEEC0450A3B1A48A304AE8BF1DC03429 /* Notifications.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Notifications.swift; path = Source/Notifications.swift; sourceTree = ""; }; - BF07A24C96313F878506258234883CC8 /* GCDWebServer-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "GCDWebServer-prefix.pch"; sourceTree = ""; }; - BF25DE5F0433D7BA7D6F91A5F113542A /* RxRelay.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxRelay.debug.xcconfig; sourceTree = ""; }; - BFD92A4EF88D0A6B34E86A6A7CE2436D /* RxSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C0D1BF03B3F26978B85F2E44EBE18FC1 /* RxCollectionViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDataSourceType.swift; path = RxCocoa/iOS/Protocols/RxCollectionViewDataSourceType.swift; sourceTree = ""; }; - C119A4F639217703B4B382419AF9D4EF /* NSObject+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx.swift"; path = "RxCocoa/Foundation/NSObject+Rx.swift"; sourceTree = ""; }; - C15539256AFFEE061C9DE9660B995B25 /* RxTableViewDataSourcePrefetchingProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDataSourcePrefetchingProxy.swift; path = RxCocoa/iOS/Proxies/RxTableViewDataSourcePrefetchingProxy.swift; sourceTree = ""; }; - C21721CAB3BC76F0D7582BD636DB821D /* GCDWebServerDataResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerDataResponse.h; path = GCDWebServer/Responses/GCDWebServerDataResponse.h; sourceTree = ""; }; - C3B6C103B3C3936D11BF01C71C0EE380 /* BRLOptionParser.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = BRLOptionParser.release.xcconfig; sourceTree = ""; }; - C3DCF3854C69F5239CE7E89C1FCFAA51 /* ObservableConvertibleType+Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+Signal.swift"; path = "RxCocoa/Traits/Signal/ObservableConvertibleType+Signal.swift"; sourceTree = ""; }; - C4028B836251B6DD18772CF35047686A /* NSView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSView+Rx.swift"; path = "RxCocoa/macOS/NSView+Rx.swift"; sourceTree = ""; }; - C40D7DCF882E3A5609EDE1602335E721 /* GCDWebServerResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerResponse.m; path = GCDWebServer/Core/GCDWebServerResponse.m; sourceTree = ""; }; - C535813B1010A4B0BEBADE15AD42DC2E /* MASShortcut-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "MASShortcut-Info.plist"; sourceTree = ""; }; - C5BD2C8DB205D16490D3804A6CAB6C50 /* RxCollectionViewDataSourceProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDataSourceProxy.swift; path = RxCocoa/iOS/Proxies/RxCollectionViewDataSourceProxy.swift; sourceTree = ""; }; - C70C13D2EC9B57E48D64BD7ABC49F9D6 /* KVORepresentable+CoreGraphics.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "KVORepresentable+CoreGraphics.swift"; path = "RxCocoa/Foundation/KVORepresentable+CoreGraphics.swift"; sourceTree = ""; }; - C713517A8C0251C9EEB925D43C63A544 /* ObservableType+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableType+Extensions.swift"; path = "RxSwift/ObservableType+Extensions.swift"; sourceTree = ""; }; - C771BA2A255CC372CD2AB83291BD3E1C /* GCDWebServer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServer.h; path = GCDWebServer/Core/GCDWebServer.h; sourceTree = ""; }; - C78EDD95C0B56A70BE237D148A1726CA /* UIApplication+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIApplication+Rx.swift"; path = "RxCocoa/iOS/UIApplication+Rx.swift"; sourceTree = ""; }; - C793DFE7002D416E900642C76CEEBD75 /* CurrentThreadScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CurrentThreadScheduler.swift; path = RxSwift/Schedulers/CurrentThreadScheduler.swift; sourceTree = ""; }; - C798C591985DFD0B008AAEEBF78EF979 /* DefaultIfEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DefaultIfEmpty.swift; path = RxSwift/Observables/DefaultIfEmpty.swift; sourceTree = ""; }; - C8305C9D0B89A4CE30258C61DDD5A342 /* StringEncoding+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "StringEncoding+Alamofire.swift"; path = "Source/StringEncoding+Alamofire.swift"; sourceTree = ""; }; - C96F1CEB77C6CB8A9D2A7682406E7AE9 /* DispatchQueue+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Extensions.swift"; path = "Platform/DispatchQueue+Extensions.swift"; sourceTree = ""; }; - CA0A6C3DB39AD5C25FF5B1A9F554E228 /* Lock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Lock.swift; path = RxSwift/Concurrency/Lock.swift; sourceTree = ""; }; - CA7211C3393B6E1ED0E57C4CCF5F5005 /* PublishRelay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PublishRelay.swift; path = RxRelay/PublishRelay.swift; sourceTree = ""; }; - CB340F626B32E3AF98F1E13658FB46E2 /* UIBarButtonItem+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIBarButtonItem+Rx.swift"; path = "RxCocoa/iOS/UIBarButtonItem+Rx.swift"; sourceTree = ""; }; - CCCC3232579F890A62A86540F6600BE6 /* Bag+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bag+Rx.swift"; path = "RxSwift/Extensions/Bag+Rx.swift"; sourceTree = ""; }; - CD2C25316E1BF4F3230E3412417481E6 /* Result+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Result+Alamofire.swift"; path = "Source/Result+Alamofire.swift"; sourceTree = ""; }; - CD90405BE5311F3F3A8CFCFABCCF3560 /* Multicast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Multicast.swift; path = RxSwift/Observables/Multicast.swift; sourceTree = ""; }; + B8578CD36481891CB3F62B36071EADF0 /* Catch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Catch.swift; path = RxSwift/Observables/Catch.swift; sourceTree = ""; }; + B9CBA5FF3D8C04AA76F6E7B922F34B81 /* GCDWebServerStreamedResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerStreamedResponse.m; path = GCDWebServer/Responses/GCDWebServerStreamedResponse.m; sourceTree = ""; }; + BA082DFD4CA11A2BC241153B8DCA3751 /* UITabBarController+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITabBarController+Rx.swift"; path = "RxCocoa/iOS/UITabBarController+Rx.swift"; sourceTree = ""; }; + BB573A2ED725E33BB5FC290ECA094E39 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; }; + BB7CE57ED65BD107011E99F57ECC6A61 /* Dematerialize.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Dematerialize.swift; path = RxSwift/Observables/Dematerialize.swift; sourceTree = ""; }; + BC432FD48A5932251F1CAFBC4BF74894 /* RxCocoa */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = RxCocoa; path = RxCocoa.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + BC71F6C41C4E5995C31D3BD4366E1138 /* ObservableConvertibleType+SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+SharedSequence.swift"; path = "RxCocoa/Traits/SharedSequence/ObservableConvertibleType+SharedSequence.swift"; sourceTree = ""; }; + BCDC3021D014AE10447DFDCF14C73035 /* MASHotKey.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASHotKey.m; path = Framework/Monitoring/MASHotKey.m; sourceTree = ""; }; + BD141250853A8135F9C3FB046FB58E7F /* WithLatestFrom.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WithLatestFrom.swift; path = RxSwift/Observables/WithLatestFrom.swift; sourceTree = ""; }; + BEF7E13AFEB66355348465DE59B241D2 /* Switch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Switch.swift; path = RxSwift/Observables/Switch.swift; sourceTree = ""; }; + BF7A8F913EE0F9EC4EEA067263A55C16 /* NSTextStorage+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSTextStorage+Rx.swift"; path = "RxCocoa/iOS/NSTextStorage+Rx.swift"; sourceTree = ""; }; + BF97D2AAECD0BA15BB76003B5DE56498 /* URLSessionConfiguration+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLSessionConfiguration+Alamofire.swift"; path = "Source/URLSessionConfiguration+Alamofire.swift"; sourceTree = ""; }; + C095CD6453A6E8AC183F9997E51BC98D /* GCDWebServerFileRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerFileRequest.m; path = GCDWebServer/Requests/GCDWebServerFileRequest.m; sourceTree = ""; }; + C16719B76B2DFB46ACA80A4EAA03C560 /* ko.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = ko.lproj; path = Resources/ko.lproj; sourceTree = ""; }; + C18CC82205F3614ABAD3EFA14363B01B /* GCDWebServerPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerPrivate.h; path = GCDWebServer/Core/GCDWebServerPrivate.h; sourceTree = ""; }; + C25726D3D578731D9926B0552BD50078 /* MASShortcutView+Bindings.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "MASShortcutView+Bindings.m"; path = "Framework/UI/MASShortcutView+Bindings.m"; sourceTree = ""; }; + C3A16BFEADC40CC728024772C6452F21 /* RxCocoa.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RxCocoa.h; path = RxCocoa/RxCocoa.h; sourceTree = ""; }; + C46BCC7C16014A337199C524B8BF169F /* Delay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Delay.swift; path = RxSwift/Observables/Delay.swift; sourceTree = ""; }; + C4FFE056544DD08DC565D45DAD4CC691 /* Deferred.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deferred.swift; path = RxSwift/Observables/Deferred.swift; sourceTree = ""; }; + C556CB839FEFB35D70DE56C8545CA4FF /* ConnectableObservableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConnectableObservableType.swift; path = RxSwift/ConnectableObservableType.swift; sourceTree = ""; }; + C5C17D58BC8D0956619116C04A26E7C9 /* ResponseSerialization.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResponseSerialization.swift; path = Source/ResponseSerialization.swift; sourceTree = ""; }; + C5C5D686281C1358498E76D48FDFDF90 /* HTTPMethod.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HTTPMethod.swift; path = Source/HTTPMethod.swift; sourceTree = ""; }; + C6E37EE4A0A848B5F6DB87C29B200BC9 /* GCDWebServerDataRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerDataRequest.h; path = GCDWebServer/Requests/GCDWebServerDataRequest.h; sourceTree = ""; }; + C7ED557A33FC9B30913EAC4B47B37689 /* RxSwift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxSwift.release.xcconfig; sourceTree = ""; }; + C7EE55002794EA6709FA9B28FFCCFEB4 /* SkipUntil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SkipUntil.swift; path = RxSwift/Observables/SkipUntil.swift; sourceTree = ""; }; + C816D3128A36A1E5BBDAAC91355DEE41 /* UIControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIControl+Rx.swift"; path = "RxCocoa/iOS/UIControl+Rx.swift"; sourceTree = ""; }; + C8E22DE1CAAC8A0C8C632DA1BE65A954 /* RxRelay.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxRelay.release.xcconfig; sourceTree = ""; }; + C8FA7C22966C76E2A060F78BA813FADB /* ServerTrustEvaluation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ServerTrustEvaluation.swift; path = Source/ServerTrustEvaluation.swift; sourceTree = ""; }; + C947525B426B362C8203934373208157 /* NSButton+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSButton+Rx.swift"; path = "RxCocoa/macOS/NSButton+Rx.swift"; sourceTree = ""; }; + C94E0AC8C9C8620F57D0049FC338ED51 /* BRLOptionParser-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "BRLOptionParser-dummy.m"; sourceTree = ""; }; + CAAB811816DB87F5B34CDF69458C6DB0 /* ru.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = ru.lproj; path = Resources/ru.lproj; sourceTree = ""; }; + CBAEBA865C689C4ABC23E4077C694783 /* GCDWebServerErrorResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerErrorResponse.h; path = GCDWebServer/Responses/GCDWebServerErrorResponse.h; sourceTree = ""; }; + CD399408DDAC2A33A3E75E5833691BA7 /* UIBarButtonItem+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIBarButtonItem+Rx.swift"; path = "RxCocoa/iOS/UIBarButtonItem+Rx.swift"; sourceTree = ""; }; CD95085BFAA31431686824B236DB9319 /* Pods-ShadowsocksX-NG-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ShadowsocksX-NG-umbrella.h"; sourceTree = ""; }; - CE8BA32B7F7B571C37D44747CBB93955 /* ObserverBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserverBase.swift; path = RxSwift/Observers/ObserverBase.swift; sourceTree = ""; }; - CECC6752E3DD709B29A4ED0461B7BF82 /* Disposables.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposables.swift; path = RxSwift/Disposables/Disposables.swift; sourceTree = ""; }; - D157799A728D6FFED669C62E86BABD73 /* GCDWebServerMultiPartFormRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerMultiPartFormRequest.h; path = GCDWebServer/Requests/GCDWebServerMultiPartFormRequest.h; sourceTree = ""; }; - D18636DE7B757847E9D7B9E45CA10DE2 /* SharedSequence+Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SharedSequence+Operators.swift"; path = "RxCocoa/Traits/SharedSequence/SharedSequence+Operators.swift"; sourceTree = ""; }; - D231BAD0830AAA293F76CB7428ADA704 /* MASShortcut.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MASShortcut.release.xcconfig; sourceTree = ""; }; - D418B4DEE726BA9D5A912D8F1FBF0888 /* RxTableViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDataSourceType.swift; path = RxCocoa/iOS/Protocols/RxTableViewDataSourceType.swift; sourceTree = ""; }; - D48183AD5F98D081078429EF56451DFF /* Pods_ShadowsocksX_NGTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ShadowsocksX_NGTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D49EC557FA27872611535147AB5D700C /* UICollectionView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UICollectionView+Rx.swift"; path = "RxCocoa/iOS/UICollectionView+Rx.swift"; sourceTree = ""; }; - D4E3DADB00C8898A4A01F4DF1034F96C /* GCDWebServerRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerRequest.m; path = GCDWebServer/Core/GCDWebServerRequest.m; sourceTree = ""; }; - D54CB24891D5C94C81CAED6F6D1D4FAB /* Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rx.swift; path = RxSwift/Rx.swift; sourceTree = ""; }; - D570E112B81800B30A1165D0BC68DB8A /* Delay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Delay.swift; path = RxSwift/Observables/Delay.swift; sourceTree = ""; }; + CDB899B9D1186B7B6847C13A627A8842 /* NetworkReachabilityManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkReachabilityManager.swift; path = Source/NetworkReachabilityManager.swift; sourceTree = ""; }; + CDE1777E948471084F50485994501A99 /* SerialDispatchQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SerialDispatchQueueScheduler.swift; path = RxSwift/Schedulers/SerialDispatchQueueScheduler.swift; sourceTree = ""; }; + CFD22916F275E74D78E772E29AC07B30 /* RxRelay.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = RxRelay.modulemap; sourceTree = ""; }; + D007371B5C32973A8D7D3A78DB7C195E /* Alamofire-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Alamofire-dummy.m"; sourceTree = ""; }; + D09F8AFD2F060ED24FA597FCABCAA8BF /* GCDWebServer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServer.h; path = GCDWebServer/Core/GCDWebServer.h; sourceTree = ""; }; + D2EEDFA22C04CA3D90C2A2745E60DA3F /* GCDWebServer-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "GCDWebServer-dummy.m"; sourceTree = ""; }; + D3318EC278302AB2BD1FCA8A8EFCE3C7 /* ObservableConvertibleType+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+Driver.swift"; path = "RxCocoa/Traits/Driver/ObservableConvertibleType+Driver.swift"; sourceTree = ""; }; + D48183AD5F98D081078429EF56451DFF /* Pods-ShadowsocksX-NGTests */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-ShadowsocksX-NGTests"; path = Pods_ShadowsocksX_NGTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D5048F1E538FA6BE380FDEA797C67964 /* MASShortcutView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcutView.h; path = Framework/UI/MASShortcutView.h; sourceTree = ""; }; D60357581333E7EC56952E31B2991366 /* Pods-ShadowsocksX-NG-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ShadowsocksX-NG-dummy.m"; sourceTree = ""; }; - D64C89D84E4BDDCF85E57BDA0153F0B1 /* RxSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = RxSwift.modulemap; sourceTree = ""; }; - D70A973E907BDE134197952FF14301CE /* RxRelay.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxRelay.release.xcconfig; sourceTree = ""; }; - D7453403FEE25F56521DBB8A39EA0204 /* MultipartFormData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartFormData.swift; path = Source/MultipartFormData.swift; sourceTree = ""; }; - D7ED9E80778846168B6F3F867C04F6AA /* ParameterEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoder.swift; path = Source/ParameterEncoder.swift; sourceTree = ""; }; - D7F46244A2FF95EF2B228E2F76529358 /* Driver+Subscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Driver+Subscription.swift"; path = "RxCocoa/Traits/Driver/Driver+Subscription.swift"; sourceTree = ""; }; - D87FAE60EB40AC65B2E5000C6B82DFEB /* UIGestureRecognizer+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIGestureRecognizer+Rx.swift"; path = "RxCocoa/iOS/UIGestureRecognizer+Rx.swift"; sourceTree = ""; }; - D894FDA92A29CEECD7D1E50C263F1777 /* Reduce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reduce.swift; path = RxSwift/Observables/Reduce.swift; sourceTree = ""; }; - D896F6A68919914B3302027C15449A1D /* Pods_ShadowsocksX_NG.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ShadowsocksX_NG.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D6B36260C1199FEB146F36F6FF843049 /* MASShortcut-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MASShortcut-prefix.pch"; sourceTree = ""; }; + D713A1A7001B98E7643E77B34948B0B6 /* DispatchQueueConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DispatchQueueConfiguration.swift; path = RxSwift/Schedulers/Internal/DispatchQueueConfiguration.swift; sourceTree = ""; }; + D737C6C58FBC18591D46A45344746F92 /* GCDWebServer.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = GCDWebServer.modulemap; sourceTree = ""; }; + D73EC4AA12FB5BDC56A582F913D05E76 /* GCDWebServerMultiPartFormRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerMultiPartFormRequest.h; path = GCDWebServer/Requests/GCDWebServerMultiPartFormRequest.h; sourceTree = ""; }; + D7F68AA4C71DE350DC293386A02AA2E5 /* ControlEvent+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ControlEvent+Driver.swift"; path = "RxCocoa/Traits/Driver/ControlEvent+Driver.swift"; sourceTree = ""; }; + D896F6A68919914B3302027C15449A1D /* Pods-ShadowsocksX-NG */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-ShadowsocksX-NG"; path = Pods_ShadowsocksX_NG.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D8C88B0B7BFE785BC9B00D1C53FDC003 /* Pods-proxy_conf_helper.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-proxy_conf_helper.debug.xcconfig"; sourceTree = ""; }; - D96D37A7C37C05D7DEEAE9B3944CC4DD /* PriorityQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PriorityQueue.swift; path = Platform/DataStructures/PriorityQueue.swift; sourceTree = ""; }; - DA23B9C3D142FEFFA05E4F37B1A976AE /* ElementAt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ElementAt.swift; path = RxSwift/Observables/ElementAt.swift; sourceTree = ""; }; - DAE48A7C993FBD43A674E228A900457B /* GCDWebServerStreamedResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerStreamedResponse.m; path = GCDWebServer/Responses/GCDWebServerStreamedResponse.m; sourceTree = ""; }; - DAFB048690381EFB0893639F33D3C764 /* SubscriptionDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscriptionDisposable.swift; path = RxSwift/Disposables/SubscriptionDisposable.swift; sourceTree = ""; }; - DB051CDFBF3B30AA181F5BF12F48FD3A /* ConcurrentDispatchQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConcurrentDispatchQueueScheduler.swift; path = RxSwift/Schedulers/ConcurrentDispatchQueueScheduler.swift; sourceTree = ""; }; - DBB7AE66363DEA0FFF31BA0AD1EB9340 /* DelegateProxyType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelegateProxyType.swift; path = RxCocoa/Common/DelegateProxyType.swift; sourceTree = ""; }; - DC40BD5F1E0BFED23CB5A6AE57FA4443 /* GCDWebServerURLEncodedFormRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerURLEncodedFormRequest.m; path = GCDWebServer/Requests/GCDWebServerURLEncodedFormRequest.m; sourceTree = ""; }; - DD31B6D267ADAB9B30F51F821C60554A /* GCDWebServerFunctions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerFunctions.h; path = GCDWebServer/Core/GCDWebServerFunctions.h; sourceTree = ""; }; - DE18F7CA6E337EA48867C7D92143B6F9 /* NotificationCenter+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NotificationCenter+Rx.swift"; path = "RxCocoa/Foundation/NotificationCenter+Rx.swift"; sourceTree = ""; }; - DE719264DC0248D1CA1E5F7821C8381D /* RxCocoa-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxCocoa-prefix.pch"; sourceTree = ""; }; - DFA75B434E18E0DA5F6DEB758B437261 /* GCDWebServer.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = GCDWebServer.modulemap; sourceTree = ""; }; - DFAC6355D5B0FD94083A74B4602AF9D2 /* ObservableConvertibleType+SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+SharedSequence.swift"; path = "RxCocoa/Traits/SharedSequence/ObservableConvertibleType+SharedSequence.swift"; sourceTree = ""; }; - E14C791F6C2C8320DE732C78C55306A1 /* ObservableConvertibleType+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+Driver.swift"; path = "RxCocoa/Traits/Driver/ObservableConvertibleType+Driver.swift"; sourceTree = ""; }; - E35662841C2AAA3188CD9ADFDC38880F /* NSTextStorage+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSTextStorage+Rx.swift"; path = "RxCocoa/iOS/NSTextStorage+Rx.swift"; sourceTree = ""; }; - E39E7221D0BA332CC5AC5DD0A7C16C92 /* UISegmentedControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISegmentedControl+Rx.swift"; path = "RxCocoa/iOS/UISegmentedControl+Rx.swift"; sourceTree = ""; }; - E4618B5826B29CA49F53BD36B1570602 /* Materialize.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Materialize.swift; path = RxSwift/Observables/Materialize.swift; sourceTree = ""; }; - E4C0551E43C5CE2E6F3BD09C18890BFD /* RxCocoa-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxCocoa-umbrella.h"; sourceTree = ""; }; - E5635498728E3B4005A42A385330D7CC /* RxCocoa-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "RxCocoa-Info.plist"; sourceTree = ""; }; - E6B674A528A68BF8E6AB4A5F747B05B8 /* NopDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NopDisposable.swift; path = RxSwift/Disposables/NopDisposable.swift; sourceTree = ""; }; - E8976DA3C1E5870E7B74F26E219A9885 /* Observable+Bind.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Bind.swift"; path = "RxCocoa/Common/Observable+Bind.swift"; sourceTree = ""; }; - EA0C023ECBE853C3AFE12E6702B6D1CD /* BooleanDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BooleanDisposable.swift; path = RxSwift/Disposables/BooleanDisposable.swift; sourceTree = ""; }; - EA187A944BB7C96464B1E79E6D12F90F /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/AppKit.framework; sourceTree = DEVELOPER_DIR; }; - EAB5B580FE6B602D602E607C7BC7C470 /* URLSession+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLSession+Rx.swift"; path = "RxCocoa/Foundation/URLSession+Rx.swift"; sourceTree = ""; }; - EB62C29E42A50AB4AA5C6DED19DA376D /* InfiniteSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InfiniteSequence.swift; path = Platform/DataStructures/InfiniteSequence.swift; sourceTree = ""; }; - EBC071EBDAC90F82FF4D25D024A5AACF /* Sample.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sample.swift; path = RxSwift/Observables/Sample.swift; sourceTree = ""; }; - EC44E7C397DF9B77CEF6F5C86EFCE92A /* RxPickerViewDataSourceProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewDataSourceProxy.swift; path = RxCocoa/iOS/Proxies/RxPickerViewDataSourceProxy.swift; sourceTree = ""; }; - EC8F5BC5CABB65CCD832B9821F532DBD /* InfiniteSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InfiniteSequence.swift; path = Platform/DataStructures/InfiniteSequence.swift; sourceTree = ""; }; - ECF8CD0A416163A50B72AAF4B0C4A124 /* ParameterEncoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoding.swift; path = Source/ParameterEncoding.swift; sourceTree = ""; }; - EE6672D913C4CDAB5BAC161BDC483A67 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; }; - EE873D31D9227598B067D9426D366009 /* pl.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; name = pl.lproj; path = Resources/pl.lproj; sourceTree = ""; }; - EF4A8984BD7018149BDA495C7EA5FE28 /* Infallible+Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+Operators.swift"; path = "RxSwift/Traits/Infallible/Infallible+Operators.swift"; sourceTree = ""; }; - EF8D2E7C64775F0DD477127B5EC2E0AB /* RequestTaskMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RequestTaskMap.swift; path = Source/RequestTaskMap.swift; sourceTree = ""; }; - EF91750DCDE73B687E4BA164856BE224 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; }; - EFD30F9BBDEB87F6ADD6C3AAF8DE6E30 /* GroupedObservable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GroupedObservable.swift; path = RxSwift/GroupedObservable.swift; sourceTree = ""; }; - F0007682E9947D6BFA4DA24D30F6CBF2 /* RxSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxSwift-dummy.m"; sourceTree = ""; }; - F0D4493458E5817BA46B4318626487F6 /* ScheduledDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledDisposable.swift; path = RxSwift/Disposables/ScheduledDisposable.swift; sourceTree = ""; }; - F11E6B29B9CB879F29AFEBD980D3AFBF /* Date+Dispatch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Date+Dispatch.swift"; path = "RxSwift/Date+Dispatch.swift"; sourceTree = ""; }; - F17C7E34E699CD1435A12B207C1A125D /* RxCocoa.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = RxCocoa.modulemap; sourceTree = ""; }; - F3623071AC720B9C13DD1043F7052A73 /* SynchronizedDisposeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedDisposeType.swift; path = RxSwift/Concurrency/SynchronizedDisposeType.swift; sourceTree = ""; }; - F4786526A5AD085C95AC191C7253C591 /* Switch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Switch.swift; path = RxSwift/Observables/Switch.swift; sourceTree = ""; }; - F5102E62600D264D29633030E490AAE6 /* NetworkReachabilityManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkReachabilityManager.swift; path = Source/NetworkReachabilityManager.swift; sourceTree = ""; }; - F57A5448A0A790BED406AB47ED75D7B1 /* Alamofire-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Alamofire-Info.plist"; sourceTree = ""; }; - F6460C30C5328ED85A1103897C8CB63C /* MASDictionaryTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASDictionaryTransformer.m; path = "Framework/User Defaults Storage/MASDictionaryTransformer.m"; sourceTree = ""; }; - F893DD80BE166F23DB8567A0940B0FEE /* Timer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timer.swift; path = RxSwift/Observables/Timer.swift; sourceTree = ""; }; - F961756C2E9DE7614DBA1271483EB245 /* Never.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Never.swift; path = RxSwift/Observables/Never.swift; sourceTree = ""; }; - F979292485788BE53E5871123C74EB10 /* RxPickerViewAdapter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewAdapter.swift; path = RxCocoa/iOS/DataSources/RxPickerViewAdapter.swift; sourceTree = ""; }; - F97D53A26324CAC07AB16E21B963CF9A /* InvocableScheduledItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InvocableScheduledItem.swift; path = RxSwift/Schedulers/Internal/InvocableScheduledItem.swift; sourceTree = ""; }; - FA1467E6A8A0A5B978108FDFC868000E /* Just.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Just.swift; path = RxSwift/Observables/Just.swift; sourceTree = ""; }; - FAABDBC186233AEF9876B5A4F009C8B8 /* Platform.Darwin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Darwin.swift; path = Platform/Platform.Darwin.swift; sourceTree = ""; }; - FAB6166D07AACCBF2B4A5FFC66F22602 /* pt.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; name = pt.lproj; path = Resources/pt.lproj; sourceTree = ""; }; + D8F5282CAAEB98373BB034FF2724C421 /* Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rx.swift; path = RxSwift/Rx.swift; sourceTree = ""; }; + D90202E02D3BC6CC4040C6297BB45361 /* DisposeBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DisposeBase.swift; path = RxSwift/Disposables/DisposeBase.swift; sourceTree = ""; }; + D9B8A8325D956FD938036C3139AE6129 /* Result+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Result+Alamofire.swift"; path = "Source/Result+Alamofire.swift"; sourceTree = ""; }; + DA2000B64EBE40E05BE0FF20BF010DF9 /* Infallible+Create.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+Create.swift"; path = "RxSwift/Traits/Infallible/Infallible+Create.swift"; sourceTree = ""; }; + DAB3B55ED49AD990F27921D57251BBD1 /* CompactMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompactMap.swift; path = RxSwift/Observables/CompactMap.swift; sourceTree = ""; }; + DAF8B4EB3C1C2EFA5B2F20EAB97ECD94 /* UISearchBar+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISearchBar+Rx.swift"; path = "RxCocoa/iOS/UISearchBar+Rx.swift"; sourceTree = ""; }; + DAF8B7C1E07626301B84CE4363D0750B /* BRLOptionParser-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BRLOptionParser-prefix.pch"; sourceTree = ""; }; + DB09C3D886E30AFA5026665F796A50B3 /* it.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = it.lproj; path = Resources/it.lproj; sourceTree = ""; }; + DB3E9697C2CAA0ADA5337CD8722C85C4 /* Alamofire-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Alamofire-Info.plist"; sourceTree = ""; }; + DC3453BADE578C7C0405D698F9F929DA /* AlamofireExtended.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AlamofireExtended.swift; path = Source/AlamofireExtended.swift; sourceTree = ""; }; + DC7F5AF7100A7371FE87143D0C656229 /* RxTableViewReactiveArrayDataSource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewReactiveArrayDataSource.swift; path = RxCocoa/iOS/DataSources/RxTableViewReactiveArrayDataSource.swift; sourceTree = ""; }; + DCC2AC628B606D5CC00CCEF11AE00C47 /* WKWebView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "WKWebView+Rx.swift"; path = "RxCocoa/iOS/WKWebView+Rx.swift"; sourceTree = ""; }; + DCF2ECAD90F54E56FD7B30B5CE227C05 /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Response.swift; path = Source/Response.swift; sourceTree = ""; }; + DD0339A381ACE5CAA0B64588E981DAA7 /* CachedResponseHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CachedResponseHandler.swift; path = Source/CachedResponseHandler.swift; sourceTree = ""; }; + DD39A639363B95816D608A6A4C5622E0 /* Date+Dispatch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Date+Dispatch.swift"; path = "RxSwift/Date+Dispatch.swift"; sourceTree = ""; }; + DDE8F08A9E8EC28B4BE33084C87A0888 /* DispatchQueue+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Extensions.swift"; path = "Platform/DispatchQueue+Extensions.swift"; sourceTree = ""; }; + DDFD67AA606F5C51BA83B782D8AB5BAA /* MASShortcutMonitor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcutMonitor.m; path = Framework/Monitoring/MASShortcutMonitor.m; sourceTree = ""; }; + DE6B2BA7726D04EAFA6680D37A48D222 /* VirtualTimeScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VirtualTimeScheduler.swift; path = RxSwift/Schedulers/VirtualTimeScheduler.swift; sourceTree = ""; }; + DE9AB36E2BA4EFE0ED2CBBAD11042A57 /* DistinctUntilChanged.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DistinctUntilChanged.swift; path = RxSwift/Observables/DistinctUntilChanged.swift; sourceTree = ""; }; + DEC1198C70484AA5C5EDEFA6FE308EAC /* RxSearchBarDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxSearchBarDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxSearchBarDelegateProxy.swift; sourceTree = ""; }; + DECEB5F91A2F6F2D1B5F8355FB36E886 /* AsMaybe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsMaybe.swift; path = RxSwift/Observables/AsMaybe.swift; sourceTree = ""; }; + E093955708F7D7CE63497D298B066AF4 /* NSObject+Rx+KVORepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx+KVORepresentable.swift"; path = "RxCocoa/Foundation/NSObject+Rx+KVORepresentable.swift"; sourceTree = ""; }; + E0D1E4D2720FEE99EE28A91AC2870C00 /* Lock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Lock.swift; path = RxSwift/Concurrency/Lock.swift; sourceTree = ""; }; + E102BDCF29691A8DFF60D5A65B77005B /* ParameterEncoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoding.swift; path = Source/ParameterEncoding.swift; sourceTree = ""; }; + E2C96636333F26E04DBC652A12300611 /* AFError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AFError.swift; path = Source/AFError.swift; sourceTree = ""; }; + E2EF744076CE53F872243679F895A29A /* BRLOptionParser.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = BRLOptionParser.debug.xcconfig; sourceTree = ""; }; + E338D0F008765585EBB7C1C3D75556E1 /* UITextView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITextView+Rx.swift"; path = "RxCocoa/iOS/UITextView+Rx.swift"; sourceTree = ""; }; + E3745E32BFCA99EAF512B4D01BBB6825 /* UITableView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITableView+Rx.swift"; path = "RxCocoa/iOS/UITableView+Rx.swift"; sourceTree = ""; }; + E3A321BCB3E416BCEFDCCAC04057D6F4 /* SingleAsync.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SingleAsync.swift; path = RxSwift/Observables/SingleAsync.swift; sourceTree = ""; }; + E3BCF8C37F6DE75E391CF06A9EF262AF /* RxCocoa-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxCocoa-dummy.m"; sourceTree = ""; }; + E4126F0E5A37DFC3A167CC62CC4CDF3F /* Combine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Combine.swift; path = Source/Combine.swift; sourceTree = ""; }; + E442CC92114CB624FE50AB3B04E7226D /* GCDWebServerRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerRequest.m; path = GCDWebServer/Core/GCDWebServerRequest.m; sourceTree = ""; }; + E4F2579AE72F6DD9B6256C7D49D10422 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Carbon.framework; sourceTree = DEVELOPER_DIR; }; + E4F84F28B5710A58E9874FE6CAB07B39 /* RxCocoa-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "RxCocoa-Info.plist"; sourceTree = ""; }; + E56EF32752C87559079B80B330EDABDF /* Platform.Linux.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Linux.swift; path = Platform/Platform.Linux.swift; sourceTree = ""; }; + E5B47DA578C7E3A406C5F874E0668047 /* AddRef.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AddRef.swift; path = RxSwift/Observables/AddRef.swift; sourceTree = ""; }; + E68AA3D79D819489F51587F62001284D /* Repeat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Repeat.swift; path = RxSwift/Observables/Repeat.swift; sourceTree = ""; }; + E78F609085B34D46DE3C6B22B4D1FC9B /* RequestInterceptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RequestInterceptor.swift; path = Source/RequestInterceptor.swift; sourceTree = ""; }; + E7B6E62CAE81DC82140DA31A1FF34126 /* SectionedViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SectionedViewDataSourceType.swift; path = RxCocoa/Common/SectionedViewDataSourceType.swift; sourceTree = ""; }; + E88E91DACCBD45989990FE8BB7F3BF02 /* Range.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Range.swift; path = RxSwift/Observables/Range.swift; sourceTree = ""; }; + E9BB469C029D6C1BF44CA8CE16FE1E64 /* ControlEvent.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlEvent.swift; path = RxCocoa/Traits/ControlEvent.swift; sourceTree = ""; }; + EB5900D68A352DEF8FE3FA3D4C2279CF /* GCDWebServerFileResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerFileResponse.m; path = GCDWebServer/Responses/GCDWebServerFileResponse.m; sourceTree = ""; }; + EBDC332D123C6CCBF7F197D038718C9D /* Bag+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bag+Rx.swift"; path = "RxSwift/Extensions/Bag+Rx.swift"; sourceTree = ""; }; + EC73922535D191E3672CA214133EADB0 /* Enumerated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Enumerated.swift; path = RxSwift/Observables/Enumerated.swift; sourceTree = ""; }; + ECC7DBFC74ADE5B030C69F54DFA6A40E /* zh-Hans.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = "zh-Hans.lproj"; path = "Resources/zh-Hans.lproj"; sourceTree = ""; }; + ED00544EBF14CE50DB59827BA54CACC5 /* Infallible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Infallible.swift; path = RxSwift/Traits/Infallible/Infallible.swift; sourceTree = ""; }; + EDDDBE8A8B396AA948EF844E3078F3A9 /* SubscriptionDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscriptionDisposable.swift; path = RxSwift/Disposables/SubscriptionDisposable.swift; sourceTree = ""; }; + EDE5BDD8367EAE24F95591B6890A88E4 /* pt.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = pt.lproj; path = Resources/pt.lproj; sourceTree = ""; }; + EE3C6AD22E975E2CFAB59017D8F5B19C /* RxTextStorageDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTextStorageDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTextStorageDelegateProxy.swift; sourceTree = ""; }; + EE4C82A87A43C29DED6FC18CFA09CC44 /* MASDictionaryTransformer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASDictionaryTransformer.h; path = "Framework/User Defaults Storage/MASDictionaryTransformer.h"; sourceTree = ""; }; + EF6CA6C56D94CB72E7B054FD8F46F12D /* MASShortcutBinder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcutBinder.m; path = "Framework/User Defaults Storage/MASShortcutBinder.m"; sourceTree = ""; }; + EFF609E54FAF8A3E557D3AFBF9175D37 /* ImmediateSchedulerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImmediateSchedulerType.swift; path = RxSwift/ImmediateSchedulerType.swift; sourceTree = ""; }; + F0A73B6F779FACA103F3CD8745E4A39C /* UIActivityIndicatorView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIActivityIndicatorView+Rx.swift"; path = "RxCocoa/iOS/UIActivityIndicatorView+Rx.swift"; sourceTree = ""; }; + F0B3FDDCC8429ABE465984BB0D5B716F /* DefaultIfEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DefaultIfEmpty.swift; path = RxSwift/Observables/DefaultIfEmpty.swift; sourceTree = ""; }; + F0EBAAA7BD3B4A773D32FCEB6E0C7563 /* PriorityQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PriorityQueue.swift; path = Platform/DataStructures/PriorityQueue.swift; sourceTree = ""; }; + F1597FFEE5882FAE50302F9B1F2E712C /* GCDWebServerConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerConnection.m; path = GCDWebServer/Core/GCDWebServerConnection.m; sourceTree = ""; }; + F21EAF77FDEC4FA3BCBBCC724A148D92 /* Infallible+CombineLatest+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+CombineLatest+arity.swift"; path = "RxSwift/Traits/Infallible/Infallible+CombineLatest+arity.swift"; sourceTree = ""; }; + F273F3CDA7F0F6D962FC2ADC5320157C /* VirtualTimeConverterType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VirtualTimeConverterType.swift; path = RxSwift/Schedulers/VirtualTimeConverterType.swift; sourceTree = ""; }; + F291BFC60BE59D38AF1411EF54A08EEB /* Alamofire-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-prefix.pch"; sourceTree = ""; }; + F31FE34A59EEBA4DC556482044187B1B /* ResourceBundle-MASShortcut-MASShortcut-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-MASShortcut-MASShortcut-Info.plist"; sourceTree = ""; }; + F324C054EDE9A159CB6E25B984EC907F /* Reduce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reduce.swift; path = RxSwift/Observables/Reduce.swift; sourceTree = ""; }; + F3FAF08569914D800FBB77D94F8CA155 /* DispatchQueue+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Extensions.swift"; path = "Platform/DispatchQueue+Extensions.swift"; sourceTree = ""; }; + F435463B7DEBD592F014B878F7B735CE /* ScheduledDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledDisposable.swift; path = RxSwift/Disposables/ScheduledDisposable.swift; sourceTree = ""; }; + F4D8A4AD795BD3E0768640208AA29D6B /* RxPickerViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxPickerViewDelegateProxy.swift; sourceTree = ""; }; + F58ABAF7BD1C45287DB622F97A91E363 /* WithUnretained.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WithUnretained.swift; path = RxSwift/Observables/WithUnretained.swift; sourceTree = ""; }; + F5A3274A27C2A4753A681D1F2B3BD2C7 /* OperationQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OperationQueueScheduler.swift; path = RxSwift/Schedulers/OperationQueueScheduler.swift; sourceTree = ""; }; + F69ED8B5779A77092441A1FAF84B41F2 /* Bag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bag.swift; path = Platform/DataStructures/Bag.swift; sourceTree = ""; }; + F6CBEA350B108B0889F334E6CE99AE46 /* Merge.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Merge.swift; path = RxSwift/Observables/Merge.swift; sourceTree = ""; }; + F78FDAE4C3B97F3BC8D5F7B46FB6B649 /* UINavigationController+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UINavigationController+Rx.swift"; path = "RxCocoa/iOS/UINavigationController+Rx.swift"; sourceTree = ""; }; + F819AF91CF337560B7B662DB9A0E2498 /* URLRequest+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLRequest+Alamofire.swift"; path = "Source/URLRequest+Alamofire.swift"; sourceTree = ""; }; + F99300286A934263B5C0B775C31BE933 /* RxCocoaRuntime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RxCocoaRuntime.h; path = RxCocoa/Runtime/include/RxCocoaRuntime.h; sourceTree = ""; }; + F9F3F7EA108A1D03D9742FB0D83F9E56 /* MultipartFormData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartFormData.swift; path = Source/MultipartFormData.swift; sourceTree = ""; }; + FAAABFE0516216019356175ED5209BAA /* ObservableConvertibleType+Infallible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+Infallible.swift"; path = "RxSwift/Traits/Infallible/ObservableConvertibleType+Infallible.swift"; sourceTree = ""; }; FB50A95F3BC6DC12244F2B76ABEBB9BD /* Pods-ShadowsocksX-NG-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ShadowsocksX-NG-acknowledgements.plist"; sourceTree = ""; }; - FBD8075FDD277652161C8676E945DE6A /* RxRelay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxRelay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - FCF992D22D15D6CF73AF4D310FEE871C /* SingleAssignmentDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SingleAssignmentDisposable.swift; path = RxSwift/Disposables/SingleAssignmentDisposable.swift; sourceTree = ""; }; - FD07F15ADFC693A5C730840EA2B42015 /* AsyncSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncSubject.swift; path = RxSwift/Subjects/AsyncSubject.swift; sourceTree = ""; }; - FD39BD9C1B852EC7AC7CD7D77D1E606F /* ObserveOn.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserveOn.swift; path = RxSwift/Observables/ObserveOn.swift; sourceTree = ""; }; - FDCA53BCCEFF4720A955F8202537A982 /* WKWebView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "WKWebView+Rx.swift"; path = "RxCocoa/iOS/WKWebView+Rx.swift"; sourceTree = ""; }; - FDF7D102C3DA0493A530D68E569DA7CF /* sv.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; name = sv.lproj; path = Resources/sv.lproj; sourceTree = ""; }; - FE18557905075BFBE5AFBE3A0D9287F4 /* PublishSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PublishSubject.swift; path = RxSwift/Subjects/PublishSubject.swift; sourceTree = ""; }; - FE3AAA7586F734974B628C45E2310229 /* Using.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Using.swift; path = RxSwift/Observables/Using.swift; sourceTree = ""; }; - FE6138E84780096ADB31F55549931FC6 /* RxSwift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxSwift.debug.xcconfig; sourceTree = ""; }; - FF5FCDE3BD3C3E02C0A0B3D529BF6982 /* CombineLatest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CombineLatest.swift; path = RxSwift/Observables/CombineLatest.swift; sourceTree = ""; }; - FF8B264DFE802855D5D67E7CDDABFC3C /* RxRelay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxRelay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + FBEAAD00894195B3938039EA3284D796 /* RxTableViewDataSourceProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDataSourceProxy.swift; path = RxCocoa/iOS/Proxies/RxTableViewDataSourceProxy.swift; sourceTree = ""; }; + FC1A0514A77FE30ED38692270CAD7209 /* Infallible+Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+Operators.swift"; path = "RxSwift/Traits/Infallible/Infallible+Operators.swift"; sourceTree = ""; }; + FC94AA7AC5D52B5FD296C4B2B727DB65 /* InfiniteSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InfiniteSequence.swift; path = Platform/DataStructures/InfiniteSequence.swift; sourceTree = ""; }; + FD7FC10E44C5F27E0F747F7C11EAC677 /* MASLocalization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASLocalization.h; path = Framework/UI/MASLocalization.h; sourceTree = ""; }; + FD9D6E7BCAA76B372F40977D8F7CF680 /* BehaviorRelay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BehaviorRelay.swift; path = RxRelay/BehaviorRelay.swift; sourceTree = ""; }; + FE99CEF7C18373C783D02CFD50F55410 /* ObservableConvertibleType+Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+Signal.swift"; path = "RxCocoa/Traits/Signal/ObservableConvertibleType+Signal.swift"; sourceTree = ""; }; + FF3F7B4090B424F5670EBE41C8C81E73 /* Completable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Completable.swift; path = RxSwift/Traits/PrimitiveSequence/Completable.swift; sourceTree = ""; }; + FF753CBC9955D3F0EDAF20B3C760EADC /* Notifications.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Notifications.swift; path = Source/Notifications.swift; sourceTree = ""; }; + FF8B264DFE802855D5D67E7CDDABFC3C /* RxRelay */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = RxRelay; path = RxRelay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + FF941B35CC8A67742F89ADEB18D7FB42 /* ObserverType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserverType.swift; path = RxSwift/ObserverType.swift; sourceTree = ""; }; + FFB575FB44B150B2ECEB0D21325D28D2 /* ShareReplayScope.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ShareReplayScope.swift; path = RxSwift/Observables/ShareReplayScope.swift; sourceTree = ""; }; + FFBBE9DD398DCD2D3763D7BDA82FE600 /* CombineLatest+Collection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CombineLatest+Collection.swift"; path = "RxSwift/Observables/CombineLatest+Collection.swift"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 1514A9A36FD5740CCE236AFAF1DAC5C6 /* Frameworks */ = { + 0A8210914F2B4C0E6CDA1758CD78EF19 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 1FA3A6F0773C5D86C7DFEF86BCF54070 /* AppKit.framework in Frameworks */, + 06E689EAE82BAFB010CD741C40221167 /* Carbon.framework in Frameworks */, + 7F59999179584A86DC8922AF1D751E96 /* Cocoa.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 44ABA0E4566A87964594C3AB0F7D2048 /* Frameworks */ = { + 0E97C73FB0533A5FE6ACE7C9A8AE712B /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + FF9EB053904D3592FFAF35CAEFAD1D1B /* Cocoa.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 6E9985F3EEB339730D49B3D0181E6029 /* Frameworks */ = { + 20CF7B67CEDF0B34149F25ECE19505A3 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 2E0722133679D5C422D0EC5ACB8B23A1 /* Cocoa.framework in Frameworks */, - A24E8834A85F99EF471C495AD4EFACAB /* RxRelay.framework in Frameworks */, - 9131DD9E2CB7420C156461E56835AE6E /* RxSwift.framework in Frameworks */, + 452ABC56EEFE08C4F2C24C25D6DB54BE /* CFNetwork.framework in Frameworks */, + 8DE60863E0628717AFB9325CD1A925A5 /* Cocoa.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7B690F32F695B6718D43BA3D3544C78C /* Frameworks */ = { + 3815199586A32EC9662F1183F7B05559 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8314F89A5274810933307BC20E85D3B0 /* Cocoa.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - B3C5909F9901CF3F5237F1832E214556 /* Frameworks */ = { + 7402A422B226AF7270D89AFE43493BBF /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 6A2F2216A64E4B4E0FD6215A2F5E692D /* Cocoa.framework in Frameworks */, + 6B6F109DCAE28A80DEB70167AFAC3BBD /* Cocoa.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - BA30161BB5D2E74710CBABFCC20E409F /* Frameworks */ = { + 876E39FE7560C15D1A0691D402339570 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F654788A27A296CD2C1F104B4C897EF0 /* Cocoa.framework in Frameworks */, - FB3AD79C536DC201CED66150778FA691 /* RxSwift.framework in Frameworks */, + BD4D947D414A257A3CB825F0A819AE64 /* Cocoa.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - C2D4774AB2F0BFB25B60914F66C457AC /* Frameworks */ = { + 9532C1937EB2EE966BBCB3E6BA69B665 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E03556E8EC8DA4FF0DE3ED6F86BD7C51 /* Cocoa.framework in Frameworks */, - EC388029B45DC677A2412CF1617E4DF1 /* SystemConfiguration.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - DA3A32D96D94A82A8FFE804468C37DB4 /* Frameworks */ = { + 9ECE139DCC04616BA897E487295B1CE3 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 262EBFD1844224838811BD9E1726CD73 /* AppKit.framework in Frameworks */, - 88665F16CDF39BC2A50C6619169E6EDF /* Carbon.framework in Frameworks */, - 96E6F7A2D012051B29BC9147340E5117 /* Cocoa.framework in Frameworks */, + 8A27623AD4E7175402A6151D2ADDCC3C /* Cocoa.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - E4B8CC1E36A98FF4D8BDAC84442F0DCE /* Frameworks */ = { + A96835D81104117F7C487885832DF7F8 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 9A1CDAE2E9AFFFDBC654855D4A8C6D36 /* CFNetwork.framework in Frameworks */, - 4C3A9F4F5A688009D660C0FA5E5D81BB /* Cocoa.framework in Frameworks */, + 9DD51D67336AD13F67C6C96E83750F61 /* Cocoa.framework in Frameworks */, + 69BB67FDE3B6D34B598357983972B892 /* SystemConfiguration.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - EE0D52842751CED2CD0BD2633A30FEA4 /* Frameworks */ = { + AF2A718A9B700EF879EB09BBB7890E98 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 0F83F817EA7EBA0367F0AAD1CA3DF7C6 /* Cocoa.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - F4AB20C615B7CE4E912D4031FF0A52C8 /* Frameworks */ = { + DAC067F80F15D56E49E90CA0C6D648E1 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 896AD4C4865ECEA0A8344B54BBA3B9E1 /* Cocoa.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1077,97 +1079,192 @@ path = "Target Support Files/Pods-ShadowsocksX-NGTests"; sourceTree = ""; }; - 0AE53B8F7176B22FFD63627F9D926CAF /* Support Files */ = { + 031E33915404A7D6A7DB66BAC7EB9CF3 /* Support Files */ = { + isa = PBXGroup; + children = ( + C94E0AC8C9C8620F57D0049FC338ED51 /* BRLOptionParser-dummy.m */, + DAF8B7C1E07626301B84CE4363D0750B /* BRLOptionParser-prefix.pch */, + E2EF744076CE53F872243679F895A29A /* BRLOptionParser.debug.xcconfig */, + 41A3F20DC6ACA43ADA5210B53FF97E15 /* BRLOptionParser.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/BRLOptionParser"; + sourceTree = ""; + }; + 12D0A91514A7595198715E3EA56436AE /* Support Files */ = { isa = PBXGroup; children = ( - 336A70440B171C2C6AEE66F83620273A /* Alamofire.modulemap */, - 06A09DBC68AE0A93F94442D71EBF343F /* Alamofire-dummy.m */, - F57A5448A0A790BED406AB47ED75D7B1 /* Alamofire-Info.plist */, - 1A2C716EE769E98BF094D14B243A42C2 /* Alamofire-prefix.pch */, - 10E99E50E2994DB7AD9AEBDEF1A2F72B /* Alamofire-umbrella.h */, - 75EA425CE2A4DBDDEB580C7303DD2454 /* Alamofire.debug.xcconfig */, - 848DD5BA5CA758D1F00A7F6F947019EB /* Alamofire.release.xcconfig */, + 2EB924D0A36237BD6F163933F6C75001 /* Alamofire.modulemap */, + D007371B5C32973A8D7D3A78DB7C195E /* Alamofire-dummy.m */, + DB3E9697C2CAA0ADA5337CD8722C85C4 /* Alamofire-Info.plist */, + F291BFC60BE59D38AF1411EF54A08EEB /* Alamofire-prefix.pch */, + 64A3880E0B63F6FD4127BFA6D5590473 /* Alamofire-umbrella.h */, + 7C4F8C828CA18CBB5B2349F72D67F295 /* Alamofire.debug.xcconfig */, + 6CEF73DE3398CF6EC6240A4670A86CFE /* Alamofire.release.xcconfig */, ); name = "Support Files"; path = "../Target Support Files/Alamofire"; sourceTree = ""; }; - 14F38608C29A913E1DD0D624DE663510 /* Pods */ = { + 15AEE13F26A353A224E02DA4168A77E8 /* Support Files */ = { isa = PBXGroup; children = ( - 2FBE37D8419906C6110EC34FC53F14BE /* Alamofire */, - D20BAD07D23FBA7AA269B9FA80FE8BF3 /* BRLOptionParser */, - 25954B3ABFDB5497C48E76FDE256C24A /* GCDWebServer */, - D71126DFC6989B0EEE224402B0C7852C /* MASShortcut */, - AF01C03E9E6BF3B668D35EEF202AD7A0 /* RxCocoa */, - 6B3DE0B21DFC168E060A8E9C9EC74C3A /* RxRelay */, - 62066982AA2FE77C183DF3046C898E34 /* RxSwift */, + D737C6C58FBC18591D46A45344746F92 /* GCDWebServer.modulemap */, + D2EEDFA22C04CA3D90C2A2745E60DA3F /* GCDWebServer-dummy.m */, + A095659684F104C17AB76DD8C10825E4 /* GCDWebServer-Info.plist */, + 1FF830CD5C4B919977BAEB2456833D3B /* GCDWebServer-prefix.pch */, + 6C57120B628334F42293D3812EEC58A2 /* GCDWebServer-umbrella.h */, + 65940BEF454F1034165DC086B4F81208 /* GCDWebServer.debug.xcconfig */, + 18C6454190AF6299CCD9431AAA6FFAB7 /* GCDWebServer.release.xcconfig */, ); - name = Pods; + name = "Support Files"; + path = "../Target Support Files/GCDWebServer"; sourceTree = ""; }; - 165807E7BFFB1F57C0BA71AD827D588F /* Support Files */ = { + 164863C1D010E65986D158ED96EC1F9D /* Support Files */ = { isa = PBXGroup; children = ( - 1389D4639C0D9038BA081FA8DC1CD646 /* BRLOptionParser-dummy.m */, - 9D407239EE1987EFBB2A7EB11F70BFCF /* BRLOptionParser-prefix.pch */, - 5EE446AD8C625612BFF0E37E4419E0FD /* BRLOptionParser.debug.xcconfig */, - C3B6C103B3C3936D11BF01C71C0EE380 /* BRLOptionParser.release.xcconfig */, + A0BE63FDCAF2892CB42B5E10022E2632 /* RxSwift.modulemap */, + 18F2E48E25112EB80DD0D3454EDF16DC /* RxSwift-dummy.m */, + A7270845E2410708A8079D504609D55A /* RxSwift-Info.plist */, + 5777FE8905648D46454A4788A8D64788 /* RxSwift-prefix.pch */, + 2DF8613B9CCB98109E681DC1CD63A305 /* RxSwift-umbrella.h */, + 5B4F918932DC61FD281B0DA342959B4E /* RxSwift.debug.xcconfig */, + C7ED557A33FC9B30913EAC4B47B37689 /* RxSwift.release.xcconfig */, ); name = "Support Files"; - path = "../Target Support Files/BRLOptionParser"; + path = "../Target Support Files/RxSwift"; sourceTree = ""; }; - 25954B3ABFDB5497C48E76FDE256C24A /* GCDWebServer */ = { + 1C67B593098B8DFBDAE66FC364352FFC /* RxCocoa */ = { isa = PBXGroup; children = ( - 7D5BF41D87EA0E33C1D9986ADA4BDA51 /* Core */, - F7E043D77B41FA3B6662AD3E792046E8 /* Support Files */, + 3F9BA9538F2B971FC34BE7028A9E70DB /* _RX.h */, + 5C7FB0C7D41112AA7C5ABFAA12B510B2 /* _RX.m */, + 0F70711E654F4BBAD0596F86BCA3C888 /* _RXDelegateProxy.h */, + 656AEE7E80D2E832E14C523B8E4A7661 /* _RXDelegateProxy.m */, + 50727E77BDEF6E76095C122100062879 /* _RXKVOObserver.h */, + 8260A9D19D11ED884B1E6BE9E5A976A9 /* _RXKVOObserver.m */, + B149A8C38BE7F16C107272F6ABA14548 /* _RXObjCRuntime.h */, + AEFF466AA46EC948ED299B53DCD0E215 /* _RXObjCRuntime.m */, + F69ED8B5779A77092441A1FAF84B41F2 /* Bag.swift */, + 1C9F18861D86E1B3CCD8029C68CEFB81 /* BehaviorRelay+Driver.swift */, + E9BB469C029D6C1BF44CA8CE16FE1E64 /* ControlEvent.swift */, + D7F68AA4C71DE350DC293386A02AA2E5 /* ControlEvent+Driver.swift */, + 41EB9B265B76D21416C59A85B2461BC9 /* ControlEvent+Signal.swift */, + A1F2D7291E6958F70E49DED6E3BF29E6 /* ControlProperty.swift */, + A86B89BE2651169B6EB2EBBA8427B97E /* ControlProperty+Driver.swift */, + 8CEA48923432981EF903E40CFDF79766 /* ControlTarget.swift */, + 6E73B672CFD4CC3003C05A179520020E /* DelegateProxy.swift */, + 7B9D6431FF78BA37E55E5B3D3717BFBC /* DelegateProxyType.swift */, + DDE8F08A9E8EC28B4BE33084C87A0888 /* DispatchQueue+Extensions.swift */, + 671AB1791B016C61F0C6549D08F0BD1F /* Driver.swift */, + 635282F645B46F26C06E60575AE3B00F /* Driver+Subscription.swift */, + AC6CB85A5001635067D55D2CE0B5C9B9 /* Infallible+Bind.swift */, + 74E8004F30877F3D613F3101239B3171 /* InfiniteSequence.swift */, + 3690C26E02E9D7DF329C57EFC691EE29 /* ItemEvents.swift */, + 1EC07C5384264B22A157A387A72CCBDE /* KVORepresentable.swift */, + 6B65CF9C022314716AB80900036C7EAE /* KVORepresentable+CoreGraphics.swift */, + 5D0F56EFD598440991E392C3E4790207 /* KVORepresentable+Swift.swift */, + 1267CEEB56120FD2F045A5976E61645A /* NotificationCenter+Rx.swift */, + C947525B426B362C8203934373208157 /* NSButton+Rx.swift */, + 4572022411C17BF51ED99D06B66B9FA0 /* NSControl+Rx.swift */, + 8EE82638039845A907B2AE701F01EB6A /* NSObject+Rx.swift */, + E093955708F7D7CE63497D298B066AF4 /* NSObject+Rx+KVORepresentable.swift */, + 430B12EB94CF6C2CFC591FD745A07004 /* NSObject+Rx+RawRepresentable.swift */, + 014D86E59B82F4EA0F68EC9AEA6F1E07 /* NSSlider+Rx.swift */, + 8E056392010C47F7C684843486C13614 /* NSTextField+Rx.swift */, + BF7A8F913EE0F9EC4EEA067263A55C16 /* NSTextStorage+Rx.swift */, + B132AB9D1ED88D00EFF1E0D0C659F8C0 /* NSTextView+Rx.swift */, + 9669D8F039ADFEC331E15B4920299911 /* NSView+Rx.swift */, + 6B177D229C57B64FE6039D8AC92C6378 /* Observable+Bind.swift */, + D3318EC278302AB2BD1FCA8A8EFCE3C7 /* ObservableConvertibleType+Driver.swift */, + BC71F6C41C4E5995C31D3BD4366E1138 /* ObservableConvertibleType+SharedSequence.swift */, + FE99CEF7C18373C783D02CFD50F55410 /* ObservableConvertibleType+Signal.swift */, + AE765A58C225D35C125565456C29E208 /* Platform.Darwin.swift */, + 7A23ABFEBD66BE17527C826A602E427F /* Platform.Linux.swift */, + F0EBAAA7BD3B4A773D32FCEB6E0C7563 /* PriorityQueue.swift */, + 0E99DB904BE3F5A8B4C18DB0EBEB8B11 /* PublishRelay+Signal.swift */, + 4DDAAFC70DE4978DCCADD0DFDCF6FC18 /* Queue.swift */, + 2D379EB968A74DABD21FD0AEFE5A6A2A /* RecursiveLock.swift */, + C3A16BFEADC40CC728024772C6452F21 /* RxCocoa.h */, + 60C657F82CB9250FEB84149A4508A8CF /* RxCocoa.swift */, + 2F6837FEF771D5935E144B379E5F88A8 /* RxCocoaObjCRuntimeError+Extensions.swift */, + F99300286A934263B5C0B775C31BE933 /* RxCocoaRuntime.h */, + B313C5D58D0E168A0D97DD4913659502 /* RxCollectionViewDataSourcePrefetchingProxy.swift */, + 3E64CD6C971CD4187200B46FFF8BADDB /* RxCollectionViewDataSourceProxy.swift */, + 6EDC27DAA842ADF912C0833851E30E58 /* RxCollectionViewDataSourceType.swift */, + 962DD2DC965E46D0AC14F2280FE93164 /* RxCollectionViewDelegateProxy.swift */, + 930BB733C888B5672C3297BD4F9BE685 /* RxCollectionViewReactiveArrayDataSource.swift */, + 696DC75370555D534D5D1B7619A84C13 /* RxNavigationControllerDelegateProxy.swift */, + 53D96F2DD703AA4AB9ACFAC2D60C1C08 /* RxPickerViewAdapter.swift */, + 30E27FCCEB4558EC1E85984F78A4AF21 /* RxPickerViewDataSourceProxy.swift */, + 40A515817D572CA14681F3DC01EBB26A /* RxPickerViewDataSourceType.swift */, + F4D8A4AD795BD3E0768640208AA29D6B /* RxPickerViewDelegateProxy.swift */, + 0EBD9E9CC7F7291C0EF63239434B0FA5 /* RxScrollViewDelegateProxy.swift */, + DEC1198C70484AA5C5EDEFA6FE308EAC /* RxSearchBarDelegateProxy.swift */, + 32693431B98346A6E2CA72513716389B /* RxSearchControllerDelegateProxy.swift */, + 1A57B938452DB85051BBB46EBDE95EF5 /* RxTabBarControllerDelegateProxy.swift */, + 8F586EF12D92A360E2794E62B12B7D41 /* RxTabBarDelegateProxy.swift */, + A798C1FEED23FCDE88564CCF15EB6F80 /* RxTableViewDataSourcePrefetchingProxy.swift */, + FBEAAD00894195B3938039EA3284D796 /* RxTableViewDataSourceProxy.swift */, + B34055EA479E9B7EFB03684593A3AB72 /* RxTableViewDataSourceType.swift */, + 4FA8730D6A1BFEEB0AC605DC5B679A64 /* RxTableViewDelegateProxy.swift */, + DC7F5AF7100A7371FE87143D0C656229 /* RxTableViewReactiveArrayDataSource.swift */, + 16C7749A02F3830FD82CBB94ACED6EC4 /* RxTarget.swift */, + EE3C6AD22E975E2CFAB59017D8F5B19C /* RxTextStorageDelegateProxy.swift */, + 6A1E2EEEFF1000CE076AEE01F814DD72 /* RxTextViewDelegateProxy.swift */, + 8058F8FA1996F9DDF826174FC66BDE26 /* RxWKNavigationDelegateProxy.swift */, + 06A8BE88425EDEFFE5F442D4B4597830 /* SchedulerType+SharedSequence.swift */, + E7B6E62CAE81DC82140DA31A1FF34126 /* SectionedViewDataSourceType.swift */, + 7606BAC6953A1907D884E30A12291B66 /* SharedSequence.swift */, + 5A31C36F574D3AE3E717AB557ECBFF89 /* SharedSequence+Concurrency.swift */, + 36483C07BBCA83AC03CEE38569548EDD /* SharedSequence+Operators.swift */, + 7F7724C2E0531F16AFF3EB28C5029C8E /* SharedSequence+Operators+arity.swift */, + 8EFE10D2326E198A91DCF8DDA343BBE6 /* Signal.swift */, + 6F3D6D69472B6B83B5651B144D1D2670 /* Signal+Subscription.swift */, + B47915552EAE918A6D8FC2A35AF5C883 /* TextInput.swift */, + F0A73B6F779FACA103F3CD8745E4A39C /* UIActivityIndicatorView+Rx.swift */, + 64B111695766BEB2618F2952E93D351E /* UIApplication+Rx.swift */, + CD399408DDAC2A33A3E75E5833691BA7 /* UIBarButtonItem+Rx.swift */, + A0690390D7CE8D03DFE5A3068017ABED /* UIButton+Rx.swift */, + 779809B62651DE3F091A8292E5BAA8C3 /* UICollectionView+Rx.swift */, + C816D3128A36A1E5BBDAAC91355DEE41 /* UIControl+Rx.swift */, + AEF2A4D34DA455F038463728E6CCC730 /* UIDatePicker+Rx.swift */, + 94BBFAADDB26AC75A65DBB7A8C1ADE4F /* UIGestureRecognizer+Rx.swift */, + F78FDAE4C3B97F3BC8D5F7B46FB6B649 /* UINavigationController+Rx.swift */, + 5C2543EF0849519DB393C50448C3FCA5 /* UIPickerView+Rx.swift */, + 2F9A934B020E7BAD8DE7CDCD33CC14E7 /* UIRefreshControl+Rx.swift */, + 977565D9DB39ED993109D0B241605A08 /* UIScrollView+Rx.swift */, + DAF8B4EB3C1C2EFA5B2F20EAB97ECD94 /* UISearchBar+Rx.swift */, + A2F22930B3947B0755CD20014AC3F4DA /* UISearchController+Rx.swift */, + AF575F54188EB69DD0D5955BF62BEFA7 /* UISegmentedControl+Rx.swift */, + 33FA8AE2347C4EE55E045065587F0AAC /* UISlider+Rx.swift */, + 52A9EDB10C045A48EDA9E01842F49D48 /* UIStepper+Rx.swift */, + 7CEB34E7DA4CC9CBA2FDD18EDDC86840 /* UISwitch+Rx.swift */, + 49212E4D5AEBE8A252627A379DEA2ED1 /* UITabBar+Rx.swift */, + BA082DFD4CA11A2BC241153B8DCA3751 /* UITabBarController+Rx.swift */, + E3745E32BFCA99EAF512B4D01BBB6825 /* UITableView+Rx.swift */, + 8A10EBC69D52215CD012AE90091B8363 /* UITextField+Rx.swift */, + E338D0F008765585EBB7C1C3D75556E1 /* UITextView+Rx.swift */, + 096CD3825785B69BCAB953A053429860 /* URLSession+Rx.swift */, + DCC2AC628B606D5CC00CCEF11AE00C47 /* WKWebView+Rx.swift */, + C716AB2F54F28E008F559D34AE31890B /* Support Files */, ); - path = GCDWebServer; + name = RxCocoa; + path = RxCocoa; sourceTree = ""; }; - 2FBE37D8419906C6110EC34FC53F14BE /* Alamofire */ = { + 2E828B10E6D73DB9F9FA81390A159AEA /* OS X */ = { isa = PBXGroup; children = ( - 6D8A09F0F8EDB0B1A568AA29A33D62EA /* AFError.swift */, - 2E656BCAB89EA23EC58A161ACF0DAE68 /* Alamofire.swift */, - 19AA7CC35C97B4BDF08E2E5CE20955E0 /* AlamofireExtended.swift */, - 2E101994FDA2210D6CD7972A656C511F /* AuthenticationInterceptor.swift */, - 32EC506B43DB4AE47634A8AEE18D9E8C /* CachedResponseHandler.swift */, - 9F78589C2F1DDF07DF58CD22F6835B19 /* Combine.swift */, - 41ADA85A38ECDBBD122B707DA599E641 /* DispatchQueue+Alamofire.swift */, - 4E0CDE6403F2AF9E108FF190F90FA9FF /* EventMonitor.swift */, - 3425B3045259FEA3A238D183DEEE520B /* HTTPHeaders.swift */, - 403ABCCF5634DCD99A376EAA601F828E /* HTTPMethod.swift */, - D7453403FEE25F56521DBB8A39EA0204 /* MultipartFormData.swift */, - 9CF5ADA01C91A2DF993314D6CC9C63D3 /* MultipartUpload.swift */, - F5102E62600D264D29633030E490AAE6 /* NetworkReachabilityManager.swift */, - BEEC0450A3B1A48A304AE8BF1DC03429 /* Notifications.swift */, - 26DA8062B81F764A6EEA6168DF6337AB /* OperationQueue+Alamofire.swift */, - D7ED9E80778846168B6F3F867C04F6AA /* ParameterEncoder.swift */, - ECF8CD0A416163A50B72AAF4B0C4A124 /* ParameterEncoding.swift */, - 43D1B54DDFE366EA8E657D1CFA2A5349 /* Protected.swift */, - A32434EC299FDE302FFF9F31EB8735D0 /* RedirectHandler.swift */, - 9029CBEE1EB8EBFDFCC3F55CEC98E088 /* Request.swift */, - 80B5C55F7279E38D15E19E9DEDDEDE7B /* RequestInterceptor.swift */, - EF8D2E7C64775F0DD477127B5EC2E0AB /* RequestTaskMap.swift */, - 0D09EFC8E8E0DD0BACEB39FA20E08331 /* Response.swift */, - 48CB9D3553F121F84DBB750A8FBE0F3D /* ResponseSerialization.swift */, - CD2C25316E1BF4F3230E3412417481E6 /* Result+Alamofire.swift */, - 3B85D80911EDFC7DD402EBEB3A05169A /* RetryPolicy.swift */, - 90E9219489B97BDFE17BA3231CC465FC /* ServerTrustEvaluation.swift */, - 996DFC2DB5C2F37F0E623EB885F5DEB5 /* Session.swift */, - B7045A3758C33721435A4135DBC6A8AA /* SessionDelegate.swift */, - C8305C9D0B89A4CE30258C61DDD5A342 /* StringEncoding+Alamofire.swift */, - AE6768B8A7BED83ED5C93BB3439EFFEF /* URLConvertible+URLRequestConvertible.swift */, - 5D0A2A589A608DD00CA24C86BCD46E62 /* URLEncodedFormEncoder.swift */, - 47291D90953698297410B0C37E619402 /* URLRequest+Alamofire.swift */, - 83FE5C08C0F9F63C9A7D2B71EF9F0864 /* URLSessionConfiguration+Alamofire.swift */, - 151A22449BAFE60147DA302082A00FA1 /* Validation.swift */, - 0AE53B8F7176B22FFD63627F9D926CAF /* Support Files */, + 34ED2C103D2EE19749677CB8DC7533F4 /* AppKit.framework */, + E4F2579AE72F6DD9B6256C7D49D10422 /* Carbon.framework */, + 59894EE39CF11C03D85FA6F97E18E8FC /* CFNetwork.framework */, + 775A6C13A2C7C50A8FCD730CD47806FA /* Cocoa.framework */, + BB573A2ED725E33BB5FC290ECA094E39 /* SystemConfiguration.framework */, ); - path = Alamofire; + name = "OS X"; sourceTree = ""; }; 493933EC245DE8B9BF6A90C4A901306A /* Targets Support Files */ = { @@ -1180,293 +1277,263 @@ name = "Targets Support Files"; sourceTree = ""; }; - 4AE2520FB25EC7AF2FA83B8E69D00ED0 /* Support Files */ = { + 5A431039784D88FBCF94D3C76F9D6272 /* RxSwift */ = { isa = PBXGroup; children = ( - 8C1810C471075F4E78D93E645BD7F63B /* MASShortcut.modulemap */, - 6B668707F7C66384A3BB8BC4FE3F41E6 /* MASShortcut-dummy.m */, - C535813B1010A4B0BEBADE15AD42DC2E /* MASShortcut-Info.plist */, - 7720FEFA630547FDE17C156840E36CC6 /* MASShortcut-prefix.pch */, - 930EB20F00FF48CAF9B19505BC219504 /* MASShortcut-umbrella.h */, - 70C291AA3C3CEE619534F472C4F04882 /* MASShortcut.debug.xcconfig */, - D231BAD0830AAA293F76CB7428ADA704 /* MASShortcut.release.xcconfig */, - 9EF2C4A08C5514586AFFBB5AE22A99ED /* ResourceBundle-MASShortcut-MASShortcut-Info.plist */, + E5B47DA578C7E3A406C5F874E0668047 /* AddRef.swift */, + 27055488534F6A6E3CF87C16E7D0C092 /* Amb.swift */, + 5FF66B1AF009CD60FCC6F7AA535E8D8E /* AnonymousDisposable.swift */, + 9BEB6EF28493C1C91BA9D776ACACA4D2 /* AnonymousObserver.swift */, + 08E4D506DA477D3B7C178209DE2A200D /* AnyObserver.swift */, + DECEB5F91A2F6F2D1B5F8355FB36E886 /* AsMaybe.swift */, + B0048BDA7B0DA8396046085FE62AAB92 /* AsSingle.swift */, + 90EF02E85A20C909F307BFEEB385CDE0 /* AsyncLock.swift */, + 4D3228BE4FC6FEBF9E4DD962D89D838C /* AsyncSubject.swift */, + 907E4D689CB3CCCF5C1FEAE3BC2382A7 /* AtomicInt.swift */, + 92EA709DC3EA80EE422F8EFE216D654D /* Bag.swift */, + EBDC332D123C6CCBF7F197D038718C9D /* Bag+Rx.swift */, + A1DDBC2E8C6E39D36CEFD36943025308 /* BehaviorSubject.swift */, + 15DFF0AA37E1E922210DF5D0620E39E3 /* BinaryDisposable.swift */, + 687BC2869AACFF1B09470C93D4DC3593 /* Binder.swift */, + 584033FD126401E2888402CB15ECA8E2 /* BooleanDisposable.swift */, + 21640EC4DE8B34FF9C41BD8CAEE549E1 /* Buffer.swift */, + 7A37E6B8781C125442DE7222246AC236 /* Cancelable.swift */, + B8578CD36481891CB3F62B36071EADF0 /* Catch.swift */, + 5F12637F4D1B5E61C8AA418063BF8658 /* CombineLatest.swift */, + 79648DBA9B9D99F42B5DA9FEE7299815 /* CombineLatest+arity.swift */, + FFBBE9DD398DCD2D3763D7BDA82FE600 /* CombineLatest+Collection.swift */, + DAB3B55ED49AD990F27921D57251BBD1 /* CompactMap.swift */, + FF3F7B4090B424F5670EBE41C8C81E73 /* Completable.swift */, + 1CEF379498BB188E7923BC15C3D9E4B8 /* Completable+AndThen.swift */, + 1720C3A5E95C03167250EB07E74CDD85 /* CompositeDisposable.swift */, + 7DDA8B26CD511391BB6D3A0FB169D7D2 /* Concat.swift */, + 5E773939C934D7EAA4A1CCC715105689 /* ConcurrentDispatchQueueScheduler.swift */, + 7AA8D73E04FE894B7CC39C6F036BE385 /* ConcurrentMainScheduler.swift */, + C556CB839FEFB35D70DE56C8545CA4FF /* ConnectableObservableType.swift */, + 410B30D245645CD29C9B637ACB25E965 /* Create.swift */, + 444DD09E60D2F64AA8444674834DB638 /* CurrentThreadScheduler.swift */, + DD39A639363B95816D608A6A4C5622E0 /* Date+Dispatch.swift */, + 9A4FC8C5D64E70B4243889F747A96759 /* Debounce.swift */, + 20FBE41EDCAEB94C171DF589C72E5A52 /* Debug.swift */, + 507D61EB6B72F98F27D46FBF4A4E5BCF /* Decode.swift */, + F0B3FDDCC8429ABE465984BB0D5B716F /* DefaultIfEmpty.swift */, + C4FFE056544DD08DC565D45DAD4CC691 /* Deferred.swift */, + C46BCC7C16014A337199C524B8BF169F /* Delay.swift */, + 75898966AE6114412893A92CD111BEFE /* DelaySubscription.swift */, + BB7CE57ED65BD107011E99F57ECC6A61 /* Dematerialize.swift */, + F3FAF08569914D800FBB77D94F8CA155 /* DispatchQueue+Extensions.swift */, + D713A1A7001B98E7643E77B34948B0B6 /* DispatchQueueConfiguration.swift */, + 61A5715B11567EEE920C4FF4B171DD1E /* Disposable.swift */, + B47CD6DE02149D4259E550A53C5CEAC1 /* Disposables.swift */, + B006F15C087BE6137A58081F78689AD0 /* DisposeBag.swift */, + D90202E02D3BC6CC4040C6297BB45361 /* DisposeBase.swift */, + DE9AB36E2BA4EFE0ED2CBBAD11042A57 /* DistinctUntilChanged.swift */, + 1DFDE89D41E398EC6E891B15AAFE5AC7 /* Do.swift */, + 774E293236E0B1DA33299FA64244F1AA /* ElementAt.swift */, + 4A7E4749F000D2F0B4C47C52D4737FFC /* Empty.swift */, + EC73922535D191E3672CA214133EADB0 /* Enumerated.swift */, + 12B0BA22334C1EE7C7A974FAA5F91ABC /* Error.swift */, + 7EFF8A84A7AA91D68DCD5391C11671DB /* Errors.swift */, + 1F2E7CB4A21C0853799A26305259C67C /* Event.swift */, + 01FA422DE40777935F20098DD1B27999 /* Filter.swift */, + 6C31593A17D4BB953FD42CFA086E49AD /* First.swift */, + 4A8F040847E21E6117A5D959A9CE1D40 /* Generate.swift */, + 64F9F62075830F151EBAF1188B9EDA75 /* GroupBy.swift */, + 3AEFB50A7B93944F2324E907AF6EF4B8 /* GroupedObservable.swift */, + A36DE33CFF4EA2091522F6B2C2C5AB56 /* HistoricalScheduler.swift */, + 0303CE67439B86F95A5F30F551715C22 /* HistoricalSchedulerTimeConverter.swift */, + EFF609E54FAF8A3E557D3AFBF9175D37 /* ImmediateSchedulerType.swift */, + ED00544EBF14CE50DB59827BA54CACC5 /* Infallible.swift */, + F21EAF77FDEC4FA3BCBBCC724A148D92 /* Infallible+CombineLatest+arity.swift */, + 0B6E0C1C0779A1BDF126391E0A57D813 /* Infallible+Concurrency.swift */, + DA2000B64EBE40E05BE0FF20BF010DF9 /* Infallible+Create.swift */, + FC1A0514A77FE30ED38692270CAD7209 /* Infallible+Operators.swift */, + 865561D523F149A573B5FF730D35C946 /* Infallible+Zip+arity.swift */, + FC94AA7AC5D52B5FD296C4B2B727DB65 /* InfiniteSequence.swift */, + 1502CC5F117C1A2E65DAF0EBD063E83C /* InvocableScheduledItem.swift */, + 65636F24F254B0DA48D32700B93D5EC6 /* InvocableType.swift */, + 05FE2AD464C7BF337123F1A23F43A4A8 /* Just.swift */, + E0D1E4D2720FEE99EE28A91AC2870C00 /* Lock.swift */, + 2CEE1342C080FBA4C08E996D1941576A /* LockOwnerType.swift */, + 19DD09CCB82CF1D81F9B31A54FD9C5DD /* MainScheduler.swift */, + 28A725CED2B91464E6C927D05570A106 /* Map.swift */, + 2E20826792C3F3A80A8754BE96649C4C /* Materialize.swift */, + 885563EF4C86A4554739A4D4B60D9E63 /* Maybe.swift */, + F6CBEA350B108B0889F334E6CE99AE46 /* Merge.swift */, + 38193DD6C0BBDFCBA79A8898DD0F5650 /* Multicast.swift */, + 9D8274AA9FC1CA06C97CA6286966F0FA /* Never.swift */, + 8DD14B293979F3FD0EE1532F69F646FA /* NopDisposable.swift */, + 952C70F572C07576837F89D2BA3A6E18 /* Observable.swift */, + 63149FD87147213D7E080E620AE4D35D /* Observable+Concurrency.swift */, + 7A8C6C885B11A81D52E0B4E3358F86C9 /* ObservableConvertibleType.swift */, + FAAABFE0516216019356175ED5209BAA /* ObservableConvertibleType+Infallible.swift */, + 1BB440EB1ECF4EF45EDE5FBE80B31751 /* ObservableType.swift */, + AD0D41E4E168FD9315E1DA98A6935A51 /* ObservableType+Extensions.swift */, + 6F1C7F9A8EE75A48FB824C608CFACF2B /* ObservableType+PrimitiveSequence.swift */, + 181DF3AB77646551CE2D9D1BD6A86F1A /* ObserveOn.swift */, + AF6C70FCA2B3635F8B84B58EE2F72320 /* ObserverBase.swift */, + FF941B35CC8A67742F89ADEB18D7FB42 /* ObserverType.swift */, + F5A3274A27C2A4753A681D1F2B3BD2C7 /* OperationQueueScheduler.swift */, + A3DF585B86534FF9AC3CA3B6CC8DA72A /* Optional.swift */, + 1ECDA758165E6790FAE7FA3B90A6506C /* Platform.Darwin.swift */, + E56EF32752C87559079B80B330EDABDF /* Platform.Linux.swift */, + 5865C9124F17728546EFD907FEF21DED /* PrimitiveSequence.swift */, + 09FD646F5A1D9B1EF5F9958DB655DD9B /* PrimitiveSequence+Concurrency.swift */, + 0275DF96AF2D1C8B3EE0A46FE2B3E585 /* PrimitiveSequence+Zip+arity.swift */, + 5A7076BC81DD3F5A01EEF0582DD508A5 /* PriorityQueue.swift */, + 470345AF0C60461FDB177148C054347B /* Producer.swift */, + 3438FEF56AB580D576E3EBDB8A66CB47 /* PublishSubject.swift */, + 66AF23A879E6B63132BBDAECE8B16C14 /* Queue.swift */, + E88E91DACCBD45989990FE8BB7F3BF02 /* Range.swift */, + 6F269BD46AFE676BD9AD2A0F20B98CA2 /* Reactive.swift */, + 009E06ED0C889A6141D74F752E63188C /* RecursiveLock.swift */, + B5B91044D2B831D63383A0F06BDD387F /* RecursiveScheduler.swift */, + F324C054EDE9A159CB6E25B984EC907F /* Reduce.swift */, + 8E78B172A308747E1A1AB79CF4305878 /* RefCountDisposable.swift */, + E68AA3D79D819489F51587F62001284D /* Repeat.swift */, + 4D02CB9F28A5ACCC6435C7257C7C9E57 /* ReplaySubject.swift */, + 863524789F6A6A001601944518DC77DF /* RetryWhen.swift */, + D8F5282CAAEB98373BB034FF2724C421 /* Rx.swift */, + 8B7CBDC69F93BECCD851D5FBD84262B2 /* RxMutableBox.swift */, + 4E2988907500F3BAC7C06246E6C0ABA6 /* Sample.swift */, + 5D51C50F4B015BFDDA967C26E796FA63 /* Scan.swift */, + F435463B7DEBD592F014B878F7B735CE /* ScheduledDisposable.swift */, + 6C8F218344B3917EF30B1E44536FCAFF /* ScheduledItem.swift */, + 91ACF157C2DC936ACE89CC43F055DFA0 /* ScheduledItemType.swift */, + 43729D9B5DB03B1BC46F7C68E6A00746 /* SchedulerServices+Emulation.swift */, + 06409BFEAFFBCD3D8F31DB592CCF3CD5 /* SchedulerType.swift */, + 9D530A3B292A3F977FBB9FE4BBD9FFF0 /* Sequence.swift */, + CDE1777E948471084F50485994501A99 /* SerialDispatchQueueScheduler.swift */, + 95A6BBC67C863E496F0286A3D6C95425 /* SerialDisposable.swift */, + FFB575FB44B150B2ECEB0D21325D28D2 /* ShareReplayScope.swift */, + AF75FD55B65DB7082B60EBEF726AD840 /* Single.swift */, + 5DCE5898FACBE16183428F56F66CCAAC /* SingleAssignmentDisposable.swift */, + E3A321BCB3E416BCEFDCCAC04057D6F4 /* SingleAsync.swift */, + 0242F9ECC827A21EC92B4B30C920E4F2 /* Sink.swift */, + 68E9767F6D9EDF8BF3633035BEE77D2E /* Skip.swift */, + C7EE55002794EA6709FA9B28FFCCFEB4 /* SkipUntil.swift */, + 1838C6B160E745FF0A75D4ED798BC03D /* SkipWhile.swift */, + 275141589DF5FDB6B902EF22CDAA90B4 /* StartWith.swift */, + 62891923BD65FB1018742A3A7EC53C24 /* SubjectType.swift */, + 016FC15793BB34F8A129444E1CE885C2 /* SubscribeOn.swift */, + EDDDBE8A8B396AA948EF844E3078F3A9 /* SubscriptionDisposable.swift */, + 6A79BEC98E69A2C5C03D3299A86FC49E /* SwiftSupport.swift */, + BEF7E13AFEB66355348465DE59B241D2 /* Switch.swift */, + 9333453F2D6FC62A5D744E4DB659F510 /* SwitchIfEmpty.swift */, + 59FF4BBF39A8F81CBB450508F27C00CD /* SynchronizedDisposeType.swift */, + 6400B2B598451DE9300C4D612CB45F9A /* SynchronizedOnType.swift */, + 6D803CC0D72130D96D3FCEABAD91D11C /* SynchronizedUnsubscribeType.swift */, + 0504AA6DCA9B2D96E5D5D9EC7F775349 /* TailRecursiveSink.swift */, + 629D440C07E30FDBD158AF581302319D /* Take.swift */, + 4CE4CEF008DC6589EEB34772EBBFAB72 /* TakeLast.swift */, + 0D98DD1A9BFD5B73AE9115FF6B8D901F /* TakeWithPredicate.swift */, + 37FDE0455962281829EA678FEAFA1E2C /* Throttle.swift */, + 3D95F72C85445990035BD522BB442C39 /* Timeout.swift */, + 2C6EA24AD2BB5847E9E0F7DBB7BE6EAE /* Timer.swift */, + 393193FDE1A69305270DAF46011DAAFA /* ToArray.swift */, + 30555C0335A4ED7F7326232B37F60335 /* Using.swift */, + F273F3CDA7F0F6D962FC2ADC5320157C /* VirtualTimeConverterType.swift */, + DE6B2BA7726D04EAFA6680D37A48D222 /* VirtualTimeScheduler.swift */, + A098ADFF8C57C325813C3A388F03580E /* Window.swift */, + BD141250853A8135F9C3FB046FB58E7F /* WithLatestFrom.swift */, + F58ABAF7BD1C45287DB622F97A91E363 /* WithUnretained.swift */, + AC751EA3C09AF53889B2664879A417F3 /* Zip.swift */, + AB3F3E2326436DD196BE2DEADFC24B94 /* Zip+arity.swift */, + A75B1903EDE9AF0E837F552C3B4B0ECB /* Zip+Collection.swift */, + 164863C1D010E65986D158ED96EC1F9D /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/MASShortcut"; + name = RxSwift; + path = RxSwift; sourceTree = ""; }; - 4C712514E3CDE5A583F0DA94CB23FB65 /* Frameworks */ = { + 643F713A0DAD5B1256CB540396E8A4CF /* BRLOptionParser */ = { isa = PBXGroup; children = ( - FBD8075FDD277652161C8676E945DE6A /* RxRelay.framework */, - BFD92A4EF88D0A6B34E86A6A7CE2436D /* RxSwift.framework */, - EE196A86A60DA3C09134F038D0679871 /* OS X */, + 84D562A22B993B1803E2ADF888B912BC /* BRLOptionParser.h */, + 57CD3F9440CB8BB69530F52C9DB19454 /* BRLOptionParser.m */, + 031E33915404A7D6A7DB66BAC7EB9CF3 /* Support Files */, ); - name = Frameworks; + name = BRLOptionParser; + path = BRLOptionParser; sourceTree = ""; }; - 5E0AA8A2AD4F95EB8CD37C35E2FC5D26 /* Support Files */ = { + 647913D42B3CAB53DB62C8081BA1C267 /* Core */ = { isa = PBXGroup; children = ( - D64C89D84E4BDDCF85E57BDA0153F0B1 /* RxSwift.modulemap */, - F0007682E9947D6BFA4DA24D30F6CBF2 /* RxSwift-dummy.m */, - 4946CBDE2CD13F181402416264EBF61D /* RxSwift-Info.plist */, - 3685B6DE4DF41097400DA11AA41A500B /* RxSwift-prefix.pch */, - 77B5C856C653A9586105526C4341767A /* RxSwift-umbrella.h */, - FE6138E84780096ADB31F55549931FC6 /* RxSwift.debug.xcconfig */, - 28F6CED61832E1CE6BA74AA90F7E45EE /* RxSwift.release.xcconfig */, + D09F8AFD2F060ED24FA597FCABCAA8BF /* GCDWebServer.h */, + 6A2903ED8C49325DCC161BD6B13F5169 /* GCDWebServer.m */, + 2CB9B78AF77AB071F564390FBD3F7606 /* GCDWebServerConnection.h */, + F1597FFEE5882FAE50302F9B1F2E712C /* GCDWebServerConnection.m */, + C6E37EE4A0A848B5F6DB87C29B200BC9 /* GCDWebServerDataRequest.h */, + 136D683ED12FEF437E85B90FE787ABBE /* GCDWebServerDataRequest.m */, + 9C075BB9C933358473BDA41FF547F3B4 /* GCDWebServerDataResponse.h */, + A827C518FBDD773E32618069D8581F2A /* GCDWebServerDataResponse.m */, + CBAEBA865C689C4ABC23E4077C694783 /* GCDWebServerErrorResponse.h */, + 45530F955076EA5655EB435DD5DE3585 /* GCDWebServerErrorResponse.m */, + 1D650AF047FF1CD48F3AEB6348C2357B /* GCDWebServerFileRequest.h */, + C095CD6453A6E8AC183F9997E51BC98D /* GCDWebServerFileRequest.m */, + 85E06B7F32F52E018A4DA73A84805E96 /* GCDWebServerFileResponse.h */, + EB5900D68A352DEF8FE3FA3D4C2279CF /* GCDWebServerFileResponse.m */, + 482AC49125B4EDA3FAC852085735EE69 /* GCDWebServerFunctions.h */, + 6439E4DF8A85FEA4C8E98F10978DAFAB /* GCDWebServerFunctions.m */, + 5E88D80C9DB32C5918A1A3BFB069B644 /* GCDWebServerHTTPStatusCodes.h */, + D73EC4AA12FB5BDC56A582F913D05E76 /* GCDWebServerMultiPartFormRequest.h */, + 68514BC74BD8508060AA74F5B6F9BC10 /* GCDWebServerMultiPartFormRequest.m */, + C18CC82205F3614ABAD3EFA14363B01B /* GCDWebServerPrivate.h */, + 0536B9566364D92CA97E42CF0ABDCABE /* GCDWebServerRequest.h */, + E442CC92114CB624FE50AB3B04E7226D /* GCDWebServerRequest.m */, + 1161E401E97CF532E96EAD75740DBC67 /* GCDWebServerResponse.h */, + 104388085671048C3F84BECBFFD2DC17 /* GCDWebServerResponse.m */, + A5F0782A5E760F9174EDE0C9F1CFE357 /* GCDWebServerStreamedResponse.h */, + B9CBA5FF3D8C04AA76F6E7B922F34B81 /* GCDWebServerStreamedResponse.m */, + 04A6B88D4B9A4937CA2382AC0CDC139F /* GCDWebServerURLEncodedFormRequest.h */, + 007A57A69CD7D0AE9FB4B13B5B840DD7 /* GCDWebServerURLEncodedFormRequest.m */, ); - name = "Support Files"; - path = "../Target Support Files/RxSwift"; + name = Core; sourceTree = ""; }; - 5E93897366D3A44BA737EB9FE037DDB1 /* Support Files */ = { + 7A97FBC82698BE275A437BFBC646555B /* Support Files */ = { isa = PBXGroup; children = ( - F17C7E34E699CD1435A12B207C1A125D /* RxCocoa.modulemap */, - 4752AFB18B745CA95D95FB7457EAA1C4 /* RxCocoa-dummy.m */, - E5635498728E3B4005A42A385330D7CC /* RxCocoa-Info.plist */, - DE719264DC0248D1CA1E5F7821C8381D /* RxCocoa-prefix.pch */, - E4C0551E43C5CE2E6F3BD09C18890BFD /* RxCocoa-umbrella.h */, - 2F138B6C28378A801D2186B22E1E6224 /* RxCocoa.debug.xcconfig */, - AF22EDE51D4C2AF18359CE03247D06F1 /* RxCocoa.release.xcconfig */, + 38F2BA21A8C185F956DE87BBC8A3F7A6 /* MASShortcut.modulemap */, + 94E31ED4427D92BBC5E42D9B9130FD0A /* MASShortcut-dummy.m */, + 608ECE750D7640A34D0D3B0D6A4B1795 /* MASShortcut-Info.plist */, + D6B36260C1199FEB146F36F6FF843049 /* MASShortcut-prefix.pch */, + A8F49077FDFEA313FACF481B994E0C9A /* MASShortcut-umbrella.h */, + 5E64BD1EBE090A21DD76BB80A9F800A9 /* MASShortcut.debug.xcconfig */, + 7A192A308529FF611F0CE9FD39865653 /* MASShortcut.release.xcconfig */, + F31FE34A59EEBA4DC556482044187B1B /* ResourceBundle-MASShortcut-MASShortcut-Info.plist */, ); name = "Support Files"; - path = "../Target Support Files/RxCocoa"; - sourceTree = ""; - }; - 62066982AA2FE77C183DF3046C898E34 /* RxSwift */ = { - isa = PBXGroup; - children = ( - 494FD3BF9675BD2ADCE4731FED65B5FF /* AddRef.swift */, - 0CB05B6D60934D955FE0D75C2339A114 /* Amb.swift */, - 1EB8536183BE6472CDCC5817172688EF /* AnonymousDisposable.swift */, - 636D1EE61F0E0E367F486461F8E0DF54 /* AnonymousObserver.swift */, - 840A431555445FF451B4B74E7A8DDCF4 /* AnyObserver.swift */, - 7D680C4252D37F732EE2D1BB9AB911DA /* AsMaybe.swift */, - B8D247C19100F15D54BFF5D93804C65E /* AsSingle.swift */, - 52626495FA7375A2A4753E3EC16FB26C /* AsyncLock.swift */, - FD07F15ADFC693A5C730840EA2B42015 /* AsyncSubject.swift */, - A269EEED1FC8BFDA5FCB004DC335F5C8 /* AtomicInt.swift */, - 0B98DA4C08DC1A12B2789714C6CDEFFA /* Bag.swift */, - CCCC3232579F890A62A86540F6600BE6 /* Bag+Rx.swift */, - BB1177638C48D2FB13DDFB46A70CD35D /* BehaviorSubject.swift */, - 2FEFD09344E88FFE590FC0A7146C0D32 /* BinaryDisposable.swift */, - 4412635C50524157DDF38FA0CB197F4A /* Binder.swift */, - EA0C023ECBE853C3AFE12E6702B6D1CD /* BooleanDisposable.swift */, - BE717EAC81EE595FC7AE3C1A3C6D06A6 /* Buffer.swift */, - 8565AD8EBB9A4E532AF93D887B586876 /* Cancelable.swift */, - 1CD2535A24AA927A5965AF73264678A3 /* Catch.swift */, - FF5FCDE3BD3C3E02C0A0B3D529BF6982 /* CombineLatest.swift */, - BC41D63AA5F0A525ACB78573334AB97C /* CombineLatest+arity.swift */, - 68D133622632E3F0C62D1F74D188EA7E /* CombineLatest+Collection.swift */, - A6415209F9685A39C6C1018082155EA5 /* CompactMap.swift */, - 2AE63CBE5D3B0C2D25184C45E1B8C885 /* Completable.swift */, - A111C3B36368413B50627674BB48E859 /* Completable+AndThen.swift */, - 3BE91EC45C71C190D532DC351F5E724D /* CompositeDisposable.swift */, - 66C7F789300668AEDFA53AEA1392C48B /* Concat.swift */, - DB051CDFBF3B30AA181F5BF12F48FD3A /* ConcurrentDispatchQueueScheduler.swift */, - A126CA25C01C17FEF1E4B62108855349 /* ConcurrentMainScheduler.swift */, - 2505B197F74151D018080608E6576C6C /* ConnectableObservableType.swift */, - 3ED0602BE820AA0F7B2D99CBFED4C1F0 /* Create.swift */, - C793DFE7002D416E900642C76CEEBD75 /* CurrentThreadScheduler.swift */, - F11E6B29B9CB879F29AFEBD980D3AFBF /* Date+Dispatch.swift */, - 8A2C23CF743A94075196D7A4F419F5A4 /* Debounce.swift */, - 555231B7293881D7D76CA80C82AABA2B /* Debug.swift */, - 5D99DA86D8CBFFCB2E7FD40BC42568F3 /* Decode.swift */, - C798C591985DFD0B008AAEEBF78EF979 /* DefaultIfEmpty.swift */, - 33BBD4B03778E41A59C1A3F64AAB876C /* Deferred.swift */, - D570E112B81800B30A1165D0BC68DB8A /* Delay.swift */, - 8AE4AAE5FF0F7FEDE2C8D5FB08A1AE4F /* DelaySubscription.swift */, - 080201197B517655700BD33F44B1A602 /* Dematerialize.swift */, - C96F1CEB77C6CB8A9D2A7682406E7AE9 /* DispatchQueue+Extensions.swift */, - 222E861679233A0833D6C2F8079146E7 /* DispatchQueueConfiguration.swift */, - 8369906FA14B85B8271089FAAA1E4694 /* Disposable.swift */, - CECC6752E3DD709B29A4ED0461B7BF82 /* Disposables.swift */, - 0F2EB184269284B56190B6EE5A7E5CC3 /* DisposeBag.swift */, - 04A3FEA575D65278CDB553AA231A0CF6 /* DisposeBase.swift */, - 3949A4BE0C4C31915E5A812146DB23B9 /* DistinctUntilChanged.swift */, - 0E5F518C62FDAA5A762312C37D1CB101 /* Do.swift */, - DA23B9C3D142FEFFA05E4F37B1A976AE /* ElementAt.swift */, - 65D8FEBF2028BCC7758A666F2A35989A /* Empty.swift */, - 31234D4C5E912BD05D37874E7E89A233 /* Enumerated.swift */, - 4764F518EAB30C5EA82C03A5607ED7AF /* Error.swift */, - 718741562429DAE6AA6DC455ED6883D4 /* Errors.swift */, - 5CE7CD3C7A16D2E9341BBBAB18D5D8DC /* Event.swift */, - 44775F4816D20EB134F1DBAB43BE0B3A /* Filter.swift */, - 543DFE92FBC6235F6826EF38928A7C08 /* First.swift */, - 886072F083033D493924A8BE652713ED /* Generate.swift */, - 47EB7F9271D4EAE5B4A31D5D0194BECC /* GroupBy.swift */, - EFD30F9BBDEB87F6ADD6C3AAF8DE6E30 /* GroupedObservable.swift */, - 6DA5F27AAEF9B366933CB017942EFAA8 /* HistoricalScheduler.swift */, - 38A0B431980745BE7A67D566D79E240A /* HistoricalSchedulerTimeConverter.swift */, - 7DF9FA6B1D40855A99145762147C1690 /* ImmediateSchedulerType.swift */, - 370A313E34AF66CB8D7437ABDC3FB7F8 /* Infallible.swift */, - 40573DCBFB24CA15F7D6C33B5C73162F /* Infallible+CombineLatest+arity.swift */, - 161437331F54761E08F028DD14CDC21E /* Infallible+Create.swift */, - EF4A8984BD7018149BDA495C7EA5FE28 /* Infallible+Operators.swift */, - A2FFFF24B3AC3570742D7F2CCF2FE3C5 /* Infallible+Zip+arity.swift */, - EB62C29E42A50AB4AA5C6DED19DA376D /* InfiniteSequence.swift */, - F97D53A26324CAC07AB16E21B963CF9A /* InvocableScheduledItem.swift */, - 200825C8579BF340304A9767D679EC35 /* InvocableType.swift */, - FA1467E6A8A0A5B978108FDFC868000E /* Just.swift */, - CA0A6C3DB39AD5C25FF5B1A9F554E228 /* Lock.swift */, - 683395CCE980D15405934DC5E2BCD682 /* LockOwnerType.swift */, - 98B151536C20EA366FDBE99C5A8BB7A5 /* MainScheduler.swift */, - 494A67061DAFFD52534BC4699A8DF637 /* Map.swift */, - E4618B5826B29CA49F53BD36B1570602 /* Materialize.swift */, - 5219820998BC7D8238F0F05F90A3D96F /* Maybe.swift */, - 5CA0D236EFCE9E4E77F9A2B2A0AF3FC4 /* Merge.swift */, - CD90405BE5311F3F3A8CFCFABCCF3560 /* Multicast.swift */, - F961756C2E9DE7614DBA1271483EB245 /* Never.swift */, - E6B674A528A68BF8E6AB4A5F747B05B8 /* NopDisposable.swift */, - 636937DE6DA6CE01D7E94282A16BC9D9 /* Observable.swift */, - 4618A8C418D70264404BBAF10EE3A1F4 /* ObservableConvertibleType.swift */, - 834EB5666F2D27EDBD25C600C80DF7CE /* ObservableConvertibleType+Infallible.swift */, - 4338C646A92E1539E9BED963FC618602 /* ObservableType.swift */, - C713517A8C0251C9EEB925D43C63A544 /* ObservableType+Extensions.swift */, - 1AA3BEB86C50C2AAE9CCEDB0171CFC56 /* ObservableType+PrimitiveSequence.swift */, - FD39BD9C1B852EC7AC7CD7D77D1E606F /* ObserveOn.swift */, - CE8BA32B7F7B571C37D44747CBB93955 /* ObserverBase.swift */, - 7B00E954AA2FCFDF5ACDEC8CD8C6941E /* ObserverType.swift */, - AC4C66DE7DB1A4B525929AEF699AC3CE /* OperationQueueScheduler.swift */, - 5158C591583049B150EC9F57DC2FA656 /* Optional.swift */, - FAABDBC186233AEF9876B5A4F009C8B8 /* Platform.Darwin.swift */, - 4FF704B43D944C2399606B76A430F1A6 /* Platform.Linux.swift */, - 280A80C3BD890370005C094FC4C3DC12 /* PrimitiveSequence.swift */, - A8C417EB740CAC7F2602C6D8880E7737 /* PrimitiveSequence+Zip+arity.swift */, - D96D37A7C37C05D7DEEAE9B3944CC4DD /* PriorityQueue.swift */, - 4FDB60114950AF3BF06EF9DA0AF9E5AC /* Producer.swift */, - FE18557905075BFBE5AFBE3A0D9287F4 /* PublishSubject.swift */, - 960C49C6C3C5E2554CA3CD8EB86B61AC /* Queue.swift */, - 2096522151041770121528F182B6F42D /* Range.swift */, - 0C0FB7A81FC88101C56EABF826BD78F5 /* Reactive.swift */, - 11DD125BCF1FDD4E34715800EC2F295F /* RecursiveLock.swift */, - 40FC23633FFFBBD0FA165FB284958F8C /* RecursiveScheduler.swift */, - D894FDA92A29CEECD7D1E50C263F1777 /* Reduce.swift */, - B97E5FCD7744551B43A8C353FD79E774 /* RefCountDisposable.swift */, - 45BF55923F2D3657D9D5420E606B641F /* Repeat.swift */, - 96D93775EA307729314581C5C539C487 /* ReplaySubject.swift */, - AADC2D51259367D2BB2C73816E5A35CD /* RetryWhen.swift */, - D54CB24891D5C94C81CAED6F6D1D4FAB /* Rx.swift */, - 530CEAEC9F4BC5F2EC9C9534779927A3 /* RxMutableBox.swift */, - EBC071EBDAC90F82FF4D25D024A5AACF /* Sample.swift */, - 32777B9FE68F64D911474F7B7595C94C /* Scan.swift */, - F0D4493458E5817BA46B4318626487F6 /* ScheduledDisposable.swift */, - 8663196F6A9678BFC77A8E46F8666C75 /* ScheduledItem.swift */, - 19FF8B675AE7A3F0AB7CDE7C48E8082A /* ScheduledItemType.swift */, - A0791E5EB9ADBB88CEE0BCD83DA9502C /* SchedulerServices+Emulation.swift */, - 111E9F3F4997D0ACA2E0BCDAF269904C /* SchedulerType.swift */, - 172B845C32EEB48FD9EF1A11CC432D51 /* Sequence.swift */, - 408AEB2CFB972D5D82E41BB027E6686C /* SerialDispatchQueueScheduler.swift */, - 6DAFFC9484B606CC3A8583B2085B7957 /* SerialDisposable.swift */, - 72D91E08E6C75E1F0DBACD4FF3CA2F55 /* ShareReplayScope.swift */, - A3E96B8BC40FDC92B51E51B50F126573 /* Single.swift */, - FCF992D22D15D6CF73AF4D310FEE871C /* SingleAssignmentDisposable.swift */, - A2B10B3F59B2394712B672A72C5827F0 /* SingleAsync.swift */, - B304846A96173EC0E0631D07751C0893 /* Sink.swift */, - 07B4CEF97C27B2FE6205EE1D720BFB39 /* Skip.swift */, - A1D0AF20D0BF5465039BB88836A959B6 /* SkipUntil.swift */, - 904A920F44C4C4A18874A6A62A3ED759 /* SkipWhile.swift */, - 864BF009AFF7BFF4D8B68869FC885957 /* StartWith.swift */, - 44D9E4509154BFFEBEA9AEA0C935EC9E /* SubjectType.swift */, - 17A8B6DADE1F343EA5319D5964E84B71 /* SubscribeOn.swift */, - DAFB048690381EFB0893639F33D3C764 /* SubscriptionDisposable.swift */, - 0BC06E9EC97DF3F5E3AB732D978BD66B /* SwiftSupport.swift */, - F4786526A5AD085C95AC191C7253C591 /* Switch.swift */, - A20673B8CBA1827BCAE8A9CDEAF0CDC5 /* SwitchIfEmpty.swift */, - F3623071AC720B9C13DD1043F7052A73 /* SynchronizedDisposeType.swift */, - 95A61E2BD71E9AE873207EFE8994362B /* SynchronizedOnType.swift */, - 1FA62A0165A7A8D001536C62FD5E2392 /* SynchronizedUnsubscribeType.swift */, - 558A95B0EAE7FAFDFCC334A1E9277C19 /* TailRecursiveSink.swift */, - 273C90965AA81CCFE4CDA40530425746 /* Take.swift */, - 73118DDBDD8A625213B479BD40C4B9CE /* TakeLast.swift */, - 6327835932D3C270A640C0C76A860EB8 /* TakeWithPredicate.swift */, - 127B3965CEBAEBFB395F0D10B7C255FB /* Throttle.swift */, - 661DD8158386E15481E17DE6E2FA1882 /* Timeout.swift */, - F893DD80BE166F23DB8567A0940B0FEE /* Timer.swift */, - 314A2DB247EA6781CE45C5C146496327 /* ToArray.swift */, - FE3AAA7586F734974B628C45E2310229 /* Using.swift */, - 4673D1BC54F57F490E2D3352F6BA1B73 /* VirtualTimeConverterType.swift */, - 6A2828DE92C9CEECE9FB19F2EE763305 /* VirtualTimeScheduler.swift */, - 855607DC318E2CF3120B3C70565140A0 /* Window.swift */, - A49E3489F755F888C3405824694827BF /* WithLatestFrom.swift */, - 897003218412D0C779A54DAAD7D2A4EE /* WithUnretained.swift */, - 9FA0DBB3C5358A6E4EF0C16145BB0F7E /* Zip.swift */, - ABD89974F6EA342767735D559995D3FA /* Zip+arity.swift */, - 3677CB82C594C5820F17431AA45C5C87 /* Zip+Collection.swift */, - 5E0AA8A2AD4F95EB8CD37C35E2FC5D26 /* Support Files */, - ); - path = RxSwift; - sourceTree = ""; - }; - 6B3DE0B21DFC168E060A8E9C9EC74C3A /* RxRelay */ = { - isa = PBXGroup; - children = ( - 8D796FDCC7398C88D7B835BD89700D56 /* BehaviorRelay.swift */, - 0A18EEA4857408358F9A8E6ED8AF8829 /* Observable+Bind.swift */, - CA7211C3393B6E1ED0E57C4CCF5F5005 /* PublishRelay.swift */, - 485A8E801F2DA21AB5D16808AE1B4887 /* ReplayRelay.swift */, - 29BFF21F894144F23E9F778185A1EBC4 /* Utils.swift */, - E9E177E10E9704C8136B4410D7F621DB /* Support Files */, - ); - path = RxRelay; + path = "../Target Support Files/MASShortcut"; sourceTree = ""; }; - 7D5BF41D87EA0E33C1D9986ADA4BDA51 /* Core */ = { + 7FBF5E50A8358B3481A13074AA97BE53 /* Frameworks */ = { isa = PBXGroup; children = ( - C771BA2A255CC372CD2AB83291BD3E1C /* GCDWebServer.h */, - 55F5FEB17D952CAA64A6B7DE90D7E47D /* GCDWebServer.m */, - 6D0B40D5A184825074ECC549693CAF02 /* GCDWebServerConnection.h */, - 1410700BFA8AF785CCF9919941F9930C /* GCDWebServerConnection.m */, - 36E9C273C636D7A0C559787BD1FABA68 /* GCDWebServerDataRequest.h */, - 7DFEE31FDCAA3B9A85119C45EE5BF376 /* GCDWebServerDataRequest.m */, - C21721CAB3BC76F0D7582BD636DB821D /* GCDWebServerDataResponse.h */, - AB7765E1848A0449B3E3267F17DDE12E /* GCDWebServerDataResponse.m */, - 9EE8B6717B73CE07A9FAC17FFCB1BA91 /* GCDWebServerErrorResponse.h */, - 199E49652A8B30754D25980910F956E1 /* GCDWebServerErrorResponse.m */, - 962EFFE0B39AFE334DBCAF81B4DBFE56 /* GCDWebServerFileRequest.h */, - 392538EA12C4E3008D6EF1ABB226B3BF /* GCDWebServerFileRequest.m */, - 77E73C4E3CAF9AD8FAE2EA9130D6A37E /* GCDWebServerFileResponse.h */, - 5BC543740C092C697A08396093A0F7BD /* GCDWebServerFileResponse.m */, - DD31B6D267ADAB9B30F51F821C60554A /* GCDWebServerFunctions.h */, - 0555618E1BBA944D30E358F0700CDD8B /* GCDWebServerFunctions.m */, - 57BEC3094A7FB642608645E131DA83D4 /* GCDWebServerHTTPStatusCodes.h */, - D157799A728D6FFED669C62E86BABD73 /* GCDWebServerMultiPartFormRequest.h */, - 0C1C25377D5ADEBBE1E5B44FD42F2BF8 /* GCDWebServerMultiPartFormRequest.m */, - 10F2E7253B70490BD80C987E65C522AC /* GCDWebServerPrivate.h */, - A4395BE2A0C53A82170A01602870453A /* GCDWebServerRequest.h */, - D4E3DADB00C8898A4A01F4DF1034F96C /* GCDWebServerRequest.m */, - 89066EEDE0D03A9B328DADDC9344CC13 /* GCDWebServerResponse.h */, - C40D7DCF882E3A5609EDE1602335E721 /* GCDWebServerResponse.m */, - AE4742C0047EC328BE64C1DF6D868CEF /* GCDWebServerStreamedResponse.h */, - DAE48A7C993FBD43A674E228A900457B /* GCDWebServerStreamedResponse.m */, - 97319F4B64360DC3D794BD7B57BC9936 /* GCDWebServerURLEncodedFormRequest.h */, - DC40BD5F1E0BFED23CB5A6AE57FA4443 /* GCDWebServerURLEncodedFormRequest.m */, + 2E828B10E6D73DB9F9FA81390A159AEA /* OS X */, ); - name = Core; + name = Frameworks; sourceTree = ""; }; - 9D9694B208E8690D485FD95D4A4C8CAA /* Resources */ = { + 8FAF49820DC188D34A07763DDC88DD5F /* Resources */ = { isa = PBXGroup; children = ( - 18B45BFB16E63DDF1AFB6C167D70D1C2 /* cs.lproj */, - 8F90CD66F125C28F8983AFCFA7DF6607 /* de.lproj */, - 4A797B2A249C56CB61DB60A3FEA31FD2 /* en.lproj */, - 4504CA755CE81F89F9F165BF93126D21 /* es.lproj */, - B68B5F9FDDB0D41979766C1D549A8780 /* fr.lproj */, - 321FC2ED515952B66BACDB8CAC130EB4 /* it.lproj */, - B1F34EB08D07E2AF230CDA30F361889D /* ja.lproj */, - A254689F2908346AD7387F063C24B41A /* ko.lproj */, - A94A0417121D2C31F7167E4A79EC5313 /* nl.lproj */, - EE873D31D9227598B067D9426D366009 /* pl.lproj */, - FAB6166D07AACCBF2B4A5FFC66F22602 /* pt.lproj */, - 9A3F0ED147035005ABA4D679F9E36A7B /* ru.lproj */, - FDF7D102C3DA0493A530D68E569DA7CF /* sv.lproj */, - B2BCE49AE180E28B89BBBE037DF32A2F /* zh-Hans.lproj */, - B5D8A52DE9A6385138A6D20CB5527DDB /* zh-Hant.lproj */, + 791A38AD9245F3DDBD3A751B74C477BC /* cs.lproj */, + 840DE34BAC7B22DD54D018AE8FEF1A04 /* de.lproj */, + 94201212718386C719AC1C21F8B0D77B /* en.lproj */, + 3E302881D4992E5DB254B068BCDF50EE /* es.lproj */, + 034FAFFBD46866189D2D869AB1FFD14B /* fr.lproj */, + DB09C3D886E30AFA5026665F796A50B3 /* it.lproj */, + B723BDF25FB0187F11297B5A58500D85 /* ja.lproj */, + C16719B76B2DFB46ACA80A4EAA03C560 /* ko.lproj */, + 9A65B65D01A905DD9989951DC919C5FE /* nl.lproj */, + 6A783BEA5050505FFC2F43F99BA68822 /* pl.lproj */, + EDE5BDD8367EAE24F95591B6890A88E4 /* pt.lproj */, + CAAB811816DB87F5B34CDF69458C6DB0 /* ru.lproj */, + 1F41065A5906D3D048C5AEE99C1B69DC /* sv.lproj */, + ECC7DBFC74ADE5B030C69F54DFA6A40E /* zh-Hans.lproj */, + A5F4D1EA9C1539878BAF7725A7E48F15 /* zh-Hant.lproj */, ); name = Resources; sourceTree = ""; @@ -1484,121 +1551,18 @@ path = "Target Support Files/Pods-proxy_conf_helper"; sourceTree = ""; }; - AF01C03E9E6BF3B668D35EEF202AD7A0 /* RxCocoa */ = { + A3254413E2BB53117183EE478A245C48 /* RxRelay */ = { isa = PBXGroup; children = ( - 3BAD385D5CDC39C1AE6584A123D2DFC4 /* _RX.h */, - 74E6FB11E3F38127740B54FF3C72D1EF /* _RX.m */, - 30E50B8D09D21C042020DA82FA315C59 /* _RXDelegateProxy.h */, - 6AD4414199F479D544CBF1FFF3FB45E4 /* _RXDelegateProxy.m */, - A8A33670952794CBD825EC26F1A98DBF /* _RXKVOObserver.h */, - A14B9E97BE00B01372727FA8DA9B10A3 /* _RXKVOObserver.m */, - 6985BD62945B0A86382437BC1758C282 /* _RXObjCRuntime.h */, - 638797412ABBF2F7725016AF4B056309 /* _RXObjCRuntime.m */, - 2BDFA1D8F5CB80DCE3773C11691B223D /* Bag.swift */, - 98EF0EFA057CC202BD041F55B091661A /* BehaviorRelay+Driver.swift */, - 38724BD70D1712C03FA9B7A4C417144D /* ControlEvent.swift */, - 4C0E4BDE3E30AF8C9062AFAD9C3AEA28 /* ControlEvent+Driver.swift */, - 9C3A35E7DD83A1437478608A9F2EF44C /* ControlEvent+Signal.swift */, - 5878F666B9410A53C5BBE1778D1B2CCE /* ControlProperty.swift */, - 97D6BD38BB9E0F241C3C82A118E7F253 /* ControlProperty+Driver.swift */, - 5DA6A1DA8589C7192C8BFDBC3F4A9913 /* ControlTarget.swift */, - BB63C0EAF763E45BC31AAB9802F87995 /* DelegateProxy.swift */, - DBB7AE66363DEA0FFF31BA0AD1EB9340 /* DelegateProxyType.swift */, - 29E3014CE53E3127CCD38149E2060C76 /* DispatchQueue+Extensions.swift */, - 5E698A2854CB4D9E919B55523EB57D1A /* Driver.swift */, - D7F46244A2FF95EF2B228E2F76529358 /* Driver+Subscription.swift */, - 36C45F96BE0AE01F3BB2C90370A73616 /* Infallible+Bind.swift */, - EC8F5BC5CABB65CCD832B9821F532DBD /* InfiniteSequence.swift */, - 684F8C697CD894D0F5680EE542AC32E9 /* ItemEvents.swift */, - 54F202B17AB2C7DC4FEC3F1CF2B5FD57 /* KVORepresentable.swift */, - C70C13D2EC9B57E48D64BD7ABC49F9D6 /* KVORepresentable+CoreGraphics.swift */, - 6EB5DBBABE4FD6FFF0223AC1BC4674DB /* KVORepresentable+Swift.swift */, - DE18F7CA6E337EA48867C7D92143B6F9 /* NotificationCenter+Rx.swift */, - 6DFC3F4E49698472F1AA8DE21B1BD0F2 /* NSButton+Rx.swift */, - AAFFAAB92EFEC042FEE2F851EF9C6CC0 /* NSControl+Rx.swift */, - C119A4F639217703B4B382419AF9D4EF /* NSObject+Rx.swift */, - 7B00813C768C553C089DAF0C1900799B /* NSObject+Rx+KVORepresentable.swift */, - 4C9EBFDB861299F7DC1241C7FCFF00DD /* NSObject+Rx+RawRepresentable.swift */, - 5874107EF4581DA493B60BBCFE422D1C /* NSSlider+Rx.swift */, - 2C81F8C45A4C248E266304541A86B5A8 /* NSTextField+Rx.swift */, - E35662841C2AAA3188CD9ADFDC38880F /* NSTextStorage+Rx.swift */, - 5800B274C19C06FB1CA12AC039704852 /* NSTextView+Rx.swift */, - C4028B836251B6DD18772CF35047686A /* NSView+Rx.swift */, - E8976DA3C1E5870E7B74F26E219A9885 /* Observable+Bind.swift */, - E14C791F6C2C8320DE732C78C55306A1 /* ObservableConvertibleType+Driver.swift */, - DFAC6355D5B0FD94083A74B4602AF9D2 /* ObservableConvertibleType+SharedSequence.swift */, - C3DCF3854C69F5239CE7E89C1FCFAA51 /* ObservableConvertibleType+Signal.swift */, - 8E801F2049749D5BA709EAE3A2028661 /* Platform.Darwin.swift */, - 2586C5A6499D4E9A6B62C1CF5804DE66 /* Platform.Linux.swift */, - A3A89F3DBB03CFC012C901EB6D452A3B /* PriorityQueue.swift */, - 758B67811993E4C5163D7637EDBB6CFD /* PublishRelay+Signal.swift */, - 9B23D7AFD516825208E6CE9B362989DB /* Queue.swift */, - 5554F4E6979C7DDD1E00F81CB94D474D /* RecursiveLock.swift */, - 7EB9FE74C8220E21EC9A5A77098E9152 /* RxCocoa.h */, - B1816E3DFE7F11350A74B0C1F878F7FC /* RxCocoa.swift */, - 9F666DF6A38D74980DF6F191509F4971 /* RxCocoaObjCRuntimeError+Extensions.swift */, - 95F05E167015F6A202D2BEB9437AE766 /* RxCocoaRuntime.h */, - 78275DA82CA025902C1D6FAF39BC9403 /* RxCollectionViewDataSourcePrefetchingProxy.swift */, - C5BD2C8DB205D16490D3804A6CAB6C50 /* RxCollectionViewDataSourceProxy.swift */, - C0D1BF03B3F26978B85F2E44EBE18FC1 /* RxCollectionViewDataSourceType.swift */, - B9215F3DCBD2FE1BDADCEF5D05219A48 /* RxCollectionViewDelegateProxy.swift */, - B25AD05D537735CCA21E1986D98F830E /* RxCollectionViewReactiveArrayDataSource.swift */, - 52DFCC55A239674DEF17871D293D227C /* RxNavigationControllerDelegateProxy.swift */, - F979292485788BE53E5871123C74EB10 /* RxPickerViewAdapter.swift */, - EC44E7C397DF9B77CEF6F5C86EFCE92A /* RxPickerViewDataSourceProxy.swift */, - 961D7CAE484B6E4929A7BE5B048D29B5 /* RxPickerViewDataSourceType.swift */, - 22D41ECF1E34CC3D83A32F7896831100 /* RxPickerViewDelegateProxy.swift */, - 7B58732AA1AF7EA39B29A8BE85721F26 /* RxScrollViewDelegateProxy.swift */, - 345AE1A0C847584A14AD381D5E476AB9 /* RxSearchBarDelegateProxy.swift */, - 474547C10494F37402A98A0BFC7E6288 /* RxSearchControllerDelegateProxy.swift */, - 39D9FF9E1CBB62DA6FC1910AA45EB039 /* RxTabBarControllerDelegateProxy.swift */, - 66D1DACD1512DCFE82BC525C443DA8A5 /* RxTabBarDelegateProxy.swift */, - C15539256AFFEE061C9DE9660B995B25 /* RxTableViewDataSourcePrefetchingProxy.swift */, - ADC06A8D8266504D3FD0F38F5F1A87AD /* RxTableViewDataSourceProxy.swift */, - D418B4DEE726BA9D5A912D8F1FBF0888 /* RxTableViewDataSourceType.swift */, - B5B1AE9FCFABDD97172220DFDFE618E5 /* RxTableViewDelegateProxy.swift */, - B265FABD755D21851D1C166921BB4A24 /* RxTableViewReactiveArrayDataSource.swift */, - 6B37E46EBF28CB6542B58754F09D8AAA /* RxTarget.swift */, - 95B33DD3F11E0587A32ECE709173E4EF /* RxTextStorageDelegateProxy.swift */, - 531091EE9FF408558B83A1E053360F67 /* RxTextViewDelegateProxy.swift */, - 3AC418FEB3CC60F42D6A18E6151C871A /* RxWKNavigationDelegateProxy.swift */, - 53EB3CB0FCC5ABA4F18B576E6BA4EB1F /* SchedulerType+SharedSequence.swift */, - A4177B545582D09C0D653414E6353741 /* SectionedViewDataSourceType.swift */, - 4F401550E51DCC5F5746B99EC564065B /* SharedSequence.swift */, - D18636DE7B757847E9D7B9E45CA10DE2 /* SharedSequence+Operators.swift */, - 87A94DCCD78781BAE448DEA818B26DE4 /* SharedSequence+Operators+arity.swift */, - 8E4505859B317DCDCC426973F6C7153D /* Signal.swift */, - 12318B6E6BA8040BCC422023A5ABEF27 /* Signal+Subscription.swift */, - 1DBE368EA1C6F7EBE80E08054C9BC6AE /* TextInput.swift */, - 89A41E2A66DF6A8547AFAB72FE74B6A2 /* UIActivityIndicatorView+Rx.swift */, - C78EDD95C0B56A70BE237D148A1726CA /* UIApplication+Rx.swift */, - CB340F626B32E3AF98F1E13658FB46E2 /* UIBarButtonItem+Rx.swift */, - 17F9F190DDBE93E38A56D8405CBFA664 /* UIButton+Rx.swift */, - D49EC557FA27872611535147AB5D700C /* UICollectionView+Rx.swift */, - 9C1FFDE936B5B805CB094F77E95A88FC /* UIControl+Rx.swift */, - 46A83A815027A06FB7A8AB2CEDF56368 /* UIDatePicker+Rx.swift */, - D87FAE60EB40AC65B2E5000C6B82DFEB /* UIGestureRecognizer+Rx.swift */, - 6D742A8B753D54115AD3C6D293B64276 /* UINavigationController+Rx.swift */, - 608BE9EFB078FCC2348EF2782C265D92 /* UIPickerView+Rx.swift */, - 506B13C445D67D7231C25641361EE5A1 /* UIRefreshControl+Rx.swift */, - 441E899D371A5638D8CBD0A21A8CCA61 /* UIScrollView+Rx.swift */, - 2888FA81FD2BE4D3B068BCE4AFDC9A93 /* UISearchBar+Rx.swift */, - 8ED0DC48A18FD32A95BE8B28D715172C /* UISearchController+Rx.swift */, - E39E7221D0BA332CC5AC5DD0A7C16C92 /* UISegmentedControl+Rx.swift */, - 466B399C2E7FFAA61B709F2AB447ECDF /* UISlider+Rx.swift */, - 1B2134E06DD0F0E19694ADD2E46E9EF0 /* UIStepper+Rx.swift */, - 3622945DEBFCB14514027A236BDFC74C /* UISwitch+Rx.swift */, - 21F927D22EA76A49C54C44827DD1CE5A /* UITabBar+Rx.swift */, - 9D4701E49CFDE5F411CDFD316EDD3C70 /* UITabBarController+Rx.swift */, - 51E7C258B34B55C44CAA679574F0B5E1 /* UITableView+Rx.swift */, - 877FA6BB936631CD8F2CA0DFFF6EFC9C /* UITextField+Rx.swift */, - A4BB8686A6F85698D8AC03A77D188340 /* UITextView+Rx.swift */, - EAB5B580FE6B602D602E607C7BC7C470 /* URLSession+Rx.swift */, - FDCA53BCCEFF4720A955F8202537A982 /* WKWebView+Rx.swift */, - 5E93897366D3A44BA737EB9FE037DDB1 /* Support Files */, + FD9D6E7BCAA76B372F40977D8F7CF680 /* BehaviorRelay.swift */, + 5074F2EE5628C6A4983982E16E49C6BD /* Observable+Bind.swift */, + AA2D15A4612482369D1D5FA49514C999 /* PublishRelay.swift */, + 83928D29C2B14950DD44021E313F5C2A /* ReplayRelay.swift */, + 6DF880C891B8543DB21CF29DB46EC491 /* Utils.swift */, + F4D57A95637D366E1E434B5C1C9292D7 /* Support Files */, ); - path = RxCocoa; + name = RxRelay; + path = RxRelay; sourceTree = ""; }; B364CCC64531E6C6BC03A50131504939 /* Pods-ShadowsocksX-NG */ = { @@ -1618,229 +1582,277 @@ path = "Target Support Files/Pods-ShadowsocksX-NG"; sourceTree = ""; }; - CF1408CF629C7361332E53B88F7BD30C = { + C042DD5951A36C3A1C25CFBED3CD844D /* GCDWebServer */ = { isa = PBXGroup; children = ( - 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, - 4C712514E3CDE5A583F0DA94CB23FB65 /* Frameworks */, - 14F38608C29A913E1DD0D624DE663510 /* Pods */, - E786B58AC38A5957ED28E1C47257C01E /* Products */, - 493933EC245DE8B9BF6A90C4A901306A /* Targets Support Files */, + 647913D42B3CAB53DB62C8081BA1C267 /* Core */, + 15AEE13F26A353A224E02DA4168A77E8 /* Support Files */, ); + name = GCDWebServer; + path = GCDWebServer; sourceTree = ""; }; - D20BAD07D23FBA7AA269B9FA80FE8BF3 /* BRLOptionParser */ = { + C716AB2F54F28E008F559D34AE31890B /* Support Files */ = { isa = PBXGroup; children = ( - 31F9576864749334961DE762B01B777C /* BRLOptionParser.h */, - 68C9C3CF6142E1B32695BC562ECAC427 /* BRLOptionParser.m */, - 165807E7BFFB1F57C0BA71AD827D588F /* Support Files */, + 43C60B64528BC63C319695A8B8046F0B /* RxCocoa.modulemap */, + E3BCF8C37F6DE75E391CF06A9EF262AF /* RxCocoa-dummy.m */, + E4F84F28B5710A58E9874FE6CAB07B39 /* RxCocoa-Info.plist */, + 087D351229BD3D80D6AC31721E35AF00 /* RxCocoa-prefix.pch */, + 33AA300BC3BC14583832D2DA2CB5ADBA /* RxCocoa-umbrella.h */, + 2B1CF1064ADBE135F24BF997C9AAC18B /* RxCocoa.debug.xcconfig */, + A1D72F72A7925F10C7E216750C32EF30 /* RxCocoa.release.xcconfig */, ); - path = BRLOptionParser; + name = "Support Files"; + path = "../Target Support Files/RxCocoa"; sourceTree = ""; }; - D71126DFC6989B0EEE224402B0C7852C /* MASShortcut */ = { + CBFC95C8B4B7A28E92FE6132E4690B29 /* Pods */ = { isa = PBXGroup; children = ( - 353B178196A1B3A383089B3D1006F66A /* MASDictionaryTransformer.h */, - F6460C30C5328ED85A1103897C8CB63C /* MASDictionaryTransformer.m */, - 8937D9E4BB1CD1D979DFF21019B4D814 /* MASHotKey.h */, - 7BE4993AB90D97D332E61EB54E0C3C9A /* MASHotKey.m */, - 73327356D8055C270C5AFBAEE0D202DD /* MASKeyCodes.h */, - 867FD5BBBCAC1E98FE144867305F8FEF /* MASKeyMasks.h */, - 82A2597C8D9860F95F40565C0631A47D /* MASLocalization.h */, - 46DA81F6288F2733B7F27CCDE97EA2C4 /* MASLocalization.m */, - A2B9727C5385989526550D8E1AC4649A /* MASShortcut.h */, - 7A4A724DBFF9C1C260A76A4B104F3B1E /* MASShortcut.m */, - A18A7F7794D2CC58900E95F6644D63E8 /* MASShortcutBinder.h */, - 46002374E8C8C6F2127C7C9A6DFEF743 /* MASShortcutBinder.m */, - 24121C8FA3C10947BE50901868F9198A /* MASShortcutMonitor.h */, - 605C26B2F1FFA16F0E85E33F5CC526EC /* MASShortcutMonitor.m */, - 8E796A67AE756E845646324A31731334 /* MASShortcutValidator.h */, - 726DEA3A84065F8E12FDE5617447B366 /* MASShortcutValidator.m */, - A2EEB1D58595D58C5DC8978116BE0648 /* MASShortcutView.h */, - 7C73921B2C710D3814A33EF328D04D20 /* MASShortcutView.m */, - B5AEEDAA3124911175E2336A08227588 /* MASShortcutView+Bindings.h */, - 7C471325C18D493A8244DEB1563B18B6 /* MASShortcutView+Bindings.m */, - 6B9491CF676F85A85C4F0987D38F9051 /* Shortcut.h */, - 9D9694B208E8690D485FD95D4A4C8CAA /* Resources */, - 4AE2520FB25EC7AF2FA83B8E69D00ED0 /* Support Files */, + F5A35299B7AE0ACF1CEE7D83D2D83BBE /* Alamofire */, + 643F713A0DAD5B1256CB540396E8A4CF /* BRLOptionParser */, + C042DD5951A36C3A1C25CFBED3CD844D /* GCDWebServer */, + F1C61B4C1BC0F5217C2E9518C3F41AC1 /* MASShortcut */, + 1C67B593098B8DFBDAE66FC364352FFC /* RxCocoa */, + A3254413E2BB53117183EE478A245C48 /* RxRelay */, + 5A431039784D88FBCF94D3C76F9D6272 /* RxSwift */, ); - path = MASShortcut; + name = Pods; sourceTree = ""; }; - E786B58AC38A5957ED28E1C47257C01E /* Products */ = { + CCCCA1BA15BE2C69A295C2C8AC5D43AC /* Products */ = { isa = PBXGroup; children = ( - 5D797E9A5C5782CE845840781FA1CC81 /* Alamofire.framework */, - B68C1052A3B51DBCF7D960F898AAFA95 /* GCDWebServer.framework */, - 866C21955F27EBD7A49148F5E63A6E7E /* libBRLOptionParser.a */, - 61C23DB60A84900CD4BDA2F5EE2A0865 /* libPods-proxy_conf_helper.a */, - 230F8208BE63C052A548A7D41A1158B2 /* MASShortcut.bundle */, - 26A8810424438A12E7ADBFB3E068C658 /* MASShortcut.framework */, - D896F6A68919914B3302027C15449A1D /* Pods_ShadowsocksX_NG.framework */, - D48183AD5F98D081078429EF56451DFF /* Pods_ShadowsocksX_NGTests.framework */, - BC432FD48A5932251F1CAFBC4BF74894 /* RxCocoa.framework */, - FF8B264DFE802855D5D67E7CDDABFC3C /* RxRelay.framework */, - 809C5FAB588354C9BA37DC3EAB8CB45C /* RxSwift.framework */, + 5D797E9A5C5782CE845840781FA1CC81 /* Alamofire */, + 866C21955F27EBD7A49148F5E63A6E7E /* BRLOptionParser */, + B68C1052A3B51DBCF7D960F898AAFA95 /* GCDWebServer */, + 26A8810424438A12E7ADBFB3E068C658 /* MASShortcut */, + 230F8208BE63C052A548A7D41A1158B2 /* MASShortcut-MASShortcut */, + 61C23DB60A84900CD4BDA2F5EE2A0865 /* Pods-proxy_conf_helper */, + D896F6A68919914B3302027C15449A1D /* Pods-ShadowsocksX-NG */, + D48183AD5F98D081078429EF56451DFF /* Pods-ShadowsocksX-NGTests */, + BC432FD48A5932251F1CAFBC4BF74894 /* RxCocoa */, + FF8B264DFE802855D5D67E7CDDABFC3C /* RxRelay */, + 809C5FAB588354C9BA37DC3EAB8CB45C /* RxSwift */, ); name = Products; sourceTree = ""; }; - E9E177E10E9704C8136B4410D7F621DB /* Support Files */ = { + CF1408CF629C7361332E53B88F7BD30C = { isa = PBXGroup; children = ( - 38A6B331CD11EA3ADC9BE7CFD5DE99DA /* RxRelay.modulemap */, - 1718F5B8FAF3CE57AE64B5F53589493F /* RxRelay-dummy.m */, - 52786C2AA26607ED32FA242D407DEC3D /* RxRelay-Info.plist */, - A01C872DE26A61BFEF081FC71E72A0D0 /* RxRelay-prefix.pch */, - 2DDC82F5641636881356BF49166C8DF3 /* RxRelay-umbrella.h */, - BF25DE5F0433D7BA7D6F91A5F113542A /* RxRelay.debug.xcconfig */, - D70A973E907BDE134197952FF14301CE /* RxRelay.release.xcconfig */, + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, + 7FBF5E50A8358B3481A13074AA97BE53 /* Frameworks */, + CBFC95C8B4B7A28E92FE6132E4690B29 /* Pods */, + CCCCA1BA15BE2C69A295C2C8AC5D43AC /* Products */, + 493933EC245DE8B9BF6A90C4A901306A /* Targets Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/RxRelay"; sourceTree = ""; }; - EE196A86A60DA3C09134F038D0679871 /* OS X */ = { + F1C61B4C1BC0F5217C2E9518C3F41AC1 /* MASShortcut */ = { isa = PBXGroup; children = ( - EA187A944BB7C96464B1E79E6D12F90F /* AppKit.framework */, - 62F5D09616527A0713F24DF416BEC64F /* Carbon.framework */, - 817D9055D7659CAC86800D119F65E0F4 /* CFNetwork.framework */, - EE6672D913C4CDAB5BAC161BDC483A67 /* Cocoa.framework */, - EF91750DCDE73B687E4BA164856BE224 /* SystemConfiguration.framework */, + EE4C82A87A43C29DED6FC18CFA09CC44 /* MASDictionaryTransformer.h */, + 0FD45A6C73BECDE0ED9E618C48B758C6 /* MASDictionaryTransformer.m */, + 8A46A80355FB2E02FBD051133423EA94 /* MASHotKey.h */, + BCDC3021D014AE10447DFDCF14C73035 /* MASHotKey.m */, + 40136A324C33025441F42D67F5847FE3 /* MASKeyCodes.h */, + 237DC5B5F6513BE805D5F7321CF06CEF /* MASKeyMasks.h */, + FD7FC10E44C5F27E0F747F7C11EAC677 /* MASLocalization.h */, + 617F3ED9788266A1443488A3BAA0CF81 /* MASLocalization.m */, + 6E9DBB24F2E4DDA405A4A6F6EA93DE62 /* MASShortcut.h */, + 6D34EC5B59E132952450763CE4805369 /* MASShortcut.m */, + 29FE5DC10B37F307897AA4E330FEE8E6 /* MASShortcutBinder.h */, + EF6CA6C56D94CB72E7B054FD8F46F12D /* MASShortcutBinder.m */, + 5E0D6EE645D535A97E160EF7F90B086F /* MASShortcutMonitor.h */, + DDFD67AA606F5C51BA83B782D8AB5BAA /* MASShortcutMonitor.m */, + 61338EB49B056D8863FBA9E7E378FB7F /* MASShortcutValidator.h */, + 64407BF0F1B5AC43759AEE116008EFC4 /* MASShortcutValidator.m */, + D5048F1E538FA6BE380FDEA797C67964 /* MASShortcutView.h */, + A7EA5C0B182377876869AC8047612114 /* MASShortcutView.m */, + 08DEE252E0668B463D2CFA2A63C7C88A /* MASShortcutView+Bindings.h */, + C25726D3D578731D9926B0552BD50078 /* MASShortcutView+Bindings.m */, + 21FEDF355A97339C75BCCD724914CD48 /* Shortcut.h */, + 8FAF49820DC188D34A07763DDC88DD5F /* Resources */, + 7A97FBC82698BE275A437BFBC646555B /* Support Files */, ); - name = "OS X"; + name = MASShortcut; + path = MASShortcut; sourceTree = ""; }; - F7E043D77B41FA3B6662AD3E792046E8 /* Support Files */ = { + F4D57A95637D366E1E434B5C1C9292D7 /* Support Files */ = { isa = PBXGroup; children = ( - DFA75B434E18E0DA5F6DEB758B437261 /* GCDWebServer.modulemap */, - 09A0680C8640FDF225CF2A27A4204628 /* GCDWebServer-dummy.m */, - A2738BBB0867C27512A99A3C9DBB2F1E /* GCDWebServer-Info.plist */, - BF07A24C96313F878506258234883CC8 /* GCDWebServer-prefix.pch */, - B400BB6631F1C9F8534BE1CEF160097E /* GCDWebServer-umbrella.h */, - B81749D1C6130BC14B2386B76041124F /* GCDWebServer.debug.xcconfig */, - 2094BFBE78A2839B3C673A3E450C77FC /* GCDWebServer.release.xcconfig */, + CFD22916F275E74D78E772E29AC07B30 /* RxRelay.modulemap */, + 6D4B3457B8D08EF0500A84B572444A3C /* RxRelay-dummy.m */, + 82ABA113E492E7154AA04EFF46B49345 /* RxRelay-Info.plist */, + 6BEB7F4D7CEEBEB1E87F91B8EC4DE3C8 /* RxRelay-prefix.pch */, + 19918C4B6F33B928EE64C0865D7E0D9B /* RxRelay-umbrella.h */, + 94914F82AE66D1FF39717080B54E44C2 /* RxRelay.debug.xcconfig */, + C8E22DE1CAAC8A0C8C632DA1BE65A954 /* RxRelay.release.xcconfig */, ); name = "Support Files"; - path = "../Target Support Files/GCDWebServer"; + path = "../Target Support Files/RxRelay"; + sourceTree = ""; + }; + F5A35299B7AE0ACF1CEE7D83D2D83BBE /* Alamofire */ = { + isa = PBXGroup; + children = ( + E2C96636333F26E04DBC652A12300611 /* AFError.swift */, + 7938F1D7B3ED6EC957C9F6480A094638 /* Alamofire.swift */, + DC3453BADE578C7C0405D698F9F929DA /* AlamofireExtended.swift */, + 37A90F84E4CC922A2BC89752EF4FA839 /* AuthenticationInterceptor.swift */, + DD0339A381ACE5CAA0B64588E981DAA7 /* CachedResponseHandler.swift */, + E4126F0E5A37DFC3A167CC62CC4CDF3F /* Combine.swift */, + B6B4B4B6187C38301DB95EA173BDB608 /* Concurrency.swift */, + 5AE9B6BB311666BF1BDEEA389470683F /* DispatchQueue+Alamofire.swift */, + 985DB1772208876B4A7AB92A8BDF2A2A /* EventMonitor.swift */, + B23840FF2411332091792A8069873D62 /* HTTPHeaders.swift */, + C5C5D686281C1358498E76D48FDFDF90 /* HTTPMethod.swift */, + F9F3F7EA108A1D03D9742FB0D83F9E56 /* MultipartFormData.swift */, + 6AB89402B625C137D6AEFC83C52BF5A0 /* MultipartUpload.swift */, + CDB899B9D1186B7B6847C13A627A8842 /* NetworkReachabilityManager.swift */, + FF753CBC9955D3F0EDAF20B3C760EADC /* Notifications.swift */, + 3862370A1FCAB7651E5E1F13A0C16CFB /* OperationQueue+Alamofire.swift */, + 3558EF2E0A948AD345088C37F97F568D /* ParameterEncoder.swift */, + E102BDCF29691A8DFF60D5A65B77005B /* ParameterEncoding.swift */, + A2EDF3226EEFE41A77A722F851227632 /* Protected.swift */, + 5C4550A0DA3EA5E54106C3803BE8C66A /* RedirectHandler.swift */, + 70349FB09331376131C0FA2E07BBA732 /* Request.swift */, + E78F609085B34D46DE3C6B22B4D1FC9B /* RequestInterceptor.swift */, + 797B211C000D8302E9F7F84315859377 /* RequestTaskMap.swift */, + DCF2ECAD90F54E56FD7B30B5CE227C05 /* Response.swift */, + C5C17D58BC8D0956619116C04A26E7C9 /* ResponseSerialization.swift */, + D9B8A8325D956FD938036C3139AE6129 /* Result+Alamofire.swift */, + 5F489618E1EA6D13A4D216EE6A18DC1F /* RetryPolicy.swift */, + C8FA7C22966C76E2A060F78BA813FADB /* ServerTrustEvaluation.swift */, + AC90AC0316EFD5AA9D132504E62002D2 /* Session.swift */, + 3B8CAD9568825063DD134B497F67ACB7 /* SessionDelegate.swift */, + 0B054A71E5C8F9E6E6B2383775622927 /* StringEncoding+Alamofire.swift */, + B6D8DE43ADD2C75FED599E1CAFD45C95 /* URLConvertible+URLRequestConvertible.swift */, + 5FC4E20AAD69EA3CB0A6B0308811A9CA /* URLEncodedFormEncoder.swift */, + F819AF91CF337560B7B662DB9A0E2498 /* URLRequest+Alamofire.swift */, + BF97D2AAECD0BA15BB76003B5DE56498 /* URLSessionConfiguration+Alamofire.swift */, + 63D7DBF6E732F8DCE7731A173618FF10 /* Validation.swift */, + 12D0A91514A7595198715E3EA56436AE /* Support Files */, + ); + name = Alamofire; + path = Alamofire; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 00CE41EA22C241610DE8C8369C5F8DCC /* Headers */ = { + 06D1CB78A93A8D6F69A84354CF97F4F1 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 65EA84D8C4EA09B4455BC6C221D2A940 /* Pods-ShadowsocksX-NGTests-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 4066ADE1EACF598A77B29ECDD1BC4736 /* Headers */ = { + 0C9ED7F80C58C162BDF0D2A96D8615F6 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 0CA982442C8027B672202D753260BAC9 /* RxSwift-umbrella.h in Headers */, + 28B20C35F4E1B3DDE716C831B049ADBC /* _RX.h in Headers */, + 543824E1170EF49570C40DAE54604F21 /* _RXDelegateProxy.h in Headers */, + 4251CDB971A8B94270E34381974BC9F8 /* _RXKVOObserver.h in Headers */, + 69657DEC11BB7E4F9F5B6DE8E1148B3E /* _RXObjCRuntime.h in Headers */, + 9A151985A3D24023E8B2996BF3EBA2BB /* RxCocoa.h in Headers */, + 557AE7547352CEA86AEE5518CC1A503E /* RxCocoa-umbrella.h in Headers */, + 45F6BA1117D64D98B32E0C77670EF906 /* RxCocoaRuntime.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 578CC080DFCED687B046D6BDE4585CCB /* Headers */ = { + 10C7A8D4EDDCB81A2CFDD8E2B72F1863 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 54FFBD61CC8FA5DD12646A7FFAAFE425 /* RxRelay-umbrella.h in Headers */, + 23865265557A519370D211F2ED05190B /* GCDWebServer.h in Headers */, + 3AB9D7F829E68D9168A2DB6BBED5E193 /* GCDWebServer-umbrella.h in Headers */, + CA665E5BDAB5904C802DC18C3046D514 /* GCDWebServerConnection.h in Headers */, + D0A339D63E42D1B9F836EF0FB87241BB /* GCDWebServerDataRequest.h in Headers */, + D07A6461A975C435024586B48DA524FF /* GCDWebServerDataResponse.h in Headers */, + 6500305844320FB99D294E28D5544327 /* GCDWebServerErrorResponse.h in Headers */, + 0F3DA3BA9850BF4BF894FEEDFF0C9229 /* GCDWebServerFileRequest.h in Headers */, + A56EA17142E08761D5265CD99611C318 /* GCDWebServerFileResponse.h in Headers */, + 7BBF7CD170A158ADB7BC4BE728D6E991 /* GCDWebServerFunctions.h in Headers */, + 3EE9595B35B6FF8026C306C5833461A9 /* GCDWebServerHTTPStatusCodes.h in Headers */, + FD5BF0783A18B5C2E0EC90C0CF47B993 /* GCDWebServerMultiPartFormRequest.h in Headers */, + 9A089E9F224B11791335C4EBDFC523F3 /* GCDWebServerPrivate.h in Headers */, + B9CB1EB3C6C65F32564871B4939FBCCA /* GCDWebServerRequest.h in Headers */, + 70FE24F3FF6BC79CE0D5031D94C81B02 /* GCDWebServerResponse.h in Headers */, + 0FABF145E1082CE34AEE60179D5570B7 /* GCDWebServerStreamedResponse.h in Headers */, + 9761C548E5E773E5676503024CAD41C5 /* GCDWebServerURLEncodedFormRequest.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 5C92B9BF5BDADA4C1E469E82F4E59CC5 /* Headers */ = { + 14B287E3E633B845F32DA1C72E6D9AD9 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 8450D728709DB935952A5A59650DB926 /* MASDictionaryTransformer.h in Headers */, - 332D9AE4473773687AA9155EF16A80D8 /* MASHotKey.h in Headers */, - 12DF0C4E73CEC6118673050B236C7799 /* MASKeyCodes.h in Headers */, - 0EEDE530AD4098CC0660A78E2852DA6A /* MASKeyMasks.h in Headers */, - E5F3CF900C793B92F327E2F4BDF8A8AB /* MASLocalization.h in Headers */, - 5BF5F916582D2EE625A9F0F32ECE709A /* MASShortcut-umbrella.h in Headers */, - 4D15DB973A043E9B4A47B724738A2A5F /* MASShortcut.h in Headers */, - 665FBE569EDC9AF24C721F6B9C7241EC /* MASShortcutBinder.h in Headers */, - 5263ED302CD55D6C365476F9B20AD5D1 /* MASShortcutMonitor.h in Headers */, - 72E6FED1FBFB7D269B435A3802528AA1 /* MASShortcutValidator.h in Headers */, - F07EC9B60B1FB76D9F64FE2BC62A87DF /* MASShortcutView+Bindings.h in Headers */, - 80C7348602C99C09226B1241C02D4754 /* MASShortcutView.h in Headers */, - C33311F020C5777D0CB7E0F61E4FED8D /* Shortcut.h in Headers */, + E819DB8A90FFE6F925EFEABE565C66F3 /* RxRelay-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 6584631C190AE58FF259F0472DDC1232 /* Headers */ = { + 52E6F7B26483BE3BC9393C6C05D32424 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( + 005B319B494ED2DAA239B9939A504DFC /* Alamofire-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 6D5EE38D1C1016BBF38E27BDF0AE819C /* Headers */ = { + 5CC842F78D1E94341EA5A08C95B66443 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - CEA50BEC377AEE2AAA9DB5B71DEA418C /* BRLOptionParser.h in Headers */, + F04000A157F4A60BBE08879421963D9E /* MASDictionaryTransformer.h in Headers */, + 5269125E3DB0BD186DB3AE857B3C9E62 /* MASHotKey.h in Headers */, + 28F6C290B055D8D3C8FFBB94D8ADDC3A /* MASKeyCodes.h in Headers */, + 1C59E23513E8D9E53FB5C11507133D5D /* MASKeyMasks.h in Headers */, + 6DD5D1A933244769CC0504FE934A68CA /* MASLocalization.h in Headers */, + 1A3A48510F5EADB9FB14E0DF45B3AD2F /* MASShortcut.h in Headers */, + 99C3157D6C24B6313766D8AC358CEAE4 /* MASShortcut-umbrella.h in Headers */, + 8FFAEC748E582309A35E1B2723DA9448 /* MASShortcutBinder.h in Headers */, + 4F30642E4F2109DE340494AAB2FAB993 /* MASShortcutMonitor.h in Headers */, + 7C029376ECFAAF6EE34B547B6A8F98FD /* MASShortcutValidator.h in Headers */, + 7B835D47DE258886D4DE32448092B2E0 /* MASShortcutView.h in Headers */, + 59C5DEA34359323178DC4924BFEDF256 /* MASShortcutView+Bindings.h in Headers */, + 1C2DA2FFED3F4B8B580AF311F7EC7B7C /* Shortcut.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 6E03461CB76B22AB26BB407943C2763E /* Headers */ = { + 733D87756F7568AF02216E3B28466192 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - E0AF255AB2AFA980F44645355BB7828C /* _RX.h in Headers */, - AC9540D461C3407AB049AEDB94B82375 /* _RXDelegateProxy.h in Headers */, - C83DA2E174587856EBBAAA1763F6D483 /* _RXKVOObserver.h in Headers */, - A34F81BE4A40B0C6EF378FBB8F240C66 /* _RXObjCRuntime.h in Headers */, - C09F690FF2734763D8D2838B0BA14B0F /* RxCocoa-umbrella.h in Headers */, - 815908B08BEA64FC0E5641D046D43CB6 /* RxCocoa.h in Headers */, - 9AA31D499392F8C3E63FE70C8DE816ED /* RxCocoaRuntime.h in Headers */, + 335CE42F522625D762B3D7A8C0ABCB48 /* RxSwift-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8070B01910C64B9AFD0DB550EDE38D6B /* Headers */ = { + 756CF4D55E1CC0A3B761A0C5283C7C6B /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 7D3DD4A8BB36733BA15868F7FB8C56CE /* Alamofire-umbrella.h in Headers */, + 33899BA38E53338F559359256C38AC5C /* Pods-ShadowsocksX-NG-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8AC5AA6FFC615596F505AD8BD785D837 /* Headers */ = { + B6B07BDC969EE695205092C060D6953A /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 1D5606C6BD48C543FA0DB2C82B8791B7 /* GCDWebServer-umbrella.h in Headers */, - AECCE1EAA0757255BC4D722A53202DB0 /* GCDWebServer.h in Headers */, - 7D5AE7E56AC7636F1D00076095F57745 /* GCDWebServerConnection.h in Headers */, - 8BEDC2C0D907FBB47A65EE0E01DE2A59 /* GCDWebServerDataRequest.h in Headers */, - 901D8E9CC22C5E7FDB218557EBBB3559 /* GCDWebServerDataResponse.h in Headers */, - F5C3C227785D45C44F1FA8157EF99C71 /* GCDWebServerErrorResponse.h in Headers */, - 4892C3EBD345FAE187A5E15D7FA19CBE /* GCDWebServerFileRequest.h in Headers */, - D33C1AD2E019F48235F734A00CE7C24C /* GCDWebServerFileResponse.h in Headers */, - B47372436C56EE24B909DE97D5005A64 /* GCDWebServerFunctions.h in Headers */, - C341FC8944C28CCA39FB9AC4B0F23763 /* GCDWebServerHTTPStatusCodes.h in Headers */, - FCBF7F9DA53A194F0653EE7E00B57BC8 /* GCDWebServerMultiPartFormRequest.h in Headers */, - DF3FD63D6A37C12FDB09B8CA5AE80AC3 /* GCDWebServerPrivate.h in Headers */, - 6809229B402FC6C91774DA8664AD4F2F /* GCDWebServerRequest.h in Headers */, - 88F5FF298C4C3D2CDCA5EB7B0BE2B52C /* GCDWebServerResponse.h in Headers */, - 1FAEB66513E2610FE37D99FDD8F9E46D /* GCDWebServerStreamedResponse.h in Headers */, - BD379AB5D6DF4FF97EF15732D9635186 /* GCDWebServerURLEncodedFormRequest.h in Headers */, + F5A28A45E4EDCBB181CB7ABC888E7C41 /* Pods-ShadowsocksX-NGTests-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - E23D293CACB5C453B56EBB9A0CC37588 /* Headers */ = { + BEACFA8F64DCDC24F64A26A66AC1D173 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - F01A39BF2122BF11990A88015EF45A48 /* Pods-ShadowsocksX-NG-umbrella.h in Headers */, + 18ECA0A9E4E58D512C7F2D8A6F1E0EAB /* BRLOptionParser.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1849,11 +1861,11 @@ /* Begin PBXNativeTarget section */ 00F92A6698B766C4479D7B608F28D680 /* BRLOptionParser */ = { isa = PBXNativeTarget; - buildConfigurationList = 6D442598AC59E49374231C4242255CA3 /* Build configuration list for PBXNativeTarget "BRLOptionParser" */; + buildConfigurationList = 500316868ABEC3B76824799B6A8E1B15 /* Build configuration list for PBXNativeTarget "BRLOptionParser" */; buildPhases = ( - 6D5EE38D1C1016BBF38E27BDF0AE819C /* Headers */, - DFF2B5F26ABB5074146BB93EA5DBE095 /* Sources */, - EE0D52842751CED2CD0BD2633A30FEA4 /* Frameworks */, + BEACFA8F64DCDC24F64A26A66AC1D173 /* Headers */, + F5212510E6D4E9256ACB155C76D4F3CE /* Sources */, + 3815199586A32EC9662F1183F7B05559 /* Frameworks */, ); buildRules = ( ); @@ -1861,129 +1873,129 @@ ); name = BRLOptionParser; productName = BRLOptionParser; - productReference = 866C21955F27EBD7A49148F5E63A6E7E /* libBRLOptionParser.a */; + productReference = 866C21955F27EBD7A49148F5E63A6E7E /* BRLOptionParser */; productType = "com.apple.product-type.library.static"; }; 2B2B481A164695722839BD581D442457 /* MASShortcut */ = { isa = PBXNativeTarget; - buildConfigurationList = E888D466E966B416D89BA302F582A3F5 /* Build configuration list for PBXNativeTarget "MASShortcut" */; + buildConfigurationList = 5F6BF3D278A3C9C873968A927045E89B /* Build configuration list for PBXNativeTarget "MASShortcut" */; buildPhases = ( - 5C92B9BF5BDADA4C1E469E82F4E59CC5 /* Headers */, - 7A815F2E1A9D4EFD8C4C4BD6D7DC1BCA /* Sources */, - DA3A32D96D94A82A8FFE804468C37DB4 /* Frameworks */, - E8A034F83F762D640CA494BF8161ED87 /* Resources */, + 5CC842F78D1E94341EA5A08C95B66443 /* Headers */, + 7ED9B3F4BBDE8FFC2FF6B3A627E75C1B /* Sources */, + 0A8210914F2B4C0E6CDA1758CD78EF19 /* Frameworks */, + EC9D27D180C0FA7E66832358606C5F56 /* Resources */, ); buildRules = ( ); dependencies = ( - 53637CA92B734D4013B9F99E7AAA9808 /* PBXTargetDependency */, + EC3A605D08DB0E9EAD93FD0757AA055B /* PBXTargetDependency */, ); name = MASShortcut; productName = MASShortcut; - productReference = 26A8810424438A12E7ADBFB3E068C658 /* MASShortcut.framework */; + productReference = 26A8810424438A12E7ADBFB3E068C658 /* MASShortcut */; productType = "com.apple.product-type.framework"; }; 2E91F9FD8B0C7DA58DD330CBF2096926 /* Pods-ShadowsocksX-NGTests */ = { isa = PBXNativeTarget; - buildConfigurationList = 84B5ECA69733DA3FEDC652649E6E42C5 /* Build configuration list for PBXNativeTarget "Pods-ShadowsocksX-NGTests" */; + buildConfigurationList = CB098DC493DCF0BD307E593941DB5975 /* Build configuration list for PBXNativeTarget "Pods-ShadowsocksX-NGTests" */; buildPhases = ( - 00CE41EA22C241610DE8C8369C5F8DCC /* Headers */, - F0A91985F4DA9728630FB9ABC81A8CC1 /* Sources */, - F4AB20C615B7CE4E912D4031FF0A52C8 /* Frameworks */, - 8FA2F274BF94CAE07E4B856B3E2F5D77 /* Resources */, + B6B07BDC969EE695205092C060D6953A /* Headers */, + 3FD87B904E8808C8F414AB1765AFA5A4 /* Sources */, + 876E39FE7560C15D1A0691D402339570 /* Frameworks */, + FDAA8FFDBF7A69C89623CEF23B72D381 /* Resources */, ); buildRules = ( ); dependencies = ( - FF103DE3A0523E2D55DE3D845DD9F0E2 /* PBXTargetDependency */, + B4FBD09F0A340B0D9095FDF4D64E58F0 /* PBXTargetDependency */, ); name = "Pods-ShadowsocksX-NGTests"; - productName = "Pods-ShadowsocksX-NGTests"; - productReference = D48183AD5F98D081078429EF56451DFF /* Pods_ShadowsocksX_NGTests.framework */; + productName = Pods_ShadowsocksX_NGTests; + productReference = D48183AD5F98D081078429EF56451DFF /* Pods-ShadowsocksX-NGTests */; productType = "com.apple.product-type.framework"; }; 4622BFEF3DC16E8BD15EEFC30D4D0084 /* RxRelay */ = { isa = PBXNativeTarget; - buildConfigurationList = 3797157A80385C2407F752CEE1BFEB21 /* Build configuration list for PBXNativeTarget "RxRelay" */; + buildConfigurationList = 465A24F6414E4BB5D517BD8C27ADE3A7 /* Build configuration list for PBXNativeTarget "RxRelay" */; buildPhases = ( - 578CC080DFCED687B046D6BDE4585CCB /* Headers */, - FEE82C527A384A55B52EF357FAA16C22 /* Sources */, - BA30161BB5D2E74710CBABFCC20E409F /* Frameworks */, - A151D550DD2C543F68445FDB753EF8EF /* Resources */, + 14B287E3E633B845F32DA1C72E6D9AD9 /* Headers */, + 1E2247A26E38222036A65CE54C85F6B6 /* Sources */, + 7402A422B226AF7270D89AFE43493BBF /* Frameworks */, + 0BC1C67A0E2EA965509FDC4E984566FA /* Resources */, ); buildRules = ( ); dependencies = ( - 232E22686FEEB70180F984222B39F949 /* PBXTargetDependency */, + A9C89441CA60A0B18BF3BAC384A00C77 /* PBXTargetDependency */, ); name = RxRelay; productName = RxRelay; - productReference = FF8B264DFE802855D5D67E7CDDABFC3C /* RxRelay.framework */; + productReference = FF8B264DFE802855D5D67E7CDDABFC3C /* RxRelay */; productType = "com.apple.product-type.framework"; }; 73C37A16ECCEAD845651DCDEE95675BE /* MASShortcut-MASShortcut */ = { isa = PBXNativeTarget; - buildConfigurationList = 1C26E77821938498151B66E4B3FAFDB5 /* Build configuration list for PBXNativeTarget "MASShortcut-MASShortcut" */; + buildConfigurationList = 8DA7FAF3976916D9070F53F11285BFD1 /* Build configuration list for PBXNativeTarget "MASShortcut-MASShortcut" */; buildPhases = ( - 3DC69F9E1AADA4EC8478D34D6CE9F516 /* Sources */, - 1514A9A36FD5740CCE236AFAF1DAC5C6 /* Frameworks */, - B729EA1E27F34F10BAEB7F33DC42599A /* Resources */, + B1E851D601F227CB1362BCF229077282 /* Sources */, + 9532C1937EB2EE966BBCB3E6BA69B665 /* Frameworks */, + FFBF647C1CF50A31BAED417D62678E99 /* Resources */, ); buildRules = ( ); dependencies = ( ); name = "MASShortcut-MASShortcut"; - productName = "MASShortcut-MASShortcut"; - productReference = 230F8208BE63C052A548A7D41A1158B2 /* MASShortcut.bundle */; + productName = MASShortcut; + productReference = 230F8208BE63C052A548A7D41A1158B2 /* MASShortcut-MASShortcut */; productType = "com.apple.product-type.bundle"; }; 7AD0C6DCDC9CEC8A3C7C10C7FEE07BE6 /* RxCocoa */ = { isa = PBXNativeTarget; - buildConfigurationList = ABE56D8D3781109924A96BB7837ED223 /* Build configuration list for PBXNativeTarget "RxCocoa" */; + buildConfigurationList = 1E42B460D55BA3EBE021004CC2CE312C /* Build configuration list for PBXNativeTarget "RxCocoa" */; buildPhases = ( - 6E03461CB76B22AB26BB407943C2763E /* Headers */, - CCF785ECCCE66AF314E3E51FEE3B8E42 /* Sources */, - 6E9985F3EEB339730D49B3D0181E6029 /* Frameworks */, - EE0DFE66B52C1DA23E421D65B412E5CC /* Resources */, + 0C9ED7F80C58C162BDF0D2A96D8615F6 /* Headers */, + 3DA8F71AF3BF41150950832BA8D64BFE /* Sources */, + 9ECE139DCC04616BA897E487295B1CE3 /* Frameworks */, + 5D4809C72FC4B366B262906F436A3EF1 /* Resources */, ); buildRules = ( ); dependencies = ( - 16E7E2DB71489A3B3A809EE95AF55896 /* PBXTargetDependency */, - F1208697A3C80B8117E54FA1B0E859B1 /* PBXTargetDependency */, + E48C057B3E64037B0A4910F43D7D6558 /* PBXTargetDependency */, + 3F8AF2BC3FA771425DAC60B44CBAD8A6 /* PBXTargetDependency */, ); name = RxCocoa; productName = RxCocoa; - productReference = BC432FD48A5932251F1CAFBC4BF74894 /* RxCocoa.framework */; + productReference = BC432FD48A5932251F1CAFBC4BF74894 /* RxCocoa */; productType = "com.apple.product-type.framework"; }; 9155E0B9A1C6F689BA4B61F3B690FDA1 /* Pods-proxy_conf_helper */ = { isa = PBXNativeTarget; - buildConfigurationList = 0D501A92E69AF80E7786DD9C0D172BEC /* Build configuration list for PBXNativeTarget "Pods-proxy_conf_helper" */; + buildConfigurationList = B7C54572593AC350E8EC42A452520C81 /* Build configuration list for PBXNativeTarget "Pods-proxy_conf_helper" */; buildPhases = ( - 6584631C190AE58FF259F0472DDC1232 /* Headers */, - 19D1B24F4E402839324A4B4FE36492FB /* Sources */, - 44ABA0E4566A87964594C3AB0F7D2048 /* Frameworks */, + 06D1CB78A93A8D6F69A84354CF97F4F1 /* Headers */, + CB780C97ABE1112B2DEC88298EF97CB1 /* Sources */, + DAC067F80F15D56E49E90CA0C6D648E1 /* Frameworks */, ); buildRules = ( ); dependencies = ( - 79DC5AF6E7C88EC75AD6D91A9FF3E011 /* PBXTargetDependency */, + 21EF629A7390EF0A895AC802AC6F0F31 /* PBXTargetDependency */, ); name = "Pods-proxy_conf_helper"; productName = "Pods-proxy_conf_helper"; - productReference = 61C23DB60A84900CD4BDA2F5EE2A0865 /* libPods-proxy_conf_helper.a */; + productReference = 61C23DB60A84900CD4BDA2F5EE2A0865 /* Pods-proxy_conf_helper */; productType = "com.apple.product-type.library.static"; }; AD904F32069787EFB2DFFE05EB82F5BD /* GCDWebServer */ = { isa = PBXNativeTarget; - buildConfigurationList = 690C9430B03B92419AFA4555712EC873 /* Build configuration list for PBXNativeTarget "GCDWebServer" */; + buildConfigurationList = 1CF590D5824784D82CD99F90E5D66959 /* Build configuration list for PBXNativeTarget "GCDWebServer" */; buildPhases = ( - 8AC5AA6FFC615596F505AD8BD785D837 /* Headers */, - A169CD366B0A64342FFF6E09CEC61622 /* Sources */, - C2D4774AB2F0BFB25B60914F66C457AC /* Frameworks */, - AE499806FA299FC184E575472A14EE39 /* Resources */, + 10C7A8D4EDDCB81A2CFDD8E2B72F1863 /* Headers */, + 3391BC148813ED56E1FD8A84CD8052AB /* Sources */, + A96835D81104117F7C487885832DF7F8 /* Frameworks */, + 370419A8066B7FBBCF798F0744DFACCB /* Resources */, ); buildRules = ( ); @@ -1991,41 +2003,41 @@ ); name = GCDWebServer; productName = GCDWebServer; - productReference = B68C1052A3B51DBCF7D960F898AAFA95 /* GCDWebServer.framework */; + productReference = B68C1052A3B51DBCF7D960F898AAFA95 /* GCDWebServer */; productType = "com.apple.product-type.framework"; }; E9FDECF69808DB0491D4B4C08CF920DC /* Pods-ShadowsocksX-NG */ = { isa = PBXNativeTarget; - buildConfigurationList = 975822F53DB5EF99EE2C5EA67BC503C9 /* Build configuration list for PBXNativeTarget "Pods-ShadowsocksX-NG" */; + buildConfigurationList = 59DC3404241DAC61180742FDF00F76C0 /* Build configuration list for PBXNativeTarget "Pods-ShadowsocksX-NG" */; buildPhases = ( - E23D293CACB5C453B56EBB9A0CC37588 /* Headers */, - 53C1A57011F61182535EA4555B7EE67A /* Sources */, - 7B690F32F695B6718D43BA3D3544C78C /* Frameworks */, - E61A0FC1D432BA45188126B9155D697E /* Resources */, + 756CF4D55E1CC0A3B761A0C5283C7C6B /* Headers */, + B49911EAE6C1D16586A853F5DDA1A06D /* Sources */, + 0E97C73FB0533A5FE6ACE7C9A8AE712B /* Frameworks */, + 645804F53546AC67B9AE7C1D0545C60A /* Resources */, ); buildRules = ( ); dependencies = ( - 18247C9B740C16AA1A1F647B7676E673 /* PBXTargetDependency */, - D38F26CBE0B158CB00FD29413295EBDB /* PBXTargetDependency */, - B2D17789138C47D21E16F60C47053226 /* PBXTargetDependency */, - 41031387B219D54FF7673356F1696E11 /* PBXTargetDependency */, - 7DABF5696F48F5C2D50C0A3DE25289EE /* PBXTargetDependency */, - 0403456DEA90C0614E5AFBAE92D06199 /* PBXTargetDependency */, + 35D08BEF029530108525D075D37E3299 /* PBXTargetDependency */, + F7E508F00723AA6E559D993DCDF13851 /* PBXTargetDependency */, + D6BE365ABB4A13702199FD74BA712605 /* PBXTargetDependency */, + F3EC9D70E85263F4117B88EF540C00E9 /* PBXTargetDependency */, + 3084749788B9AC323B0A4246E37B613E /* PBXTargetDependency */, + C0904BD598BB2C308DFD8784AA4F97A9 /* PBXTargetDependency */, ); name = "Pods-ShadowsocksX-NG"; - productName = "Pods-ShadowsocksX-NG"; - productReference = D896F6A68919914B3302027C15449A1D /* Pods_ShadowsocksX_NG.framework */; + productName = Pods_ShadowsocksX_NG; + productReference = D896F6A68919914B3302027C15449A1D /* Pods-ShadowsocksX-NG */; productType = "com.apple.product-type.framework"; }; EA9EA43B3B503823EE36C60D9C8A865F /* RxSwift */ = { isa = PBXNativeTarget; - buildConfigurationList = 6331D6AD3A4489B8CBA44A44D38FD80A /* Build configuration list for PBXNativeTarget "RxSwift" */; + buildConfigurationList = 3421B99FDEAB45C865559529234B7429 /* Build configuration list for PBXNativeTarget "RxSwift" */; buildPhases = ( - 4066ADE1EACF598A77B29ECDD1BC4736 /* Headers */, - 17A2675A401E7A47A2A85F5E0DE8CFFB /* Sources */, - B3C5909F9901CF3F5237F1832E214556 /* Frameworks */, - 046A991884442073662E8396D30686EE /* Resources */, + 733D87756F7568AF02216E3B28466192 /* Headers */, + F2232536AF164DB53A4776428FFB43DA /* Sources */, + AF2A718A9B700EF879EB09BBB7890E98 /* Frameworks */, + 87ADF0D26E235E6576D3BFD3372DC236 /* Resources */, ); buildRules = ( ); @@ -2033,17 +2045,17 @@ ); name = RxSwift; productName = RxSwift; - productReference = 809C5FAB588354C9BA37DC3EAB8CB45C /* RxSwift.framework */; + productReference = 809C5FAB588354C9BA37DC3EAB8CB45C /* RxSwift */; productType = "com.apple.product-type.framework"; }; EAAA1AD3A8A1B59AB91319EE40752C6D /* Alamofire */ = { isa = PBXNativeTarget; - buildConfigurationList = 78E219AC01CD5AFED663C9AB28280801 /* Build configuration list for PBXNativeTarget "Alamofire" */; + buildConfigurationList = 8A212264186B8822192F9C369D7DE4BB /* Build configuration list for PBXNativeTarget "Alamofire" */; buildPhases = ( - 8070B01910C64B9AFD0DB550EDE38D6B /* Headers */, - 2C8326877F6A9617C2FBE9BD15D95B59 /* Sources */, - E4B8CC1E36A98FF4D8BDAC84442F0DCE /* Frameworks */, - 9BCA7D105D531AE5DAF34FB86A2E623A /* Resources */, + 52E6F7B26483BE3BC9393C6C05D32424 /* Headers */, + F5D2A45FBA06D86A537CB441D5BF4FF4 /* Sources */, + 20CF7B67CEDF0B34149F25ECE19505A3 /* Frameworks */, + E9D4145FA41F60FFAB33A07796D9ED97 /* Resources */, ); buildRules = ( ); @@ -2051,7 +2063,7 @@ ); name = Alamofire; productName = Alamofire; - productReference = 5D797E9A5C5782CE845840781FA1CC81 /* Alamofire.framework */; + productReference = 5D797E9A5C5782CE845840781FA1CC81 /* Alamofire */; productType = "com.apple.product-type.framework"; }; /* End PBXNativeTarget section */ @@ -2060,19 +2072,33 @@ BFDFE7DC352907FC980B868725387E98 /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 1100; - LastUpgradeCheck = 1250; + LastSwiftUpdateCheck = 1240; + LastUpgradeCheck = 1240; }; buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - en, Base, + cs, + de, + en, + es, + fr, + it, + ja, + ko, + nl, + pl, + pt, + ru, + sv, + "zh-Hans", + "zh-Hant", ); mainGroup = CF1408CF629C7361332E53B88F7BD30C; - productRefGroup = E786B58AC38A5957ED28E1C47257C01E /* Products */; + productRefGroup = CCCCA1BA15BE2C69A295C2C8AC5D43AC /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( @@ -2092,601 +2118,689 @@ /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 046A991884442073662E8396D30686EE /* Resources */ = { + 0BC1C67A0E2EA965509FDC4E984566FA /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 8FA2F274BF94CAE07E4B856B3E2F5D77 /* Resources */ = { + 370419A8066B7FBBCF798F0744DFACCB /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 9BCA7D105D531AE5DAF34FB86A2E623A /* Resources */ = { + 5D4809C72FC4B366B262906F436A3EF1 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - A151D550DD2C543F68445FDB753EF8EF /* Resources */ = { + 645804F53546AC67B9AE7C1D0545C60A /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - AE499806FA299FC184E575472A14EE39 /* Resources */ = { + 87ADF0D26E235E6576D3BFD3372DC236 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - B729EA1E27F34F10BAEB7F33DC42599A /* Resources */ = { + E9D4145FA41F60FFAB33A07796D9ED97 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - D557532ED179C1F26074DCD602EF357D /* cs.lproj in Resources */, - FF36522388E5964B78AD72A59721AADC /* de.lproj in Resources */, - 02AEF100BA92B652E6E48EF58B479533 /* en.lproj in Resources */, - 4319C0B97542219FCA256B790FE90C1C /* es.lproj in Resources */, - C3D17F4F92CD46A4285A92D1FD6AA4B1 /* fr.lproj in Resources */, - 325A6428E460396F0B0CB9B6FE10EEC4 /* it.lproj in Resources */, - 9389C4BF3F440F2503FFEB8BBC8975C8 /* ja.lproj in Resources */, - 63257249A72693C87BF365F343DA1D36 /* ko.lproj in Resources */, - B90A504C57627AFCC56F0608D321FB31 /* nl.lproj in Resources */, - F4C5E42370FEF310E72D2A8DAD2993FB /* pl.lproj in Resources */, - 82764E2E2DA3FD699FC5B659ED35D9AE /* pt.lproj in Resources */, - 313170D278E51360492948E6BB704EA7 /* ru.lproj in Resources */, - 809C371060C874FBEF8FECDF197D74E3 /* sv.lproj in Resources */, - 7094648D68C944D337CE86C10F8EEB04 /* zh-Hans.lproj in Resources */, - 91C85BAD47B39F365F260E74AB24693D /* zh-Hant.lproj in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - E61A0FC1D432BA45188126B9155D697E /* Resources */ = { + EC9D27D180C0FA7E66832358606C5F56 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + BD227A88D50B87748A8DB3C7D5C73656 /* MASShortcut-MASShortcut in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - E8A034F83F762D640CA494BF8161ED87 /* Resources */ = { + FDAA8FFDBF7A69C89623CEF23B72D381 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - D37A995029438A503B62B1D2ACFE9247 /* MASShortcut.bundle in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - EE0DFE66B52C1DA23E421D65B412E5CC /* Resources */ = { + FFBF647C1CF50A31BAED417D62678E99 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + C46BC31AE0990290C166945C5DB9B5C4 /* cs.lproj in Resources */, + BDEE7FA0E55B449CED84DAF51312BDCC /* de.lproj in Resources */, + 4393720E799FF355F65DDAD3F7AB267A /* en.lproj in Resources */, + 66A2594ACEEF59E152626AB9D495F4E0 /* es.lproj in Resources */, + 1867BD2B95B0EE813BF46FD09B2E92F5 /* fr.lproj in Resources */, + 8958CEA20746A9370C1B951DBA44F93E /* it.lproj in Resources */, + CB5F30E2806C67C2DE4637D28F71BD49 /* ja.lproj in Resources */, + 1DF9CBE7D64CC2C69E6E61F98C95AF68 /* ko.lproj in Resources */, + 3C7057CBBBD05D8B4AF56AE1B60956E3 /* nl.lproj in Resources */, + DE1A0AEB54B4831B694F2398590571B6 /* pl.lproj in Resources */, + 25B83B14339ADDBC2E612F2828B039CA /* pt.lproj in Resources */, + 6938EAF0E000BD8493D652E410B41977 /* ru.lproj in Resources */, + 6BDAD8F13427FFB8FD409B01C261D940 /* sv.lproj in Resources */, + 65575FCA14CC51BECC4A45AB89E71580 /* zh-Hans.lproj in Resources */, + 929FFE207F5BFBC7A54F298DF34204A9 /* zh-Hant.lproj in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 17A2675A401E7A47A2A85F5E0DE8CFFB /* Sources */ = { + 1E2247A26E38222036A65CE54C85F6B6 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 741E51A8D9DE26331ABB938B3BD5751A /* AddRef.swift in Sources */, - 6B105A67121436E162ADE05A682BEA71 /* Amb.swift in Sources */, - 08FE05B1BA0A6D9CE971027E0480350A /* AnonymousDisposable.swift in Sources */, - B7B31CEFFD225FE0DE33DA0CAAFB46BB /* AnonymousObserver.swift in Sources */, - F621486B5084C21DA2498C0FC6A85E02 /* AnyObserver.swift in Sources */, - BACB203DEE570915EDEC3E701158A173 /* AsMaybe.swift in Sources */, - 7B0FB5B7BF42B15FDF1FCE073D8C4C21 /* AsSingle.swift in Sources */, - 4BEC411F5B170048C65D315C87832600 /* AsyncLock.swift in Sources */, - 47E487EF80C53073DBFE5F5FD6BCFF0E /* AsyncSubject.swift in Sources */, - A9AFA432B293A80CF9B1ABD1285A4705 /* AtomicInt.swift in Sources */, - 6CDC5000511AB1CF616FEBB8A856AE58 /* Bag+Rx.swift in Sources */, - 9AC6705C60E05CAB6115BA7603BDC0F6 /* Bag.swift in Sources */, - 77093BBAB8F2F51540322CB14BD2C178 /* BehaviorSubject.swift in Sources */, - A9E6EFE85136C81C4AD5BF1CC1B990FD /* BinaryDisposable.swift in Sources */, - 695A83FEFDFE24858DDC37BD64DBBA33 /* Binder.swift in Sources */, - C7A325790D6CB1C3545FE9E688545C56 /* BooleanDisposable.swift in Sources */, - 90B5B048AE70F82175F8A3DB72EF601E /* Buffer.swift in Sources */, - 2FD49578803778A2F094C0B21FEE332C /* Cancelable.swift in Sources */, - 0A20A09C199A4692A8EA72497B3D504A /* Catch.swift in Sources */, - 14403B39AC36562E41D4768CCF3540B1 /* CombineLatest+arity.swift in Sources */, - BEF81EB8E8A3FB2B8519CDF1C6DEDA1E /* CombineLatest+Collection.swift in Sources */, - 017170EB9F2450569816AB0FF2E6D541 /* CombineLatest.swift in Sources */, - EB8C4B9D8DFF39ECFE8538B73F5717F7 /* CompactMap.swift in Sources */, - 64F43894B4404E7BDE27A5C8BE96E0AE /* Completable+AndThen.swift in Sources */, - C0EA3A392A5229080E52F9FDF969FDC8 /* Completable.swift in Sources */, - 07326CA68F757A1C82495BB52A92BD5C /* CompositeDisposable.swift in Sources */, - 5F7CE7907DC769D3E61980B80D20A275 /* Concat.swift in Sources */, - ABDF69C30364D8B9BDFDA8D82A797396 /* ConcurrentDispatchQueueScheduler.swift in Sources */, - DD24A504D1BB91B71B67B4A93A92F1DA /* ConcurrentMainScheduler.swift in Sources */, - E83CDC839BC5CA753A57BE04CB66F85D /* ConnectableObservableType.swift in Sources */, - AE143D6485273A676FF9FBF637EE32B3 /* Create.swift in Sources */, - D13BDCB5C86CD4018E19F1DA207BA61A /* CurrentThreadScheduler.swift in Sources */, - 90429156F020B4490158F6686EEFCB02 /* Date+Dispatch.swift in Sources */, - 0722A6B0D2DE0B9620F5C9659CB679D8 /* Debounce.swift in Sources */, - D597C1B3CBDE4896A022E9422A4F4874 /* Debug.swift in Sources */, - D21D80287E6B1C56E0BE86B1E3F08249 /* Decode.swift in Sources */, - ADF86969180231C97A14929F02866A1E /* DefaultIfEmpty.swift in Sources */, - 519260344D4291AA4C1CEAD7711B1489 /* Deferred.swift in Sources */, - 3212BC4884F26AE9244A7548691A0CE0 /* Delay.swift in Sources */, - A6652D3942752A05ED133DB77C955216 /* DelaySubscription.swift in Sources */, - 1A630AD9EFDB068A1544BD51CA5E99B7 /* Dematerialize.swift in Sources */, - 6E75ECF4BDC7AF83E3151274539DFF93 /* DispatchQueue+Extensions.swift in Sources */, - BAC5C3D7F895C6A95B5EA70D1C4BB998 /* DispatchQueueConfiguration.swift in Sources */, - E06F7DEDC12A706F1AA7067CA7D58BD8 /* Disposable.swift in Sources */, - 0D8B936D823A959DDE9005A1C1D89487 /* Disposables.swift in Sources */, - 109ADA4349083858A198CA863E457E37 /* DisposeBag.swift in Sources */, - 3D8428BE717C8E76FA50C1D8B93561EE /* DisposeBase.swift in Sources */, - 9F77A1FFC61AF7C54E88B7436893C91B /* DistinctUntilChanged.swift in Sources */, - F1F7AF19C5D50FB5BCD1D357FB9A5946 /* Do.swift in Sources */, - 44D30DA4840EF46F1C4BCEA6179AAE60 /* ElementAt.swift in Sources */, - D6389E438CF72863B7F4832592B60428 /* Empty.swift in Sources */, - 0E7C902AB09DA1CA05D07D36BD55C73E /* Enumerated.swift in Sources */, - 84E576015933A4F6F431759174C62956 /* Error.swift in Sources */, - 2375AD3B88ECB4A1C01F9F70DCFB05E7 /* Errors.swift in Sources */, - E46EB73E26A44700E41C3CD2F1E847FD /* Event.swift in Sources */, - 52CB53A7C3EF4BD88F73996450B73AA7 /* Filter.swift in Sources */, - E5A162C30F57D3A21BD9D74BC97E782E /* First.swift in Sources */, - E9C69CBF2B72EC9A5031BA6FF30BC251 /* Generate.swift in Sources */, - 7885432DE1DDE9F2A4607033B2808E5B /* GroupBy.swift in Sources */, - B3C0F4C71E972214529455424C69E544 /* GroupedObservable.swift in Sources */, - 2453CFD81C667B99753FF8354AA82C60 /* HistoricalScheduler.swift in Sources */, - 6CA2AE8DA8D630D83FAED6FC2F081967 /* HistoricalSchedulerTimeConverter.swift in Sources */, - B4E0DA5CB21C859040F39077A2731701 /* ImmediateSchedulerType.swift in Sources */, - 99E2AEBB5C39DB1661C5C03DDAA451EC /* Infallible+CombineLatest+arity.swift in Sources */, - 66207468882614FB8CE9896DC4250F13 /* Infallible+Create.swift in Sources */, - 4B9CC90686F274845EBBB82F230C11EE /* Infallible+Operators.swift in Sources */, - 1EC23A9ACE471AAE845CE9ACD4588932 /* Infallible+Zip+arity.swift in Sources */, - 652118C36365C28E76826357E309EADE /* Infallible.swift in Sources */, - B59F717CE3CD531818EAFE88FBB454AA /* InfiniteSequence.swift in Sources */, - 3AB06F4DB0A01BA8F6662D0EDC495981 /* InvocableScheduledItem.swift in Sources */, - 4A33F1A7BD2AD1F318E081E17B0AA80F /* InvocableType.swift in Sources */, - EA82A6A287EA96119DF03722AB2F25B8 /* Just.swift in Sources */, - 6D5BDAE5D8D991B874AD4D7FF2EA7C8C /* Lock.swift in Sources */, - 830F06C3D23016D62112E4BA1C22A766 /* LockOwnerType.swift in Sources */, - 34C033CDDD8217EE4221E9BDFFC23086 /* MainScheduler.swift in Sources */, - F1A73AB066B6EC8C012F4044B542568D /* Map.swift in Sources */, - E5F1157CAB86D8C0C166874A6E826739 /* Materialize.swift in Sources */, - 2C8A055494092F137EDB2E3BDCA74DFC /* Maybe.swift in Sources */, - 9360BB098EFD18F90BA16149E8EF8A34 /* Merge.swift in Sources */, - 42DBD7750A47DE5273041BDEE8850195 /* Multicast.swift in Sources */, - 8F66042610AE99F62D17E50EF0C83B0D /* Never.swift in Sources */, - 4C6CC049B53AF49050AD6428C5B50AB0 /* NopDisposable.swift in Sources */, - 432B3CB444984CCCFB4EF37E2D762F05 /* Observable.swift in Sources */, - F89A75BE493264635F9977B0A9233617 /* ObservableConvertibleType+Infallible.swift in Sources */, - A0F9BB688F14F5B350A388BA60C184A0 /* ObservableConvertibleType.swift in Sources */, - 3E6A74677BA3612A449B323631B44559 /* ObservableType+Extensions.swift in Sources */, - 11B06B47E4CB24A05B1299D730643803 /* ObservableType+PrimitiveSequence.swift in Sources */, - 2CD9AC66F1727C363449C4072DA57F89 /* ObservableType.swift in Sources */, - 0A8A30C3BF493120607DD0157A560065 /* ObserveOn.swift in Sources */, - DCC8DE3CDC74A5E38864303C8C2404EF /* ObserverBase.swift in Sources */, - 7B99EC9A5D3CF7B6DE0330773143F15F /* ObserverType.swift in Sources */, - 516E4177ED65653EA9DAADBA3CF3FBED /* OperationQueueScheduler.swift in Sources */, - CCE2D9FB50D6084FD48013ED3474F992 /* Optional.swift in Sources */, - 73E48515343BD4E57358BAD9F3B2F590 /* Platform.Darwin.swift in Sources */, - 27C5636F69D717D7745A0235D715E4FB /* Platform.Linux.swift in Sources */, - B21C782362344F1FBCA4C5792EC1DED4 /* PrimitiveSequence+Zip+arity.swift in Sources */, - B6634C3C7216D0A7B063174C16BA1922 /* PrimitiveSequence.swift in Sources */, - 8EEA6795ED2806C80FBE6A00B615CB76 /* PriorityQueue.swift in Sources */, - ED82861E104428E8C3FA8D1B2618C875 /* Producer.swift in Sources */, - A3D78B5A2E0E6B987B021DA58CA55BEB /* PublishSubject.swift in Sources */, - 9141315B460BE4CD3030B62BE7692B73 /* Queue.swift in Sources */, - 5E3681E1F77D4A9B58F332348935EE8C /* Range.swift in Sources */, - 6A3972E7F1ACA4CEE36E0AA3B2BA34FB /* Reactive.swift in Sources */, - 1C0A940E6D4FD420BEC04B9F16914D71 /* RecursiveLock.swift in Sources */, - 262C2E49711CEA356F7C2031AE074C8A /* RecursiveScheduler.swift in Sources */, - 774C726DE2716860799DAEAD0B801A94 /* Reduce.swift in Sources */, - C0ACE318CA3576826A53026F9C253E0B /* RefCountDisposable.swift in Sources */, - 4728113A1BA4AE948E1B2FB610A473B4 /* Repeat.swift in Sources */, - C81FF014587AC7E1A51D4F3F2C6F72EA /* ReplaySubject.swift in Sources */, - 9D5CD154B7C49DA0BCBFF996CA9A6E62 /* RetryWhen.swift in Sources */, - A9DD82DFCFA49DC81169D82415DE7B94 /* Rx.swift in Sources */, - 0A4DF5D6FC29A34C999E1ECBB53C696B /* RxMutableBox.swift in Sources */, - 8EB4272CE33A59083F0DC9746C0F71D0 /* RxSwift-dummy.m in Sources */, - A4CE525F7E6904D7D244727C90DBDBE2 /* Sample.swift in Sources */, - 5CDF229542C4FC347E9D1DFDBAC8B230 /* Scan.swift in Sources */, - 9F794FB773B632DAC0416008A8EC3F45 /* ScheduledDisposable.swift in Sources */, - AA5CBA43C0BF98751988A758EB180BA6 /* ScheduledItem.swift in Sources */, - 14E31D647AFA8F0FBE3793EF61872247 /* ScheduledItemType.swift in Sources */, - 10993D369AADB3E2BCA4E966DE514C09 /* SchedulerServices+Emulation.swift in Sources */, - 4C88ED296D3687C973B0472D047CE3E8 /* SchedulerType.swift in Sources */, - D57542063237724C1CA2962EAC1764C7 /* Sequence.swift in Sources */, - 2D890B63806F7465912098B60052B092 /* SerialDispatchQueueScheduler.swift in Sources */, - 239AC2D5500F4E4FB04BC341A1335DF7 /* SerialDisposable.swift in Sources */, - 4EC10410410410FF3A33C6015FD5927D /* ShareReplayScope.swift in Sources */, - D574A95C82CDFCC40442A4C5A20645D9 /* Single.swift in Sources */, - B936FB1A1779B971BCE58D1CFB84036B /* SingleAssignmentDisposable.swift in Sources */, - FAEF22DB65A2C18EAF044623FF4ECA43 /* SingleAsync.swift in Sources */, - 4673A5004D211FA68BB8506B9A323034 /* Sink.swift in Sources */, - 83470A9EFB9948DED806CC1D1233D21C /* Skip.swift in Sources */, - D0B9EA4DC98653D58DEAE9629A2F0285 /* SkipUntil.swift in Sources */, - DBFA45EBB79E16D7B6780CDA789B0D08 /* SkipWhile.swift in Sources */, - 7CF0187F571D299FE14788318D720152 /* StartWith.swift in Sources */, - 0FB5F248B62BC1F0113E53461E807AE5 /* SubjectType.swift in Sources */, - B9C2804D9E9FD66CF22595DBFED0DC79 /* SubscribeOn.swift in Sources */, - FA547DB169BA1CB0759702BA51F1C52E /* SubscriptionDisposable.swift in Sources */, - BB15F798287F7447B78B4D49522030C4 /* SwiftSupport.swift in Sources */, - 535519D2B25D1784AA6D6A9BDE60C759 /* Switch.swift in Sources */, - A5DC2335899B03F0130A9C739319C92A /* SwitchIfEmpty.swift in Sources */, - CE622A228B2F310835326CCF0B83F031 /* SynchronizedDisposeType.swift in Sources */, - BC184A6D6502B7B4B308496F5172E4FE /* SynchronizedOnType.swift in Sources */, - 543010884F5B7C1F2920A0DF33A3A9D1 /* SynchronizedUnsubscribeType.swift in Sources */, - D661EA5F16B11BEE347BAE35961A3AD2 /* TailRecursiveSink.swift in Sources */, - 601A69113478A1336ADA98C7658D2355 /* Take.swift in Sources */, - 14C185529F30494F6B6F0DFA9AEDDC05 /* TakeLast.swift in Sources */, - 44C45DEC66DB1FBBA5F850E79057DC13 /* TakeWithPredicate.swift in Sources */, - 3BAE1C06A091DFA7A91F93BD40BD41B9 /* Throttle.swift in Sources */, - 69D750E3DAB2F11E37761A204A145883 /* Timeout.swift in Sources */, - 1DF080CB9D37CB063C6FEC09BBF8F238 /* Timer.swift in Sources */, - A7A81BFC5D65FDB665AC19E78D4F21B6 /* ToArray.swift in Sources */, - DDA573352B48255CA674E8BB62C306C6 /* Using.swift in Sources */, - 8B67845A8F56DF49F8B22B1BB63C5E10 /* VirtualTimeConverterType.swift in Sources */, - 1B341070BA8EB97021BE7C152639CBF5 /* VirtualTimeScheduler.swift in Sources */, - 9FC8EA2F7B3939D69D1469F9046B166A /* Window.swift in Sources */, - F5E8D9EC4166B35C084791CAEFF2404C /* WithLatestFrom.swift in Sources */, - E26E725D6366FA3AE20B95802F54C4B6 /* WithUnretained.swift in Sources */, - 2B540E502B0EE71D93636BA94B9F0817 /* Zip+arity.swift in Sources */, - 9C3D3F75523B1B1BB4B3051C01F8F6FE /* Zip+Collection.swift in Sources */, - FC22B1E68007E6AC40CC8DF2DF5E0AB6 /* Zip.swift in Sources */, + DDFAA85F65DD2A13878FE9956AE6BE73 /* BehaviorRelay.swift in Sources */, + 5955164B14366E7229BB67FF49731ACE /* Observable+Bind.swift in Sources */, + E900C744AAB9A106D26C969A82B3D13F /* PublishRelay.swift in Sources */, + 3CEF5061A79A6425372B9AD3AEE4A68F /* ReplayRelay.swift in Sources */, + 9CF5896506A95255ED72BC661E1878BA /* RxRelay-dummy.m in Sources */, + 4853819BBD903ABDF27B937D1D5FFFCE /* Utils.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 19D1B24F4E402839324A4B4FE36492FB /* Sources */ = { + 3391BC148813ED56E1FD8A84CD8052AB /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - E52E9DB2E0EB574ED157EB478E60D13D /* Pods-proxy_conf_helper-dummy.m in Sources */, + 80D71A98721958B12DF4DE9E4CE5354A /* GCDWebServer.m in Sources */, + E2C61937ABA261A901CC4F433EB5218D /* GCDWebServer-dummy.m in Sources */, + CECC07060F4E45F30BB686631B8C5FA7 /* GCDWebServerConnection.m in Sources */, + 513047B7DA6C1DDE594C344240354FC2 /* GCDWebServerDataRequest.m in Sources */, + 6A6DEB0A79F0EA003CEDAF49352F580B /* GCDWebServerDataResponse.m in Sources */, + 029C1D6AA73EE83F565277B7A37485F4 /* GCDWebServerErrorResponse.m in Sources */, + 12AC94EEA3EBCD92EC7813622C59C2C5 /* GCDWebServerFileRequest.m in Sources */, + 4DD8F66CAE5947B96C433FB8F43BBDE7 /* GCDWebServerFileResponse.m in Sources */, + B1605B055C82D80291D7C696494BD6A6 /* GCDWebServerFunctions.m in Sources */, + 6F8B5E8FBBDD4FF86139E4252E566B0E /* GCDWebServerMultiPartFormRequest.m in Sources */, + 532B6D563A72502F7A092D8EFAD28E81 /* GCDWebServerRequest.m in Sources */, + 22BAB6412F4DD7742B43EF97DD55DB61 /* GCDWebServerResponse.m in Sources */, + FA4DDBBC3C154F5F66D9FC100564B3B2 /* GCDWebServerStreamedResponse.m in Sources */, + 80DD4A8CB008AE85A6F3660BFF682E85 /* GCDWebServerURLEncodedFormRequest.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 2C8326877F6A9617C2FBE9BD15D95B59 /* Sources */ = { + 3DA8F71AF3BF41150950832BA8D64BFE /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 1208E81DA8B532D0646D627B50290EB6 /* AFError.swift in Sources */, - C6D5A4B4028B2C43380C9FA58BD5C8CA /* Alamofire-dummy.m in Sources */, - C1F1DB6A9CBDE584D09BA1613AAD4F9D /* Alamofire.swift in Sources */, - 72EC2712926E6D28B52360D9AC41668F /* AlamofireExtended.swift in Sources */, - DC627AFC5B585686898B014184AFCABD /* AuthenticationInterceptor.swift in Sources */, - ABA85887A41495358C83CE3F3030EDEA /* CachedResponseHandler.swift in Sources */, - 0A1849775CF90D514963187D3A771CF8 /* Combine.swift in Sources */, - 27E59A11A2743B0595CDE3A08675EAE1 /* DispatchQueue+Alamofire.swift in Sources */, - 6546D728B69398F93B506845141EBD61 /* EventMonitor.swift in Sources */, - 91B837CE0DCD8EDB300FCDFFA1279162 /* HTTPHeaders.swift in Sources */, - 013BAC24F7AC722E59517CB110A9E685 /* HTTPMethod.swift in Sources */, - 45B8CC1C61E7A0BB28CFA8CE7C12FEBC /* MultipartFormData.swift in Sources */, - D03F1F02DE8606E6057D57866611BEBF /* MultipartUpload.swift in Sources */, - 19D605A3233499828FB6B790869F3E9C /* NetworkReachabilityManager.swift in Sources */, - 8AA937910F87915DE700CAB6C868689E /* Notifications.swift in Sources */, - 0A900DF17E3B64F08AF673E9A0DDD697 /* OperationQueue+Alamofire.swift in Sources */, - 4AEC050FA7D5ED52FDA9DF50EA3560DF /* ParameterEncoder.swift in Sources */, - D14066FAE94E304798E43651E5886D13 /* ParameterEncoding.swift in Sources */, - 218C14EAE5AA31C30314AE0289B732A0 /* Protected.swift in Sources */, - 666EC5C8356E6D4448A2FE7BEE77AD88 /* RedirectHandler.swift in Sources */, - EDC93BD7B9262119AE145E4C7A9D0212 /* Request.swift in Sources */, - 6E54F64E8DA73F4B0B46C216F9F93F63 /* RequestInterceptor.swift in Sources */, - 6C08F6A77889651626583100F560153D /* RequestTaskMap.swift in Sources */, - C1C5B050B55C15103ABC81769551A283 /* Response.swift in Sources */, - 911448B2EDA2FF880108F77642797A88 /* ResponseSerialization.swift in Sources */, - 66B26C6CAE737EC21F4BA1F1851B69C5 /* Result+Alamofire.swift in Sources */, - 9FED70D1E1FBFB80E974E999EF732258 /* RetryPolicy.swift in Sources */, - 47FDBBBD2704901588C3A7C56BBC502D /* ServerTrustEvaluation.swift in Sources */, - 6AE407A4FB6C3D6ADD862CC6E3067A17 /* Session.swift in Sources */, - 381FF05F8B4F611EE9C2FDBE4457BB89 /* SessionDelegate.swift in Sources */, - 212EDC48B68107BEA9247F3464CE696E /* StringEncoding+Alamofire.swift in Sources */, - 9B1D8A7798D8A6F518FC9AF9725431D0 /* URLConvertible+URLRequestConvertible.swift in Sources */, - D31FC7FDD450C4CDD633ECBAD27C6221 /* URLEncodedFormEncoder.swift in Sources */, - D5EAAFB6FAD77A8F0699345149BA3CBB /* URLRequest+Alamofire.swift in Sources */, - F70EF854395CDE981A8336E4FF0310FE /* URLSessionConfiguration+Alamofire.swift in Sources */, - F0F3224FF592F9BA2A044A2FC2BD4CCD /* Validation.swift in Sources */, + 426C76C68C9FA3582F26BBB9E96316E4 /* _RX.m in Sources */, + C2D4FEEAF01038DB5C31CA401C105476 /* _RXDelegateProxy.m in Sources */, + F60E2B85B28D1E27FD52F9B0D62A50C8 /* _RXKVOObserver.m in Sources */, + C12DCA02D36C5C6167F566AFC96A6057 /* _RXObjCRuntime.m in Sources */, + 8A8AD24A8CE75FBE807EB5A9FC11E62A /* Bag.swift in Sources */, + FE9261A1344AF922C1EFCB457B938425 /* BehaviorRelay+Driver.swift in Sources */, + 1CC3FBF38E35B664C2A003664C58E2D7 /* ControlEvent.swift in Sources */, + 47D3FBF90386DABCAB70AA2CA176C8EB /* ControlEvent+Driver.swift in Sources */, + F3B4A826460EF6A9B19849D1E7AF6A52 /* ControlEvent+Signal.swift in Sources */, + 0907413AF1BF312948C6CA8289CE29AE /* ControlProperty.swift in Sources */, + D6FDE9DFAC4AA548A9A4E2D6BBCE54FC /* ControlProperty+Driver.swift in Sources */, + 81148E8E0935476F92B10881A023D0DC /* ControlTarget.swift in Sources */, + B3167FEDC691D1DDF267F855CFF33636 /* DelegateProxy.swift in Sources */, + 567E2B1BAE575E6556A2E57191BA2DA7 /* DelegateProxyType.swift in Sources */, + CF32140300489AD5D6D5A74E4605FDAF /* DispatchQueue+Extensions.swift in Sources */, + 0B5BB08F1937AD6324F0ADDD8F9E067B /* Driver.swift in Sources */, + BA5658B6C27A81FA4665E507A1ED88DA /* Driver+Subscription.swift in Sources */, + 6927E0A61FCF762B43C75325110C3D77 /* Infallible+Bind.swift in Sources */, + D3AB490FA372E1922315D4F2E5709254 /* InfiniteSequence.swift in Sources */, + 377229136C0061FE2FABE71862C2070F /* ItemEvents.swift in Sources */, + C784A7AAD94DD830A9EB5ADDEE6DE1BB /* KVORepresentable.swift in Sources */, + 5230B70A7B448918B83D3B983533D29A /* KVORepresentable+CoreGraphics.swift in Sources */, + CE08483A41A5535019BE5E198792480B /* KVORepresentable+Swift.swift in Sources */, + 5A3DE5038C0E8C2BAFC3316589D0F918 /* NotificationCenter+Rx.swift in Sources */, + B59095D5EF330419B3ADFBAD7EBC2B1F /* NSButton+Rx.swift in Sources */, + BAD3834746DAB3C038417D16101B29A2 /* NSControl+Rx.swift in Sources */, + BB72FC9215BD907A82AE928782813D6C /* NSObject+Rx.swift in Sources */, + 2087DD8278E2FC32F75C947E058EA423 /* NSObject+Rx+KVORepresentable.swift in Sources */, + 96F9E4762C05BF7B009FA52FC18C18C5 /* NSObject+Rx+RawRepresentable.swift in Sources */, + F2DDF679DF721DDA14A53744DD540092 /* NSSlider+Rx.swift in Sources */, + 5A39F3F258372FA025F08ECAFFFCF71D /* NSTextField+Rx.swift in Sources */, + D2004A03ADD62CD0C4649710F32A91F5 /* NSTextStorage+Rx.swift in Sources */, + FCD9660A73D7E00EA19E2F2295876E04 /* NSTextView+Rx.swift in Sources */, + 6DB19BEE9C42CBE8101A114524B38CE7 /* NSView+Rx.swift in Sources */, + F9821B669566BA01F845426DC6834E76 /* Observable+Bind.swift in Sources */, + 55713DE36F28B0D078ADAD60D5EE7FF4 /* ObservableConvertibleType+Driver.swift in Sources */, + 4F315C18FC854325DD5D062DD7A363D5 /* ObservableConvertibleType+SharedSequence.swift in Sources */, + D47B1058991EEC007A109B8E354EDB80 /* ObservableConvertibleType+Signal.swift in Sources */, + 2662EA3D1400EC4BD90947902CD85670 /* Platform.Darwin.swift in Sources */, + A0208B623442A26CB9157F193CBB4A7F /* Platform.Linux.swift in Sources */, + 6F803B4767FE50C12E3F0402DC0A3BE5 /* PriorityQueue.swift in Sources */, + 275C15979C1EC7DB6234974758037906 /* PublishRelay+Signal.swift in Sources */, + 72EE3F69E6154EF5C5524DE4F4EE0B5C /* Queue.swift in Sources */, + 2FCCAB4BA1D71EDB993309159D5DFA7C /* RecursiveLock.swift in Sources */, + 263A6B3B9C8592FC16697D2AB6333AC9 /* RxCocoa.swift in Sources */, + 18211EE7B495AA06EBBED1D6FD9423C0 /* RxCocoa-dummy.m in Sources */, + 84AEE29F4E7DDA962C49D6FAC6044EBC /* RxCocoaObjCRuntimeError+Extensions.swift in Sources */, + 72FCE0D3F5EA7EB908C108DFD468B267 /* RxCollectionViewDataSourcePrefetchingProxy.swift in Sources */, + B5ACECCDD52AF69EBA2E11666BBAEB42 /* RxCollectionViewDataSourceProxy.swift in Sources */, + 7BA5D9B38DAEDD6A5166ECF2A498D194 /* RxCollectionViewDataSourceType.swift in Sources */, + C6A1AF1239CD2F0D4745BAA097E1E63F /* RxCollectionViewDelegateProxy.swift in Sources */, + 9F370B3928A333AD7E41680A29B1F051 /* RxCollectionViewReactiveArrayDataSource.swift in Sources */, + 6DFB5C921332D5E14BF251A5ADA46473 /* RxNavigationControllerDelegateProxy.swift in Sources */, + 111810B8652D290C58076B92FCE40A1F /* RxPickerViewAdapter.swift in Sources */, + 782082D9F5529E63F249E8811BA6FD10 /* RxPickerViewDataSourceProxy.swift in Sources */, + 61EB40AB5F1BB5E6FDC8C5CDE06C3DE9 /* RxPickerViewDataSourceType.swift in Sources */, + EA5FE4B4B3BF04976C37430E4F3721EF /* RxPickerViewDelegateProxy.swift in Sources */, + ACA3DBC73A19F3CDF9C4FAB09988D0E6 /* RxScrollViewDelegateProxy.swift in Sources */, + 7C9C0D2AB5BB6670928CC95B4DA46814 /* RxSearchBarDelegateProxy.swift in Sources */, + A93FC5BCB5B02182D27377A3724A60B1 /* RxSearchControllerDelegateProxy.swift in Sources */, + 07550E0A8451CACE9593873C543F1B78 /* RxTabBarControllerDelegateProxy.swift in Sources */, + AAA7A11591D6E4B06124708291C37698 /* RxTabBarDelegateProxy.swift in Sources */, + 2EFF6DCB0FC66EB564B96A35840D5016 /* RxTableViewDataSourcePrefetchingProxy.swift in Sources */, + 1787EBB3723875770997006509209EDD /* RxTableViewDataSourceProxy.swift in Sources */, + 3EFE8454C7301C05A00EC9870F47968B /* RxTableViewDataSourceType.swift in Sources */, + EF6DD06709E5EFD67031FF9B5901A827 /* RxTableViewDelegateProxy.swift in Sources */, + CB3ACAC0625702DEC5BBB5F9AC0CC737 /* RxTableViewReactiveArrayDataSource.swift in Sources */, + F5AF27692F3A5C9087F015B5C40A35E7 /* RxTarget.swift in Sources */, + 3A379670D0CFBC0FCC9D0F66E944D074 /* RxTextStorageDelegateProxy.swift in Sources */, + 114F6342633413C8BBEC4169F34CFAFD /* RxTextViewDelegateProxy.swift in Sources */, + B3F14F1B196B5858BD951366FA89FA6D /* RxWKNavigationDelegateProxy.swift in Sources */, + 6BDA2BC21E394076C2E58E9269F4AABD /* SchedulerType+SharedSequence.swift in Sources */, + DE71610B229DF6E2B65A8574BAF21414 /* SectionedViewDataSourceType.swift in Sources */, + 9E8BA4FB802EDCD492DAF618CA7BFCE8 /* SharedSequence.swift in Sources */, + 768A33DCEB41CBC5C7ECF5F0220B1A97 /* SharedSequence+Concurrency.swift in Sources */, + FAF7C9C4F9B6AE2CE9F5866B210D9275 /* SharedSequence+Operators.swift in Sources */, + 9ADE1DD7C6AD8B57FD158350A66EF8D0 /* SharedSequence+Operators+arity.swift in Sources */, + 27F2BE5D6E990841E8DA1DF91CF3623B /* Signal.swift in Sources */, + 1F64C124283555FF5E1944FA37501247 /* Signal+Subscription.swift in Sources */, + 24C8FC3B11676AD57F3A7914E6621AD0 /* TextInput.swift in Sources */, + C378AC3DF57A41F6F16D01BBD7A1BB02 /* UIActivityIndicatorView+Rx.swift in Sources */, + 252B64A12E2810921E86B78ECD5BDA9D /* UIApplication+Rx.swift in Sources */, + BBD437FE6BFF63452E6B7E08DFAB4DD9 /* UIBarButtonItem+Rx.swift in Sources */, + 961B5042F0BFBD2C5FCDCCF40E2EA7CD /* UIButton+Rx.swift in Sources */, + A214A653E430C9079AA7B1090169262D /* UICollectionView+Rx.swift in Sources */, + 371CD58570B89DE6A3090CC6CE16AEE7 /* UIControl+Rx.swift in Sources */, + 2AC794BEBE17BA6257A13065584EC5DF /* UIDatePicker+Rx.swift in Sources */, + D4933D17DC286C3DABCFD930BED56DD9 /* UIGestureRecognizer+Rx.swift in Sources */, + 1F6F0B8C1A8EA633EFEBE64EB781A6B5 /* UINavigationController+Rx.swift in Sources */, + A20321979D272B922CD60B531BD05F7F /* UIPickerView+Rx.swift in Sources */, + 660E73ECB1E50185B9D21BAA127DC3A0 /* UIRefreshControl+Rx.swift in Sources */, + D3BC528010D39EB2D79585A671FD80B6 /* UIScrollView+Rx.swift in Sources */, + 057D0EC1E728D714A73210ACAF1FAC6A /* UISearchBar+Rx.swift in Sources */, + AB88D7A71BA82D3BAF097C992BFB221B /* UISearchController+Rx.swift in Sources */, + 90585B3B5526DB8ECBD1AB8EF2C4D5A2 /* UISegmentedControl+Rx.swift in Sources */, + 608DC0C8110DDFF5D8E5A43BB48A6A86 /* UISlider+Rx.swift in Sources */, + 419A11A8F7797E02FA5AAC6D8B4B3C2F /* UIStepper+Rx.swift in Sources */, + 654D9C29A846E7ED4DD5BF0BFC8D64B8 /* UISwitch+Rx.swift in Sources */, + 3EE7A29FCEE9B2A257B977E7137BC44C /* UITabBar+Rx.swift in Sources */, + 5435E924E7CE7B05B7F650C078A12F5B /* UITabBarController+Rx.swift in Sources */, + 8AEE5B74A5BAC274D6589F229D867768 /* UITableView+Rx.swift in Sources */, + B00B8088EB50EA3F0F875993C675F421 /* UITextField+Rx.swift in Sources */, + 14CAA40442778EFE3DF8B07CE170CAF7 /* UITextView+Rx.swift in Sources */, + F7774F70F3F7CD7E11F01BD8B62FFF15 /* URLSession+Rx.swift in Sources */, + D2C293D847E95B01671EB3E6A32F11C7 /* WKWebView+Rx.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3DC69F9E1AADA4EC8478D34D6CE9F516 /* Sources */ = { + 3FD87B904E8808C8F414AB1765AFA5A4 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 72722A73707A0C94876F7A6AEB6A37CC /* Pods-ShadowsocksX-NGTests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 53C1A57011F61182535EA4555B7EE67A /* Sources */ = { + 7ED9B3F4BBDE8FFC2FF6B3A627E75C1B /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - B3E529B0C5581EFBE667B478A97681F6 /* Pods-ShadowsocksX-NG-dummy.m in Sources */, + 2D12EC03C8C96877369DB5C8EE38C4A9 /* MASDictionaryTransformer.m in Sources */, + 12B3F52CF0950AAAF96CCC36A99DA7C2 /* MASHotKey.m in Sources */, + F3BEF8B713D97B7BA9A05E537D549EB2 /* MASLocalization.m in Sources */, + A02EE6648C92AADF5D82AFCCFE75C252 /* MASShortcut.m in Sources */, + 38143FD8326A47334BA94BCA3052E245 /* MASShortcut-dummy.m in Sources */, + D6C6D74A2CFF2FB96AF70F31BB57B4FA /* MASShortcutBinder.m in Sources */, + D8E2E1F080775F5F3624585A3A00CB70 /* MASShortcutMonitor.m in Sources */, + 697F38AF25341132E197BF41FE1A66BF /* MASShortcutValidator.m in Sources */, + 79243D3221A9AD8E3A497EA9C74AFC38 /* MASShortcutView.m in Sources */, + 519BAE8712232622A71F3FF03885AA45 /* MASShortcutView+Bindings.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7A815F2E1A9D4EFD8C4C4BD6D7DC1BCA /* Sources */ = { + B1E851D601F227CB1362BCF229077282 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - F6F5712CC3ED7DD4D51BA12747FCDE6E /* MASDictionaryTransformer.m in Sources */, - DADE159BB4CF9E438FC5DEF80822A710 /* MASHotKey.m in Sources */, - B1501E5B044C314A7E3E08D5172CE6C4 /* MASLocalization.m in Sources */, - 563C41694A1B06EF34752E894297D3FA /* MASShortcut-dummy.m in Sources */, - 1AECEBA213A2C9E6EC56C2C1358849E4 /* MASShortcut.m in Sources */, - FB425C8625656D7AE2AFD1F8A78713B0 /* MASShortcutBinder.m in Sources */, - F515F0E56CBF807E49797455E495074C /* MASShortcutMonitor.m in Sources */, - F9C743AF2433172C84F9365D8DE8CBF3 /* MASShortcutValidator.m in Sources */, - A2F246B7FCDC421BE6098866AA1509C9 /* MASShortcutView+Bindings.m in Sources */, - 805003984E8CFD3375B935DC772A7BF3 /* MASShortcutView.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - A169CD366B0A64342FFF6E09CEC61622 /* Sources */ = { + B49911EAE6C1D16586A853F5DDA1A06D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 1C11628696BD0C889E0A4FC6CA4B6922 /* GCDWebServer-dummy.m in Sources */, - E9B95D42F4510C79E2D8A8CFA251CD49 /* GCDWebServer.m in Sources */, - D260B45339932BAA56D7024048E2D155 /* GCDWebServerConnection.m in Sources */, - CD782D1189ADBAA42D087B87D53838A0 /* GCDWebServerDataRequest.m in Sources */, - 3BBEC4A24B60E2276CBC26E555F64F41 /* GCDWebServerDataResponse.m in Sources */, - D5E020763D69E9336EB398ACD48FEBB0 /* GCDWebServerErrorResponse.m in Sources */, - 4940AB8BC3936DEBDC02BF49FE5E97A1 /* GCDWebServerFileRequest.m in Sources */, - 99ABB4C207FE146C78313E8A9A581FD6 /* GCDWebServerFileResponse.m in Sources */, - 36DED9F6B7737F022FB0B01ECE2BB88E /* GCDWebServerFunctions.m in Sources */, - 221F057199246D7709DD91C950746B7B /* GCDWebServerMultiPartFormRequest.m in Sources */, - BF1EB892BE3CF9CDFA0DAC7F9392435C /* GCDWebServerRequest.m in Sources */, - 3685E20BBC5AFEA3BC80FE12732AB269 /* GCDWebServerResponse.m in Sources */, - F7DAD2EF3F86BC40F7D4F2EE49362418 /* GCDWebServerStreamedResponse.m in Sources */, - 5989329B01C0737EFDB490C5A771FDC2 /* GCDWebServerURLEncodedFormRequest.m in Sources */, + 66A7D22440C9ED2F42534BF9B8925990 /* Pods-ShadowsocksX-NG-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - CCF785ECCCE66AF314E3E51FEE3B8E42 /* Sources */ = { + CB780C97ABE1112B2DEC88298EF97CB1 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - AED84FBEE9189CFC8A946DDC2BFCB2BE /* _RX.m in Sources */, - 62DF258CA1EA9A41A99B93052A72DAB0 /* _RXDelegateProxy.m in Sources */, - 999CAB83E4F6D824DF56B2B755C0B588 /* _RXKVOObserver.m in Sources */, - 4E095DE808150F9350BB9CB3C99A37B2 /* _RXObjCRuntime.m in Sources */, - BD386D2A7F6652D62B9E75803D3AAD3B /* Bag.swift in Sources */, - 75917BCA0645283EC7D9CC3ADEE6DB4F /* BehaviorRelay+Driver.swift in Sources */, - 12E8D9F9C1A9B4FC7669C18954BC4798 /* ControlEvent+Driver.swift in Sources */, - A8EEAAF6FACD8832BE7E4A6331ED57E4 /* ControlEvent+Signal.swift in Sources */, - FD397CD62192F67DF9C2088CC5EBE409 /* ControlEvent.swift in Sources */, - 99210D61FFF596695086F3E51D893204 /* ControlProperty+Driver.swift in Sources */, - E9FD5789C7C4946FC504E7C679BDD156 /* ControlProperty.swift in Sources */, - F44EF6685A8C029EAC293DE9FADC3794 /* ControlTarget.swift in Sources */, - 872E07F59296D07A405BAB9C36936AC8 /* DelegateProxy.swift in Sources */, - 70359E1C7BAA76860EA35A607CCC4309 /* DelegateProxyType.swift in Sources */, - 30536C64EAA45BE64894B48D74144B1E /* DispatchQueue+Extensions.swift in Sources */, - F45717BF2118BB61C328A1F67CFE9238 /* Driver+Subscription.swift in Sources */, - B8B7E2AC4972978F6894F9C22936CA42 /* Driver.swift in Sources */, - A8DBBA1BD18472113BBE931A3F949659 /* Infallible+Bind.swift in Sources */, - 16C263170733039596369C8D4F89077A /* InfiniteSequence.swift in Sources */, - F186B25E38062738E07F219D0289CBFA /* ItemEvents.swift in Sources */, - 3596F8FDA81BECFE1B05B50500447638 /* KVORepresentable+CoreGraphics.swift in Sources */, - 2862DA4097D964B745862F00BB45759D /* KVORepresentable+Swift.swift in Sources */, - C8422B20017685DE0D693EC679FF8BF6 /* KVORepresentable.swift in Sources */, - A2526FE80C9370555D66A0A33EA22E44 /* NotificationCenter+Rx.swift in Sources */, - A9DFF7177D374AF79EEAD9F34B66569A /* NSButton+Rx.swift in Sources */, - BB322452A0B606428489BA2B2F6D3715 /* NSControl+Rx.swift in Sources */, - CA391E5CE794FA6D964DC2DFC8B8E109 /* NSObject+Rx+KVORepresentable.swift in Sources */, - E816A86AE437A96B389D73C115778CFA /* NSObject+Rx+RawRepresentable.swift in Sources */, - 85CD565FB8198B084806FE075B268AB5 /* NSObject+Rx.swift in Sources */, - 7BD242803D2ADF6E50A27C3542C8695D /* NSSlider+Rx.swift in Sources */, - A525A6AE79BA19A9BDEA467D31477916 /* NSTextField+Rx.swift in Sources */, - 58D3BBBF801B54CC74FAAC0374F1948D /* NSTextStorage+Rx.swift in Sources */, - B261ED81ABD31C88EAC460E27E453FAE /* NSTextView+Rx.swift in Sources */, - C0E1B20534F498B9891E956388D79209 /* NSView+Rx.swift in Sources */, - F8C1D484E959F9ADD96E9CD2F3B045B0 /* Observable+Bind.swift in Sources */, - AB83592C5AA99079DA59151D2ACDFBE2 /* ObservableConvertibleType+Driver.swift in Sources */, - E8064C59B797763270D65097B4CD075B /* ObservableConvertibleType+SharedSequence.swift in Sources */, - BC03F491551F314E102DEB2F96110609 /* ObservableConvertibleType+Signal.swift in Sources */, - D0C4275AF3346D1C08B187D04D9606F2 /* Platform.Darwin.swift in Sources */, - 2BD53F1C421E9938A099F3F45C84FBAD /* Platform.Linux.swift in Sources */, - 39988540E9F936FE5085117BB8F32FAC /* PriorityQueue.swift in Sources */, - 934592C980EE09EEE5F4B5074C6A56D8 /* PublishRelay+Signal.swift in Sources */, - 440BDCF5820801BC8A6D740C48EEAB8E /* Queue.swift in Sources */, - 786C836C43BD6428332A4001EE13816F /* RecursiveLock.swift in Sources */, - E1AD1FE46FE8F693F913FEC190210A59 /* RxCocoa-dummy.m in Sources */, - 23CF55A9FA514BDCA0B46320D4ED5DEC /* RxCocoa.swift in Sources */, - 6A5300346FF40392C6A4B5908AA9C027 /* RxCocoaObjCRuntimeError+Extensions.swift in Sources */, - 080F0457EB8E6A9F2841FB0D77AEEF42 /* RxCollectionViewDataSourcePrefetchingProxy.swift in Sources */, - FDEBCA25E0674ADFB66FA6256FF6486F /* RxCollectionViewDataSourceProxy.swift in Sources */, - 51B830516D57359FAB42031193E47CB1 /* RxCollectionViewDataSourceType.swift in Sources */, - 037CEEDED76C75AB19A6A015D66C1322 /* RxCollectionViewDelegateProxy.swift in Sources */, - D9884F11DD4FAA059A45CBBBC68E090F /* RxCollectionViewReactiveArrayDataSource.swift in Sources */, - 7BFBC9F9818BC849C72D672D6B6E4B75 /* RxNavigationControllerDelegateProxy.swift in Sources */, - 953EC9012B7246D01EA866100FAEA023 /* RxPickerViewAdapter.swift in Sources */, - 447B98FAB75F9B738B72DA92A3C581D6 /* RxPickerViewDataSourceProxy.swift in Sources */, - 0FE468D23725DEF3BB913C80A61F9B1B /* RxPickerViewDataSourceType.swift in Sources */, - 63CE2D43072C461D8DE926F0B9EC2E97 /* RxPickerViewDelegateProxy.swift in Sources */, - 26900F59621365F9EF08DB37C7E07C06 /* RxScrollViewDelegateProxy.swift in Sources */, - E84DB9453D7F43DCEC20FDFB5F1CDFD6 /* RxSearchBarDelegateProxy.swift in Sources */, - 4953376F75EEA98570C65CFC41E0A154 /* RxSearchControllerDelegateProxy.swift in Sources */, - 6CD3A3F8ABC5FCE23D15CE6823840010 /* RxTabBarControllerDelegateProxy.swift in Sources */, - DC708FA8C70373D522CB885D4451F3D0 /* RxTabBarDelegateProxy.swift in Sources */, - B2246BF06902F6B9264919F779968CCB /* RxTableViewDataSourcePrefetchingProxy.swift in Sources */, - 1ECDFBCA376564682426B5D8AC70393C /* RxTableViewDataSourceProxy.swift in Sources */, - 60FBA126D0D250DE50F4DD26041E4A9C /* RxTableViewDataSourceType.swift in Sources */, - 9E9A7DA26421695F48AA96DA35B813B4 /* RxTableViewDelegateProxy.swift in Sources */, - F2AB55CF962B7EBDE26DD970C282CEDE /* RxTableViewReactiveArrayDataSource.swift in Sources */, - A5BE980B95C08EDFEBEC17E0433A4A2E /* RxTarget.swift in Sources */, - F71DB74D923AB8F40A88103BDC5ABFA6 /* RxTextStorageDelegateProxy.swift in Sources */, - 8B7EEE0E899778DA279E64E26E38FB30 /* RxTextViewDelegateProxy.swift in Sources */, - DAB6B67BBE65A9ECA898A563CACF442A /* RxWKNavigationDelegateProxy.swift in Sources */, - F9872C7244CA7C80D5E402B3922DB009 /* SchedulerType+SharedSequence.swift in Sources */, - 1FDEA9EB6CAF8FB09C98CEBE607DCFB6 /* SectionedViewDataSourceType.swift in Sources */, - C60C9B7447C5D9555611004E27093043 /* SharedSequence+Operators+arity.swift in Sources */, - B82E2164A69C0D6D3A21B76EFF96F083 /* SharedSequence+Operators.swift in Sources */, - 2F835E1CFB72A43AC17728C6105B9635 /* SharedSequence.swift in Sources */, - FFF63A18CD673B6821ED19EB164316C9 /* Signal+Subscription.swift in Sources */, - 35A428176550E4AA2BB98CDDEE2AFF99 /* Signal.swift in Sources */, - 4407E13BF761D53607A7B419BE64458B /* TextInput.swift in Sources */, - F8EC0962127455A9E5ABEA1B2D0C91D7 /* UIActivityIndicatorView+Rx.swift in Sources */, - 8819CBF35F9919DFC3C17016DF3ACE46 /* UIApplication+Rx.swift in Sources */, - 6C1064F34CFE15C3DB0E923D9D170E0C /* UIBarButtonItem+Rx.swift in Sources */, - 844134211AB7B26FACFFF74B58B81C02 /* UIButton+Rx.swift in Sources */, - 06185F389644D5BD1C84259027C533D5 /* UICollectionView+Rx.swift in Sources */, - 8CE605907DC8FA1F2E4751F939A4E604 /* UIControl+Rx.swift in Sources */, - A1CB4107AB9FDEC58E3A7C0C14B4AB79 /* UIDatePicker+Rx.swift in Sources */, - 611ACC0E723AF0E572160BC75133A9E6 /* UIGestureRecognizer+Rx.swift in Sources */, - 7E8BC075464E9C355B763973CA6C08D2 /* UINavigationController+Rx.swift in Sources */, - 091B8980E4EFE8B81548A8B0369DF1F7 /* UIPickerView+Rx.swift in Sources */, - 77260113D5ADF7B45DAE46C549580AFD /* UIRefreshControl+Rx.swift in Sources */, - BAB6CF7AB28DA0D4BCBC2CF5F53D51AE /* UIScrollView+Rx.swift in Sources */, - 6BDF6DD0C73F197EC93643F477997B40 /* UISearchBar+Rx.swift in Sources */, - 128376A37733CDCD9870A39DE261904E /* UISearchController+Rx.swift in Sources */, - DE76073247081964D8DA688F13021B62 /* UISegmentedControl+Rx.swift in Sources */, - 4BF6073DF04E6CD2C3BD8D2C552D7E65 /* UISlider+Rx.swift in Sources */, - B28F09A584B9F1BBF2EFD17B072A5CE1 /* UIStepper+Rx.swift in Sources */, - DD7EC76A4EB8C3A1741CD5B77B57E0A4 /* UISwitch+Rx.swift in Sources */, - 022F83EC88B467A88CBB491D7C98FA7E /* UITabBar+Rx.swift in Sources */, - 9806F1246774ADD50F50D3F1624EB0EB /* UITabBarController+Rx.swift in Sources */, - AEA40BB1875D2E7B7DCB5E63E672033B /* UITableView+Rx.swift in Sources */, - 9D05E77AB8415BB11EC5C5FB6FD62276 /* UITextField+Rx.swift in Sources */, - 38A45D6FD7DCA41AC0C9CD58EDBB57CB /* UITextView+Rx.swift in Sources */, - D251A0235B97F9217D50C5A1C7C5F311 /* URLSession+Rx.swift in Sources */, - 43BC914A79B9230DA50C9D476DE5114D /* WKWebView+Rx.swift in Sources */, + 9DE2C359D96E64DE44783F3B892EC4F1 /* Pods-proxy_conf_helper-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - DFF2B5F26ABB5074146BB93EA5DBE095 /* Sources */ = { + F2232536AF164DB53A4776428FFB43DA /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3E2FF4CBA1E2C3A36060CB61A25F80F7 /* BRLOptionParser-dummy.m in Sources */, - EDD85DAC7DC88B01D5A2C20969416C9B /* BRLOptionParser.m in Sources */, + 69C94E12AB95AEA4FC713479D7CE2F2C /* AddRef.swift in Sources */, + 6160B5323E337A12F04DC1F8CF033232 /* Amb.swift in Sources */, + 8DD993BD9A4B2B78BB332CAD26155D7A /* AnonymousDisposable.swift in Sources */, + 9D1B40333E44D1B18CF3BED65875E706 /* AnonymousObserver.swift in Sources */, + FB2E73B91F25191EB97751FC50961F74 /* AnyObserver.swift in Sources */, + C10D78BCB90364CAE5222A1B99B767E6 /* AsMaybe.swift in Sources */, + 729412A007BD5F63E222116DAEE12A4E /* AsSingle.swift in Sources */, + 15BA8B1210DEB85B37F2FE9D70268FB0 /* AsyncLock.swift in Sources */, + BD9134C9C58077E93C7236479B9EAD34 /* AsyncSubject.swift in Sources */, + 38140DDAE5B5323FCD1541939CECC89D /* AtomicInt.swift in Sources */, + 66DC59E34C28E1D61C236F5C54999712 /* Bag.swift in Sources */, + 6BC7A69A659212C9555C99C12126C7CB /* Bag+Rx.swift in Sources */, + BE8DC14ED92A9F04A64C600D714C9AD2 /* BehaviorSubject.swift in Sources */, + EFE7F464275E3F44546898B89D198CAA /* BinaryDisposable.swift in Sources */, + 9D809E7E7DA02E3271211B20A96F0493 /* Binder.swift in Sources */, + 60ABD69FAD73E64A8160718FEF2AAADD /* BooleanDisposable.swift in Sources */, + 3F3B33BA54EC53BF166C12AC1DB419B6 /* Buffer.swift in Sources */, + B6A862C477663B2FBFB7440792E808C2 /* Cancelable.swift in Sources */, + EE334F20B0F3150F4AE027AF63A3CB56 /* Catch.swift in Sources */, + 4CCC21EF4EBF38DCA48A3AA1E23BDCAE /* CombineLatest.swift in Sources */, + 128543B4E1BEEC49A4864F6EABA0CF3E /* CombineLatest+arity.swift in Sources */, + 9E7AA12D79CA575AC58968035D0A78D7 /* CombineLatest+Collection.swift in Sources */, + 5AB18903EF88370908E7019EAEAA0F82 /* CompactMap.swift in Sources */, + 067E3A34BAF924D533EFACD40CFEB2D5 /* Completable.swift in Sources */, + 2772E29017FAFD272AEEF8D7C9DCB592 /* Completable+AndThen.swift in Sources */, + 9E78521366F6AEEDDAD66DC96E0AD729 /* CompositeDisposable.swift in Sources */, + 8E6AF60E498B87C8CC251EBA60E7CC33 /* Concat.swift in Sources */, + 225C55E53C69F075862C8BE39BEE49F9 /* ConcurrentDispatchQueueScheduler.swift in Sources */, + 6F04818259A372DBEAA37BE83ADD933F /* ConcurrentMainScheduler.swift in Sources */, + 67C9F0E6E458C59825B7AE079866D280 /* ConnectableObservableType.swift in Sources */, + 1F33F8E108D15243EEB99F581F1FF666 /* Create.swift in Sources */, + 172F1CC15F19C91B81B3C5C8015D4065 /* CurrentThreadScheduler.swift in Sources */, + 44AF244842046018E8744785BC813B72 /* Date+Dispatch.swift in Sources */, + E3BD00BCED3F907CC487712E296B00E3 /* Debounce.swift in Sources */, + 6DF176B8148E09C2D7237CC0E9E2C2A9 /* Debug.swift in Sources */, + 2B26D77D236373BA33AB9B01A9C1F63E /* Decode.swift in Sources */, + AC356E4814E578FE3ACF2FDDCE752946 /* DefaultIfEmpty.swift in Sources */, + C9FDAFC84391A33D39CEB71A7A9F1DE6 /* Deferred.swift in Sources */, + E65591290320B54BA43102B861F29CAA /* Delay.swift in Sources */, + 5BA208076CE6D85BA9B3B6E908B289CF /* DelaySubscription.swift in Sources */, + 1A39DB248E0F9D0245E844CBAFA013E5 /* Dematerialize.swift in Sources */, + 386ED68C2B7D5EF75A32EEE17DD5A2CC /* DispatchQueue+Extensions.swift in Sources */, + C5A13BF26F65C27199B794EEAFACCB78 /* DispatchQueueConfiguration.swift in Sources */, + 8FD7E911282ACAD7D1E9A13D50609093 /* Disposable.swift in Sources */, + 80453E521159124CCFF522C9703C3B49 /* Disposables.swift in Sources */, + A61DBDB2950BFFCB425FAE038D3F5355 /* DisposeBag.swift in Sources */, + BC739E2C29749577D9A750BE65167A10 /* DisposeBase.swift in Sources */, + 2452560E5DF0137D386C574E3A495DDD /* DistinctUntilChanged.swift in Sources */, + B4588246480FA67D1E50AC5E4291AADC /* Do.swift in Sources */, + C30F659E76DA76D2FF4D159AD1E1ED9A /* ElementAt.swift in Sources */, + 8938B371C6BE7190C2E601D993E13ECC /* Empty.swift in Sources */, + 6E9578CC352290EF98FAA2EBA1CDA771 /* Enumerated.swift in Sources */, + 5F055B330B966C819A15F7AD9985416D /* Error.swift in Sources */, + 67EB792309C5E0E4FCF2699A768A6367 /* Errors.swift in Sources */, + 4B3977968977EA8CCB73ACA8C95B5F46 /* Event.swift in Sources */, + 5A0B3EBBFDF56C81A8A84CFD4C3DC1A4 /* Filter.swift in Sources */, + B25FD3B8B970EE0212FB4398402FA2E7 /* First.swift in Sources */, + 3B077F9E0A9D209C83423538E4B9957B /* Generate.swift in Sources */, + 2D7960E401631712E471DEA577ABB176 /* GroupBy.swift in Sources */, + 35602BB7E0BD62908CE29B7C2CF670C3 /* GroupedObservable.swift in Sources */, + 655C227164DED5686865D00F75B3C44D /* HistoricalScheduler.swift in Sources */, + 47458029EBA0306FE547B96105ABBCCE /* HistoricalSchedulerTimeConverter.swift in Sources */, + 7EB856724C85DA12CFE4BDAC4B3C8614 /* ImmediateSchedulerType.swift in Sources */, + 0DB3252795DC77B37E66B665A9D1EEA9 /* Infallible.swift in Sources */, + C7E34DF3E98918E2DF4AA3E2355606FC /* Infallible+CombineLatest+arity.swift in Sources */, + 77A8D5093CACB06BD76970BD99279905 /* Infallible+Concurrency.swift in Sources */, + A84CA5C9802FEDBF9D1430D9184EE191 /* Infallible+Create.swift in Sources */, + 5B9DA8129071FBEBF6CC504D0C053169 /* Infallible+Operators.swift in Sources */, + B5C094E30068692A8BF64D6321807B97 /* Infallible+Zip+arity.swift in Sources */, + BD998F7DE6FC5A895FB8FC2CDBE9B5FA /* InfiniteSequence.swift in Sources */, + C1139D5C549CD5F0D8A98F039FAC8460 /* InvocableScheduledItem.swift in Sources */, + DFE9580690BDD98E48EFACE348EAB0E5 /* InvocableType.swift in Sources */, + C84C449C8C7BAC52CB078E6380141C4B /* Just.swift in Sources */, + 7CC78047BCFFE5FDE737AD7FAE0CDF83 /* Lock.swift in Sources */, + A5A7D110616D7FC8F9D653FB40FBAB87 /* LockOwnerType.swift in Sources */, + 85D3EBD6A396620BE3716A94EB7BBEB3 /* MainScheduler.swift in Sources */, + 5E8BFD7D7B4B9ADA245E29CEE0327A53 /* Map.swift in Sources */, + A9557DFF5C2F5266EADEA56E40DD7BF2 /* Materialize.swift in Sources */, + 4536AFD0B7C530B7F905F890B32F8BEE /* Maybe.swift in Sources */, + 1F90B4FC1A8631BCE0F077E61FB30CEF /* Merge.swift in Sources */, + BE9BF30280A7FA94F5CD13C62FEB34F5 /* Multicast.swift in Sources */, + C99776A2F8AAB9B5B54E2C4F30FF2B19 /* Never.swift in Sources */, + 0EB450A362764F07B5CB7D01814D5137 /* NopDisposable.swift in Sources */, + A55470E44EA3E6CFF56B42BE8DB7C4C8 /* Observable.swift in Sources */, + 8C1B1327BE533F70B7E6B9A3B238D34B /* Observable+Concurrency.swift in Sources */, + FEE3816C588E3EF09A51C496A321FBBF /* ObservableConvertibleType.swift in Sources */, + BD8A0CE5456A04E2FE170454BE89096C /* ObservableConvertibleType+Infallible.swift in Sources */, + D01993B04AAAD674AC030B8E2445A1D0 /* ObservableType.swift in Sources */, + 373246E3169E796FD0453A4F8AEE7A9D /* ObservableType+Extensions.swift in Sources */, + B405C9038D5FB16832E5F6134092246E /* ObservableType+PrimitiveSequence.swift in Sources */, + 8FE813128FBC16B49DB67269987E8C16 /* ObserveOn.swift in Sources */, + 258A6E0F281A7584984F14CF539827B2 /* ObserverBase.swift in Sources */, + 3DF06B114A441E99A76C516A42BF919B /* ObserverType.swift in Sources */, + F7437FCEC265F2A087C8B28DE0CBAD7C /* OperationQueueScheduler.swift in Sources */, + E8E6BC505092417C3B5330216BCE20B8 /* Optional.swift in Sources */, + 8E2687C4769FB67E17FB08211557FABE /* Platform.Darwin.swift in Sources */, + 688995167374A2BE17F2DBDD76BDDCE3 /* Platform.Linux.swift in Sources */, + 39E29F20F1C015EF8A7696FDA62F981E /* PrimitiveSequence.swift in Sources */, + 22139F5928749D467808E18375CADEBE /* PrimitiveSequence+Concurrency.swift in Sources */, + 30A33FA9DE74AE5CDEEC66BD1850DAB8 /* PrimitiveSequence+Zip+arity.swift in Sources */, + B4A708E38EB366EE8BC4FA983A103CCB /* PriorityQueue.swift in Sources */, + 38CE672815F222A641AAA1D8DA8D5451 /* Producer.swift in Sources */, + D213DA8A52C532FAB6C51F6919C16DA7 /* PublishSubject.swift in Sources */, + B3955E2887BEEF351AD4803F60F5966B /* Queue.swift in Sources */, + 2E8628BD5FE21F31B46CADC2D7488066 /* Range.swift in Sources */, + 577BBE61BAB038F07F55AABFED30B836 /* Reactive.swift in Sources */, + 6C510D382EF58C77B51B7F0628D46426 /* RecursiveLock.swift in Sources */, + 1936CE37E62BF53AEDD577067354B96A /* RecursiveScheduler.swift in Sources */, + 8486C6C26FAF2A7E4DC7919A8E5392FC /* Reduce.swift in Sources */, + 708D33C558F8FF49D4711575C8407067 /* RefCountDisposable.swift in Sources */, + C06CB2B5784DD4CCD19D83EC1A7D726E /* Repeat.swift in Sources */, + 2414852D5C218604A8B27F60A15F988E /* ReplaySubject.swift in Sources */, + 26A4EBA1265F61D6AD1A4D980F81AFB4 /* RetryWhen.swift in Sources */, + 21518C4FD2BA434F3CD00604CB4DE7A7 /* Rx.swift in Sources */, + E846944AB98599A0F8A6CDAE0F6DAFC1 /* RxMutableBox.swift in Sources */, + AC66BC7AE5BF6D4CFE0F56E7525DE15C /* RxSwift-dummy.m in Sources */, + 35A8DDC495DDB9D50C1F490A7D20B766 /* Sample.swift in Sources */, + F31B06B80D78F9C318CDDB4DA5AF2F16 /* Scan.swift in Sources */, + 6ED162E8C07378AD17BB34563B673CBF /* ScheduledDisposable.swift in Sources */, + 0919B671617BE6F0E78F4177DA5B8A12 /* ScheduledItem.swift in Sources */, + B00AF217A5FFD370AB3CDE0F9E6B876A /* ScheduledItemType.swift in Sources */, + 8E5E1C646F12A53565A89569ECF4F063 /* SchedulerServices+Emulation.swift in Sources */, + CD0BD7BCEF43C693BC6035EC145121B5 /* SchedulerType.swift in Sources */, + 92944059FF69DB074DF315134E34C487 /* Sequence.swift in Sources */, + 956494AB969C30DA2EED78DBF028AD13 /* SerialDispatchQueueScheduler.swift in Sources */, + F2204EB00883C3007F7F1D572065748C /* SerialDisposable.swift in Sources */, + EE62BAE6048AA29EB11FB65DB9D62E71 /* ShareReplayScope.swift in Sources */, + 77908B0FC56784305EFF8F17FCF5D948 /* Single.swift in Sources */, + 345B98DBCEA05D8952D8BBB9AF19BE89 /* SingleAssignmentDisposable.swift in Sources */, + DC41CE47B4261E43FDFCA11B046D297D /* SingleAsync.swift in Sources */, + BE6F5E98FDE6165479ECB77A2EC98B05 /* Sink.swift in Sources */, + DDBE808A71649DEB890855963D37DA30 /* Skip.swift in Sources */, + D09BF66099F17D546FF21AF35DBA204E /* SkipUntil.swift in Sources */, + 51762D44FB8D5C956D34D1504C47AD5E /* SkipWhile.swift in Sources */, + 96002784E3F3C258B8E16D81511F3D75 /* StartWith.swift in Sources */, + F776664773ADD737AF9EF25006645112 /* SubjectType.swift in Sources */, + 539CCBD2298E0AB330438D331E3F96F0 /* SubscribeOn.swift in Sources */, + CFFEE199B117D7FE05021FA87E77BC5A /* SubscriptionDisposable.swift in Sources */, + AB8E2A84111CE8295B2DA0EA086ADE2A /* SwiftSupport.swift in Sources */, + 4E71A1264CCCE390ABFED345F4C645B6 /* Switch.swift in Sources */, + 540DB448BAF78AEBFC1245AB5EAF8820 /* SwitchIfEmpty.swift in Sources */, + 785307B96F347C685E5B06EE75E0E58C /* SynchronizedDisposeType.swift in Sources */, + A6692C758FC5CA8A5111CE1226714BA3 /* SynchronizedOnType.swift in Sources */, + 62E0B861C81922D4CF4470196268CFF4 /* SynchronizedUnsubscribeType.swift in Sources */, + 8E34914BED7F8A2318C9A25090F05F97 /* TailRecursiveSink.swift in Sources */, + 79BB85BC2A010560039A4570FC874940 /* Take.swift in Sources */, + 26415F10850623345BBA43B7D5CF74B6 /* TakeLast.swift in Sources */, + 2F6A20E21ADCC6D6A927036DC9A594D6 /* TakeWithPredicate.swift in Sources */, + 612A4B4771FC480A2E9862DB796704C2 /* Throttle.swift in Sources */, + 7D6AF0C3709A6993BDC1D881D8A697C0 /* Timeout.swift in Sources */, + 6C16372757826289A572B797E8B074C1 /* Timer.swift in Sources */, + 408E6DA1E4EAE04F43E9F99BED36A25B /* ToArray.swift in Sources */, + 635ABD0355F2C1CA79045B4351473CED /* Using.swift in Sources */, + 2B21F82362615E875845EE3B33A3A27A /* VirtualTimeConverterType.swift in Sources */, + C4D029D242534F39F1CE844F6E4902EA /* VirtualTimeScheduler.swift in Sources */, + B69A35ABD06CEC9985C423528CF06026 /* Window.swift in Sources */, + E37B0C9660B38478CFAFBD462D049B6F /* WithLatestFrom.swift in Sources */, + 1F1848E1EB16BABB1EF73BD7F20FC96D /* WithUnretained.swift in Sources */, + 09932802E0BFE21000513D21AAA7F3D9 /* Zip.swift in Sources */, + 143D018302392375567BBE6BE40F3D64 /* Zip+arity.swift in Sources */, + 7B81D3549CC178200FAD98E288F35875 /* Zip+Collection.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - F0A91985F4DA9728630FB9ABC81A8CC1 /* Sources */ = { + F5212510E6D4E9256ACB155C76D4F3CE /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 9281E701873CD72C35440865226A1A8B /* Pods-ShadowsocksX-NGTests-dummy.m in Sources */, + 25250198FCB8297381B35F0525A7A230 /* BRLOptionParser.m in Sources */, + F3CB4B376D60816810D98E8851530BE9 /* BRLOptionParser-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - FEE82C527A384A55B52EF357FAA16C22 /* Sources */ = { + F5D2A45FBA06D86A537CB441D5BF4FF4 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 6FD62C6E23DE07DF1291500FEFC19354 /* BehaviorRelay.swift in Sources */, - 7813074001D6CD69B3A1EBAF59379E58 /* Observable+Bind.swift in Sources */, - 4D6504A580F9D6278452D19FD3DD35BC /* PublishRelay.swift in Sources */, - C4CD2007BF8F2B0B5125A85B1C43AD24 /* ReplayRelay.swift in Sources */, - E3EE570AEF6808660B0542591285D354 /* RxRelay-dummy.m in Sources */, - CC9F7F2B397CCCC5397750D0B139E373 /* Utils.swift in Sources */, + D0EA90FBF83350C49E6EF6C8A98D6F00 /* AFError.swift in Sources */, + F17A4CA4664CABB331D39FE902E06843 /* Alamofire.swift in Sources */, + 55AABB1FB38F61A3369ACC555FF3046D /* Alamofire-dummy.m in Sources */, + 1EE44196E7BCE57AD96A2C751651EF40 /* AlamofireExtended.swift in Sources */, + 7483E5327027263F7E4B94A2997191C4 /* AuthenticationInterceptor.swift in Sources */, + 2CBE3651CA006E19F5D64A2DE9B9A028 /* CachedResponseHandler.swift in Sources */, + 46A64A43AFA057B6B63C8F0C12F509B4 /* Combine.swift in Sources */, + 9C9030DEDB0DF955B16FE08C50892D57 /* Concurrency.swift in Sources */, + EEC150B66BCCD6C80FDA7E4D1975166B /* DispatchQueue+Alamofire.swift in Sources */, + CEBFFEED65D877702B2F36102528CF6D /* EventMonitor.swift in Sources */, + 7E02F5B62BE00E97847DF549FFED2490 /* HTTPHeaders.swift in Sources */, + D6B4751CED01D53E4A1B6A571AAA2F83 /* HTTPMethod.swift in Sources */, + 7FE695DA8EE7FF1286556E06B692009B /* MultipartFormData.swift in Sources */, + E9B4C89E7EB3B27D46AFCA452C3D426F /* MultipartUpload.swift in Sources */, + A29100AA1876DDEFF6F54694A51FDB0E /* NetworkReachabilityManager.swift in Sources */, + 2CCD13099063CD560E3067BD132914FA /* Notifications.swift in Sources */, + E54654D504A42C24F284A68F87F7671D /* OperationQueue+Alamofire.swift in Sources */, + 99D058E53EFEE3AC4857CDE3DBA5C004 /* ParameterEncoder.swift in Sources */, + 68FB2DCB4C77DBCAF9A6037E470F2BDE /* ParameterEncoding.swift in Sources */, + A53BDE589BDD6483F3EEDCE5EA1DCCD3 /* Protected.swift in Sources */, + 045DE6EBF9B2F63F60F5BE60C1198E06 /* RedirectHandler.swift in Sources */, + B3658C29BBDE1033F6269A92E612CB30 /* Request.swift in Sources */, + DD902FE8D6824681C929D028655AE121 /* RequestInterceptor.swift in Sources */, + DA34899BEF0668D76CBCE8C4CE47B97B /* RequestTaskMap.swift in Sources */, + 75966A9262648D4647D764E3E76BC6AC /* Response.swift in Sources */, + 824D816B1EE404F2DD400EE678695CBE /* ResponseSerialization.swift in Sources */, + 04A896288CE3A59B530250337A5F8362 /* Result+Alamofire.swift in Sources */, + 33A7D0F2D03004CE256A75E03DF33C70 /* RetryPolicy.swift in Sources */, + B704B198B9B520D449260877E300D821 /* ServerTrustEvaluation.swift in Sources */, + 81B8D2B7CEB25C2448B0BC9B33591A65 /* Session.swift in Sources */, + 1976BB7D7E26A12E29283E71154B63B3 /* SessionDelegate.swift in Sources */, + 7F1BB526AAE3ECDCE90127D9D0E10261 /* StringEncoding+Alamofire.swift in Sources */, + 8D75FC8D7476C9674234F39F1A820D8C /* URLConvertible+URLRequestConvertible.swift in Sources */, + 7930C94414B4C661867AC4FBE82E996C /* URLEncodedFormEncoder.swift in Sources */, + BC0ECA8F22DEDE8886E189CD0EAA1197 /* URLRequest+Alamofire.swift in Sources */, + 808C960C82D708FC1A42C581D6CB4940 /* URLSessionConfiguration+Alamofire.swift in Sources */, + 3C4059621E23842C19D4EB5D35B41989 /* Validation.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 0403456DEA90C0614E5AFBAE92D06199 /* PBXTargetDependency */ = { + 21EF629A7390EF0A895AC802AC6F0F31 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = RxSwift; - target = EA9EA43B3B503823EE36C60D9C8A865F /* RxSwift */; - targetProxy = 3A3C6F9E9E958812D1FF93C9737FE5B1 /* PBXContainerItemProxy */; + name = BRLOptionParser; + target = 00F92A6698B766C4479D7B608F28D680 /* BRLOptionParser */; + targetProxy = 27500F9BC75EC84E9B4D3440EC9E0840 /* PBXContainerItemProxy */; }; - 16E7E2DB71489A3B3A809EE95AF55896 /* PBXTargetDependency */ = { + 3084749788B9AC323B0A4246E37B613E /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = RxRelay; target = 4622BFEF3DC16E8BD15EEFC30D4D0084 /* RxRelay */; - targetProxy = 93C581FCCE9BCA693063DEB0CB18943C /* PBXContainerItemProxy */; + targetProxy = 666D025BB4CB8AFAC945CC402275D55C /* PBXContainerItemProxy */; }; - 18247C9B740C16AA1A1F647B7676E673 /* PBXTargetDependency */ = { + 35D08BEF029530108525D075D37E3299 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Alamofire; target = EAAA1AD3A8A1B59AB91319EE40752C6D /* Alamofire */; - targetProxy = 6C21C08D1A9E4A42298C1E83946EFBF6 /* PBXContainerItemProxy */; + targetProxy = B8BB3764FBB517ADF809B8623B7F5B32 /* PBXContainerItemProxy */; }; - 232E22686FEEB70180F984222B39F949 /* PBXTargetDependency */ = { + 3F8AF2BC3FA771425DAC60B44CBAD8A6 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = RxSwift; target = EA9EA43B3B503823EE36C60D9C8A865F /* RxSwift */; - targetProxy = 95ED7E1E76F66FF2AFA473A3D49F574E /* PBXContainerItemProxy */; - }; - 41031387B219D54FF7673356F1696E11 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = RxCocoa; - target = 7AD0C6DCDC9CEC8A3C7C10C7FEE07BE6 /* RxCocoa */; - targetProxy = A5DE8E8EE1A9A5D27FEA05AD1FF38C1E /* PBXContainerItemProxy */; + targetProxy = 0D4A8FABE32ED990935A446B4D115334 /* PBXContainerItemProxy */; }; - 53637CA92B734D4013B9F99E7AAA9808 /* PBXTargetDependency */ = { + A9C89441CA60A0B18BF3BAC384A00C77 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "MASShortcut-MASShortcut"; - target = 73C37A16ECCEAD845651DCDEE95675BE /* MASShortcut-MASShortcut */; - targetProxy = 3DE69038DEBF7AC72F345377CCA1A457 /* PBXContainerItemProxy */; + name = RxSwift; + target = EA9EA43B3B503823EE36C60D9C8A865F /* RxSwift */; + targetProxy = FF536082F6162F97AC81C97C6FD0DABE /* PBXContainerItemProxy */; }; - 79DC5AF6E7C88EC75AD6D91A9FF3E011 /* PBXTargetDependency */ = { + B4FBD09F0A340B0D9095FDF4D64E58F0 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = BRLOptionParser; - target = 00F92A6698B766C4479D7B608F28D680 /* BRLOptionParser */; - targetProxy = 290D7A27821274F88F50BA4027E877B0 /* PBXContainerItemProxy */; + name = "Pods-ShadowsocksX-NG"; + target = E9FDECF69808DB0491D4B4C08CF920DC /* Pods-ShadowsocksX-NG */; + targetProxy = 8C4E10B30963A51313AEF838FF208BAA /* PBXContainerItemProxy */; }; - 7DABF5696F48F5C2D50C0A3DE25289EE /* PBXTargetDependency */ = { + C0904BD598BB2C308DFD8784AA4F97A9 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = RxRelay; - target = 4622BFEF3DC16E8BD15EEFC30D4D0084 /* RxRelay */; - targetProxy = 1CA90026A2A030CD980CB1E78050B63A /* PBXContainerItemProxy */; + name = RxSwift; + target = EA9EA43B3B503823EE36C60D9C8A865F /* RxSwift */; + targetProxy = 8E7973518985F4CF9410E24C9BAEDDBF /* PBXContainerItemProxy */; }; - B2D17789138C47D21E16F60C47053226 /* PBXTargetDependency */ = { + D6BE365ABB4A13702199FD74BA712605 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = MASShortcut; target = 2B2B481A164695722839BD581D442457 /* MASShortcut */; - targetProxy = B0B5FA86CABF29A7785405416D374CDA /* PBXContainerItemProxy */; + targetProxy = 82070B39743D322666A33F8A2FBAF33D /* PBXContainerItemProxy */; }; - D38F26CBE0B158CB00FD29413295EBDB /* PBXTargetDependency */ = { + E48C057B3E64037B0A4910F43D7D6558 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = GCDWebServer; - target = AD904F32069787EFB2DFFE05EB82F5BD /* GCDWebServer */; - targetProxy = E627335D42AC0ADFBA7B40BFD314B204 /* PBXContainerItemProxy */; + name = RxRelay; + target = 4622BFEF3DC16E8BD15EEFC30D4D0084 /* RxRelay */; + targetProxy = 85774D18CF1AAA3C1B15A01255C86F46 /* PBXContainerItemProxy */; }; - F1208697A3C80B8117E54FA1B0E859B1 /* PBXTargetDependency */ = { + EC3A605D08DB0E9EAD93FD0757AA055B /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = RxSwift; - target = EA9EA43B3B503823EE36C60D9C8A865F /* RxSwift */; - targetProxy = 809667767BFFB7D46B762AD5F006A069 /* PBXContainerItemProxy */; + name = "MASShortcut-MASShortcut"; + target = 73C37A16ECCEAD845651DCDEE95675BE /* MASShortcut-MASShortcut */; + targetProxy = 805BFF68D27E26F52E8BCB5B8989CABF /* PBXContainerItemProxy */; }; - FF103DE3A0523E2D55DE3D845DD9F0E2 /* PBXTargetDependency */ = { + F3EC9D70E85263F4117B88EF540C00E9 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Pods-ShadowsocksX-NG"; - target = E9FDECF69808DB0491D4B4C08CF920DC /* Pods-ShadowsocksX-NG */; - targetProxy = 7569E9B350638EBD714C781E38F158A8 /* PBXContainerItemProxy */; + name = RxCocoa; + target = 7AD0C6DCDC9CEC8A3C7C10C7FEE07BE6 /* RxCocoa */; + targetProxy = DCC03C2ED3E7DFD137B8FBB64C285019 /* PBXContainerItemProxy */; + }; + F7E508F00723AA6E559D993DCDF13851 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = GCDWebServer; + target = AD904F32069787EFB2DFFE05EB82F5BD /* GCDWebServer */; + targetProxy = E22CCCCBB12F6B9A66CA9BAD35811D69 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 12B0FE32A40DD86F2B679BA026ED60EB /* Release */ = { + 022B77579B7EFE203FCA381A299FDEB7 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4A70BE8C07BCE9C6D6F47AC73225C959 /* Pods-proxy_conf_helper.release.xcconfig */; + baseConfigurationReference = 41A3F20DC6ACA43ADA5210B53FF97E15 /* BRLOptionParser.release.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - MACH_O_TYPE = staticlib; - MACOSX_DEPLOYMENT_TARGET = 10.12; + GCC_PREFIX_HEADER = "Target Support Files/BRLOptionParser/BRLOptionParser-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.7; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = BRLOptionParser; + PRODUCT_NAME = BRLOptionParser; + PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + }; + name = Release; + }; + 06C1DCAAA680A33C976A10325FF1B6AA /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 5E64BD1EBE090A21DD76BB80A9F800A9 /* MASShortcut.debug.xcconfig */; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/MASShortcut"; + IBSC_MODULE = MASShortcut; + INFOPLIST_FILE = "Target Support Files/MASShortcut/ResourceBundle-MASShortcut-MASShortcut-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; + MACOSX_DEPLOYMENT_TARGET = 10.10; + PRODUCT_NAME = MASShortcut; + SDKROOT = macosx; + SKIP_INSTALL = YES; + WRAPPER_EXTENSION = bundle; + }; + name = Debug; + }; + 0AE172D8F2A4843BFACAD21A0ED26541 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_RELEASE=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.15; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; + SYMROOT = "${SRCROOT}/../build"; }; name = Release; }; - 1B9B12FB7A187E6EA55EABA8BB6F0938 /* Debug */ = { + 0C0FD866D8E471B7918EA49896103C5B /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FE6138E84780096ADB31F55549931FC6 /* RxSwift.debug.xcconfig */; + baseConfigurationReference = 7A192A308529FF611F0CE9FD39865653 /* MASShortcut.release.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -2696,27 +2810,29 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/RxSwift/RxSwift-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/RxSwift/RxSwift-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/MASShortcut/MASShortcut-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/MASShortcut/MASShortcut-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.12; - MODULEMAP_FILE = "Target Support Files/RxSwift/RxSwift.modulemap"; - PRODUCT_MODULE_NAME = RxSwift; - PRODUCT_NAME = RxSwift; + MACOSX_DEPLOYMENT_TARGET = 10.10; + MODULEMAP_FILE = "Target Support Files/MASShortcut/MASShortcut.modulemap"; + PRODUCT_MODULE_NAME = MASShortcut; + PRODUCT_NAME = MASShortcut; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.1; + SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 2539F7AA518E214ED06639F251D62C91 /* Release */ = { + 103B28DD89B19C4516EA4D4442835EBB /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2094BFBE78A2839B3C673A3E450C77FC /* GCDWebServer.release.xcconfig */; + baseConfigurationReference = 7C4F8C828CA18CBB5B2349F72D67F295 /* Alamofire.debug.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -2726,57 +2842,30 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/GCDWebServer/GCDWebServer-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/GCDWebServer/GCDWebServer-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Alamofire/Alamofire-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Alamofire/Alamofire-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.12; - MODULEMAP_FILE = "Target Support Files/GCDWebServer/GCDWebServer.modulemap"; - PRODUCT_MODULE_NAME = GCDWebServer; - PRODUCT_NAME = GCDWebServer; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.0; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 2B85D48D53650AE64148B523322A5F29 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 2F138B6C28378A801D2186B22E1E6224 /* RxCocoa.debug.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/RxCocoa/RxCocoa-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/RxCocoa/RxCocoa-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.12; - MODULEMAP_FILE = "Target Support Files/RxCocoa/RxCocoa.modulemap"; - PRODUCT_MODULE_NAME = RxCocoa; - PRODUCT_NAME = RxCocoa; + MODULEMAP_FILE = "Target Support Files/Alamofire/Alamofire.modulemap"; + PRODUCT_MODULE_NAME = Alamofire; + PRODUCT_NAME = Alamofire; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.1; + SWIFT_VERSION = 5; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 3AFB1C88E05301BC48B8F2B048ED1025 /* Release */ = { + 22FF3AC9047D72280525F17CF7132727 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AF22EDE51D4C2AF18359CE03247D06F1 /* RxCocoa.release.xcconfig */; + baseConfigurationReference = 9A71B9958F30759ED2645E0DF9ADF314 /* Pods-ShadowsocksX-NG.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -2786,28 +2875,30 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/RxCocoa/RxCocoa-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/RxCocoa/RxCocoa-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.12; - MODULEMAP_FILE = "Target Support Files/RxCocoa/RxCocoa.modulemap"; - PRODUCT_MODULE_NAME = RxCocoa; - PRODUCT_NAME = RxCocoa; + MACH_O_TYPE = staticlib; + MACOSX_DEPLOYMENT_TARGET = 10.15; + MODULEMAP_FILE = "Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = macosx; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.1; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 3C142CA6AB0CA7F833124C32A76D5882 /* Debug */ = { + 27BA0F4B0C1247E6887E1A71C154441D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9A71B9958F30759ED2645E0DF9ADF314 /* Pods-ShadowsocksX-NG.debug.xcconfig */; + baseConfigurationReference = 92B4BB091693150E5B1FCC6987683C6F /* Pods-ShadowsocksX-NG.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -2822,7 +2913,7 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MACOSX_DEPLOYMENT_TARGET = 10.12; + MACOSX_DEPLOYMENT_TARGET = 10.15; MODULEMAP_FILE = "Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; @@ -2834,117 +2925,14 @@ VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; - }; - 435521A8C1A030B456A3602B835F915D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 70C291AA3C3CEE619534F472C4F04882 /* MASShortcut.debug.xcconfig */; - buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/MASShortcut"; - IBSC_MODULE = MASShortcut; - INFOPLIST_FILE = "Target Support Files/MASShortcut/ResourceBundle-MASShortcut-MASShortcut-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; - MACOSX_DEPLOYMENT_TARGET = 10.12; - PRODUCT_NAME = MASShortcut; - SDKROOT = macosx; - SKIP_INSTALL = YES; - WRAPPER_EXTENSION = bundle; - }; - name = Debug; - }; - 464AFC3D045DAC93B8A74739B86B31AE /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 5EE446AD8C625612BFF0E37E4419E0FD /* BRLOptionParser.debug.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/BRLOptionParser/BRLOptionParser-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.12; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = BRLOptionParser; - PRODUCT_NAME = BRLOptionParser; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - }; - name = Debug; - }; - 5E5046922B2BADEB6AE175DCA2A5C450 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_DEBUG=1", - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.12; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - STRIP_INSTALLED_PRODUCT = NO; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Debug; + name = Release; }; - 8492155DEB6029C10D570132B7564FA2 /* Debug */ = { + 3F7EC0EEDA0FA79BAEEFD18E6B60EC59 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B81749D1C6130BC14B2386B76041124F /* GCDWebServer.debug.xcconfig */; + baseConfigurationReference = 5E64BD1EBE090A21DD76BB80A9F800A9 /* MASShortcut.debug.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -2954,28 +2942,28 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/GCDWebServer/GCDWebServer-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/GCDWebServer/GCDWebServer-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/MASShortcut/MASShortcut-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/MASShortcut/MASShortcut-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.12; - MODULEMAP_FILE = "Target Support Files/GCDWebServer/GCDWebServer.modulemap"; - PRODUCT_MODULE_NAME = GCDWebServer; - PRODUCT_NAME = GCDWebServer; + MACOSX_DEPLOYMENT_TARGET = 10.10; + MODULEMAP_FILE = "Target Support Files/MASShortcut/MASShortcut.modulemap"; + PRODUCT_MODULE_NAME = MASShortcut; + PRODUCT_NAME = MASShortcut; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 8D11F123E993591D305166C07349A576 /* Debug */ = { + 45630403176C8B598CF2DB435A7FEB55 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 196DA983244F60766BA272090829A16E /* Pods-ShadowsocksX-NGTests.debug.xcconfig */; + baseConfigurationReference = 6CEF73DE3398CF6EC6240A4670A86CFE /* Alamofire.release.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -2986,29 +2974,28 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-ShadowsocksX-NGTests/Pods-ShadowsocksX-NGTests-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Alamofire/Alamofire-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Alamofire/Alamofire-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; MACOSX_DEPLOYMENT_TARGET = 10.12; - MODULEMAP_FILE = "Target Support Files/Pods-ShadowsocksX-NGTests/Pods-ShadowsocksX-NGTests.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + MODULEMAP_FILE = "Target Support Files/Alamofire/Alamofire.modulemap"; + PRODUCT_MODULE_NAME = Alamofire; + PRODUCT_NAME = Alamofire; SDKROOT = macosx; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 8F694BB186184267497C5B29EBD5F103 /* Debug */ = { + 55CA8510290D5CE3DD5D1A54856FF00C /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 75EA425CE2A4DBDDEB580C7303DD2454 /* Alamofire.debug.xcconfig */; + baseConfigurationReference = 94914F82AE66D1FF39717080B54E44C2 /* RxRelay.debug.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -3018,27 +3005,28 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Alamofire/Alamofire-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Alamofire/Alamofire-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/RxRelay/RxRelay-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/RxRelay/RxRelay-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.12; - MODULEMAP_FILE = "Target Support Files/Alamofire/Alamofire.modulemap"; - PRODUCT_MODULE_NAME = Alamofire; - PRODUCT_NAME = Alamofire; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MODULEMAP_FILE = "Target Support Files/RxRelay/RxRelay.modulemap"; + PRODUCT_MODULE_NAME = RxRelay; + PRODUCT_NAME = RxRelay; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.3; + SWIFT_VERSION = 5.1; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 90EDC1405B8CA8EDAD433A863FDD47C4 /* Release */ = { + 574B82118D022E6DC519622FE8AEA870 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D70A973E907BDE134197952FF14301CE /* RxRelay.release.xcconfig */; + baseConfigurationReference = C7ED557A33FC9B30913EAC4B47B37689 /* RxSwift.release.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -3048,14 +3036,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/RxRelay/RxRelay-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/RxRelay/RxRelay-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/RxSwift/RxSwift-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/RxSwift/RxSwift-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.12; - MODULEMAP_FILE = "Target Support Files/RxRelay/RxRelay.modulemap"; - PRODUCT_MODULE_NAME = RxRelay; - PRODUCT_NAME = RxRelay; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MODULEMAP_FILE = "Target Support Files/RxSwift/RxSwift.modulemap"; + PRODUCT_MODULE_NAME = RxSwift; + PRODUCT_NAME = RxSwift; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -3065,11 +3053,12 @@ }; name = Release; }; - 9570335934A831709D5FDB644D8144D9 /* Release */ = { + 5A93F8BE3E50FC12A5EF0832B145A641 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5C0C485AB4EA81F3E9128F65E9AC66CA /* Pods-ShadowsocksX-NGTests.release.xcconfig */; + baseConfigurationReference = 196DA983244F60766BA272090829A16E /* Pods-ShadowsocksX-NGTests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -3084,7 +3073,7 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MACOSX_DEPLOYMENT_TARGET = 10.12; + MACOSX_DEPLOYMENT_TARGET = 10.15; MODULEMAP_FILE = "Target Support Files/Pods-ShadowsocksX-NGTests/Pods-ShadowsocksX-NGTests.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; @@ -3096,13 +3085,14 @@ VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 992C0F3AEB140A12268A0B7AB779808B /* Release */ = { + 6416D02662CEABD6C3116DDBD8B32A5A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 92B4BB091693150E5B1FCC6987683C6F /* Pods-ShadowsocksX-NG.release.xcconfig */; + baseConfigurationReference = 5C0C485AB4EA81F3E9128F65E9AC66CA /* Pods-ShadowsocksX-NGTests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -3113,12 +3103,12 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-ShadowsocksX-NGTests/Pods-ShadowsocksX-NGTests-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MACOSX_DEPLOYMENT_TARGET = 10.12; - MODULEMAP_FILE = "Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG.modulemap"; + MACOSX_DEPLOYMENT_TARGET = 10.15; + MODULEMAP_FILE = "Target Support Files/Pods-ShadowsocksX-NGTests/Pods-ShadowsocksX-NGTests.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; @@ -3131,77 +3121,60 @@ }; name = Release; }; - 9A282D83C54CDCBE99AC3D556E781819 /* Release */ = { + 68C911FB1D576813AFA6D0EF6587ABAD /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D231BAD0830AAA293F76CB7428ADA704 /* MASShortcut.release.xcconfig */; - buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/MASShortcut"; - IBSC_MODULE = MASShortcut; - INFOPLIST_FILE = "Target Support Files/MASShortcut/ResourceBundle-MASShortcut-MASShortcut-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; - MACOSX_DEPLOYMENT_TARGET = 10.12; - PRODUCT_NAME = MASShortcut; - SDKROOT = macosx; - SKIP_INSTALL = YES; - WRAPPER_EXTENSION = bundle; - }; - name = Release; - }; - A977C7C72501F07BFFC97CA3F19F344F /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = C3B6C103B3C3936D11BF01C71C0EE380 /* BRLOptionParser.release.xcconfig */; + baseConfigurationReference = A1D72F72A7925F10C7E216750C32EF30 /* RxCocoa.release.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/BRLOptionParser/BRLOptionParser-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.12; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = BRLOptionParser; - PRODUCT_NAME = BRLOptionParser; - PUBLIC_HEADERS_FOLDER_PATH = ""; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/RxCocoa/RxCocoa-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/RxCocoa/RxCocoa-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MODULEMAP_FILE = "Target Support Files/RxCocoa/RxCocoa.modulemap"; + PRODUCT_MODULE_NAME = RxCocoa; + PRODUCT_NAME = RxCocoa; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.1; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Release; }; - AE5F5BC820C835E9310C556B3D39E167 /* Debug */ = { + 77BF5F7D17C6B9C4427354FEDC51F653 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 70C291AA3C3CEE619534F472C4F04882 /* MASShortcut.debug.xcconfig */; + baseConfigurationReference = 4A70BE8C07BCE9C6D6F47AC73225C959 /* Pods-proxy_conf_helper.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/MASShortcut/MASShortcut-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/MASShortcut/MASShortcut-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.12; - MODULEMAP_FILE = "Target Support Files/MASShortcut/MASShortcut.modulemap"; - PRODUCT_MODULE_NAME = MASShortcut; - PRODUCT_NAME = MASShortcut; + EXECUTABLE_PREFIX = lib; + MACH_O_TYPE = staticlib; + MACOSX_DEPLOYMENT_TARGET = 10.15; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; SDKROOT = macosx; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.0; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - D256BAA9A69C64A728E66C27D53FDD4B /* Release */ = { + 808E544862838153672EA12FCC127D9A /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -3236,13 +3209,16 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; + DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_RELEASE=1", + "POD_CONFIGURATION_DEBUG=1", + "DEBUG=1", "$(inherited)", ); GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -3251,22 +3227,47 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.12; - MTL_ENABLE_DEBUG_INFO = NO; + MACOSX_DEPLOYMENT_TARGET = 10.15; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; SYMROOT = "${SRCROOT}/../build"; }; - name = Release; + name = Debug; }; - DDA9EC41D966236C68CB4AB50CCF2287 /* Release */ = { + 83F4A417899D24F54882816F5EA163A2 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 848DD5BA5CA758D1F00A7F6F947019EB /* Alamofire.release.xcconfig */; + baseConfigurationReference = E2EF744076CE53F872243679F895A29A /* BRLOptionParser.debug.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + EXECUTABLE_PREFIX = lib; + GCC_PREFIX_HEADER = "Target Support Files/BRLOptionParser/BRLOptionParser-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = BRLOptionParser; + PRODUCT_NAME = BRLOptionParser; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + }; + name = Debug; + }; + 9DD13E3CDD461B10DBC3C10DA1BFEBDA /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 18C6454190AF6299CCD9431AAA6FFAB7 /* GCDWebServer.release.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -3276,28 +3277,28 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Alamofire/Alamofire-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Alamofire/Alamofire-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/GCDWebServer/GCDWebServer-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/GCDWebServer/GCDWebServer-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.12; - MODULEMAP_FILE = "Target Support Files/Alamofire/Alamofire.modulemap"; - PRODUCT_MODULE_NAME = Alamofire; - PRODUCT_NAME = Alamofire; + MACOSX_DEPLOYMENT_TARGET = 10.7; + MODULEMAP_FILE = "Target Support Files/GCDWebServer/GCDWebServer.modulemap"; + PRODUCT_MODULE_NAME = GCDWebServer; + PRODUCT_NAME = GCDWebServer; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.3; + SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Release; }; - DF12A32B61F9AC9FC15D4FEE49C27C64 /* Release */ = { + A683A1D1A18AB3DD9AE55374F78D9DCD /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D231BAD0830AAA293F76CB7428ADA704 /* MASShortcut.release.xcconfig */; + baseConfigurationReference = C8E22DE1CAAC8A0C8C632DA1BE65A954 /* RxRelay.release.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -3307,27 +3308,50 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/MASShortcut/MASShortcut-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/MASShortcut/MASShortcut-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/RxRelay/RxRelay-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/RxRelay/RxRelay-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.12; - MODULEMAP_FILE = "Target Support Files/MASShortcut/MASShortcut.modulemap"; - PRODUCT_MODULE_NAME = MASShortcut; - PRODUCT_NAME = MASShortcut; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MODULEMAP_FILE = "Target Support Files/RxRelay/RxRelay.modulemap"; + PRODUCT_MODULE_NAME = RxRelay; + PRODUCT_NAME = RxRelay; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.1; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Release; }; - E50DD4E0C6E58142D33757B5C9E7B75C /* Debug */ = { + A97F5D30DA823C1D2D7F577A5B221757 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = BF25DE5F0433D7BA7D6F91A5F113542A /* RxRelay.debug.xcconfig */; + baseConfigurationReference = D8C88B0B7BFE785BC9B00D1C53FDC003 /* Pods-proxy_conf_helper.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + EXECUTABLE_PREFIX = lib; + MACH_O_TYPE = staticlib; + MACOSX_DEPLOYMENT_TARGET = 10.15; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + SDKROOT = macosx; + SKIP_INSTALL = YES; + }; + name = Debug; + }; + D0FF6C2C4D46CDC87C2D47FB8CCA4E52 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 2B1CF1064ADBE135F24BF997C9AAC18B /* RxCocoa.debug.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -3337,14 +3361,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/RxRelay/RxRelay-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/RxRelay/RxRelay-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/RxCocoa/RxCocoa-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/RxCocoa/RxCocoa-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.12; - MODULEMAP_FILE = "Target Support Files/RxRelay/RxRelay.modulemap"; - PRODUCT_MODULE_NAME = RxRelay; - PRODUCT_NAME = RxRelay; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MODULEMAP_FILE = "Target Support Files/RxCocoa/RxCocoa.modulemap"; + PRODUCT_MODULE_NAME = RxCocoa; + PRODUCT_NAME = RxCocoa; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -3354,10 +3378,11 @@ }; name = Debug; }; - F2D56CB7664FC6CD92EB5B8E9298A5E7 /* Release */ = { + D4B2EFD6C155375A90CACE26D49AE0AB /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 28F6CED61832E1CE6BA74AA90F7E45EE /* RxSwift.release.xcconfig */; + baseConfigurationReference = 5B4F918932DC61FD281B0DA342959B4E /* RxSwift.debug.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -3371,7 +3396,7 @@ INFOPLIST_FILE = "Target Support Files/RxSwift/RxSwift-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.12; + MACOSX_DEPLOYMENT_TARGET = 10.9; MODULEMAP_FILE = "Target Support Files/RxSwift/RxSwift.modulemap"; PRODUCT_MODULE_NAME = RxSwift; PRODUCT_NAME = RxSwift; @@ -3382,136 +3407,163 @@ VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; + name = Debug; + }; + D4E90BC065D07397F1B6B8B1410F4E6F /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7A192A308529FF611F0CE9FD39865653 /* MASShortcut.release.xcconfig */; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/MASShortcut"; + IBSC_MODULE = MASShortcut; + INFOPLIST_FILE = "Target Support Files/MASShortcut/ResourceBundle-MASShortcut-MASShortcut-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; + MACOSX_DEPLOYMENT_TARGET = 10.10; + PRODUCT_NAME = MASShortcut; + SDKROOT = macosx; + SKIP_INSTALL = YES; + WRAPPER_EXTENSION = bundle; + }; name = Release; }; - F6B84B253DE1626F094BD37FC42474DF /* Debug */ = { + EF1A4E58AEEF41A03F064B9E713E5F35 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D8C88B0B7BFE785BC9B00D1C53FDC003 /* Pods-proxy_conf_helper.debug.xcconfig */; + baseConfigurationReference = 65940BEF454F1034165DC086B4F81208 /* GCDWebServer.debug.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - EXECUTABLE_PREFIX = lib; - MACH_O_TYPE = staticlib; - MACOSX_DEPLOYMENT_TARGET = 10.12; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/GCDWebServer/GCDWebServer-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/GCDWebServer/GCDWebServer-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + MODULEMAP_FILE = "Target Support Files/GCDWebServer/GCDWebServer.modulemap"; + PRODUCT_MODULE_NAME = GCDWebServer; + PRODUCT_NAME = GCDWebServer; SDKROOT = macosx; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Debug; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 0D501A92E69AF80E7786DD9C0D172BEC /* Build configuration list for PBXNativeTarget "Pods-proxy_conf_helper" */ = { + 1CF590D5824784D82CD99F90E5D66959 /* Build configuration list for PBXNativeTarget "GCDWebServer" */ = { isa = XCConfigurationList; buildConfigurations = ( - F6B84B253DE1626F094BD37FC42474DF /* Debug */, - 12B0FE32A40DD86F2B679BA026ED60EB /* Release */, + EF1A4E58AEEF41A03F064B9E713E5F35 /* Debug */, + 9DD13E3CDD461B10DBC3C10DA1BFEBDA /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 1C26E77821938498151B66E4B3FAFDB5 /* Build configuration list for PBXNativeTarget "MASShortcut-MASShortcut" */ = { + 1E42B460D55BA3EBE021004CC2CE312C /* Build configuration list for PBXNativeTarget "RxCocoa" */ = { isa = XCConfigurationList; buildConfigurations = ( - 435521A8C1A030B456A3602B835F915D /* Debug */, - 9A282D83C54CDCBE99AC3D556E781819 /* Release */, + D0FF6C2C4D46CDC87C2D47FB8CCA4E52 /* Debug */, + 68C911FB1D576813AFA6D0EF6587ABAD /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3797157A80385C2407F752CEE1BFEB21 /* Build configuration list for PBXNativeTarget "RxRelay" */ = { + 3421B99FDEAB45C865559529234B7429 /* Build configuration list for PBXNativeTarget "RxSwift" */ = { isa = XCConfigurationList; buildConfigurations = ( - E50DD4E0C6E58142D33757B5C9E7B75C /* Debug */, - 90EDC1405B8CA8EDAD433A863FDD47C4 /* Release */, + D4B2EFD6C155375A90CACE26D49AE0AB /* Debug */, + 574B82118D022E6DC519622FE8AEA870 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { + 465A24F6414E4BB5D517BD8C27ADE3A7 /* Build configuration list for PBXNativeTarget "RxRelay" */ = { isa = XCConfigurationList; buildConfigurations = ( - 5E5046922B2BADEB6AE175DCA2A5C450 /* Debug */, - D256BAA9A69C64A728E66C27D53FDD4B /* Release */, + 55CA8510290D5CE3DD5D1A54856FF00C /* Debug */, + A683A1D1A18AB3DD9AE55374F78D9DCD /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 6331D6AD3A4489B8CBA44A44D38FD80A /* Build configuration list for PBXNativeTarget "RxSwift" */ = { + 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 1B9B12FB7A187E6EA55EABA8BB6F0938 /* Debug */, - F2D56CB7664FC6CD92EB5B8E9298A5E7 /* Release */, + 808E544862838153672EA12FCC127D9A /* Debug */, + 0AE172D8F2A4843BFACAD21A0ED26541 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 690C9430B03B92419AFA4555712EC873 /* Build configuration list for PBXNativeTarget "GCDWebServer" */ = { + 500316868ABEC3B76824799B6A8E1B15 /* Build configuration list for PBXNativeTarget "BRLOptionParser" */ = { isa = XCConfigurationList; buildConfigurations = ( - 8492155DEB6029C10D570132B7564FA2 /* Debug */, - 2539F7AA518E214ED06639F251D62C91 /* Release */, + 83F4A417899D24F54882816F5EA163A2 /* Debug */, + 022B77579B7EFE203FCA381A299FDEB7 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 6D442598AC59E49374231C4242255CA3 /* Build configuration list for PBXNativeTarget "BRLOptionParser" */ = { + 59DC3404241DAC61180742FDF00F76C0 /* Build configuration list for PBXNativeTarget "Pods-ShadowsocksX-NG" */ = { isa = XCConfigurationList; buildConfigurations = ( - 464AFC3D045DAC93B8A74739B86B31AE /* Debug */, - A977C7C72501F07BFFC97CA3F19F344F /* Release */, + 22FF3AC9047D72280525F17CF7132727 /* Debug */, + 27BA0F4B0C1247E6887E1A71C154441D /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 78E219AC01CD5AFED663C9AB28280801 /* Build configuration list for PBXNativeTarget "Alamofire" */ = { + 5F6BF3D278A3C9C873968A927045E89B /* Build configuration list for PBXNativeTarget "MASShortcut" */ = { isa = XCConfigurationList; buildConfigurations = ( - 8F694BB186184267497C5B29EBD5F103 /* Debug */, - DDA9EC41D966236C68CB4AB50CCF2287 /* Release */, + 3F7EC0EEDA0FA79BAEEFD18E6B60EC59 /* Debug */, + 0C0FD866D8E471B7918EA49896103C5B /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 84B5ECA69733DA3FEDC652649E6E42C5 /* Build configuration list for PBXNativeTarget "Pods-ShadowsocksX-NGTests" */ = { + 8A212264186B8822192F9C369D7DE4BB /* Build configuration list for PBXNativeTarget "Alamofire" */ = { isa = XCConfigurationList; buildConfigurations = ( - 8D11F123E993591D305166C07349A576 /* Debug */, - 9570335934A831709D5FDB644D8144D9 /* Release */, + 103B28DD89B19C4516EA4D4442835EBB /* Debug */, + 45630403176C8B598CF2DB435A7FEB55 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 975822F53DB5EF99EE2C5EA67BC503C9 /* Build configuration list for PBXNativeTarget "Pods-ShadowsocksX-NG" */ = { + 8DA7FAF3976916D9070F53F11285BFD1 /* Build configuration list for PBXNativeTarget "MASShortcut-MASShortcut" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3C142CA6AB0CA7F833124C32A76D5882 /* Debug */, - 992C0F3AEB140A12268A0B7AB779808B /* Release */, + 06C1DCAAA680A33C976A10325FF1B6AA /* Debug */, + D4E90BC065D07397F1B6B8B1410F4E6F /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - ABE56D8D3781109924A96BB7837ED223 /* Build configuration list for PBXNativeTarget "RxCocoa" */ = { + B7C54572593AC350E8EC42A452520C81 /* Build configuration list for PBXNativeTarget "Pods-proxy_conf_helper" */ = { isa = XCConfigurationList; buildConfigurations = ( - 2B85D48D53650AE64148B523322A5F29 /* Debug */, - 3AFB1C88E05301BC48B8F2B048ED1025 /* Release */, + A97F5D30DA823C1D2D7F577A5B221757 /* Debug */, + 77BF5F7D17C6B9C4427354FEDC51F653 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - E888D466E966B416D89BA302F582A3F5 /* Build configuration list for PBXNativeTarget "MASShortcut" */ = { + CB098DC493DCF0BD307E593941DB5975 /* Build configuration list for PBXNativeTarget "Pods-ShadowsocksX-NGTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - AE5F5BC820C835E9310C556B3D39E167 /* Debug */, - DF12A32B61F9AC9FC15D4FEE49C27C64 /* Release */, + 5A93F8BE3E50FC12A5EF0832B145A641 /* Debug */, + 6416D02662CEABD6C3116DDBD8B32A5A /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Pods/RxCocoa/README.md b/Pods/RxCocoa/README.md index 20330166..a95d9e0c 100644 --- a/Pods/RxCocoa/README.md +++ b/Pods/RxCocoa/README.md @@ -146,14 +146,14 @@ Open Rx.xcworkspace, choose `RxExample` and hit run. This method will build ever use_frameworks! target 'YOUR_TARGET_NAME' do - pod 'RxSwift', '6.2.0' - pod 'RxCocoa', '6.2.0' + pod 'RxSwift', '6.5.0' + pod 'RxCocoa', '6.5.0' end # RxTest and RxBlocking make the most sense in the context of unit/integration tests target 'YOUR_TESTING_TARGET' do - pod 'RxBlocking', '6.2.0' - pod 'RxTest', '6.2.0' + pod 'RxBlocking', '6.5.0' + pod 'RxTest', '6.5.0' end ``` @@ -178,7 +178,7 @@ Simply drag the needed framework binaries to your **Frameworks, Libraries, and E Add this to `Cartfile` ``` -github "ReactiveX/RxSwift" "6.2.0" +github "ReactiveX/RxSwift" "6.5.0" ``` ```bash @@ -211,7 +211,7 @@ import PackageDescription let package = Package( name: "RxTestProject", dependencies: [ - .package(url: "https://github.com/ReactiveX/RxSwift.git", .exact("6.2.0")) + .package(url: "https://github.com/ReactiveX/RxSwift.git", .exact("6.5.0")) ], targets: [ .target(name: "RxTestProject", dependencies: ["RxSwift", "RxCocoa"]) diff --git a/Pods/RxCocoa/RxCocoa/Common/DelegateProxy.swift b/Pods/RxCocoa/RxCocoa/Common/DelegateProxy.swift index 4ef8de73..d103448e 100644 --- a/Pods/RxCocoa/RxCocoa/Common/DelegateProxy.swift +++ b/Pods/RxCocoa/RxCocoa/Common/DelegateProxy.swift @@ -200,7 +200,7 @@ /// Sets reference of normal delegate that receives all forwarded messages /// through `self`. /// - /// - parameter forwardToDelegate: Reference of delegate that receives all messages through `self`. + /// - parameter delegate: Reference of delegate that receives all messages through `self`. /// - parameter retainDelegate: Should `self` retain `forwardToDelegate`. open func setForwardToDelegate(_ delegate: Delegate?, retainDelegate: Bool) { #if DEBUG // 4.0 all configurations @@ -225,6 +225,7 @@ } override open func responds(to aSelector: Selector!) -> Bool { + guard let aSelector = aSelector else { return false } return super.responds(to: aSelector) || (self._forwardToDelegate?.responds(to: aSelector) ?? false) || (self.voidDelegateMethodsContain(aSelector) && self.hasObservers(selector: aSelector)) diff --git a/Pods/RxCocoa/RxCocoa/Common/DelegateProxyType.swift b/Pods/RxCocoa/RxCocoa/Common/DelegateProxyType.swift index 42fa50dc..7ca9c97a 100644 --- a/Pods/RxCocoa/RxCocoa/Common/DelegateProxyType.swift +++ b/Pods/RxCocoa/RxCocoa/Common/DelegateProxyType.swift @@ -54,7 +54,7 @@ This is more or less how it works. +-------------------------------------------+ -Since RxCocoa needs to automagically create those Proxys and because views that have delegates can be hierarchical +Since RxCocoa needs to automagically create those Proxies and because views that have delegates can be hierarchical UITableView : UIScrollView : UIView @@ -98,8 +98,8 @@ public protocol DelegateProxyType: AnyObject { /// /// It's abstract method. /// - /// - parameter toObject: Object that has delegate property. /// - parameter delegate: Delegate value. + /// - parameter object: Object that has delegate property. static func setCurrentDelegate(_ delegate: Delegate?, to object: ParentObject) /// Returns reference of normal delegate that receives all forwarded messages @@ -324,7 +324,7 @@ extension DelegateProxyType where ParentObject: HasPrefetchDataSource, Self.Dele let proxy = DelegateProxy.proxy(for: object) let unregisterDelegate = DelegateProxy.installForwardDelegate(dataSource, retainDelegate: retainDataSource, onProxyForObject: object) - // Do not perform layoutIfNeeded if the object is still not in the view heirarchy + // Do not perform layoutIfNeeded if the object is still not in the view hierarchy if object.window != nil { // this is needed to flush any delayed old state (https://github.com/RxSwiftCommunity/RxDataSources/pull/75) object.layoutIfNeeded() diff --git a/Pods/RxCocoa/RxCocoa/Common/Infallible+Bind.swift b/Pods/RxCocoa/RxCocoa/Common/Infallible+Bind.swift index 82c2922d..9622c98d 100644 --- a/Pods/RxCocoa/RxCocoa/Common/Infallible+Bind.swift +++ b/Pods/RxCocoa/RxCocoa/Common/Infallible+Bind.swift @@ -13,7 +13,7 @@ extension InfallibleType { Creates new subscription and sends elements to observer(s). In this form, it's equivalent to the `subscribe` method, but it better conveys intent, and enables writing more consistent binding code. - - parameter to: Observers to receives events. + - parameter observers: Observers to receives events. - returns: Disposable object that can be used to unsubscribe the observers. */ public func bind(to observers: Observer...) -> Disposable where Observer.Element == Element { @@ -26,7 +26,7 @@ extension InfallibleType { Creates new subscription and sends elements to observer(s). In this form, it's equivalent to the `subscribe` method, but it better conveys intent, and enables writing more consistent binding code. - - parameter to: Observers to receives events. + - parameter observers: Observers to receives events. - returns: Disposable object that can be used to unsubscribe the observers. */ public func bind(to observers: Observer...) -> Disposable where Observer.Element == Element? { @@ -39,7 +39,7 @@ extension InfallibleType { /** Subscribes to observable sequence using custom binder function. - - parameter to: Function used to bind elements from `self`. + - parameter binder: Function used to bind elements from `self`. - returns: Object representing subscription. */ public func bind(to binder: (Self) -> Result) -> Result { @@ -54,7 +54,7 @@ extension InfallibleType { return binder(self)(curriedArgument) } - - parameter to: Function used to bind elements from `self`. + - parameter binder: Function used to bind elements from `self`. - parameter curriedArgument: Final argument passed to `binder` to finish binding process. - returns: Object representing subscription. */ @@ -77,7 +77,7 @@ extension InfallibleType { /** Creates new subscription and sends elements to `BehaviorRelay`. - - parameter relay: Target relay for sequence elements. + - parameter relays: Target relay for sequence elements. - returns: Disposable object that can be used to unsubscribe the observer from the relay. */ public func bind(to relays: BehaviorRelay...) -> Disposable { @@ -89,7 +89,7 @@ extension InfallibleType { /** Creates new subscription and sends elements to `BehaviorRelay`. - - parameter relay: Target relay for sequence elements. + - parameter relays: Target relay for sequence elements. - returns: Disposable object that can be used to unsubscribe the observer from the relay. */ public func bind(to relays: BehaviorRelay...) -> Disposable { @@ -101,7 +101,7 @@ extension InfallibleType { /** Creates new subscription and sends elements to `PublishRelay`. - - parameter relay: Target relay for sequence elements. + - parameter relays: Target relay for sequence elements. - returns: Disposable object that can be used to unsubscribe the observer from the relay. */ public func bind(to relays: PublishRelay...) -> Disposable { @@ -113,7 +113,7 @@ extension InfallibleType { /** Creates new subscription and sends elements to `PublishRelay`. - - parameter relay: Target relay for sequence elements. + - parameter relays: Target relay for sequence elements. - returns: Disposable object that can be used to unsubscribe the observer from the relay. */ public func bind(to relays: PublishRelay...) -> Disposable { @@ -125,7 +125,7 @@ extension InfallibleType { /** Creates new subscription and sends elements to `ReplayRelay`. - - parameter relay: Target relay for sequence elements. + - parameter relays: Target relay for sequence elements. - returns: Disposable object that can be used to unsubscribe the observer from the relay. */ public func bind(to relays: ReplayRelay...) -> Disposable { @@ -137,7 +137,7 @@ extension InfallibleType { /** Creates new subscription and sends elements to `ReplayRelay`. - - parameter relay: Target relay for sequence elements. + - parameter relays: Target relay for sequence elements. - returns: Disposable object that can be used to unsubscribe the observer from the relay. */ public func bind(to relays: ReplayRelay...) -> Disposable { diff --git a/Pods/RxCocoa/RxCocoa/Common/Observable+Bind.swift b/Pods/RxCocoa/RxCocoa/Common/Observable+Bind.swift index edded6b8..500154aa 100644 --- a/Pods/RxCocoa/RxCocoa/Common/Observable+Bind.swift +++ b/Pods/RxCocoa/RxCocoa/Common/Observable+Bind.swift @@ -13,7 +13,7 @@ extension ObservableType { Creates new subscription and sends elements to observer(s). In this form, it's equivalent to the `subscribe` method, but it better conveys intent, and enables writing more consistent binding code. - - parameter to: Observers to receives events. + - parameter observers: Observers to receives events. - returns: Disposable object that can be used to unsubscribe the observers. */ public func bind(to observers: Observer...) -> Disposable where Observer.Element == Element { @@ -26,7 +26,7 @@ extension ObservableType { Creates new subscription and sends elements to observer(s). In this form, it's equivalent to the `subscribe` method, but it better conveys intent, and enables writing more consistent binding code. - - parameter to: Observers to receives events. + - parameter observers: Observers to receives events. - returns: Disposable object that can be used to unsubscribe the observers. */ public func bind(to observers: Observer...) -> Disposable where Observer.Element == Element? { @@ -39,7 +39,7 @@ extension ObservableType { /** Subscribes to observable sequence using custom binder function. - - parameter to: Function used to bind elements from `self`. + - parameter binder: Function used to bind elements from `self`. - returns: Object representing subscription. */ public func bind(to binder: (Self) -> Result) -> Result { @@ -54,7 +54,7 @@ extension ObservableType { return binder(self)(curriedArgument) } - - parameter to: Function used to bind elements from `self`. + - parameter binder: Function used to bind elements from `self`. - parameter curriedArgument: Final argument passed to `binder` to finish binding process. - returns: Object representing subscription. */ diff --git a/Pods/RxCocoa/RxCocoa/Foundation/NSObject+Rx.swift b/Pods/RxCocoa/RxCocoa/Foundation/NSObject+Rx.swift index 68affa72..2f157241 100644 --- a/Pods/RxCocoa/RxCocoa/Foundation/NSObject+Rx.swift +++ b/Pods/RxCocoa/RxCocoa/Foundation/NSObject+Rx.swift @@ -57,7 +57,7 @@ extension Reactive where Base: NSObject { If support for weak properties is needed or observing arbitrary or unknown relationships in the ownership tree, `observeWeakly` is the preferred option. - + - parameter type: Optional type hint of the observed sequence elements. - parameter keyPath: Key path of property names to observe. - parameter options: KVO mechanism notification options. - parameter retainSelf: Retains self during observation if set `true`. @@ -107,7 +107,7 @@ extension Reactive where Base: NSObject { * it can be used to observe `weak` properties **Since it needs to intercept object deallocation process it needs to perform swizzling of `dealloc` method on observed object.** - + - parameter type: Optional type hint of the observed sequence elements. - parameter keyPath: Key path of property names to observe. - parameter options: KVO mechanism notification options. - returns: Observable sequence of objects on `keyPath`. diff --git a/Pods/RxCocoa/RxCocoa/Traits/ControlProperty.swift b/Pods/RxCocoa/RxCocoa/Traits/ControlProperty.swift index 3068afbf..5ff48ca4 100644 --- a/Pods/RxCocoa/RxCocoa/Traits/ControlProperty.swift +++ b/Pods/RxCocoa/RxCocoa/Traits/ControlProperty.swift @@ -92,7 +92,7 @@ public struct ControlProperty : ControlPropertyType { /// Binds event to user interface. /// /// - In case next element is received, it is being set to control value. - /// - In case error is received, DEBUG buids raise fatal error, RELEASE builds log event to standard output. + /// - In case error is received, DEBUG builds raise fatal error, RELEASE builds log event to standard output. /// - In case sequence completes, nothing happens. public func on(_ event: Event) { switch event { diff --git a/Pods/RxCocoa/RxCocoa/Traits/Driver/Driver+Subscription.swift b/Pods/RxCocoa/RxCocoa/Traits/Driver/Driver+Subscription.swift index da9659c4..0b9024c7 100644 --- a/Pods/RxCocoa/RxCocoa/Traits/Driver/Driver+Subscription.swift +++ b/Pods/RxCocoa/RxCocoa/Traits/Driver/Driver+Subscription.swift @@ -110,7 +110,7 @@ extension SharedSequenceConvertibleType where SharingStrategy == DriverSharingSt Subscribes to observable sequence using custom binder function. This method can be only called from `MainThread`. - - parameter with: Function used to bind elements from `self`. + - parameter transformation: Function used to bind elements from `self`. - returns: Object representing subscription. */ public func drive(_ transformation: (Observable) -> Result) -> Result { diff --git a/Pods/RxCocoa/RxCocoa/Traits/SharedSequence/SharedSequence+Operators.swift b/Pods/RxCocoa/RxCocoa/Traits/SharedSequence/SharedSequence+Operators.swift index 45383ef0..1d53b03d 100644 --- a/Pods/RxCocoa/RxCocoa/Traits/SharedSequence/SharedSequence+Operators.swift +++ b/Pods/RxCocoa/RxCocoa/Traits/SharedSequence/SharedSequence+Operators.swift @@ -31,7 +31,7 @@ extension SharedSequenceConvertibleType { /** Projects each element of an observable sequence into an optional form and filters all optional results. - - parameter transform: A transform function to apply to each source element and which returns an element or nil. + - parameter selector: A transform function to apply to each source element and which returns an element or nil. - returns: An observable sequence whose elements are the result of filtering the transform function for each element of the source. */ @@ -448,7 +448,7 @@ extension SharedSequenceConvertibleType where SharingStrategy == SignalSharingSt /** Provides an unretained, safe to use (i.e. not implicitly unwrapped), reference to an object along with the events emitted by the sequence. - In the case the provided object cannot be retained successfully, the seqeunce will complete. + In the case the provided object cannot be retained successfully, the sequence will complete. - note: Be careful when using this operator in a sequence that has a buffer or replay, for example `share(replay: 1)`, as the sharing buffer will also include the provided object, which could potentially cause a retain cycle. @@ -466,7 +466,7 @@ extension SharedSequenceConvertibleType where SharingStrategy == SignalSharingSt /** Provides an unretained, safe to use (i.e. not implicitly unwrapped), reference to an object along with the events emitted by the sequence. - In the case the provided object cannot be retained successfully, the seqeunce will complete. + In the case the provided object cannot be retained successfully, the sequence will complete. - note: Be careful when using this operator in a sequence that has a buffer or replay, for example `share(replay: 1)`, as the sharing buffer will also include the provided object, which could potentially cause a retain cycle. @@ -572,7 +572,6 @@ extension SharedSequenceConvertibleType { - seealso: [delay operator on reactivex.io](http://reactivex.io/documentation/operators/delay.html) - parameter dueTime: Relative time shift of the source by. - - parameter scheduler: Scheduler to run the subscription delay timer on. - returns: the source Observable shifted in time by the specified delay. */ public func delay(_ dueTime: RxTimeInterval) diff --git a/Pods/RxCocoa/RxCocoa/Traits/Signal/Signal+Subscription.swift b/Pods/RxCocoa/RxCocoa/Traits/Signal/Signal+Subscription.swift index ce3f94bd..4a6add33 100644 --- a/Pods/RxCocoa/RxCocoa/Traits/Signal/Signal+Subscription.swift +++ b/Pods/RxCocoa/RxCocoa/Traits/Signal/Signal+Subscription.swift @@ -15,7 +15,7 @@ extension SharedSequenceConvertibleType where SharingStrategy == SignalSharingSt In this form it's equivalent to `subscribe` method, but it communicates intent better. - - parameter to: Observers that receives events. + - parameter observers: Observers that receives events. - returns: Disposable object that can be used to unsubscribe the observer from the subject. */ public func emit(to observers: Observer...) -> Disposable where Observer.Element == Element { @@ -31,7 +31,7 @@ extension SharedSequenceConvertibleType where SharingStrategy == SignalSharingSt In this form it's equivalent to `subscribe` method, but it communicates intent better. - - parameter to: Observers that receives events. + - parameter observers: Observers that receives events. - returns: Disposable object that can be used to unsubscribe the observer from the subject. */ public func emit(to observers: Observer...) -> Disposable where Observer.Element == Element? { @@ -45,7 +45,7 @@ extension SharedSequenceConvertibleType where SharingStrategy == SignalSharingSt /** Creates new subscription and sends elements to `BehaviorRelay`. - - parameter to: Target relays for sequence elements. + - parameter relays: Target relays for sequence elements. - returns: Disposable object that can be used to unsubscribe the observer from the relay. */ public func emit(to relays: BehaviorRelay...) -> Disposable { @@ -56,7 +56,7 @@ extension SharedSequenceConvertibleType where SharingStrategy == SignalSharingSt /** Creates new subscription and sends elements to `BehaviorRelay`. - - parameter to: Target relays for sequence elements. + - parameter relays: Target relays for sequence elements. - returns: Disposable object that can be used to unsubscribe the observer from the relay. */ public func emit(to relays: BehaviorRelay...) -> Disposable { @@ -68,7 +68,7 @@ extension SharedSequenceConvertibleType where SharingStrategy == SignalSharingSt /** Creates new subscription and sends elements to `PublishRelay`. - - parameter to: Target relays for sequence elements. + - parameter relays: Target relays for sequence elements. - returns: Disposable object that can be used to unsubscribe the observer from the relay. */ public func emit(to relays: PublishRelay...) -> Disposable { @@ -80,7 +80,7 @@ extension SharedSequenceConvertibleType where SharingStrategy == SignalSharingSt /** Creates new subscription and sends elements to `PublishRelay`. - - parameter to: Target relay for sequence elements. + - parameter relays: Target relay for sequence elements. - returns: Disposable object that can be used to unsubscribe the observer from the relay. */ public func emit(to relays: PublishRelay...) -> Disposable { @@ -92,7 +92,7 @@ extension SharedSequenceConvertibleType where SharingStrategy == SignalSharingSt /** Creates new subscription and sends elements to `ReplayRelay`. - - parameter to: Target relays for sequence elements. + - parameter relays: Target relays for sequence elements. - returns: Disposable object that can be used to unsubscribe the observer from the relay. */ public func emit(to relays: ReplayRelay...) -> Disposable { @@ -104,7 +104,7 @@ extension SharedSequenceConvertibleType where SharingStrategy == SignalSharingSt /** Creates new subscription and sends elements to `ReplayRelay`. - - parameter to: Target relay for sequence elements. + - parameter relays: Target relay for sequence elements. - returns: Disposable object that can be used to unsubscribe the observer from the relay. */ public func emit(to relays: ReplayRelay...) -> Disposable { diff --git a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxCollectionViewDataSourcePrefetchingProxy.swift b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxCollectionViewDataSourcePrefetchingProxy.swift index efb7554c..5ddfda78 100644 --- a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxCollectionViewDataSourcePrefetchingProxy.swift +++ b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxCollectionViewDataSourcePrefetchingProxy.swift @@ -31,8 +31,7 @@ private final class CollectionViewPrefetchDataSourceNotSet @available(iOS 10.0, tvOS 10.0, *) open class RxCollectionViewDataSourcePrefetchingProxy : DelegateProxy - , DelegateProxyType - , UICollectionViewDataSourcePrefetching { + , DelegateProxyType { /// Typed parent object. public weak private(set) var collectionView: UICollectionView? @@ -64,17 +63,6 @@ open class RxCollectionViewDataSourcePrefetchingProxy private weak var _requiredMethodsPrefetchDataSource: UICollectionViewDataSourcePrefetching? = collectionViewPrefetchDataSourceNotSet - // MARK: delegate - - /// Required delegate method implementation. - public func collectionView(_ collectionView: UICollectionView, prefetchItemsAt indexPaths: [IndexPath]) { - if let subject = _prefetchItemsPublishSubject { - subject.on(.next(indexPaths)) - } - - (_requiredMethodsPrefetchDataSource ?? collectionViewPrefetchDataSourceNotSet).collectionView(collectionView, prefetchItemsAt: indexPaths) - } - /// For more information take a look at `DelegateProxyType`. open override func setForwardToDelegate(_ forwardToDelegate: UICollectionViewDataSourcePrefetching?, retainDelegate: Bool) { _requiredMethodsPrefetchDataSource = forwardToDelegate ?? collectionViewPrefetchDataSourceNotSet @@ -89,4 +77,16 @@ open class RxCollectionViewDataSourcePrefetchingProxy } +@available(iOS 10.0, tvOS 10.0, *) +extension RxCollectionViewDataSourcePrefetchingProxy: UICollectionViewDataSourcePrefetching { + /// Required delegate method implementation. + public func collectionView(_ collectionView: UICollectionView, prefetchItemsAt indexPaths: [IndexPath]) { + if let subject = _prefetchItemsPublishSubject { + subject.on(.next(indexPaths)) + } + + (_requiredMethodsPrefetchDataSource ?? collectionViewPrefetchDataSourceNotSet).collectionView(collectionView, prefetchItemsAt: indexPaths) + } +} + #endif diff --git a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxCollectionViewDataSourceProxy.swift b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxCollectionViewDataSourceProxy.swift index 793e5448..534b6fa4 100644 --- a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxCollectionViewDataSourceProxy.swift +++ b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxCollectionViewDataSourceProxy.swift @@ -35,8 +35,7 @@ private final class CollectionViewDataSourceNotSet /// For more information take a look at `DelegateProxyType`. open class RxCollectionViewDataSourceProxy : DelegateProxy - , DelegateProxyType - , UICollectionViewDataSource { + , DelegateProxyType { /// Typed parent object. public weak private(set) var collectionView: UICollectionView? @@ -54,23 +53,23 @@ open class RxCollectionViewDataSourceProxy private weak var _requiredMethodsDataSource: UICollectionViewDataSource? = collectionViewDataSourceNotSet - // MARK: delegate + /// For more information take a look at `DelegateProxyType`. + open override func setForwardToDelegate(_ forwardToDelegate: UICollectionViewDataSource?, retainDelegate: Bool) { + _requiredMethodsDataSource = forwardToDelegate ?? collectionViewDataSourceNotSet + super.setForwardToDelegate(forwardToDelegate, retainDelegate: retainDelegate) + } +} +extension RxCollectionViewDataSourceProxy: UICollectionViewDataSource { /// Required delegate method implementation. public func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { (_requiredMethodsDataSource ?? collectionViewDataSourceNotSet).collectionView(collectionView, numberOfItemsInSection: section) } - + /// Required delegate method implementation. public func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { (_requiredMethodsDataSource ?? collectionViewDataSourceNotSet).collectionView(collectionView, cellForItemAt: indexPath) } - - /// For more information take a look at `DelegateProxyType`. - open override func setForwardToDelegate(_ forwardToDelegate: UICollectionViewDataSource?, retainDelegate: Bool) { - _requiredMethodsDataSource = forwardToDelegate ?? collectionViewDataSourceNotSet - super.setForwardToDelegate(forwardToDelegate, retainDelegate: retainDelegate) - } } #endif diff --git a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxCollectionViewDelegateProxy.swift b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxCollectionViewDelegateProxy.swift index dd8f4b43..da04caa6 100644 --- a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxCollectionViewDelegateProxy.swift +++ b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxCollectionViewDelegateProxy.swift @@ -13,9 +13,7 @@ import RxSwift /// For more information take a look at `DelegateProxyType`. open class RxCollectionViewDelegateProxy - : RxScrollViewDelegateProxy - , UICollectionViewDelegate - , UICollectionViewDelegateFlowLayout { + : RxScrollViewDelegateProxy { /// Typed parent object. public weak private(set) var collectionView: UICollectionView? @@ -29,4 +27,6 @@ open class RxCollectionViewDelegateProxy } } +extension RxCollectionViewDelegateProxy: UICollectionViewDelegateFlowLayout {} + #endif diff --git a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxNavigationControllerDelegateProxy.swift b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxNavigationControllerDelegateProxy.swift index 372bf795..b4a827ed 100644 --- a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxNavigationControllerDelegateProxy.swift +++ b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxNavigationControllerDelegateProxy.swift @@ -18,8 +18,7 @@ /// For more information take a look at `DelegateProxyType`. open class RxNavigationControllerDelegateProxy : DelegateProxy - , DelegateProxyType - , UINavigationControllerDelegate { + , DelegateProxyType { /// Typed parent object. public weak private(set) var navigationController: UINavigationController? @@ -35,4 +34,6 @@ self.register { RxNavigationControllerDelegateProxy(navigationController: $0) } } } + + extension RxNavigationControllerDelegateProxy: UINavigationControllerDelegate {} #endif diff --git a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxPickerViewDataSourceProxy.swift b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxPickerViewDataSourceProxy.swift index f9c65d1c..ecd0288d 100644 --- a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxPickerViewDataSourceProxy.swift +++ b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxPickerViewDataSourceProxy.swift @@ -30,8 +30,7 @@ final private class PickerViewDataSourceNotSet: NSObject, UIPickerViewDataSource /// For more information take a look at `DelegateProxyType`. public class RxPickerViewDataSourceProxy : DelegateProxy - , DelegateProxyType - , UIPickerViewDataSource { + , DelegateProxyType { /// Typed parent object. public weak private(set) var pickerView: UIPickerView? @@ -49,8 +48,16 @@ public class RxPickerViewDataSourceProxy private weak var _requiredMethodsDataSource: UIPickerViewDataSource? = pickerViewDataSourceNotSet - // MARK: UIPickerViewDataSource + /// For more information take a look at `DelegateProxyType`. + public override func setForwardToDelegate(_ forwardToDelegate: UIPickerViewDataSource?, retainDelegate: Bool) { + _requiredMethodsDataSource = forwardToDelegate ?? pickerViewDataSourceNotSet + super.setForwardToDelegate(forwardToDelegate, retainDelegate: retainDelegate) + } +} + +// MARK: UIPickerViewDataSource +extension RxPickerViewDataSourceProxy: UIPickerViewDataSource { /// Required delegate method implementation. public func numberOfComponents(in pickerView: UIPickerView) -> Int { (_requiredMethodsDataSource ?? pickerViewDataSourceNotSet).numberOfComponents(in: pickerView) @@ -60,12 +67,6 @@ public class RxPickerViewDataSourceProxy public func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { (_requiredMethodsDataSource ?? pickerViewDataSourceNotSet).pickerView(pickerView, numberOfRowsInComponent: component) } - - /// For more information take a look at `DelegateProxyType`. - public override func setForwardToDelegate(_ forwardToDelegate: UIPickerViewDataSource?, retainDelegate: Bool) { - _requiredMethodsDataSource = forwardToDelegate ?? pickerViewDataSourceNotSet - super.setForwardToDelegate(forwardToDelegate, retainDelegate: retainDelegate) - } } #endif diff --git a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxPickerViewDelegateProxy.swift b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxPickerViewDelegateProxy.swift index 922126f8..9e64f01f 100644 --- a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxPickerViewDelegateProxy.swift +++ b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxPickerViewDelegateProxy.swift @@ -17,8 +17,7 @@ open class RxPickerViewDelegateProxy : DelegateProxy - , DelegateProxyType - , UIPickerViewDelegate { + , DelegateProxyType { /// Typed parent object. public weak private(set) var pickerView: UIPickerView? @@ -29,9 +28,11 @@ super.init(parentObject: pickerView, delegateProxy: RxPickerViewDelegateProxy.self) } - // Register known implementationss + // Register known implementations public static func registerKnownImplementations() { self.register { RxPickerViewDelegateProxy(pickerView: $0) } } } + + extension RxPickerViewDelegateProxy: UIPickerViewDelegate {} #endif diff --git a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxScrollViewDelegateProxy.swift b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxScrollViewDelegateProxy.swift index 59608d3b..02e75920 100644 --- a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxScrollViewDelegateProxy.swift +++ b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxScrollViewDelegateProxy.swift @@ -18,8 +18,7 @@ extension UIScrollView: HasDelegate { /// For more information take a look at `DelegateProxyType`. open class RxScrollViewDelegateProxy : DelegateProxy - , DelegateProxyType - , UIScrollViewDelegate { + , DelegateProxyType { /// Typed parent object. public weak private(set) var scrollView: UIScrollView? @@ -65,8 +64,18 @@ open class RxScrollViewDelegateProxy return subject } - // MARK: delegate methods + deinit { + if let subject = _contentOffsetBehaviorSubject { + subject.on(.completed) + } + + if let subject = _contentOffsetPublishSubject { + subject.on(.completed) + } + } +} +extension RxScrollViewDelegateProxy: UIScrollViewDelegate { /// For more information take a look at `DelegateProxyType`. public func scrollViewDidScroll(_ scrollView: UIScrollView) { if let subject = _contentOffsetBehaviorSubject { @@ -77,16 +86,6 @@ open class RxScrollViewDelegateProxy } self._forwardToDelegate?.scrollViewDidScroll?(scrollView) } - - deinit { - if let subject = _contentOffsetBehaviorSubject { - subject.on(.completed) - } - - if let subject = _contentOffsetPublishSubject { - subject.on(.completed) - } - } } #endif diff --git a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxSearchBarDelegateProxy.swift b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxSearchBarDelegateProxy.swift index 532ab687..94bd30bd 100644 --- a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxSearchBarDelegateProxy.swift +++ b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxSearchBarDelegateProxy.swift @@ -18,8 +18,7 @@ extension UISearchBar: HasDelegate { /// For more information take a look at `DelegateProxyType`. open class RxSearchBarDelegateProxy : DelegateProxy - , DelegateProxyType - , UISearchBarDelegate { + , DelegateProxyType { /// Typed parent object. public weak private(set) var searchBar: UISearchBar? @@ -36,4 +35,6 @@ open class RxSearchBarDelegateProxy } } +extension RxSearchBarDelegateProxy: UISearchBarDelegate {} + #endif diff --git a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxSearchControllerDelegateProxy.swift b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxSearchControllerDelegateProxy.swift index 04e0de09..64e36a21 100644 --- a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxSearchControllerDelegateProxy.swift +++ b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxSearchControllerDelegateProxy.swift @@ -18,8 +18,7 @@ extension UISearchController: HasDelegate { /// For more information take a look at `DelegateProxyType`. open class RxSearchControllerDelegateProxy : DelegateProxy - , DelegateProxyType - , UISearchControllerDelegate { + , DelegateProxyType { /// Typed parent object. public weak private(set) var searchController: UISearchController? @@ -35,5 +34,7 @@ open class RxSearchControllerDelegateProxy self.register { RxSearchControllerDelegateProxy(searchController: $0) } } } + +extension RxSearchControllerDelegateProxy: UISearchControllerDelegate {} #endif diff --git a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTabBarControllerDelegateProxy.swift b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTabBarControllerDelegateProxy.swift index 585894ce..62d42ac0 100644 --- a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTabBarControllerDelegateProxy.swift +++ b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTabBarControllerDelegateProxy.swift @@ -18,8 +18,7 @@ extension UITabBarController: HasDelegate { /// For more information take a look at `DelegateProxyType`. open class RxTabBarControllerDelegateProxy : DelegateProxy - , DelegateProxyType - , UITabBarControllerDelegate { + , DelegateProxyType { /// Typed parent object. public weak private(set) var tabBar: UITabBarController? @@ -36,4 +35,6 @@ open class RxTabBarControllerDelegateProxy } } +extension RxTabBarControllerDelegateProxy: UITabBarControllerDelegate {} + #endif diff --git a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTabBarDelegateProxy.swift b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTabBarDelegateProxy.swift index 62057309..49c5cf7f 100644 --- a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTabBarDelegateProxy.swift +++ b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTabBarDelegateProxy.swift @@ -18,8 +18,7 @@ extension UITabBar: HasDelegate { /// For more information take a look at `DelegateProxyType`. open class RxTabBarDelegateProxy : DelegateProxy - , DelegateProxyType - , UITabBarDelegate { + , DelegateProxyType { /// Typed parent object. public weak private(set) var tabBar: UITabBar? @@ -46,4 +45,6 @@ open class RxTabBarDelegateProxy } } +extension RxTabBarDelegateProxy: UITabBarDelegate {} + #endif diff --git a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTableViewDataSourcePrefetchingProxy.swift b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTableViewDataSourcePrefetchingProxy.swift index 4345312e..d0831f2e 100644 --- a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTableViewDataSourcePrefetchingProxy.swift +++ b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTableViewDataSourcePrefetchingProxy.swift @@ -31,8 +31,7 @@ private final class TableViewPrefetchDataSourceNotSet @available(iOS 10.0, tvOS 10.0, *) open class RxTableViewDataSourcePrefetchingProxy : DelegateProxy - , DelegateProxyType - , UITableViewDataSourcePrefetching { + , DelegateProxyType { /// Typed parent object. public weak private(set) var tableView: UITableView? @@ -64,17 +63,6 @@ open class RxTableViewDataSourcePrefetchingProxy private weak var _requiredMethodsPrefetchDataSource: UITableViewDataSourcePrefetching? = tableViewPrefetchDataSourceNotSet - // MARK: delegate - - /// Required delegate method implementation. - public func tableView(_ tableView: UITableView, prefetchRowsAt indexPaths: [IndexPath]) { - if let subject = _prefetchRowsPublishSubject { - subject.on(.next(indexPaths)) - } - - (_requiredMethodsPrefetchDataSource ?? tableViewPrefetchDataSourceNotSet).tableView(tableView, prefetchRowsAt: indexPaths) - } - /// For more information take a look at `DelegateProxyType`. open override func setForwardToDelegate(_ forwardToDelegate: UITableViewDataSourcePrefetching?, retainDelegate: Bool) { _requiredMethodsPrefetchDataSource = forwardToDelegate ?? tableViewPrefetchDataSourceNotSet @@ -89,5 +77,17 @@ open class RxTableViewDataSourcePrefetchingProxy } +@available(iOS 10.0, tvOS 10.0, *) +extension RxTableViewDataSourcePrefetchingProxy: UITableViewDataSourcePrefetching { + /// Required delegate method implementation. + public func tableView(_ tableView: UITableView, prefetchRowsAt indexPaths: [IndexPath]) { + if let subject = _prefetchRowsPublishSubject { + subject.on(.next(indexPaths)) + } + + (_requiredMethodsPrefetchDataSource ?? tableViewPrefetchDataSourceNotSet).tableView(tableView, prefetchRowsAt: indexPaths) + } +} + #endif diff --git a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTableViewDataSourceProxy.swift b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTableViewDataSourceProxy.swift index 42d9386e..4c5e8638 100644 --- a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTableViewDataSourceProxy.swift +++ b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTableViewDataSourceProxy.swift @@ -33,8 +33,7 @@ private final class TableViewDataSourceNotSet /// For more information take a look at `DelegateProxyType`. open class RxTableViewDataSourceProxy : DelegateProxy - , DelegateProxyType - , UITableViewDataSource { + , DelegateProxyType { /// Typed parent object. public weak private(set) var tableView: UITableView? @@ -52,8 +51,14 @@ open class RxTableViewDataSourceProxy private weak var _requiredMethodsDataSource: UITableViewDataSource? = tableViewDataSourceNotSet - // MARK: delegate + /// For more information take a look at `DelegateProxyType`. + open override func setForwardToDelegate(_ forwardToDelegate: UITableViewDataSource?, retainDelegate: Bool) { + _requiredMethodsDataSource = forwardToDelegate ?? tableViewDataSourceNotSet + super.setForwardToDelegate(forwardToDelegate, retainDelegate: retainDelegate) + } +} +extension RxTableViewDataSourceProxy: UITableViewDataSource { /// Required delegate method implementation. public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { (_requiredMethodsDataSource ?? tableViewDataSourceNotSet).tableView(tableView, numberOfRowsInSection: section) @@ -63,13 +68,6 @@ open class RxTableViewDataSourceProxy public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { (_requiredMethodsDataSource ?? tableViewDataSourceNotSet).tableView(tableView, cellForRowAt: indexPath) } - - /// For more information take a look at `DelegateProxyType`. - open override func setForwardToDelegate(_ forwardToDelegate: UITableViewDataSource?, retainDelegate: Bool) { - _requiredMethodsDataSource = forwardToDelegate ?? tableViewDataSourceNotSet - super.setForwardToDelegate(forwardToDelegate, retainDelegate: retainDelegate) - } - } #endif diff --git a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTableViewDelegateProxy.swift b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTableViewDelegateProxy.swift index 86a87585..901fe665 100644 --- a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTableViewDelegateProxy.swift +++ b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTableViewDelegateProxy.swift @@ -13,8 +13,7 @@ import RxSwift /// For more information take a look at `DelegateProxyType`. open class RxTableViewDelegateProxy - : RxScrollViewDelegateProxy - , UITableViewDelegate { + : RxScrollViewDelegateProxy { /// Typed parent object. public weak private(set) var tableView: UITableView? @@ -27,4 +26,6 @@ open class RxTableViewDelegateProxy } +extension RxTableViewDelegateProxy: UITableViewDelegate {} + #endif diff --git a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTextStorageDelegateProxy.swift b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTextStorageDelegateProxy.swift index 12669f9c..e8ff33f0 100644 --- a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTextStorageDelegateProxy.swift +++ b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTextStorageDelegateProxy.swift @@ -17,8 +17,7 @@ open class RxTextStorageDelegateProxy : DelegateProxy - , DelegateProxyType - , NSTextStorageDelegate { + , DelegateProxyType { /// Typed parent object. public weak private(set) var textStorage: NSTextStorage? @@ -34,4 +33,6 @@ self.register { RxTextStorageDelegateProxy(textStorage: $0) } } } + + extension RxTextStorageDelegateProxy: NSTextStorageDelegate {} #endif diff --git a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTextViewDelegateProxy.swift b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTextViewDelegateProxy.swift index c8a1dfd6..9d934247 100644 --- a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTextViewDelegateProxy.swift +++ b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTextViewDelegateProxy.swift @@ -13,8 +13,7 @@ import RxSwift /// For more information take a look at `DelegateProxyType`. open class RxTextViewDelegateProxy - : RxScrollViewDelegateProxy - , UITextViewDelegate { + : RxScrollViewDelegateProxy { /// Typed parent object. public weak private(set) var textView: UITextView? @@ -24,13 +23,13 @@ open class RxTextViewDelegateProxy self.textView = textView super.init(scrollView: textView) } +} - // MARK: delegate methods - +extension RxTextViewDelegateProxy: UITextViewDelegate { /// For more information take a look at `DelegateProxyType`. @objc open func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool { /** - We've had some issues with observing text changes. This is here just in case we need the same hack in future and that + We've had some issues with observing text changes. This is here just in case we need the same hack in future and that we wouldn't need to change the public interface. */ let forwardToDelegate = self.forwardToDelegate() as? UITextViewDelegate diff --git a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxWKNavigationDelegateProxy.swift b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxWKNavigationDelegateProxy.swift index c758c021..0fa16b49 100644 --- a/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxWKNavigationDelegateProxy.swift +++ b/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxWKNavigationDelegateProxy.swift @@ -14,8 +14,7 @@ import WebKit @available(iOS 8.0, OSX 10.10, OSXApplicationExtension 10.10, *) open class RxWKNavigationDelegateProxy : DelegateProxy - , DelegateProxyType -, WKNavigationDelegate { + , DelegateProxyType { /// Typed parent object. public weak private(set) var webView: WKWebView? @@ -40,4 +39,7 @@ open class RxWKNavigationDelegateProxy } } +@available(iOS 8.0, OSX 10.10, OSXApplicationExtension 10.10, *) +extension RxWKNavigationDelegateProxy: WKNavigationDelegate {} + #endif diff --git a/Pods/RxCocoa/RxCocoa/iOS/UICollectionView+Rx.swift b/Pods/RxCocoa/RxCocoa/iOS/UICollectionView+Rx.swift index 7f3de007..8f4bdb3a 100644 --- a/Pods/RxCocoa/RxCocoa/iOS/UICollectionView+Rx.swift +++ b/Pods/RxCocoa/RxCocoa/iOS/UICollectionView+Rx.swift @@ -140,7 +140,7 @@ extension Reactive where Base: UICollectionView { -> Disposable where DataSource.Element == Source.Element { return { source in - // This is called for sideeffects only, and to make sure delegate proxy is in place when + // This is called for side effects only, and to make sure delegate proxy is in place when // data source is being bound. // This is needed because theoretically the data source subscription itself might // call `self.rx.delegate`. If that happens, it might cause weird side effects since diff --git a/Pods/RxCocoa/RxCocoa/iOS/UITableView+Rx.swift b/Pods/RxCocoa/RxCocoa/iOS/UITableView+Rx.swift index b2171339..f30197d6 100644 --- a/Pods/RxCocoa/RxCocoa/iOS/UITableView+Rx.swift +++ b/Pods/RxCocoa/RxCocoa/iOS/UITableView+Rx.swift @@ -112,7 +112,7 @@ extension Reactive where Base: UITableView { -> Disposable where DataSource.Element == Source.Element { return { source in - // This is called for sideeffects only, and to make sure delegate proxy is in place when + // This is called for side effects only, and to make sure delegate proxy is in place when // data source is being bound. // This is needed because theoretically the data source subscription itself might // call `self.rx.delegate`. If that happens, it might cause weird side effects since diff --git a/Pods/RxCocoa/RxCocoa/iOS/UITextField+Rx.swift b/Pods/RxCocoa/RxCocoa/iOS/UITextField+Rx.swift index 614fecc7..46e0e488 100644 --- a/Pods/RxCocoa/RxCocoa/iOS/UITextField+Rx.swift +++ b/Pods/RxCocoa/RxCocoa/iOS/UITextField+Rx.swift @@ -25,7 +25,7 @@ extension Reactive where Base: UITextField { }, setter: { textField, value in // This check is important because setting text value always clears control state - // including marked text selection which is imporant for proper input + // including marked text selection which is important for proper input // when IME input method is used. if textField.text != value { textField.text = value @@ -42,7 +42,7 @@ extension Reactive where Base: UITextField { }, setter: { textField, value in // This check is important because setting text value always clears control state - // including marked text selection which is imporant for proper input + // including marked text selection which is important for proper input // when IME input method is used. if textField.attributedText != value { textField.attributedText = value diff --git a/Pods/RxCocoa/RxCocoa/iOS/UITextView+Rx.swift b/Pods/RxCocoa/RxCocoa/iOS/UITextView+Rx.swift index 497ab66c..3395d9b9 100644 --- a/Pods/RxCocoa/RxCocoa/iOS/UITextView+Rx.swift +++ b/Pods/RxCocoa/RxCocoa/iOS/UITextView+Rx.swift @@ -42,7 +42,7 @@ extension Reactive where Base: UITextView { let bindingObserver = Binder(self.base) { (textView, text: String?) in // This check is important because setting text value always clears control state - // including marked text selection which is imporant for proper input + // including marked text selection which is important for proper input // when IME input method is used. if textView.text != text { textView.text = text @@ -78,7 +78,7 @@ extension Reactive where Base: UITextView { let bindingObserver = Binder(self.base) { (textView, attributedText: NSAttributedString?) in // This check is important because setting text value always clears control state - // including marked text selection which is imporant for proper input + // including marked text selection which is important for proper input // when IME input method is used. if textView.attributedText != attributedText { textView.attributedText = attributedText diff --git a/Pods/RxRelay/README.md b/Pods/RxRelay/README.md index 20330166..a95d9e0c 100644 --- a/Pods/RxRelay/README.md +++ b/Pods/RxRelay/README.md @@ -146,14 +146,14 @@ Open Rx.xcworkspace, choose `RxExample` and hit run. This method will build ever use_frameworks! target 'YOUR_TARGET_NAME' do - pod 'RxSwift', '6.2.0' - pod 'RxCocoa', '6.2.0' + pod 'RxSwift', '6.5.0' + pod 'RxCocoa', '6.5.0' end # RxTest and RxBlocking make the most sense in the context of unit/integration tests target 'YOUR_TESTING_TARGET' do - pod 'RxBlocking', '6.2.0' - pod 'RxTest', '6.2.0' + pod 'RxBlocking', '6.5.0' + pod 'RxTest', '6.5.0' end ``` @@ -178,7 +178,7 @@ Simply drag the needed framework binaries to your **Frameworks, Libraries, and E Add this to `Cartfile` ``` -github "ReactiveX/RxSwift" "6.2.0" +github "ReactiveX/RxSwift" "6.5.0" ``` ```bash @@ -211,7 +211,7 @@ import PackageDescription let package = Package( name: "RxTestProject", dependencies: [ - .package(url: "https://github.com/ReactiveX/RxSwift.git", .exact("6.2.0")) + .package(url: "https://github.com/ReactiveX/RxSwift.git", .exact("6.5.0")) ], targets: [ .target(name: "RxTestProject", dependencies: ["RxSwift", "RxCocoa"]) diff --git a/Pods/RxRelay/RxRelay/Observable+Bind.swift b/Pods/RxRelay/RxRelay/Observable+Bind.swift index 7a2efc7b..08c4a971 100644 --- a/Pods/RxRelay/RxRelay/Observable+Bind.swift +++ b/Pods/RxRelay/RxRelay/Observable+Bind.swift @@ -13,7 +13,7 @@ extension ObservableType { Creates new subscription and sends elements to publish relay(s). In case error occurs in debug mode, `fatalError` will be raised. In case error occurs in release mode, `error` will be logged. - - parameter to: Target publish relays for sequence elements. + - parameter relays: Target publish relays for sequence elements. - returns: Disposable object that can be used to unsubscribe the observer. */ public func bind(to relays: PublishRelay...) -> Disposable { @@ -26,7 +26,7 @@ extension ObservableType { In case error occurs in debug mode, `fatalError` will be raised. In case error occurs in release mode, `error` will be logged. - - parameter to: Target publish relays for sequence elements. + - parameter relays: Target publish relays for sequence elements. - returns: Disposable object that can be used to unsubscribe the observer. */ public func bind(to relays: PublishRelay...) -> Disposable { @@ -37,7 +37,7 @@ extension ObservableType { Creates new subscription and sends elements to publish relay(s). In case error occurs in debug mode, `fatalError` will be raised. In case error occurs in release mode, `error` will be logged. - - parameter to: Target publish relays for sequence elements. + - parameter relays: Target publish relays for sequence elements. - returns: Disposable object that can be used to unsubscribe the observer. */ private func bind(to relays: [PublishRelay]) -> Disposable { @@ -59,7 +59,7 @@ extension ObservableType { Creates new subscription and sends elements to behavior relay(s). In case error occurs in debug mode, `fatalError` will be raised. In case error occurs in release mode, `error` will be logged. - - parameter to: Target behavior relay for sequence elements. + - parameter relays: Target behavior relay for sequence elements. - returns: Disposable object that can be used to unsubscribe the observer. */ public func bind(to relays: BehaviorRelay...) -> Disposable { @@ -72,7 +72,7 @@ extension ObservableType { In case error occurs in debug mode, `fatalError` will be raised. In case error occurs in release mode, `error` will be logged. - - parameter to: Target behavior relay for sequence elements. + - parameter relays: Target behavior relay for sequence elements. - returns: Disposable object that can be used to unsubscribe the observer. */ public func bind(to relays: BehaviorRelay...) -> Disposable { @@ -83,7 +83,7 @@ extension ObservableType { Creates new subscription and sends elements to behavior relay(s). In case error occurs in debug mode, `fatalError` will be raised. In case error occurs in release mode, `error` will be logged. - - parameter to: Target behavior relay for sequence elements. + - parameter relays: Target behavior relay for sequence elements. - returns: Disposable object that can be used to unsubscribe the observer. */ private func bind(to relays: [BehaviorRelay]) -> Disposable { @@ -105,7 +105,7 @@ extension ObservableType { Creates new subscription and sends elements to replay relay(s). In case error occurs in debug mode, `fatalError` will be raised. In case error occurs in release mode, `error` will be logged. - - parameter to: Target replay relay for sequence elements. + - parameter relays: Target replay relay for sequence elements. - returns: Disposable object that can be used to unsubscribe the observer. */ public func bind(to relays: ReplayRelay...) -> Disposable { @@ -118,7 +118,7 @@ extension ObservableType { In case error occurs in debug mode, `fatalError` will be raised. In case error occurs in release mode, `error` will be logged. - - parameter to: Target replay relay for sequence elements. + - parameter relays: Target replay relay for sequence elements. - returns: Disposable object that can be used to unsubscribe the observer. */ public func bind(to relays: ReplayRelay...) -> Disposable { @@ -129,7 +129,7 @@ extension ObservableType { Creates new subscription and sends elements to replay relay(s). In case error occurs in debug mode, `fatalError` will be raised. In case error occurs in release mode, `error` will be logged. - - parameter to: Target replay relay for sequence elements. + - parameter relays: Target replay relay for sequence elements. - returns: Disposable object that can be used to unsubscribe the observer. */ private func bind(to relays: [ReplayRelay]) -> Disposable { diff --git a/Pods/RxSwift/README.md b/Pods/RxSwift/README.md index 20330166..a95d9e0c 100644 --- a/Pods/RxSwift/README.md +++ b/Pods/RxSwift/README.md @@ -146,14 +146,14 @@ Open Rx.xcworkspace, choose `RxExample` and hit run. This method will build ever use_frameworks! target 'YOUR_TARGET_NAME' do - pod 'RxSwift', '6.2.0' - pod 'RxCocoa', '6.2.0' + pod 'RxSwift', '6.5.0' + pod 'RxCocoa', '6.5.0' end # RxTest and RxBlocking make the most sense in the context of unit/integration tests target 'YOUR_TESTING_TARGET' do - pod 'RxBlocking', '6.2.0' - pod 'RxTest', '6.2.0' + pod 'RxBlocking', '6.5.0' + pod 'RxTest', '6.5.0' end ``` @@ -178,7 +178,7 @@ Simply drag the needed framework binaries to your **Frameworks, Libraries, and E Add this to `Cartfile` ``` -github "ReactiveX/RxSwift" "6.2.0" +github "ReactiveX/RxSwift" "6.5.0" ``` ```bash @@ -211,7 +211,7 @@ import PackageDescription let package = Package( name: "RxTestProject", dependencies: [ - .package(url: "https://github.com/ReactiveX/RxSwift.git", .exact("6.2.0")) + .package(url: "https://github.com/ReactiveX/RxSwift.git", .exact("6.5.0")) ], targets: [ .target(name: "RxTestProject", dependencies: ["RxSwift", "RxCocoa"]) diff --git a/Pods/RxSwift/RxSwift/Disposables/SingleAssignmentDisposable.swift b/Pods/RxSwift/RxSwift/Disposables/SingleAssignmentDisposable.swift index d7307d68..4a5fb866 100644 --- a/Pods/RxSwift/RxSwift/Disposables/SingleAssignmentDisposable.swift +++ b/Pods/RxSwift/RxSwift/Disposables/SingleAssignmentDisposable.swift @@ -13,9 +13,11 @@ If an underlying disposable resource has already been set, future attempts to se */ public final class SingleAssignmentDisposable : DisposeBase, Cancelable { - private enum DisposeState: Int32 { - case disposed = 1 - case disposableSet = 2 + private struct DisposeState: OptionSet { + let rawValue: Int32 + + static let disposed = DisposeState(rawValue: 1 << 0) + static let disposableSet = DisposeState(rawValue: 1 << 1) } // state diff --git a/Pods/RxSwift/RxSwift/Observables/RetryWhen.swift b/Pods/RxSwift/RxSwift/Observables/RetryWhen.swift index 52a27091..1b2a6f13 100644 --- a/Pods/RxSwift/RxSwift/Observables/RetryWhen.swift +++ b/Pods/RxSwift/RxSwift/Observables/RetryWhen.swift @@ -172,7 +172,7 @@ final private class RetryWhenSequenceSink) -> SequenceGenerator? { - // It is important to always return `nil` here because there are sideffects in the `run` method + // It is important to always return `nil` here because there are side effects in the `run` method // that are dependant on particular `retryWhen` operator so single operator stack can't be reused in this // case. return nil diff --git a/Pods/RxSwift/RxSwift/Observables/SwitchIfEmpty.swift b/Pods/RxSwift/RxSwift/Observables/SwitchIfEmpty.swift index a8827c45..037bf697 100644 --- a/Pods/RxSwift/RxSwift/Observables/SwitchIfEmpty.swift +++ b/Pods/RxSwift/RxSwift/Observables/SwitchIfEmpty.swift @@ -12,7 +12,7 @@ extension ObservableType { - seealso: [DefaultIfEmpty operator on reactivex.io](http://reactivex.io/documentation/operators/defaultifempty.html) - - parameter switchTo: Observable sequence being returned when source sequence is empty. + - parameter other: Observable sequence being returned when source sequence is empty. - returns: Observable sequence that contains elements from switchTo sequence if source is empty, otherwise returns source sequence elements. */ public func ifEmpty(switchTo other: Observable) -> Observable { diff --git a/Pods/RxSwift/RxSwift/Observables/WithUnretained.swift b/Pods/RxSwift/RxSwift/Observables/WithUnretained.swift index 4dc2eadf..076f6de8 100644 --- a/Pods/RxSwift/RxSwift/Observables/WithUnretained.swift +++ b/Pods/RxSwift/RxSwift/Observables/WithUnretained.swift @@ -10,7 +10,7 @@ extension ObservableType { /** Provides an unretained, safe to use (i.e. not implicitly unwrapped), reference to an object along with the events emitted by the sequence. - In the case the provided object cannot be retained successfully, the seqeunce will complete. + In the case the provided object cannot be retained successfully, the sequence will complete. - note: Be careful when using this operator in a sequence that has a buffer or replay, for example `share(replay: 1)`, as the sharing buffer will also include the provided object, which could potentially cause a retain cycle. @@ -41,7 +41,7 @@ extension ObservableType { /** Provides an unretained, safe to use (i.e. not implicitly unwrapped), reference to an object along with the events emitted by the sequence. - In the case the provided object cannot be retained successfully, the seqeunce will complete. + In the case the provided object cannot be retained successfully, the sequence will complete. - note: Be careful when using this operator in a sequence that has a buffer or replay, for example `share(replay: 1)`, as the sharing buffer will also include the provided object, which could potentially cause a retain cycle. diff --git a/Pods/RxSwift/RxSwift/Schedulers/Internal/DispatchQueueConfiguration.swift b/Pods/RxSwift/RxSwift/Schedulers/Internal/DispatchQueueConfiguration.swift index f313c0b3..53f148dc 100644 --- a/Pods/RxSwift/RxSwift/Schedulers/Internal/DispatchQueueConfiguration.swift +++ b/Pods/RxSwift/RxSwift/Schedulers/Internal/DispatchQueueConfiguration.swift @@ -40,7 +40,7 @@ extension DispatchQueueConfiguration { // TODO: // This looks horrible, and yes, it is. - // It looks like Apple has made a conceputal change here, and I'm unsure why. + // It looks like Apple has made a conceptual change here, and I'm unsure why. // Need more info on this. // It looks like just setting timer to fire and not holding a reference to it // until deadline causes timer cancellation. @@ -74,7 +74,7 @@ extension DispatchQueueConfiguration { // TODO: // This looks horrible, and yes, it is. - // It looks like Apple has made a conceputal change here, and I'm unsure why. + // It looks like Apple has made a conceptual change here, and I'm unsure why. // Need more info on this. // It looks like just setting timer to fire and not holding a reference to it // until deadline causes timer cancellation. diff --git a/Pods/RxSwift/RxSwift/Schedulers/MainScheduler.swift b/Pods/RxSwift/RxSwift/Schedulers/MainScheduler.swift index 703ab440..f6a507f3 100644 --- a/Pods/RxSwift/RxSwift/Schedulers/MainScheduler.swift +++ b/Pods/RxSwift/RxSwift/Schedulers/MainScheduler.swift @@ -41,14 +41,14 @@ public final class MainScheduler : SerialDispatchQueueScheduler { public static let asyncInstance = SerialDispatchQueueScheduler(serialQueue: DispatchQueue.main) /// In case this method is called on a background thread it will throw an exception. - public class func ensureExecutingOnScheduler(errorMessage: String? = nil) { + public static func ensureExecutingOnScheduler(errorMessage: String? = nil) { if !DispatchQueue.isMain { rxFatalError(errorMessage ?? "Executing on background thread. Please use `MainScheduler.instance.schedule` to schedule work on main thread.") } } /// In case this method is running on a background thread it will throw an exception. - public class func ensureRunningOnMainThread(errorMessage: String? = nil) { + public static func ensureRunningOnMainThread(errorMessage: String? = nil) { #if !os(Linux) // isMainThread is not implemented in Linux Foundation guard Thread.isMainThread else { rxFatalError(errorMessage ?? "Running on background thread.") diff --git a/Pods/RxSwift/RxSwift/Traits/Infallible/Infallible+Operators.swift b/Pods/RxSwift/RxSwift/Traits/Infallible/Infallible+Operators.swift index ca2a14ae..10b9d274 100644 --- a/Pods/RxSwift/RxSwift/Traits/Infallible/Infallible+Operators.swift +++ b/Pods/RxSwift/RxSwift/Traits/Infallible/Infallible+Operators.swift @@ -650,7 +650,7 @@ extension InfallibleType { /** Provides an unretained, safe to use (i.e. not implicitly unwrapped), reference to an object along with the events emitted by the sequence. - In the case the provided object cannot be retained successfully, the seqeunce will complete. + In the case the provided object cannot be retained successfully, the sequence will complete. - note: Be careful when using this operator in a sequence that has a buffer or replay, for example `share(replay: 1)`, as the sharing buffer will also include the provided object, which could potentially cause a retain cycle. @@ -668,7 +668,7 @@ extension InfallibleType { /** Provides an unretained, safe to use (i.e. not implicitly unwrapped), reference to an object along with the events emitted by the sequence. - In the case the provided object cannot be retained successfully, the seqeunce will complete. + In the case the provided object cannot be retained successfully, the sequence will complete. - note: Be careful when using this operator in a sequence that has a buffer or replay, for example `share(replay: 1)`, as the sharing buffer will also include the provided object, which could potentially cause a retain cycle. diff --git a/Pods/RxSwift/RxSwift/Traits/Infallible/ObservableConvertibleType+Infallible.swift b/Pods/RxSwift/RxSwift/Traits/Infallible/ObservableConvertibleType+Infallible.swift index d54d28da..d0f111c9 100644 --- a/Pods/RxSwift/RxSwift/Traits/Infallible/ObservableConvertibleType+Infallible.swift +++ b/Pods/RxSwift/RxSwift/Traits/Infallible/ObservableConvertibleType+Infallible.swift @@ -16,7 +16,7 @@ public extension ObservableConvertibleType { /// Convert to an `Infallible` /// - /// - parameter onErroFallbackTo: Fall back to this provided infallible on error + /// - parameter infallible: Fall back to this provided infallible on error /// /// /// - returns: `Infallible` diff --git a/Pods/RxSwift/RxSwift/Traits/PrimitiveSequence/Maybe.swift b/Pods/RxSwift/RxSwift/Traits/PrimitiveSequence/Maybe.swift index 3692eb16..13f472ab 100644 --- a/Pods/RxSwift/RxSwift/Traits/PrimitiveSequence/Maybe.swift +++ b/Pods/RxSwift/RxSwift/Traits/PrimitiveSequence/Maybe.swift @@ -335,11 +335,11 @@ extension PrimitiveSequenceType where Trait == MaybeTrait { } /** - Returns the elements of the specified sequence or `switchTo` sequence if the sequence is empty. + Returns the elements of the specified sequence or `other` sequence if the sequence is empty. - seealso: [DefaultIfEmpty operator on reactivex.io](http://reactivex.io/documentation/operators/defaultifempty.html) - - parameter switchTo: Observable sequence being returned when source sequence is empty. + - parameter other: Observable sequence being returned when source sequence is empty. - returns: Observable sequence that contains elements from switchTo sequence if source is empty, otherwise returns source sequence elements. */ public func ifEmpty(switchTo other: Maybe) -> Maybe { @@ -347,11 +347,11 @@ extension PrimitiveSequenceType where Trait == MaybeTrait { } /** - Returns the elements of the specified sequence or `switchTo` sequence if the sequence is empty. + Returns the elements of the specified sequence or `other` sequence if the sequence is empty. - seealso: [DefaultIfEmpty operator on reactivex.io](http://reactivex.io/documentation/operators/defaultifempty.html) - - parameter switchTo: Observable sequence being returned when source sequence is empty. + - parameter other: Observable sequence being returned when source sequence is empty. - returns: Observable sequence that contains elements from switchTo sequence if source is empty, otherwise returns source sequence elements. */ public func ifEmpty(switchTo other: Single) -> Single { diff --git a/Pods/Target Support Files/Alamofire/Alamofire-Info.plist b/Pods/Target Support Files/Alamofire/Alamofire-Info.plist index f6f37a1a..5dbef438 100644 --- a/Pods/Target Support Files/Alamofire/Alamofire-Info.plist +++ b/Pods/Target Support Files/Alamofire/Alamofire-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 5.4.3 + 5.6.3 CFBundleSignature ???? CFBundleVersion diff --git a/Pods/Target Support Files/Alamofire/Alamofire.debug.xcconfig b/Pods/Target Support Files/Alamofire/Alamofire.debug.xcconfig index bff12e65..d4c4fe3a 100644 --- a/Pods/Target Support Files/Alamofire/Alamofire.debug.xcconfig +++ b/Pods/Target Support Files/Alamofire/Alamofire.debug.xcconfig @@ -2,6 +2,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CODE_SIGN_IDENTITY = CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Alamofire GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift OTHER_LDFLAGS = $(inherited) -framework "CFNetwork" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} diff --git a/Pods/Target Support Files/Alamofire/Alamofire.release.xcconfig b/Pods/Target Support Files/Alamofire/Alamofire.release.xcconfig index bff12e65..d4c4fe3a 100644 --- a/Pods/Target Support Files/Alamofire/Alamofire.release.xcconfig +++ b/Pods/Target Support Files/Alamofire/Alamofire.release.xcconfig @@ -2,6 +2,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CODE_SIGN_IDENTITY = CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Alamofire GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift OTHER_LDFLAGS = $(inherited) -framework "CFNetwork" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} diff --git a/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-acknowledgements.markdown b/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-acknowledgements.markdown index 53b21f8d..1b337e8f 100644 --- a/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-acknowledgements.markdown +++ b/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-acknowledgements.markdown @@ -3,7 +3,7 @@ This application makes use of the following third party libraries: ## Alamofire -Copyright (c) 2014-2021 Alamofire Software Foundation (http://alamofire.org/) +Copyright (c) 2014-2022 Alamofire Software Foundation (http://alamofire.org/) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-acknowledgements.plist b/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-acknowledgements.plist index 67c64683..cd761b02 100644 --- a/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-acknowledgements.plist +++ b/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-acknowledgements.plist @@ -14,7 +14,7 @@ FooterText - Copyright (c) 2014-2021 Alamofire Software Foundation (http://alamofire.org/) + Copyright (c) 2014-2022 Alamofire Software Foundation (http://alamofire.org/) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-frameworks.sh b/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-frameworks.sh index 3ebd557e..f5000f01 100755 --- a/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-frameworks.sh +++ b/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-frameworks.sh @@ -113,6 +113,7 @@ install_dsym() { rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}" else # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. + mkdir -p "${DWARF_DSYM_FOLDER_PATH}" touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM" fi fi diff --git a/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG.debug.xcconfig b/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG.debug.xcconfig index 17a8700b..52205c50 100644 --- a/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG.debug.xcconfig +++ b/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG.debug.xcconfig @@ -3,7 +3,8 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer" "${PODS_CONFIGURATION_BUILD_DIR}/MASShortcut" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer/GCDWebServer.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MASShortcut/MASShortcut.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay/RxRelay.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers" -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/../Frameworks' '@loader_path/Frameworks' +LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/../Frameworks' '@loader_path/Frameworks' "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" +LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift OTHER_LDFLAGS = $(inherited) -l"z" -framework "Alamofire" -framework "AppKit" -framework "CFNetwork" -framework "Carbon" -framework "GCDWebServer" -framework "MASShortcut" -framework "RxCocoa" -framework "RxRelay" -framework "RxSwift" -framework "SystemConfiguration" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} diff --git a/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG.release.xcconfig b/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG.release.xcconfig index 17a8700b..52205c50 100644 --- a/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG.release.xcconfig +++ b/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG.release.xcconfig @@ -3,7 +3,8 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer" "${PODS_CONFIGURATION_BUILD_DIR}/MASShortcut" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer/GCDWebServer.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MASShortcut/MASShortcut.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay/RxRelay.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers" -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/../Frameworks' '@loader_path/Frameworks' +LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/../Frameworks' '@loader_path/Frameworks' "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" +LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift OTHER_LDFLAGS = $(inherited) -l"z" -framework "Alamofire" -framework "AppKit" -framework "CFNetwork" -framework "Carbon" -framework "GCDWebServer" -framework "MASShortcut" -framework "RxCocoa" -framework "RxRelay" -framework "RxSwift" -framework "SystemConfiguration" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} diff --git a/Pods/Target Support Files/RxCocoa/RxCocoa-Info.plist b/Pods/Target Support Files/RxCocoa/RxCocoa-Info.plist index 45024a7b..891b3754 100644 --- a/Pods/Target Support Files/RxCocoa/RxCocoa-Info.plist +++ b/Pods/Target Support Files/RxCocoa/RxCocoa-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 6.2.0 + 6.5.0 CFBundleSignature ???? CFBundleVersion diff --git a/Pods/Target Support Files/RxCocoa/RxCocoa.debug.xcconfig b/Pods/Target Support Files/RxCocoa/RxCocoa.debug.xcconfig index 4a1b0c65..cfc56473 100644 --- a/Pods/Target Support Files/RxCocoa/RxCocoa.debug.xcconfig +++ b/Pods/Target Support Files/RxCocoa/RxCocoa.debug.xcconfig @@ -3,6 +3,8 @@ CODE_SIGN_IDENTITY = CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift +OTHER_LDFLAGS = $(inherited) -framework "RxRelay" -framework "RxSwift" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) diff --git a/Pods/Target Support Files/RxCocoa/RxCocoa.release.xcconfig b/Pods/Target Support Files/RxCocoa/RxCocoa.release.xcconfig index 4a1b0c65..cfc56473 100644 --- a/Pods/Target Support Files/RxCocoa/RxCocoa.release.xcconfig +++ b/Pods/Target Support Files/RxCocoa/RxCocoa.release.xcconfig @@ -3,6 +3,8 @@ CODE_SIGN_IDENTITY = CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift +OTHER_LDFLAGS = $(inherited) -framework "RxRelay" -framework "RxSwift" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) diff --git a/Pods/Target Support Files/RxRelay/RxRelay-Info.plist b/Pods/Target Support Files/RxRelay/RxRelay-Info.plist index 45024a7b..891b3754 100644 --- a/Pods/Target Support Files/RxRelay/RxRelay-Info.plist +++ b/Pods/Target Support Files/RxRelay/RxRelay-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 6.2.0 + 6.5.0 CFBundleSignature ???? CFBundleVersion diff --git a/Pods/Target Support Files/RxRelay/RxRelay.debug.xcconfig b/Pods/Target Support Files/RxRelay/RxRelay.debug.xcconfig index 655398c0..a6586b8a 100644 --- a/Pods/Target Support Files/RxRelay/RxRelay.debug.xcconfig +++ b/Pods/Target Support Files/RxRelay/RxRelay.debug.xcconfig @@ -3,6 +3,8 @@ CODE_SIGN_IDENTITY = CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxRelay FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift +OTHER_LDFLAGS = $(inherited) -framework "RxSwift" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) diff --git a/Pods/Target Support Files/RxRelay/RxRelay.release.xcconfig b/Pods/Target Support Files/RxRelay/RxRelay.release.xcconfig index 655398c0..a6586b8a 100644 --- a/Pods/Target Support Files/RxRelay/RxRelay.release.xcconfig +++ b/Pods/Target Support Files/RxRelay/RxRelay.release.xcconfig @@ -3,6 +3,8 @@ CODE_SIGN_IDENTITY = CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxRelay FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift +OTHER_LDFLAGS = $(inherited) -framework "RxSwift" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) diff --git a/Pods/Target Support Files/RxSwift/RxSwift-Info.plist b/Pods/Target Support Files/RxSwift/RxSwift-Info.plist index 45024a7b..891b3754 100644 --- a/Pods/Target Support Files/RxSwift/RxSwift-Info.plist +++ b/Pods/Target Support Files/RxSwift/RxSwift-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 6.2.0 + 6.5.0 CFBundleSignature ???? CFBundleVersion diff --git a/Pods/Target Support Files/RxSwift/RxSwift.debug.xcconfig b/Pods/Target Support Files/RxSwift/RxSwift.debug.xcconfig index 7c0e9993..79ba3384 100644 --- a/Pods/Target Support Files/RxSwift/RxSwift.debug.xcconfig +++ b/Pods/Target Support Files/RxSwift/RxSwift.debug.xcconfig @@ -2,6 +2,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CODE_SIGN_IDENTITY = CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxSwift GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) diff --git a/Pods/Target Support Files/RxSwift/RxSwift.release.xcconfig b/Pods/Target Support Files/RxSwift/RxSwift.release.xcconfig index 7c0e9993..79ba3384 100644 --- a/Pods/Target Support Files/RxSwift/RxSwift.release.xcconfig +++ b/Pods/Target Support Files/RxSwift/RxSwift.release.xcconfig @@ -2,6 +2,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CODE_SIGN_IDENTITY = CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxSwift GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) diff --git a/ShadowsocksX-NG.xcodeproj/project.pbxproj b/ShadowsocksX-NG.xcodeproj/project.pbxproj index 612380f3..7eab5b09 100644 --- a/ShadowsocksX-NG.xcodeproj/project.pbxproj +++ b/ShadowsocksX-NG.xcodeproj/project.pbxproj @@ -9,6 +9,7 @@ /* Begin PBXBuildFile section */ 1C82DBA81FA96C7500B32551 /* obfs-local in Resources */ = {isa = PBXBuildFile; fileRef = 1C82DBA51FA96C7400B32551 /* obfs-local */; }; 1C82DBAA1FA96FB600B32551 /* install_simple_obfs.sh in Resources */ = {isa = PBXBuildFile; fileRef = 1C82DBA91FA96F0300B32551 /* install_simple_obfs.sh */; }; + 22B24F1437DE994459F43A5D /* Pods_ShadowsocksX_NGTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 388120F062D7EB7DD0D8DDCA /* Pods_ShadowsocksX_NGTests.framework */; }; 9B07EFA71D048BBB0052D9DF /* ss-local in Resources */ = {isa = PBXBuildFile; fileRef = 9B07EFA61D048BBB0052D9DF /* ss-local */; }; 9B0BFFE91D0460A70040E62B /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B0BFFE81D0460A70040E62B /* AppDelegate.swift */; }; 9B0BFFEB1D0460A70040E62B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9B0BFFEA1D0460A70040E62B /* Assets.xcassets */; }; @@ -86,6 +87,7 @@ 9BEEF0751D04EF3E00FC52B3 /* PreferencesWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BEEF0731D04EF3E00FC52B3 /* PreferencesWindowController.swift */; }; 9BEEF0781D04FE8A00FC52B3 /* LaunchAgentUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BEEF0771D04FE8A00FC52B3 /* LaunchAgentUtils.swift */; }; B5A2AB04221A72EC003F77B7 /* install_v2ray_plugin.sh in Resources */ = {isa = PBXBuildFile; fileRef = B5A2AB02221A72EC003F77B7 /* install_v2ray_plugin.sh */; }; + C12496C02101F48C60F1C453 /* Pods_ShadowsocksX_NG.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 283ED1A8E9B711AC65670031 /* Pods_ShadowsocksX_NG.framework */; }; C6D429931DA75988002A5711 /* install_privoxy.sh in Resources */ = {isa = PBXBuildFile; fileRef = C6D4298E1DA75988002A5711 /* install_privoxy.sh */; }; C6D429941DA75988002A5711 /* privoxy in Resources */ = {isa = PBXBuildFile; fileRef = C6D4298F1DA75988002A5711 /* privoxy */; }; C6D429961DA75988002A5711 /* start_privoxy.sh in Resources */ = {isa = PBXBuildFile; fileRef = C6D429911DA75988002A5711 /* start_privoxy.sh */; }; @@ -271,6 +273,7 @@ files = ( 9B6BF9541E27B2570061B9A7 /* ServiceManagement.framework in Frameworks */, 9B3FFF3E1D08D9910019A709 /* SystemConfiguration.framework in Frameworks */, + C12496C02101F48C60F1C453 /* Pods_ShadowsocksX_NG.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -286,6 +289,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 22B24F1437DE994459F43A5D /* Pods_ShadowsocksX_NGTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -576,6 +580,7 @@ isa = PBXNativeTarget; buildConfigurationList = 9B5DD7B42683A354005EFEF7 /* Build configuration list for PBXNativeTarget "ShadowsocksX-NGTests" */; buildPhases = ( + 31E6BD19A586F578FAADA4A8 /* [CP] Check Pods Manifest.lock */, 9B5DD7A92683A354005EFEF7 /* Sources */, 9B5DD7AA2683A354005EFEF7 /* Frameworks */, 9B5DD7AB2683A354005EFEF7 /* Resources */, @@ -597,13 +602,14 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 1250; - LastUpgradeCheck = 1250; + LastUpgradeCheck = 1320; ORGANIZATIONNAME = qiuyuzhou; TargetAttributes = { 9B0BFFE41D0460A70040E62B = { CreatedOnToolsVersion = 7.3.1; + DevelopmentTeam = K34Z59STMC; LastSwiftMigration = 1250; - ProvisioningStyle = Manual; + ProvisioningStyle = Automatic; }; 9B3FFF431D09CD3B0019A709 = { CreatedOnToolsVersion = 7.3.1; @@ -618,10 +624,9 @@ }; buildConfigurationList = 9B0BFFE01D0460A70040E62B /* Build configuration list for PBXProject "ShadowsocksX-NG" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - English, en, Base, "zh-Hans", @@ -729,6 +734,28 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 31E6BD19A586F578FAADA4A8 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-ShadowsocksX-NGTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; 3545247EFCD033C3FA63EA6C /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -975,7 +1002,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.12; + MACOSX_DEPLOYMENT_TARGET = 10.15; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -1027,7 +1054,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.12; + MACOSX_DEPLOYMENT_TARGET = 10.15; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; @@ -1039,11 +1066,14 @@ baseConfigurationReference = FE3237E9FB24D9B924A0E630 /* Pods-ShadowsocksX-NG.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; CLANG_ENABLE_MODULES = YES; - CODE_SIGN_IDENTITY = "-"; - CODE_SIGN_STYLE = Manual; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = ""; + CURRENT_PROJECT_VERSION = 220306; + DEVELOPMENT_TEAM = K34Z59STMC; + ENABLE_HARDENED_RUNTIME = YES; HEADER_SEARCH_PATHS = ( "$(inherited)", "$(SRCROOT)/libcork/include/", @@ -1057,8 +1087,7 @@ "$(PROJECT_DIR)/ShadowsocksX-NG", "$(PROJECT_DIR)/ShadowsocksX-NG/simple-obfs", ); - MACOSX_DEPLOYMENT_TARGET = 10.12; - MARKETING_VERSION = 1.9.4; + MARKETING_VERSION = 2.0.0; PRODUCT_BUNDLE_IDENTIFIER = "com.qiuyuzhou.ShadowsocksX-NG"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1074,11 +1103,14 @@ baseConfigurationReference = E9E9FB3855DA55D0710EE7BD /* Pods-ShadowsocksX-NG.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; CLANG_ENABLE_MODULES = YES; - CODE_SIGN_IDENTITY = "-"; - CODE_SIGN_STYLE = Manual; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = ""; + CURRENT_PROJECT_VERSION = 220306; + DEVELOPMENT_TEAM = K34Z59STMC; + ENABLE_HARDENED_RUNTIME = YES; HEADER_SEARCH_PATHS = ( "$(inherited)", "$(SRCROOT)/libcork/include/", @@ -1092,8 +1124,7 @@ "$(PROJECT_DIR)/ShadowsocksX-NG", "$(PROJECT_DIR)/ShadowsocksX-NG/simple-obfs", ); - MACOSX_DEPLOYMENT_TARGET = 10.12; - MARKETING_VERSION = 1.9.4; + MARKETING_VERSION = 2.0.0; PRODUCT_BUNDLE_IDENTIFIER = "com.qiuyuzhou.ShadowsocksX-NG"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1129,6 +1160,7 @@ }; 9B5DD7B52683A354005EFEF7 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 5B6203C1228FCD3D365814AC /* Pods-ShadowsocksX-NGTests.debug.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; BUNDLE_LOADER = "$(TEST_HOST)"; @@ -1158,6 +1190,7 @@ }; 9B5DD7B62683A354005EFEF7 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 3AC7CD9886196A997D6FC78D /* Pods-ShadowsocksX-NGTests.release.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; BUNDLE_LOADER = "$(TEST_HOST)"; diff --git a/ShadowsocksX-NG.xcodeproj/xcshareddata/xcschemes/ShadowsocksX-NG.xcscheme b/ShadowsocksX-NG.xcodeproj/xcshareddata/xcschemes/ShadowsocksX-NG.xcscheme index 3b96caf3..65ffd026 100644 --- a/ShadowsocksX-NG.xcodeproj/xcshareddata/xcschemes/ShadowsocksX-NG.xcscheme +++ b/ShadowsocksX-NG.xcodeproj/xcshareddata/xcschemes/ShadowsocksX-NG.xcscheme @@ -1,6 +1,6 @@ diff --git a/ShadowsocksX-NG.xcodeproj/xcshareddata/xcschemes/ShadowsocksX-NGTests.xcscheme b/ShadowsocksX-NG.xcodeproj/xcshareddata/xcschemes/ShadowsocksX-NGTests.xcscheme index c7de1b76..5022b657 100644 --- a/ShadowsocksX-NG.xcodeproj/xcshareddata/xcschemes/ShadowsocksX-NGTests.xcscheme +++ b/ShadowsocksX-NG.xcodeproj/xcshareddata/xcschemes/ShadowsocksX-NGTests.xcscheme @@ -1,6 +1,6 @@ diff --git a/ShadowsocksX-NG.xcodeproj/xcshareddata/xcschemes/proxy_conf_helper.xcscheme b/ShadowsocksX-NG.xcodeproj/xcshareddata/xcschemes/proxy_conf_helper.xcscheme index ec3a5f42..caee4f86 100644 --- a/ShadowsocksX-NG.xcodeproj/xcshareddata/xcschemes/proxy_conf_helper.xcscheme +++ b/ShadowsocksX-NG.xcodeproj/xcshareddata/xcschemes/proxy_conf_helper.xcscheme @@ -1,6 +1,6 @@ - + - + @@ -133,7 +133,7 @@ - + @@ -163,7 +163,7 @@ - + diff --git a/ShadowsocksX-NG/Base.lproj/PreferencesWindowController.xib b/ShadowsocksX-NG/Base.lproj/PreferencesWindowController.xib index 7e48444d..7dcbdf2e 100644 --- a/ShadowsocksX-NG/Base.lproj/PreferencesWindowController.xib +++ b/ShadowsocksX-NG/Base.lproj/PreferencesWindowController.xib @@ -1,8 +1,8 @@ - + - + @@ -31,7 +31,7 @@ - + @@ -39,11 +39,11 @@ - + - + @@ -52,7 +52,6 @@ - @@ -61,7 +60,6 @@ - @@ -93,7 +91,7 @@ - + @@ -166,7 +164,7 @@ - + @@ -332,7 +330,7 @@ Gw - + @@ -395,8 +393,8 @@ Gw - - + + diff --git a/ShadowsocksX-NG/ImportWindowController.swift b/ShadowsocksX-NG/ImportWindowController.swift index 99aa114d..c6281853 100644 --- a/ShadowsocksX-NG/ImportWindowController.swift +++ b/ShadowsocksX-NG/ImportWindowController.swift @@ -37,6 +37,9 @@ class ImportWindowController: NSWindowController { @IBAction func handleImport(_ sender: NSButton) { let mgr = ServerProfileManager.instance let urls = ServerProfileManager.findURLSInText(inputBox.stringValue) + + mgr.removeAllProfiles() + let addCount = mgr.addServerProfileByURL(urls: urls) if addCount > 0 { diff --git a/ShadowsocksX-NG/Info.plist b/ShadowsocksX-NG/Info.plist index 5fc2d778..73f25a65 100644 --- a/ShadowsocksX-NG/Info.plist +++ b/ShadowsocksX-NG/Info.plist @@ -3,7 +3,7 @@ CFBundleDevelopmentRegion - en + zh_CN CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIconFile @@ -36,7 +36,7 @@ CFBundleVersion - 1 + $(CURRENT_PROJECT_VERSION) LSApplicationCategoryType public.app-category.utilities LSMinimumSystemVersion @@ -44,7 +44,7 @@ LSUIElement NSHumanReadableCopyright - Copyright © 2016-2019 qiuyuzhou. All rights reserved. License GPLv3. + Copyright © 2016-2022 qiuyuzhou & ZY. All rights reserved. License GPLv3. NSMainNibFile MainMenu NSPrincipalClass diff --git a/ShadowsocksX-NG/PreferencesWindowController.swift b/ShadowsocksX-NG/PreferencesWindowController.swift index 470330e1..eb3d6a7b 100644 --- a/ShadowsocksX-NG/PreferencesWindowController.swift +++ b/ShadowsocksX-NG/PreferencesWindowController.swift @@ -66,6 +66,7 @@ class PreferencesWindowController: NSWindowController "chacha20", "chacha20-ietf", "rc4-md5", + "rc4", ]) profilesTableView.reloadData() diff --git a/ShadowsocksX-NG/ServerProfile.swift b/ShadowsocksX-NG/ServerProfile.swift index 0f7696e6..4221d033 100644 --- a/ShadowsocksX-NG/ServerProfile.swift +++ b/ShadowsocksX-NG/ServerProfile.swift @@ -35,20 +35,26 @@ class ServerProfile: NSObject, NSCopying { self.init() func padBase64(string: String) -> String { + var finalStr: String + var length = string.utf8.count if length % 4 == 0 { - return string + finalStr = string } else { length = 4 - length % 4 + length - return string.padding(toLength: length, withPad: "=", startingAt: 0) + finalStr = string.padding(toLength: length, withPad: "=", startingAt: 0) } + + finalStr = finalStr.replacingOccurrences(of: "-", with: "+") + finalStr = finalStr.replacingOccurrences(of: "_", with: "/") + + return finalStr } func decodeUrl(url: URL) -> (String?,String?) { - let urlStr = url.absoluteString - let base64Begin = urlStr.index(urlStr.startIndex, offsetBy: 5) - let base64End = urlStr.firstIndex(of: "#") - let encodedStr = String(urlStr[base64Begin..<(base64End ?? urlStr.endIndex)]) + guard let encodedStr = url.host else { + return (nil, nil) + } guard let data = Data(base64Encoded: padBase64(string: encodedStr)) else { // Not legacy format URI return (url.absoluteString, nil) @@ -56,91 +62,139 @@ class ServerProfile: NSObject, NSCopying { guard let decoded = String(data: data, encoding: String.Encoding.utf8) else { return (nil, nil) } - var s = decoded.trimmingCharacters(in: CharacterSet(charactersIn: "\n")) - + +// let base64End = url.absoluteString.firstIndex(of: "#") + + var plainUrlStr = decoded.trimmingCharacters(in: CharacterSet(charactersIn: "\n")) + // May be legacy format URI // Note that the legacy URI doesn't follow RFC3986. It means the password here // should be plain text, not percent-encoded. // Ref: https://shadowsocks.org/en/config/quick-guide.html - let parser = try? NSRegularExpression( - pattern: "(.+):(.+)@(.+)", options: .init()) - if let match = parser?.firstMatch(in:s, options: [], range: NSRange(location: 0, length: s.utf16.count)) { - // Convert legacy format to SIP002 format - let r1 = Range(match.range(at: 1), in: s)! - let r2 = Range(match.range(at: 2), in: s)! - let r3 = Range(match.range(at: 3), in: s)! - let user = String(s[r1]) - let password = String(s[r2]) - let hostAndPort = String(s[r3]) - - let rawUserInfo = "\(user):\(password)".data(using: .utf8)! - let userInfo = rawUserInfo.base64EncodedString() - - s = "ss://\(userInfo)@\(hostAndPort)" - } + guard let scheme = url.scheme?.lowercased() else { return (nil, nil) } + switch scheme { + case "ss": + let parser = try? NSRegularExpression( + pattern: "(.+):(.+)@(.+)", options: .init()) + if let match = parser?.firstMatch(in:plainUrlStr, options: [], range: NSRange(location: 0, length: plainUrlStr.utf16.count)) { + // Convert legacy format to SIP002 format + let r1 = Range(match.range(at: 1), in: plainUrlStr)! + let r2 = Range(match.range(at: 2), in: plainUrlStr)! + let r3 = Range(match.range(at: 3), in: plainUrlStr)! + let user = String(plainUrlStr[r1]) + let password = String(plainUrlStr[r2]) + let hostAndPort = String(plainUrlStr[r3]) + + let rawUserInfo = "\(user):\(password)".data(using: .utf8)! + let userInfo = rawUserInfo.base64EncodedString() + + plainUrlStr = "ss://\(userInfo)@\(hostAndPort)" + } + + case "ssr": + // ssr://server:port:protocol:method:obfs:password_base64/?params_base64 + // params_base64 为 obfsparam=obfsparam_base64&protoparam=protoparam_base64&remarks=remarks_base64&group=group_base64 + + let compsList = plainUrlStr.components(separatedBy: "/?") + let uriPart = compsList.first ?? "" + let paraPart = compsList.last + + let comps = uriPart.components(separatedBy: ":") + guard comps.count == 6 else { return (nil, nil) } + + self.serverHost = comps[0] + self.serverPort = UInt16(comps[1]) ?? 0 + self.method = comps[3] + + if let data = Data(base64Encoded: padBase64(string: comps[5])) { + self.password = String(data: data, encoding: .utf8) ?? "" + } + + if let parasList = paraPart { + let kvlist = parasList.components(separatedBy: "&") + + for kv in kvlist { + let comps = kv.components(separatedBy: "=") + + if comps.count == 2 { + if comps.first?.lowercased() == "remarks", + let remarkValue = comps.last, + let data = Data(base64Encoded: padBase64(string: remarkValue)) { + self.remark = String(data: data, encoding: .utf8) ?? "" + break + } + } + } + } + default: + break + } - if let index = base64End { - let i = urlStr.index(index, offsetBy: 1) - let fragment = String(urlStr[i...]) - return (s, fragment.removingPercentEncoding) - } - return (s, nil) - } - func decodeLegacyFormat(url: String) -> (URL?,String?) { - return (nil, nil) +// if let index = base64End { +// let i = urlStr.index(index, offsetBy: 1) +// let fragment = String(urlStr[i...]) +// return (s, fragment.removingPercentEncoding) +// } + return (plainUrlStr, nil) } let (_decodedUrl, _tag) = decodeUrl(url: url) guard let decodedUrl = _decodedUrl else { return nil } - guard let parsedUrl = URLComponents(string: decodedUrl) else { - return nil - } - guard let host = parsedUrl.host, let port = parsedUrl.port, - let user = parsedUrl.user else { - return nil - } - - self.serverHost = host - self.serverPort = UInt16(port) - // This can be overriden by the fragment part of SIP002 URL - remark = parsedUrl.queryItems? - .filter({ $0.name == "Remark" }).first?.value ?? "" - - if let tag = _tag { - remark = tag - } - - // SIP002 URL have no password section - guard let data = Data(base64Encoded: padBase64(string: user)), - let userInfo = String(data: data, encoding: .utf8) else { - return nil - } - - let parts = userInfo.split(separator: ":", maxSplits: 1, omittingEmptySubsequences: false) - if parts.count != 2 { - return nil - } - self.method = String(parts[0]).lowercased() - self.password = String(parts[1]) - - // SIP002 defines where to put the profile name - if let profileName = parsedUrl.fragment { - self.remark = profileName - } - - if let pluginStr = parsedUrl.queryItems? - .filter({ $0.name == "plugin" }).first?.value { - let parts = pluginStr.split(separator: ";", maxSplits: 1) - if parts.count == 2 { - plugin = String(parts[0]) - pluginOptions = String(parts[1]) - } else if parts.count == 1 { - plugin = String(parts[0]) - } - } + if url.scheme?.lowercased() == "ss" { + guard let parsedUrl = URLComponents(string: decodedUrl) else { + return nil + } + guard let host = parsedUrl.host, let port = parsedUrl.port, + let user = parsedUrl.user else { + return nil + } + + self.serverHost = host + self.serverPort = UInt16(port) + + // This can be overriden by the fragment part of SIP002 URL + remark = parsedUrl.queryItems? + .filter({ $0.name == "Remark" }).first?.value ?? "" + + if let tag = _tag { + remark = tag + } + + // SIP002 URL have no password section + guard let data = Data(base64Encoded: padBase64(string: user)), + let userInfo = String(data: data, encoding: .utf8) else { + return nil + } + + let parts = userInfo.split(separator: ":", maxSplits: 1, omittingEmptySubsequences: false) + if parts.count != 2 { + return nil + } + self.method = String(parts[0]).lowercased() + self.password = String(parts[1]) + + // SIP002 defines where to put the profile name + if let profileName = parsedUrl.fragment { + self.remark = profileName + } + + if let pluginStr = parsedUrl.queryItems? + .filter({ $0.name == "plugin" }).first?.value { + let parts = pluginStr.split(separator: ";", maxSplits: 1) + if parts.count == 2 { + plugin = String(parts[0]) + pluginOptions = String(parts[1]) + } else if parts.count == 1 { + plugin = String(parts[0]) + } + } + } + + print(decodedUrl) + print(self.toDictionary()) } public func copy(with zone: NSZone? = nil) -> Any { @@ -209,6 +263,8 @@ class ServerProfile: NSObject, NSCopying { conf["server"] = serverHost as AnyObject conf["server_port"] = NSNumber(value: serverPort as UInt16) + conf["remark"] = remark as AnyObject? + if !plugin.isEmpty { // all plugin binaries should be located in the plugins dir // so that we don't have to mess up with PATH envvars @@ -227,6 +283,7 @@ class ServerProfile: NSObject, NSCopying { print("Password=\(String(repeating: "*", count: password.count))", to: &buf) print("Plugin=\(plugin)", to: &buf) print("PluginOptions=\(pluginOptions)", to: &buf) + print("Remark=\(remark)", to: &buf) return buf } diff --git a/ShadowsocksX-NG/ServerProfileManager.swift b/ShadowsocksX-NG/ServerProfileManager.swift index 27f1a8c0..09cc3524 100644 --- a/ShadowsocksX-NG/ServerProfileManager.swift +++ b/ShadowsocksX-NG/ServerProfileManager.swift @@ -73,14 +73,26 @@ class ServerProfileManager: NSObject { return nil } } - + + func removeAllProfiles() { + self.profiles.removeAll() + save() + } + func addServerProfileByURL(urls: [URL]) -> Int { var addCount = 0 for url in urls { if let profile = ServerProfile(url: url) { - profiles.append(profile) - addCount = addCount + 1 + for (i, tmpPro) in profiles.enumerated() { + if tmpPro.serverHost == profile.serverHost { + // Replace old one + profiles.remove(at: i) + } + } + + profiles.append(profile) + addCount = addCount + 1 } } @@ -99,7 +111,7 @@ class ServerProfileManager: NSObject { .map { URL(string: $0) } .filter { $0 != nil } .map { $0! } - urls = urls.filter { $0.scheme == "ss" } + urls = urls.filter { $0.scheme?.lowercased() == "ss" || $0.scheme?.lowercased() == "ssr"} return urls } }