From 3e7c017229dcf25e361417794d95b5833497d5d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Re=CC=81ve=CC=81sz=20A=CC=81da=CC=81m?= Date: Mon, 9 Jan 2017 19:27:46 +0100 Subject: [PATCH] Updated pods to eliminate build errors with carthage. --- Sample/Podfile.lock | 54 +- Sample/Pods/Alamofire/README.md | 38 +- Sample/Pods/Alamofire/Source/AFError.swift | 10 + Sample/Pods/Alamofire/Source/Alamofire.swift | 9 + .../Alamofire/Source/ParameterEncoding.swift | 62 +- Sample/Pods/Alamofire/Source/Request.swift | 97 +- Sample/Pods/Alamofire/Source/Response.swift | 15 +- .../Source/ResponseSerialization.swift | 46 +- .../Alamofire/Source/SessionDelegate.swift | 70 +- .../Alamofire/Source/SessionManager.swift | 175 +- .../Pods/Alamofire/Source/TaskDelegate.swift | 46 +- .../Moya-ObjectMapper.podspec.json | 14 +- .../Local Podspecs/ObjectMapper.podspec.json | 4 +- Sample/Pods/Manifest.lock | 54 +- Sample/Pods/Moya/License.md | 2 +- Sample/Pods/Moya/Readme.md | 102 +- Sample/Pods/Moya/Source/Error.swift | 26 - Sample/Pods/Moya/Source/Response.swift | 80 - Sample/Pods/Moya/Source/Target.swift | 107 - .../Moya}/Cancellable.swift | 8 +- .../{Source => Sources/Moya}/Endpoint.swift | 51 +- .../Moya/{Source => Sources/Moya}/Image.swift | 1 + .../Moya}/Moya+Alamofire.swift | 17 +- .../Moya/Sources/Moya/MoyaAvailability.swift | 43 + Sample/Pods/Moya/Sources/Moya/MoyaError.swift | 57 + .../Moya/MoyaProvider+Defaults.swift} | 15 +- .../Moya/MoyaProvider+Internal.swift} | 105 +- .../Moya/MoyaProvider.swift} | 30 +- .../Pods/Moya/Sources/Moya/MultiTarget.swift | 50 + .../Moya/Sources/Moya/MultipartFormData.swift | 32 + .../{Source => Sources/Moya}/Plugin.swift | 20 +- .../Moya/Plugins/AccessTokenPlugin.swift | 63 + .../Moya}/Plugins/CredentialsPlugin.swift | 8 +- .../Moya}/Plugins/NetworkActivityPlugin.swift | 8 +- .../Moya}/Plugins/NetworkLoggerPlugin.swift | 22 +- Sample/Pods/Moya/Sources/Moya/Response.swift | 119 + .../Pods/Moya/Sources/Moya/TargetType.swift | 66 + .../RxMoya/Observable+Response.swift} | 16 +- .../RxMoya/RxMoyaProvider.swift} | 6 +- .../Sources/HexColorTransform.swift | 5 +- .../Sources/ImmutableMappable.swift | 13 +- Sample/Pods/ObjectMapper/Sources/Map.swift | 35 +- Sample/Pods/ObjectMapper/Sources/Mapper.swift | 18 +- Sample/Pods/ObjectMapper/Sources/ToJSON.swift | 17 +- Sample/Pods/Pods.xcodeproj/project.pbxproj | 2796 +++++++++-------- Sample/Pods/Result/README.md | 53 +- Sample/Pods/Result/Result/Result.swift | 63 +- Sample/Pods/RxSwift/README.md | 2 +- .../RxSwift/RxSwift/Concurrency/Lock.swift | 3 + .../Observables/Implementations/Amb.swift | 13 +- .../CombineLatest+Collection.swift | 5 +- .../Observables/Implementations/Delay.swift | 4 +- .../Implementations/DelaySubscription.swift | 7 +- .../Implementations/ElementAt.swift | 3 +- .../Implementations/Optional.swift | 68 + .../Observables/Implementations/Sample.swift | 13 +- .../Observables/Implementations/Scan.swift | 3 +- .../Implementations/SingleAsync.swift | 3 +- .../Observables/Implementations/Skip.swift | 6 +- .../Implementations/SkipUntil.swift | 12 +- .../Implementations/SkipWhile.swift | 12 +- .../Observables/Implementations/Take.swift | 6 +- .../Implementations/TakeLast.swift | 10 +- .../Implementations/TakeUntil.swift | 12 +- .../Implementations/TakeWhile.swift | 16 +- .../Observables/Implementations/Timeout.swift | 4 +- .../Observables/Implementations/Timer.swift | 5 +- .../Observables/Implementations/Using.swift | 7 +- .../Implementations/WithLatestFrom.swift | 13 +- .../Implementations/Zip+Collection.swift | 5 +- .../Observables/Observable+Creation.swift | 25 + .../RxSwift/Observables/Observable+Time.swift | 2 +- .../Schedulers/RecursiveScheduler.swift | 121 +- .../Alamofire/Alamofire-prefix.pch | 8 + .../Alamofire/Alamofire-umbrella.h | 8 + .../Alamofire/Alamofire.xcconfig | 1 + .../Target Support Files/Alamofire/Info.plist | 2 +- .../Moya-ObjectMapper/Info.plist | 2 +- .../Moya-ObjectMapper-prefix.pch | 8 + .../Moya-ObjectMapper-umbrella.h | 8 + .../Moya-ObjectMapper.xcconfig | 1 + .../Target Support Files/Moya/Moya-prefix.pch | 8 + .../Target Support Files/Moya/Moya-umbrella.h | 8 + .../Target Support Files/Moya/Moya.xcconfig | 1 + .../ObjectMapper/Info.plist | 2 +- .../ObjectMapper/ObjectMapper-prefix.pch | 8 + .../ObjectMapper/ObjectMapper-umbrella.h | 8 + .../ObjectMapper/ObjectMapper.xcconfig | 1 + .../Pods-Demo-acknowledgements.markdown | 2 +- .../Pods-Demo-acknowledgements.plist | 4 +- .../Pods-Demo/Pods-Demo-frameworks.sh | 12 +- .../Pods-Demo/Pods-Demo-resources.sh | 3 + .../Pods-Demo/Pods-Demo-umbrella.h | 8 + .../Pods-Demo/Pods-Demo.debug.xcconfig | 1 - .../Pods-Demo/Pods-Demo.release.xcconfig | 1 - .../Target Support Files/Result/Info.plist | 2 +- .../Result/Result-prefix.pch | 8 + .../Result/Result-umbrella.h | 8 + .../Result/Result.xcconfig | 1 + .../Target Support Files/RxSwift/Info.plist | 2 +- .../RxSwift/RxSwift-prefix.pch | 8 + .../RxSwift/RxSwift-umbrella.h | 8 + .../RxSwift/RxSwift.xcconfig | 1 + 103 files changed, 3134 insertions(+), 2137 deletions(-) delete mode 100644 Sample/Pods/Moya/Source/Error.swift delete mode 100644 Sample/Pods/Moya/Source/Response.swift delete mode 100644 Sample/Pods/Moya/Source/Target.swift rename Sample/Pods/Moya/{Source => Sources/Moya}/Cancellable.swift (71%) rename Sample/Pods/Moya/{Source => Sources/Moya}/Endpoint.swift (71%) rename Sample/Pods/Moya/{Source => Sources/Moya}/Image.swift (85%) rename Sample/Pods/Moya/{Source => Sources/Moya}/Moya+Alamofire.swift (89%) create mode 100644 Sample/Pods/Moya/Sources/Moya/MoyaAvailability.swift create mode 100644 Sample/Pods/Moya/Sources/Moya/MoyaError.swift rename Sample/Pods/Moya/{Source/Moya+Defaults.swift => Sources/Moya/MoyaProvider+Defaults.swift} (55%) rename Sample/Pods/Moya/{Source/Moya+Internal.swift => Sources/Moya/MoyaProvider+Internal.swift} (75%) rename Sample/Pods/Moya/{Source/Moya.swift => Sources/Moya/MoyaProvider.swift} (87%) create mode 100644 Sample/Pods/Moya/Sources/Moya/MultiTarget.swift create mode 100644 Sample/Pods/Moya/Sources/Moya/MultipartFormData.swift rename Sample/Pods/Moya/{Source => Sources/Moya}/Plugin.swift (51%) create mode 100644 Sample/Pods/Moya/Sources/Moya/Plugins/AccessTokenPlugin.swift rename Sample/Pods/Moya/{Source => Sources/Moya}/Plugins/CredentialsPlugin.swift (66%) rename Sample/Pods/Moya/{Source => Sources/Moya}/Plugins/NetworkActivityPlugin.swift (77%) rename Sample/Pods/Moya/{Source => Sources/Moya}/Plugins/NetworkLoggerPlugin.swift (83%) create mode 100644 Sample/Pods/Moya/Sources/Moya/Response.swift create mode 100644 Sample/Pods/Moya/Sources/Moya/TargetType.swift rename Sample/Pods/Moya/{Source/RxSwift/Observable+Moya.swift => Sources/RxMoya/Observable+Response.swift} (79%) rename Sample/Pods/Moya/{Source/RxSwift/Moya+RxSwift.swift => Sources/RxMoya/RxMoyaProvider.swift} (92%) create mode 100644 Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Optional.swift diff --git a/Sample/Podfile.lock b/Sample/Podfile.lock index f7678992..b96c309e 100755 --- a/Sample/Podfile.lock +++ b/Sample/Podfile.lock @@ -1,25 +1,25 @@ PODS: - - Alamofire (4.0.1) - - Moya (8.0.0-beta.4): - - Moya/Core (= 8.0.0-beta.4) - - Moya-ObjectMapper (2.1): - - Moya-ObjectMapper/Core (= 2.1) - - Moya-ObjectMapper/Core (2.1): - - Moya (= 8.0.0-beta.4) - - ObjectMapper (= 2.2.1) - - Moya-ObjectMapper/RxSwift (2.1): + - Alamofire (4.2.0) + - Moya (8.0.0): + - Moya/Core (= 8.0.0) + - Moya-ObjectMapper (2.3): + - Moya-ObjectMapper/Core (= 2.3) + - Moya-ObjectMapper/Core (2.3): + - Moya (>= 8.0.0) + - ObjectMapper (= 2.2.2) + - Moya-ObjectMapper/RxSwift (2.3): - Moya-ObjectMapper/Core - Moya/RxSwift - - RxSwift (= 3.0.1) - - Moya/Core (8.0.0-beta.4): - - Alamofire (~> 4.0) - - Result (~> 3.0) - - Moya/RxSwift (8.0.0-beta.4): + - RxSwift (= 3.1.0) + - Moya/Core (8.0.0): + - Alamofire (~> 4.2.0) + - Result (~> 3.1.0) + - Moya/RxSwift (8.0.0): - Moya/Core - - RxSwift (~> 3.0) - - ObjectMapper (2.2.1) - - Result (3.0.0) - - RxSwift (3.0.1) + - RxSwift (~> 3.1.0) + - ObjectMapper (2.2.2) + - Result (3.1.0) + - RxSwift (3.1.0) DEPENDENCIES: - Moya @@ -30,23 +30,23 @@ DEPENDENCIES: EXTERNAL SOURCES: Moya-ObjectMapper: - :path: "../" + :path: ../ ObjectMapper: :git: https://github.com/Hearst-DD/ObjectMapper CHECKOUT OPTIONS: ObjectMapper: - :commit: b65a937971806b4e074a3533e06f450fd92ee113 + :commit: 5133efa3bc4be1a49c83fa8d2bff10b580e6937d :git: https://github.com/Hearst-DD/ObjectMapper SPEC CHECKSUMS: - Alamofire: 7682d43245de14874acd142ec137b144aa1dd335 - Moya: bad6f72ec40661f09a8cd85ab470226d2795a485 - Moya-ObjectMapper: c8c7435f5405ee5acd5ea61b6190fdbf5d639f97 - ObjectMapper: 41e43e1a89f8060ef5ea5d04ba852e269a621d68 - Result: 1b3e431f37cbcd3ad89c6aa9ab0ae55515fae3b6 - RxSwift: af5680055c4ad04480189c52d28385b1029493a6 + Alamofire: aa2e09d871c9160ac53c90e83c68064a94e3dfbe + Moya: 850a166ab8241bd1c1cea6dbe012e3a2ad62944a + Moya-ObjectMapper: 1d2799d27c1173cb8c95c606a44fbd218526fd06 + ObjectMapper: 9e385c2295bcc4e16eabbcfc85db801442bba545 + Result: 4e3ed5995ed94d0cd6a09be9a431fce3f3624bbf + RxSwift: 83ff553e7593fdfdcb2562933a64c0284dffdadc PODFILE CHECKSUM: 9299419ef67b47dd9a0ab9cd611dc44ff80199a2 -COCOAPODS: 1.1.1 +COCOAPODS: 1.2.0.beta.3 diff --git a/Sample/Pods/Alamofire/README.md b/Sample/Pods/Alamofire/README.md index bfaed037..f16157e9 100644 --- a/Sample/Pods/Alamofire/README.md +++ b/Sample/Pods/Alamofire/README.md @@ -55,8 +55,8 @@ In order to keep Alamofire focused specifically on core networking implementatio ## Requirements -- iOS 9.0+ / macOS 10.11+ / tvOS 9.0+ / watchOS 2.0+ -- Xcode 8.0+ +- iOS 8.0+ / macOS 10.10+ / tvOS 9.0+ / watchOS 2.0+ +- Xcode 8.1+ - Swift 3.0+ ## Migration Guides @@ -130,13 +130,13 @@ If you prefer not to use either of the aforementioned dependency managers, you c - Open up Terminal, `cd` into your top-level project directory, and run the following command "if" your project is not initialized as a git repository: -```bash + ```bash $ git init ``` - Add Alamofire as a git [submodule](http://git-scm.com/docs/git-submodule) by running the following command: -```bash + ```bash $ git submodule add https://github.com/Alamofire/Alamofire.git ``` @@ -158,7 +158,7 @@ $ git submodule add https://github.com/Alamofire/Alamofire.git - And that's it! -> 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. + > 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. --- @@ -199,7 +199,7 @@ Alamofire contains five different response handlers by default including: // Response Handler - Unserialized Response func response( queue: DispatchQueue?, - completionHandler: @escaping (DefaultDownloadResponse) -> Void) + completionHandler: @escaping (DefaultDataResponse) -> Void) -> Self // Response Data Handler - Serialized into Data @@ -240,7 +240,7 @@ The `response` handler does NOT evaluate any of the response data. It merely for Alamofire.request("https://httpbin.org/get").response { response in print("Request: \(response.request)") print("Response: \(response.response)") - print("Error: \(response.data)") + print("Error: \(response.error)") if let data = response.data, let utf8Text = String(data: data, encoding: .utf8) { print("Data: \(utf8Text)") @@ -331,7 +331,7 @@ By default, Alamofire treats any completed request to be successful, regardless Alamofire.request("https://httpbin.org/get") .validate(statusCode: 200..<300) .validate(contentType: ["application/json"]) - .response { response in + .responseData { response in switch response.result { case .success: print("Validation Successful") @@ -360,7 +360,7 @@ Alamofire.request("https://httpbin.org/get").validate().responseJSON { response Response Caching is handled on the system framework level by [`URLCache`](https://developer.apple.com/reference/foundation/urlcache). It provides a composite in-memory and on-disk cache and lets you manipulate the sizes of both the in-memory and on-disk portions. -> By default, Alamofire leverages the shared `URLCache`. In order to customize it, see the [Session Manager Configurations](#session-manager-configurations) section. +> By default, Alamofire leverages the shared `URLCache`. In order to customize it, see the [Session Manager Configurations](#session-manager) section. ### HTTP Methods @@ -520,7 +520,7 @@ Alamofire.request("https://httpbin.org/headers", headers: headers).responseJSON } ``` -> For HTTP headers that do not change, it is recommended to set them on the `URLSessionConfiguration` so they are automatically applied to any `URLSessionTask` created by the underlying `URLSession`. For more information, see the [Session Manager Configurations](#session-manager-configurations) section. +> For HTTP headers that do not change, it is recommended to set them on the `URLSessionConfiguration` so they are automatically applied to any `URLSessionTask` created by the underlying `URLSession`. For more information, see the [Session Manager Configurations](#session-manager) section. The default Alamofire `SessionManager` provides a default set of headers for every `Request`. These include: @@ -528,7 +528,7 @@ The default Alamofire `SessionManager` provides a default set of headers for eve - `Accept-Language`, which defaults to up to the top 6 preferred languages on the system, formatted like `en;q=1.0`, per [RFC 7231 §5.3.5](https://tools.ietf.org/html/rfc7231#section-5.3.5). - `User-Agent`, which contains versioning information about the current app. For example: `iOS Example/1.0 (com.alamofire.iOS-Example; build:1; iOS 10.0.0) Alamofire/4.0.0`, per [RFC 7231 §5.5.3](https://tools.ietf.org/html/rfc7231#section-5.5.3). -If you need to customize these headers, a custom `URLSessionManagerConfiguration` should be created, the `defaultHTTPHeaders` property updated and the configuration applied to a new `SessionManager` instance. +If you need to customize these headers, a custom `URLSessionConfiguration` should be created, the `defaultHTTPHeaders` property updated and the configuration applied to a new `SessionManager` instance. ### Authentication @@ -603,7 +603,7 @@ Alamofire.download("https://httpbin.org/image/png").responseData { response in } ``` -> The `Alamofire.download` APIs should also be used if you need to download data while your app is in the background. For more information, please see the [Session Manager Configurations](#session-manager-configurations) section. +> The `Alamofire.download` APIs should also be used if you need to download data while your app is in the background. For more information, please see the [Session Manager Configurations](#session-manager) section. #### Download File Destination @@ -623,7 +623,7 @@ let destination: DownloadRequest.DownloadFileDestination = { _, _ in Alamofire.download(urlString, to: destination).response { response in print(response) - if response.result.isSuccess, let imagePath = response.destinationURL?.path { + if response.error == nil, let imagePath = response.destinationURL?.path { let image = UIImage(contentsOfFile: imagePath) } } @@ -672,6 +672,8 @@ Alamofire.download("https://httpbin.org/image/png") If a `DownloadRequest` is cancelled or interrupted, the underlying URL session may generate resume data for the active `DownloadRequest`. If this happens, the resume data can be re-used to restart the `DownloadRequest` where it left off. The resume data can be accessed through the download response, then reused when trying to restart the request. +> **IMPORTANT:** On the latest release of all the Apple platforms (iOS 10, macOS 10.12, tvOS 10, watchOS 3), `resumeData` is broken on background URL session configurations. There's an underlying bug in the `resumeData` generation logic where the data is written incorrectly and will always fail to resume the download. For more information about the bug and possible workarounds, please see this Stack Overflow [post](http://stackoverflow.com/a/39347461/1342462). + ```swift class ImageRequestor { private var resumeData: Data? @@ -711,7 +713,7 @@ class ImageRequestor { When sending relatively small amounts of data to a server using JSON or URL encoded parameters, the `Alamofire.request` APIs are usually sufficient. If you need to send much larger amounts of data from a file URL or an `InputStream`, then the `Alamofire.upload` APIs are what you want to use. -> The `Alamofire.upload` APIs should also be used if you need to upload data while your app is in the background. For more information, please see the [Session Manager Configurations](#session-manager-configurations) section. +> The `Alamofire.upload` APIs should also be used if you need to upload data while your app is in the background. For more information, please see the [Session Manager Configurations](#session-manager) section. #### Uploading Data @@ -1289,8 +1291,12 @@ class OAuth2Handler: RequestAdapter, RequestRetrier { .responseJSON { [weak self] response in guard let strongSelf = self else { return } - if let json = response.result.value as? [String: String] { - completion(true, json["access_token"], json["refresh_token"]) + if + let json = response.result.value as? [String: Any], + let accessToken = json["access_token"] as? String, + let refreshToken = json["refresh_token"] as? String + { + completion(true, accessToken, refreshToken) } else { completion(false, nil, nil) } diff --git a/Sample/Pods/Alamofire/Source/AFError.swift b/Sample/Pods/Alamofire/Source/AFError.swift index 82e8a259..f047695b 100644 --- a/Sample/Pods/Alamofire/Source/AFError.swift +++ b/Sample/Pods/Alamofire/Source/AFError.swift @@ -132,6 +132,16 @@ public enum AFError: Error { case responseSerializationFailed(reason: ResponseSerializationFailureReason) } +// MARK: - Adapt Error + +struct AdaptError: Error { + let error: Error +} + +extension Error { + var underlyingAdaptError: Error? { return (self as? AdaptError)?.error } +} + // MARK: - Error Booleans extension AFError { diff --git a/Sample/Pods/Alamofire/Source/Alamofire.swift b/Sample/Pods/Alamofire/Source/Alamofire.swift index 7566587c..86d54d85 100644 --- a/Sample/Pods/Alamofire/Source/Alamofire.swift +++ b/Sample/Pods/Alamofire/Source/Alamofire.swift @@ -222,6 +222,13 @@ public func download( /// If `destination` is not specified, the contents will remain in the temporary location determined by the /// underlying URL session. /// +/// On the latest release of all the Apple platforms (iOS 10, macOS 10.12, tvOS 10, watchOS 3), `resumeData` is broken +/// on background URL session configurations. There's an underlying bug in the `resumeData` generation logic where the +/// data is written incorrectly and will always fail to resume the download. For more information about the bug and +/// possible workarounds, please refer to the following Stack Overflow post: +/// +/// - http://stackoverflow.com/a/39347461/1342462 +/// /// - parameter resumeData: The resume data. This is an opaque data blob produced by `URLSessionDownloadTask` /// when a task is cancelled. See `URLSession -downloadTask(withResumeData:)` for additional /// information. @@ -435,6 +442,7 @@ public func upload( /// /// - returns: The created `StreamRequest`. @discardableResult +@available(iOS 9.0, macOS 10.11, tvOS 9.0, *) public func stream(withHostName hostName: String, port: Int) -> StreamRequest { return SessionManager.default.stream(withHostName: hostName, port: port) } @@ -449,6 +457,7 @@ public func stream(withHostName hostName: String, port: Int) -> StreamRequest { /// /// - returns: The created `StreamRequest`. @discardableResult +@available(iOS 9.0, macOS 10.11, tvOS 9.0, *) public func stream(with netService: NetService) -> StreamRequest { return SessionManager.default.stream(with: netService) } diff --git a/Sample/Pods/Alamofire/Source/ParameterEncoding.swift b/Sample/Pods/Alamofire/Source/ParameterEncoding.swift index 42b5b2db..242f6a83 100644 --- a/Sample/Pods/Alamofire/Source/ParameterEncoding.swift +++ b/Sample/Pods/Alamofire/Source/ParameterEncoding.swift @@ -199,7 +199,39 @@ public struct URLEncoding: ParameterEncoding { var allowedCharacterSet = CharacterSet.urlQueryAllowed allowedCharacterSet.remove(charactersIn: "\(generalDelimitersToEncode)\(subDelimitersToEncode)") - return string.addingPercentEncoding(withAllowedCharacters: allowedCharacterSet) ?? string + var escaped = "" + + //========================================================================================================== + // + // Batching is required for escaping due to an internal bug in iOS 8.1 and 8.2. Encoding more than a few + // hundred Chinese characters causes various malloc error crashes. To avoid this issue until iOS 8 is no + // longer supported, batching MUST be used for encoding. This introduces roughly a 20% overhead. For more + // info, please refer to: + // + // - https://github.com/Alamofire/Alamofire/issues/206 + // + //========================================================================================================== + + if #available(iOS 8.3, *) { + escaped = string.addingPercentEncoding(withAllowedCharacters: allowedCharacterSet) ?? string + } else { + let batchSize = 50 + var index = string.startIndex + + while index != string.endIndex { + let startIndex = index + let endIndex = string.index(index, offsetBy: batchSize, limitedBy: string.endIndex) ?? string.endIndex + let range = startIndex.. String { @@ -289,6 +321,34 @@ public struct JSONEncoding: ParameterEncoding { return urlRequest } + + /// Creates a URL request by encoding the JSON object and setting the resulting data on the HTTP body. + /// + /// - parameter urlRequest: The request to apply the JSON object to. + /// - parameter jsonObject: The JSON object to apply to the request. + /// + /// - throws: An `Error` if the encoding process encounters an error. + /// + /// - returns: The encoded request. + public func encode(_ urlRequest: URLRequestConvertible, withJSONObject jsonObject: Any? = nil) throws -> URLRequest { + var urlRequest = try urlRequest.asURLRequest() + + guard let jsonObject = jsonObject else { return urlRequest } + + do { + let data = try JSONSerialization.data(withJSONObject: jsonObject, options: options) + + if urlRequest.value(forHTTPHeaderField: "Content-Type") == nil { + urlRequest.setValue("application/json", forHTTPHeaderField: "Content-Type") + } + + urlRequest.httpBody = data + } catch { + throw AFError.parameterEncodingFailed(reason: .jsonEncodingFailed(error: error)) + } + + return urlRequest + } } // MARK: - diff --git a/Sample/Pods/Alamofire/Source/Request.swift b/Sample/Pods/Alamofire/Source/Request.swift index 85eb8696..87149287 100644 --- a/Sample/Pods/Alamofire/Source/Request.swift +++ b/Sample/Pods/Alamofire/Source/Request.swift @@ -110,6 +110,9 @@ open class Request { /// The response received from the server, if any. open var response: HTTPURLResponse? { return task?.response as? HTTPURLResponse } + /// The number of times the request has been retried. + open internal(set) var retryCount: UInt = 0 + let originalTask: TaskConvertible? var startTime: CFAbsoluteTime? @@ -351,13 +354,25 @@ open class DataRequest: Request { let urlRequest: URLRequest func task(session: URLSession, adapter: RequestAdapter?, queue: DispatchQueue) throws -> URLSessionTask { - let urlRequest = try self.urlRequest.adapt(using: adapter) - return queue.syncResult { session.dataTask(with: urlRequest) } + do { + let urlRequest = try self.urlRequest.adapt(using: adapter) + return queue.syncResult { session.dataTask(with: urlRequest) } + } catch { + throw AdaptError(error: error) + } } } // MARK: Properties + /// The request sent or to be sent to the server. + open override var request: URLRequest? { + if let request = super.request { return request } + if let requestable = originalTask as? Requestable { return requestable.urlRequest } + + return nil + } + /// The progress of fetching the response data from the server for the request. open var progress: Progress { return dataDelegate.progress } @@ -438,22 +453,37 @@ open class DownloadRequest: Request { case resumeData(Data) func task(session: URLSession, adapter: RequestAdapter?, queue: DispatchQueue) throws -> URLSessionTask { - let task: URLSessionTask + do { + let task: URLSessionTask + + switch self { + case let .request(urlRequest): + let urlRequest = try urlRequest.adapt(using: adapter) + task = queue.syncResult { session.downloadTask(with: urlRequest) } + case let .resumeData(resumeData): + task = queue.syncResult { session.downloadTask(withResumeData: resumeData) } + } - switch self { - case let .request(urlRequest): - let urlRequest = try urlRequest.adapt(using: adapter) - task = queue.syncResult { session.downloadTask(with: urlRequest) } - case let .resumeData(resumeData): - task = queue.syncResult { session.downloadTask(withResumeData: resumeData) } + return task + } catch { + throw AdaptError(error: error) } - - return task } } // MARK: Properties + /// The request sent or to be sent to the server. + open override var request: URLRequest? { + if let request = super.request { return request } + + if let downloadable = originalTask as? Downloadable, case let .request(urlRequest) = downloadable { + return urlRequest + } + + return nil + } + /// The resume data of the underlying download task if available after a failure. open var resumeData: Data? { return downloadDelegate.resumeData } @@ -471,7 +501,7 @@ open class DownloadRequest: Request { NotificationCenter.default.post( name: Notification.Name.Task.DidCancel, object: self, - userInfo: [Notification.Key.Task: task] + userInfo: [Notification.Key.Task: task as Any] ) } @@ -528,26 +558,42 @@ open class UploadRequest: DataRequest { case stream(InputStream, URLRequest) func task(session: URLSession, adapter: RequestAdapter?, queue: DispatchQueue) throws -> URLSessionTask { - let task: URLSessionTask + do { + let task: URLSessionTask + + switch self { + case let .data(data, urlRequest): + let urlRequest = try urlRequest.adapt(using: adapter) + task = queue.syncResult { session.uploadTask(with: urlRequest, from: data) } + case let .file(url, urlRequest): + let urlRequest = try urlRequest.adapt(using: adapter) + task = queue.syncResult { session.uploadTask(with: urlRequest, fromFile: url) } + case let .stream(_, urlRequest): + let urlRequest = try urlRequest.adapt(using: adapter) + task = queue.syncResult { session.uploadTask(withStreamedRequest: urlRequest) } + } - switch self { - case let .data(data, urlRequest): - let urlRequest = try urlRequest.adapt(using: adapter) - task = queue.syncResult { session.uploadTask(with: urlRequest, from: data) } - case let .file(url, urlRequest): - let urlRequest = try urlRequest.adapt(using: adapter) - task = queue.syncResult { session.uploadTask(with: urlRequest, fromFile: url) } - case let .stream(_, urlRequest): - let urlRequest = try urlRequest.adapt(using: adapter) - task = queue.syncResult { session.uploadTask(withStreamedRequest: urlRequest) } + return task + } catch { + throw AdaptError(error: error) } - - return task } } // MARK: Properties + /// The request sent or to be sent to the server. + open override var request: URLRequest? { + if let request = super.request { return request } + + guard let uploadable = originalTask as? Uploadable else { return nil } + + switch uploadable { + case .data(_, let urlRequest), .file(_, let urlRequest), .stream(_, let urlRequest): + return urlRequest + } + } + /// The progress of uploading the payload to the server for the upload request. open var uploadProgress: Progress { return uploadDelegate.uploadProgress } @@ -577,6 +623,7 @@ open class UploadRequest: DataRequest { #if !os(watchOS) /// Specific type of `Request` that manages an underlying `URLSessionStreamTask`. +@available(iOS 9.0, macOS 10.11, tvOS 9.0, *) open class StreamRequest: Request { enum Streamable: TaskConvertible { case stream(hostName: String, port: Int) diff --git a/Sample/Pods/Alamofire/Source/Response.swift b/Sample/Pods/Alamofire/Source/Response.swift index f80779c2..ba45f6b2 100644 --- a/Sample/Pods/Alamofire/Source/Response.swift +++ b/Sample/Pods/Alamofire/Source/Response.swift @@ -38,13 +38,17 @@ public struct DefaultDataResponse { /// The error encountered while executing or validating the request. public let error: Error? + /// The timeline of the complete lifecycle of the request. + public let timeline: Timeline + var _metrics: AnyObject? - init(request: URLRequest?, response: HTTPURLResponse?, data: Data?, error: Error?) { + init(request: URLRequest?, response: HTTPURLResponse?, data: Data?, error: Error?, timeline: Timeline = Timeline()) { self.request = request self.response = response self.data = data self.error = error + self.timeline = timeline } } @@ -64,7 +68,7 @@ public struct DataResponse { /// The result of response serialization. public let result: Result - /// The timeline of the complete lifecycle of the `Request`. + /// The timeline of the complete lifecycle of the request. public let timeline: Timeline var _metrics: AnyObject? @@ -139,6 +143,9 @@ public struct DefaultDownloadResponse { /// The error encountered while executing or validating the request. public let error: Error? + /// The timeline of the complete lifecycle of the request. + public let timeline: Timeline + var _metrics: AnyObject? init( @@ -147,7 +154,8 @@ public struct DefaultDownloadResponse { temporaryURL: URL?, destinationURL: URL?, resumeData: Data?, - error: Error?) + error: Error?, + timeline: Timeline = Timeline()) { self.request = request self.response = response @@ -155,6 +163,7 @@ public struct DefaultDownloadResponse { self.destinationURL = destinationURL self.resumeData = resumeData self.error = error + self.timeline = timeline } } diff --git a/Sample/Pods/Alamofire/Source/ResponseSerialization.swift b/Sample/Pods/Alamofire/Source/ResponseSerialization.swift index 0bbb3731..47780fd6 100644 --- a/Sample/Pods/Alamofire/Source/ResponseSerialization.swift +++ b/Sample/Pods/Alamofire/Source/ResponseSerialization.swift @@ -84,6 +84,22 @@ public struct DownloadResponseSerializer: DownloadResponseSerializerProto } } +// MARK: - Timeline + +extension Request { + var timeline: Timeline { + let requestCompletedTime = self.endTime ?? CFAbsoluteTimeGetCurrent() + let initialResponseTime = self.delegate.initialResponseTime ?? requestCompletedTime + + return Timeline( + requestStartTime: self.startTime ?? CFAbsoluteTimeGetCurrent(), + initialResponseTime: initialResponseTime, + requestCompletedTime: requestCompletedTime, + serializationCompletedTime: CFAbsoluteTimeGetCurrent() + ) + } +} + // MARK: - Default extension DataRequest { @@ -101,7 +117,8 @@ extension DataRequest { request: self.request, response: self.response, data: self.delegate.data, - error: self.delegate.error + error: self.delegate.error, + timeline: self.timeline ) dataResponse.add(self.delegate.metrics) @@ -136,22 +153,12 @@ extension DataRequest { self.delegate.error ) - let requestCompletedTime = self.endTime ?? CFAbsoluteTimeGetCurrent() - let initialResponseTime = self.delegate.initialResponseTime ?? requestCompletedTime - - let timeline = Timeline( - requestStartTime: self.startTime ?? CFAbsoluteTimeGetCurrent(), - initialResponseTime: initialResponseTime, - requestCompletedTime: requestCompletedTime, - serializationCompletedTime: CFAbsoluteTimeGetCurrent() - ) - var dataResponse = DataResponse( request: self.request, response: self.response, data: self.delegate.data, result: result, - timeline: timeline + timeline: self.timeline ) dataResponse.add(self.delegate.metrics) @@ -184,7 +191,8 @@ extension DownloadRequest { temporaryURL: self.downloadDelegate.temporaryURL, destinationURL: self.downloadDelegate.destinationURL, resumeData: self.downloadDelegate.resumeData, - error: self.downloadDelegate.error + error: self.downloadDelegate.error, + timeline: self.timeline ) downloadResponse.add(self.delegate.metrics) @@ -219,16 +227,6 @@ extension DownloadRequest { self.downloadDelegate.error ) - let requestCompletedTime = self.endTime ?? CFAbsoluteTimeGetCurrent() - let initialResponseTime = self.delegate.initialResponseTime ?? requestCompletedTime - - let timeline = Timeline( - requestStartTime: self.startTime ?? CFAbsoluteTimeGetCurrent(), - initialResponseTime: initialResponseTime, - requestCompletedTime: requestCompletedTime, - serializationCompletedTime: CFAbsoluteTimeGetCurrent() - ) - var downloadResponse = DownloadResponse( request: self.request, response: self.response, @@ -236,7 +234,7 @@ extension DownloadRequest { destinationURL: self.downloadDelegate.destinationURL, resumeData: self.downloadDelegate.resumeData, result: result, - timeline: timeline + timeline: self.timeline ) downloadResponse.add(self.delegate.metrics) diff --git a/Sample/Pods/Alamofire/Source/SessionDelegate.swift b/Sample/Pods/Alamofire/Source/SessionDelegate.swift index 45497316..f40bf89d 100644 --- a/Sample/Pods/Alamofire/Source/SessionDelegate.swift +++ b/Sample/Pods/Alamofire/Source/SessionDelegate.swift @@ -108,16 +108,53 @@ open class SessionDelegate: NSObject { #if !os(watchOS) /// Overrides default behavior for URLSessionStreamDelegate method `urlSession(_:readClosedFor:)`. - open var streamTaskReadClosed: ((URLSession, URLSessionStreamTask) -> Void)? + @available(iOS 9.0, macOS 10.11, tvOS 9.0, *) + open var streamTaskReadClosed: ((URLSession, URLSessionStreamTask) -> Void)? { + get { + return _streamTaskReadClosed as? (URLSession, URLSessionStreamTask) -> Void + } + set { + _streamTaskReadClosed = newValue + } + } /// Overrides default behavior for URLSessionStreamDelegate method `urlSession(_:writeClosedFor:)`. - open var streamTaskWriteClosed: ((URLSession, URLSessionStreamTask) -> Void)? + @available(iOS 9.0, macOS 10.11, tvOS 9.0, *) + open var streamTaskWriteClosed: ((URLSession, URLSessionStreamTask) -> Void)? { + get { + return _streamTaskWriteClosed as? (URLSession, URLSessionStreamTask) -> Void + } + set { + _streamTaskWriteClosed = newValue + } + } /// Overrides default behavior for URLSessionStreamDelegate method `urlSession(_:betterRouteDiscoveredFor:)`. - open var streamTaskBetterRouteDiscovered: ((URLSession, URLSessionStreamTask) -> Void)? + @available(iOS 9.0, macOS 10.11, tvOS 9.0, *) + open var streamTaskBetterRouteDiscovered: ((URLSession, URLSessionStreamTask) -> Void)? { + get { + return _streamTaskBetterRouteDiscovered as? (URLSession, URLSessionStreamTask) -> Void + } + set { + _streamTaskBetterRouteDiscovered = newValue + } + } /// Overrides default behavior for URLSessionStreamDelegate method `urlSession(_:streamTask:didBecome:outputStream:)`. - open var streamTaskDidBecomeInputAndOutputStreams: ((URLSession, URLSessionStreamTask, InputStream, OutputStream) -> Void)? + @available(iOS 9.0, macOS 10.11, tvOS 9.0, *) + open var streamTaskDidBecomeInputAndOutputStreams: ((URLSession, URLSessionStreamTask, InputStream, OutputStream) -> Void)? { + get { + return _streamTaskDidBecomeInputStream as? (URLSession, URLSessionStreamTask, InputStream, OutputStream) -> Void + } + set { + _streamTaskDidBecomeInputStream = newValue + } + } + + var _streamTaskReadClosed: Any? + var _streamTaskWriteClosed: Any? + var _streamTaskBetterRouteDiscovered: Any? + var _streamTaskDidBecomeInputStream: Any? #endif @@ -166,17 +203,19 @@ open class SessionDelegate: NSObject { #endif #if !os(watchOS) - switch selector { - case #selector(URLSessionStreamDelegate.urlSession(_:readClosedFor:)): - return streamTaskReadClosed != nil - case #selector(URLSessionStreamDelegate.urlSession(_:writeClosedFor:)): - return streamTaskWriteClosed != nil - case #selector(URLSessionStreamDelegate.urlSession(_:betterRouteDiscoveredFor:)): - return streamTaskBetterRouteDiscovered != nil - case #selector(URLSessionStreamDelegate.urlSession(_:streamTask:didBecome:outputStream:)): - return streamTaskDidBecomeInputAndOutputStreams != nil - default: - break + if #available(iOS 9.0, macOS 10.11, tvOS 9.0, *) { + switch selector { + case #selector(URLSessionStreamDelegate.urlSession(_:readClosedFor:)): + return streamTaskReadClosed != nil + case #selector(URLSessionStreamDelegate.urlSession(_:writeClosedFor:)): + return streamTaskWriteClosed != nil + case #selector(URLSessionStreamDelegate.urlSession(_:betterRouteDiscoveredFor:)): + return streamTaskBetterRouteDiscovered != nil + case #selector(URLSessionStreamDelegate.urlSession(_:streamTask:didBecome:outputStream:)): + return streamTaskDidBecomeInputAndOutputStreams != nil + default: + break + } } #endif @@ -637,6 +676,7 @@ extension SessionDelegate: URLSessionDownloadDelegate { #if !os(watchOS) +@available(iOS 9.0, macOS 10.11, tvOS 9.0, *) extension SessionDelegate: URLSessionStreamDelegate { /// Tells the delegate that the read side of the connection has been closed. /// diff --git a/Sample/Pods/Alamofire/Source/SessionManager.swift b/Sample/Pods/Alamofire/Source/SessionManager.swift index 13631251..2984033d 100644 --- a/Sample/Pods/Alamofire/Source/SessionManager.swift +++ b/Sample/Pods/Alamofire/Source/SessionManager.swift @@ -231,12 +231,14 @@ open class SessionManager { headers: HTTPHeaders? = nil) -> DataRequest { + var originalRequest: URLRequest? + do { - let urlRequest = try URLRequest(url: url, method: method, headers: headers) - let encodedURLRequest = try encoding.encode(urlRequest, with: parameters) + originalRequest = try URLRequest(url: url, method: method, headers: headers) + let encodedURLRequest = try encoding.encode(originalRequest!, with: parameters) return request(encodedURLRequest) } catch { - return request(failedWith: error) + return request(originalRequest, failedWith: error) } } @@ -248,9 +250,11 @@ open class SessionManager { /// /// - returns: The created `DataRequest`. open func request(_ urlRequest: URLRequestConvertible) -> DataRequest { + var originalRequest: URLRequest? + do { - let originalRequest = try urlRequest.asURLRequest() - let originalTask = DataRequest.Requestable(urlRequest: originalRequest) + originalRequest = try urlRequest.asURLRequest() + let originalTask = DataRequest.Requestable(urlRequest: originalRequest!) let task = try originalTask.task(session: session, adapter: adapter, queue: queue) let request = DataRequest(session: session, requestTask: .data(originalTask, task)) @@ -261,15 +265,29 @@ open class SessionManager { return request } catch { - return request(failedWith: error) + return request(originalRequest, failedWith: error) } } // MARK: Private - Request Implementation - private func request(failedWith error: Error) -> DataRequest { - let request = DataRequest(session: session, requestTask: .data(nil, nil), error: error) - if startRequestsImmediately { request.resume() } + private func request(_ urlRequest: URLRequest?, failedWith error: Error) -> DataRequest { + var requestTask: Request.RequestTask = .data(nil, nil) + + if let urlRequest = urlRequest { + let originalTask = DataRequest.Requestable(urlRequest: urlRequest) + requestTask = .data(originalTask, nil) + } + + let underlyingError = error.underlyingAdaptError ?? error + let request = DataRequest(session: session, requestTask: requestTask, error: underlyingError) + + if let retrier = retrier, error is AdaptError { + allowRetrier(retrier, toRetry: request, with: underlyingError) + } else { + if startRequestsImmediately { request.resume() } + } + return request } @@ -308,7 +326,7 @@ open class SessionManager { let encodedURLRequest = try encoding.encode(urlRequest, with: parameters) return download(encodedURLRequest, to: destination) } catch { - return download(failedWith: error) + return download(nil, to: destination, failedWith: error) } } @@ -334,7 +352,7 @@ open class SessionManager { let urlRequest = try urlRequest.asURLRequest() return download(.request(urlRequest), to: destination) } catch { - return download(failedWith: error) + return download(nil, to: destination, failedWith: error) } } @@ -348,6 +366,13 @@ open class SessionManager { /// /// If `startRequestsImmediately` is `true`, the request will have `resume()` called before being returned. /// + /// On the latest release of all the Apple platforms (iOS 10, macOS 10.12, tvOS 10, watchOS 3), `resumeData` is broken + /// on background URL session configurations. There's an underlying bug in the `resumeData` generation logic where the + /// data is written incorrectly and will always fail to resume the download. For more information about the bug and + /// possible workarounds, please refer to the following Stack Overflow post: + /// + /// - http://stackoverflow.com/a/39347461/1342462 + /// /// - parameter resumeData: The resume data. This is an opaque data blob produced by `URLSessionDownloadTask` /// when a task is cancelled. See `URLSession -downloadTask(withResumeData:)` for /// additional information. @@ -372,23 +397,43 @@ open class SessionManager { { do { let task = try downloadable.task(session: session, adapter: adapter, queue: queue) - let request = DownloadRequest(session: session, requestTask: .download(downloadable, task)) + let download = DownloadRequest(session: session, requestTask: .download(downloadable, task)) - request.downloadDelegate.destination = destination + download.downloadDelegate.destination = destination - delegate[task] = request + delegate[task] = download - if startRequestsImmediately { request.resume() } + if startRequestsImmediately { download.resume() } - return request + return download } catch { - return download(failedWith: error) + return download(downloadable, to: destination, failedWith: error) } } - private func download(failedWith error: Error) -> DownloadRequest { - let download = DownloadRequest(session: session, requestTask: .download(nil, nil), error: error) - if startRequestsImmediately { download.resume() } + private func download( + _ downloadable: DownloadRequest.Downloadable?, + to destination: DownloadRequest.DownloadFileDestination?, + failedWith error: Error) + -> DownloadRequest + { + var downloadTask: Request.RequestTask = .download(nil, nil) + + if let downloadable = downloadable { + downloadTask = .download(downloadable, nil) + } + + let underlyingError = error.underlyingAdaptError ?? error + + let download = DownloadRequest(session: session, requestTask: downloadTask, error: underlyingError) + download.downloadDelegate.destination = destination + + if let retrier = retrier, error is AdaptError { + allowRetrier(retrier, toRetry: download, with: underlyingError) + } else { + if startRequestsImmediately { download.resume() } + } + return download } @@ -418,7 +463,7 @@ open class SessionManager { let urlRequest = try URLRequest(url: url, method: method, headers: headers) return upload(fileURL, with: urlRequest) } catch { - return upload(failedWith: error) + return upload(nil, failedWith: error) } } @@ -436,7 +481,7 @@ open class SessionManager { let urlRequest = try urlRequest.asURLRequest() return upload(.file(fileURL, urlRequest)) } catch { - return upload(failedWith: error) + return upload(nil, failedWith: error) } } @@ -464,7 +509,7 @@ open class SessionManager { let urlRequest = try URLRequest(url: url, method: method, headers: headers) return upload(data, with: urlRequest) } catch { - return upload(failedWith: error) + return upload(nil, failedWith: error) } } @@ -482,7 +527,7 @@ open class SessionManager { let urlRequest = try urlRequest.asURLRequest() return upload(.data(data, urlRequest)) } catch { - return upload(failedWith: error) + return upload(nil, failedWith: error) } } @@ -510,7 +555,7 @@ open class SessionManager { let urlRequest = try URLRequest(url: url, method: method, headers: headers) return upload(stream, with: urlRequest) } catch { - return upload(failedWith: error) + return upload(nil, failedWith: error) } } @@ -528,7 +573,7 @@ open class SessionManager { let urlRequest = try urlRequest.asURLRequest() return upload(.stream(stream, urlRequest)) } catch { - return upload(failedWith: error) + return upload(nil, failedWith: error) } } @@ -614,6 +659,8 @@ open class SessionManager { let formData = MultipartFormData() multipartFormData(formData) + var tempFileURL: URL? + do { var urlRequestWithContentType = try urlRequest.asURLRequest() urlRequestWithContentType.setValue(formData.contentType, forHTTPHeaderField: "Content-Type") @@ -637,6 +684,8 @@ open class SessionManager { let fileName = UUID().uuidString let fileURL = directoryURL.appendingPathComponent(fileName) + tempFileURL = fileURL + var directoryError: Error? // Create directory inside serial queue to ensure two threads don't do this in parallel @@ -652,16 +701,37 @@ open class SessionManager { try formData.writeEncodedData(to: fileURL) + let upload = self.upload(fileURL, with: urlRequestWithContentType) + + // Cleanup the temp file once the upload is complete + upload.delegate.queue.addOperation { + do { + try FileManager.default.removeItem(at: fileURL) + } catch { + // No-op + } + } + DispatchQueue.main.async { let encodingResult = MultipartFormDataEncodingResult.success( - request: self.upload(fileURL, with: urlRequestWithContentType), + request: upload, streamingFromDisk: true, streamFileURL: fileURL ) + encodingCompletion?(encodingResult) } } } catch { + // Cleanup the temp file in the event that the multipart form data encoding failed + if let tempFileURL = tempFileURL { + do { + try FileManager.default.removeItem(at: tempFileURL) + } catch { + // No-op + } + } + DispatchQueue.main.async { encodingCompletion?(.failure(error)) } } } @@ -684,13 +754,26 @@ open class SessionManager { return upload } catch { - return upload(failedWith: error) + return upload(uploadable, failedWith: error) } } - private func upload(failedWith error: Error) -> UploadRequest { - let upload = UploadRequest(session: session, requestTask: .upload(nil, nil), error: error) - if startRequestsImmediately { upload.resume() } + private func upload(_ uploadable: UploadRequest.Uploadable?, failedWith error: Error) -> UploadRequest { + var uploadTask: Request.RequestTask = .upload(nil, nil) + + if let uploadable = uploadable { + uploadTask = .upload(uploadable, nil) + } + + let underlyingError = error.underlyingAdaptError ?? error + let upload = UploadRequest(session: session, requestTask: uploadTask, error: underlyingError) + + if let retrier = retrier, error is AdaptError { + allowRetrier(retrier, toRetry: upload, with: underlyingError) + } else { + if startRequestsImmediately { upload.resume() } + } + return upload } @@ -709,6 +792,7 @@ open class SessionManager { /// /// - returns: The created `StreamRequest`. @discardableResult + @available(iOS 9.0, macOS 10.11, tvOS 9.0, *) open func stream(withHostName hostName: String, port: Int) -> StreamRequest { return stream(.stream(hostName: hostName, port: port)) } @@ -723,12 +807,14 @@ open class SessionManager { /// /// - returns: The created `StreamRequest`. @discardableResult + @available(iOS 9.0, macOS 10.11, tvOS 9.0, *) open func stream(with netService: NetService) -> StreamRequest { return stream(.netService(netService)) } // MARK: Private - Stream Implementation + @available(iOS 9.0, macOS 10.11, tvOS 9.0, *) private func stream(_ streamable: StreamRequest.Streamable) -> StreamRequest { do { let task = try streamable.task(session: session, adapter: adapter, queue: queue) @@ -744,6 +830,7 @@ open class SessionManager { } } + @available(iOS 9.0, macOS 10.11, tvOS 9.0, *) private func stream(failedWith error: Error) -> StreamRequest { let stream = StreamRequest(session: session, requestTask: .stream(nil, nil), error: error) if startRequestsImmediately { stream.resume() } @@ -762,6 +849,7 @@ open class SessionManager { request.delegate.task = task // resets all task delegate data + request.retryCount += 1 request.startTime = CFAbsoluteTimeGetCurrent() request.endTime = nil @@ -769,8 +857,31 @@ open class SessionManager { return true } catch { - request.delegate.error = error + request.delegate.error = error.underlyingAdaptError ?? error return false } } + + private func allowRetrier(_ retrier: RequestRetrier, toRetry request: Request, with error: Error) { + DispatchQueue.utility.async { [weak self] in + guard let strongSelf = self else { return } + + retrier.should(strongSelf, retry: request, with: error) { shouldRetry, timeDelay in + guard let strongSelf = self else { return } + + guard shouldRetry else { + if strongSelf.startRequestsImmediately { request.resume() } + return + } + + let retrySucceeded = strongSelf.retry(request) + + if retrySucceeded, let task = request.task { + strongSelf.delegate[task] = request + } else { + if strongSelf.startRequestsImmediately { request.resume() } + } + } + } + } } diff --git a/Sample/Pods/Alamofire/Source/TaskDelegate.swift b/Sample/Pods/Alamofire/Source/TaskDelegate.swift index 4a10b650..d4fd2163 100644 --- a/Sample/Pods/Alamofire/Source/TaskDelegate.swift +++ b/Sample/Pods/Alamofire/Source/TaskDelegate.swift @@ -33,13 +33,16 @@ open class TaskDelegate: NSObject { /// The serial operation queue used to execute all operations after the task completes. open let queue: OperationQueue + /// The data returned by the server. + public var data: Data? { return nil } + + /// The error generated throughout the lifecyle of the task. + public var error: Error? + var task: URLSessionTask? { didSet { reset() } } - var data: Data? { return nil } - var error: Error? - var initialResponseTime: CFAbsoluteTime? var credential: URLCredential? var metrics: AnyObject? // URLSessionTaskMetrics @@ -331,29 +334,30 @@ class DownloadTaskDelegate: TaskDelegate, URLSessionDownloadDelegate { { temporaryURL = location - if let destination = destination { - let result = destination(location, downloadTask.response as! HTTPURLResponse) - let destination = result.destinationURL - let options = result.options + guard + let destination = destination, + let response = downloadTask.response as? HTTPURLResponse + else { return } - do { - destinationURL = destination + let result = destination(location, response) + let destinationURL = result.destinationURL + let options = result.options - if options.contains(.removePreviousFile) { - if FileManager.default.fileExists(atPath: destination.path) { - try FileManager.default.removeItem(at: destination) - } - } + self.destinationURL = destinationURL - if options.contains(.createIntermediateDirectories) { - let directory = destination.deletingLastPathComponent() - try FileManager.default.createDirectory(at: directory, withIntermediateDirectories: true, attributes: nil) - } + do { + if options.contains(.removePreviousFile), FileManager.default.fileExists(atPath: destinationURL.path) { + try FileManager.default.removeItem(at: destinationURL) + } - try FileManager.default.moveItem(at: location, to: destination) - } catch { - self.error = error + if options.contains(.createIntermediateDirectories) { + let directory = destinationURL.deletingLastPathComponent() + try FileManager.default.createDirectory(at: directory, withIntermediateDirectories: true) } + + try FileManager.default.moveItem(at: location, to: destinationURL) + } catch { + self.error = error } } diff --git a/Sample/Pods/Local Podspecs/Moya-ObjectMapper.podspec.json b/Sample/Pods/Local Podspecs/Moya-ObjectMapper.podspec.json index 59b5e253..402ad8ce 100644 --- a/Sample/Pods/Local Podspecs/Moya-ObjectMapper.podspec.json +++ b/Sample/Pods/Local Podspecs/Moya-ObjectMapper.podspec.json @@ -1,6 +1,6 @@ { "name": "Moya-ObjectMapper", - "version": "2.1", + "version": "2.3", "summary": "ObjectMapper bindings for Moya", "description": "[ObjectMapper](https://github.com/Hearst-DD/ObjectMapper) bindings for\n[Moya](https://github.com/Moya/Moya) for easier JSON serialization.\nIncludes [RxSwift](https://github.com/ReactiveX/RxSwift/) bindings as well.\nInstructions on how to use it are in\n[the README](https://github.com/ivanbruel/Moya-ObjectMapper).", "homepage": "https://github.com/ivanbruel/Moya-ObjectMapper", @@ -13,14 +13,14 @@ }, "social_media_url": "http://twitter.com/ivanbruel", "platforms": { - "ios": "9.0", - "osx": "10.11", + "ios": "8.0", + "osx": "10.10", "watchos": "2.0", "tvos": "9.0" }, "source": { "git": "https://github.com/ivanbruel/Moya-ObjectMapper.git", - "tag": "2.1" + "tag": "2.3" }, "default_subspecs": "Core", "subspecs": [ @@ -29,10 +29,10 @@ "source_files": "Source/*.swift", "dependencies": { "Moya": [ - "8.0.0-beta.4" + ">= 8.0.0" ], "ObjectMapper": [ - "2.2.1" + "2.2.2" ] }, "frameworks": "Foundation" @@ -48,7 +48,7 @@ ], "RxSwift": [ - "3.0.1" + "3.1.0" ] } } diff --git a/Sample/Pods/Local Podspecs/ObjectMapper.podspec.json b/Sample/Pods/Local Podspecs/ObjectMapper.podspec.json index 51fa6fc1..bafb47b4 100644 --- a/Sample/Pods/Local Podspecs/ObjectMapper.podspec.json +++ b/Sample/Pods/Local Podspecs/ObjectMapper.podspec.json @@ -1,6 +1,6 @@ { "name": "ObjectMapper", - "version": "2.2.1", + "version": "2.2.2", "license": "MIT", "summary": "JSON Object mapping written in Swift", "homepage": "https://github.com/Hearst-DD/ObjectMapper", @@ -9,7 +9,7 @@ }, "source": { "git": "https://github.com/Hearst-DD/ObjectMapper.git", - "tag": "2.2.1" + "tag": "2.2.2" }, "platforms": { "watchos": "2.0", diff --git a/Sample/Pods/Manifest.lock b/Sample/Pods/Manifest.lock index f7678992..b96c309e 100644 --- a/Sample/Pods/Manifest.lock +++ b/Sample/Pods/Manifest.lock @@ -1,25 +1,25 @@ PODS: - - Alamofire (4.0.1) - - Moya (8.0.0-beta.4): - - Moya/Core (= 8.0.0-beta.4) - - Moya-ObjectMapper (2.1): - - Moya-ObjectMapper/Core (= 2.1) - - Moya-ObjectMapper/Core (2.1): - - Moya (= 8.0.0-beta.4) - - ObjectMapper (= 2.2.1) - - Moya-ObjectMapper/RxSwift (2.1): + - Alamofire (4.2.0) + - Moya (8.0.0): + - Moya/Core (= 8.0.0) + - Moya-ObjectMapper (2.3): + - Moya-ObjectMapper/Core (= 2.3) + - Moya-ObjectMapper/Core (2.3): + - Moya (>= 8.0.0) + - ObjectMapper (= 2.2.2) + - Moya-ObjectMapper/RxSwift (2.3): - Moya-ObjectMapper/Core - Moya/RxSwift - - RxSwift (= 3.0.1) - - Moya/Core (8.0.0-beta.4): - - Alamofire (~> 4.0) - - Result (~> 3.0) - - Moya/RxSwift (8.0.0-beta.4): + - RxSwift (= 3.1.0) + - Moya/Core (8.0.0): + - Alamofire (~> 4.2.0) + - Result (~> 3.1.0) + - Moya/RxSwift (8.0.0): - Moya/Core - - RxSwift (~> 3.0) - - ObjectMapper (2.2.1) - - Result (3.0.0) - - RxSwift (3.0.1) + - RxSwift (~> 3.1.0) + - ObjectMapper (2.2.2) + - Result (3.1.0) + - RxSwift (3.1.0) DEPENDENCIES: - Moya @@ -30,23 +30,23 @@ DEPENDENCIES: EXTERNAL SOURCES: Moya-ObjectMapper: - :path: "../" + :path: ../ ObjectMapper: :git: https://github.com/Hearst-DD/ObjectMapper CHECKOUT OPTIONS: ObjectMapper: - :commit: b65a937971806b4e074a3533e06f450fd92ee113 + :commit: 5133efa3bc4be1a49c83fa8d2bff10b580e6937d :git: https://github.com/Hearst-DD/ObjectMapper SPEC CHECKSUMS: - Alamofire: 7682d43245de14874acd142ec137b144aa1dd335 - Moya: bad6f72ec40661f09a8cd85ab470226d2795a485 - Moya-ObjectMapper: c8c7435f5405ee5acd5ea61b6190fdbf5d639f97 - ObjectMapper: 41e43e1a89f8060ef5ea5d04ba852e269a621d68 - Result: 1b3e431f37cbcd3ad89c6aa9ab0ae55515fae3b6 - RxSwift: af5680055c4ad04480189c52d28385b1029493a6 + Alamofire: aa2e09d871c9160ac53c90e83c68064a94e3dfbe + Moya: 850a166ab8241bd1c1cea6dbe012e3a2ad62944a + Moya-ObjectMapper: 1d2799d27c1173cb8c95c606a44fbd218526fd06 + ObjectMapper: 9e385c2295bcc4e16eabbcfc85db801442bba545 + Result: 4e3ed5995ed94d0cd6a09be9a431fce3f3624bbf + RxSwift: 83ff553e7593fdfdcb2562933a64c0284dffdadc PODFILE CHECKSUM: 9299419ef67b47dd9a0ab9cd611dc44ff80199a2 -COCOAPODS: 1.1.1 +COCOAPODS: 1.2.0.beta.3 diff --git a/Sample/Pods/Moya/License.md b/Sample/Pods/Moya/License.md index 448abe67..e91aa385 100644 --- a/Sample/Pods/Moya/License.md +++ b/Sample/Pods/Moya/License.md @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2016 Artsy, Ash Furrow +Copyright (c) 2017 Artsy, Ash Furrow 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/Sample/Pods/Moya/Readme.md b/Sample/Pods/Moya/Readme.md index b1d8015f..8e4874bd 100644 --- a/Sample/Pods/Moya/Readme.md +++ b/Sample/Pods/Moya/Readme.md @@ -1,12 +1,16 @@ -[![CircleCI](https://circleci.com/gh/Moya/Moya.svg?style=svg)](https://circleci.com/gh/Moya/Moya) [![codecov.io](https://codecov.io/github/Moya/Moya/coverage.svg?branch=master)](https://codecov.io/github/Moya/Moya?branch=master) +[![CircleCI](https://img.shields.io/circleci/project/github/Moya/Moya.svg)](https://circleci.com/gh/Moya/Moya) +[![codecov.io](https://codecov.io/github/Moya/Moya/coverage.svg?branch=master)](https://codecov.io/github/Moya/Moya?branch=master) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) +[![CocoaPods compatible](https://img.shields.io/cocoapods/v/Moya.svg)](https://cocoapods.org/pods/Moya) +[![Swift Package Manager compatible](https://img.shields.io/badge/Swift%20Package%20Manager-compatible-brightgreen.svg)](https://github.com/apple/swift-package-manager) +

You're a smart developer. You probably use [Alamofire](https://github.com/Alamofire/Alamofire) to abstract away access to -NSURLSession and all those nasty details you don't really care about. But then, +`URLSession` and all those nasty details you don't really care about. But then, like lots of smart developers, you write ad hoc network abstraction layers. They are probably called "APIManager" or "NetworkModel", and they always end in tears. @@ -23,7 +27,7 @@ sufficiently encapsulates actually calling Alamofire directly. It should be simp enough that common things are easy, but comprehensive enough that complicated things are also easy. -> If you use Alamofire to abstract away `NSURLSession`, why not use something +> If you use Alamofire to abstract away `URLSession`, why not use something to abstract away the nitty gritty of URLs, parameters, etc? Some awesome features of Moya: @@ -44,8 +48,6 @@ This project is actively under development, and is being used in [Artsy's new auction app](https://github.com/Artsy/eidolon). We consider it ready for production use. -Currently, we support Xcode 7 and Swift 2. - Installation ------------ @@ -61,18 +63,46 @@ you should use for your Swift version. | 2.3 | 7.0.2 - 7.0.3 | | 2.2 | <= 7.0.1 | +### Swift Package Manager + +To integrate using Apple's swift package manager, add the following as a dependency to your Package.swift: + +```swift +.Package(url: "https://github.com/Moya/Moya", majorVersion: 8) +``` + +and then specify `.Target(name: "Moya")` as a dependency of the Target in which you wish to use Moya. +Here's an example PackageDescription: + +```swift +import PackageDescription + +let package = Package( + name: "MyApp", + targets: [ + Target( + name: "MyApp", + dependencies: [.Target(name: "Moya")] + ) + ], + dependencies: [ + .Package(url: "https://github.com/Moya/Moya", majorVersion: 8) + ] +) +``` + ### CocoaPods For Moya, use the following entry in your Podfile: ```rb -pod 'Moya', '8.0.0-beta.2' +pod 'Moya', '8.0.0-beta.6' ``` In any file you'd like to use Moya in, don't forget to import the framework with `import Moya`. -For RxSwift or ReactiveCocoa extensions, this project will include +For RxSwift or ReactiveSwift extensions, this project will include them as dependencies. You can do this via CocoaPods subspecs, but you will also need to include the pre-release versions of RxSwift or ReactiveSwift manually. @@ -81,8 +111,8 @@ pod 'Moya/RxSwift' # or -pod 'Moya/ReactiveCocoa' -pod 'ReactiveSwift', '1.0.0-alpha.3' +pod 'Moya/ReactiveSwift' +pod 'ReactiveSwift', '1.0.0-alpha.4' ``` Then run `pod install`. @@ -99,6 +129,45 @@ ambiguous lookups at compile time. github "Moya/Moya" ``` +### Manually + +- Open up Terminal, `cd` into your top-level project directory, and run the following command *if* your project is not initialized as a git repository: + +```bash +$ git init +``` + +- Add Alamofire, Result & Moya as a git [submodule](http://git-scm.com/docs/git-submodule) by running the following commands: + +```bash +$ git submodule add https://github.com/Alamofire/Alamofire.git +$ git submodule add https://github.com/antitypical/Result.git +$ git submodule add https://github.com/Moya/Moya.git +``` + +- Open the new `Alamofire` folder, and drag the `Alamofire.xcodeproj` into the Project Navigator of your application's Xcode project. Do the same with the `Result.xcodeproj` in the `Result` folder and `Moya.xcodeproj` in the `Moya` folder. + +> They should appear nested underneath your application's blue project icon. Whether it is above or below all the other Xcode groups does not matter. + +- Verify that the deployment targets of the `xcodeproj`s match that of your application target in the Project Navigator. +- Next, select your application project in the Project Navigator (blue project icon) to navigate to the target configuration window and select the application target under the "Targets" heading in the sidebar. +- In the tab bar at the top of that window, open the "General" panel. +- Click on the `+` button under the "Embedded Binaries" section. +- You will see two different `Alamofire.xcodeproj` folders each with two different versions of the `Alamofire.framework` nested inside a `Products` folder. + +> It does not matter which `Products` folder you choose from, but it does matter whether you choose the top or bottom `Alamofire.framework`. + +- Select the top `Alamofire.framework` for iOS and the bottom one for OS X. + +> You can verify which one you selected by inspecting the build log for your project. The build target for `Alamofire` will be listed as either `Alamofire iOS`, `Alamofire macOS`, `Alamofire tvOS` or `Alamofire watchOS`. + +- Click on the `+` button under "Embedded Binaries" again and add the build target you need for `Result`. +- Click on the `+` button again and add the correct build target for `Moya`. + +- And that's it! + +> The three frameworks are 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. + Usage --- @@ -140,18 +209,18 @@ Reactive Extensions ------------------- Even cooler are the reactive extensions. Moya provides reactive extensions for -[ReactiveCocoa](https://github.com/ReactiveCocoa/ReactiveCocoa) and +[ReactiveSwift](https://github.com/ReactiveCocoa/ReactiveSwift) and [RxSwift](https://github.com/ReactiveX/RxSwift). -## ReactiveCocoa +## ReactiveSwift -After `ReactiveCocoa` [setup](docs/ReactiveCocoa.md), `request(:)` method +After `ReactiveSwift` [setup](docs/ReactiveSwift.md), `request(:)` method immediately returns a `SignalProducer` (`RACSignal` is also available if needed) that you can start or bind or map or whatever you want to do. To handle errors, for instance, we could do the following: ```swift -provider = ReactiveCocoaMoyaProvider() +provider = ReactiveSwiftMoyaProvider() provider.request(.userProfile("ashfurrow")).start { event in switch event { case let .value(response): @@ -159,7 +228,7 @@ provider.request(.userProfile("ashfurrow")).start { event in case let .failed(error): print(error) default: - break + break } } ``` @@ -187,7 +256,7 @@ provider.request(.userProfile("ashfurrow")).subscribe { event in --- In addition to the option of using signals instead of callback blocks, there are -also a series of signal operators for RxSwift and ReactiveCocoa that will attempt +also a series of signal operators for RxSwift and ReactiveSwift that will attempt to map the data received from the network response into either an image, some JSON, or a string, with `mapImage()`, `mapJSON()`, and `mapString()`, respectively. If the mapping is unsuccessful, you'll get an error on the signal. You also get handy methods for filtering out certain status codes. This means that you can place your code for @@ -205,6 +274,7 @@ Moya has a great community around it and some people have created some very help - [Moya-ModelMapper](https://github.com/sunshinejr/Moya-ModelMapper) - ModelMapper bindings for Moya for easier JSON serialization - [Moya-Gloss](https://github.com/spxrogers/Moya-Gloss) - Gloss bindings for Moya for easier JSON serialization - [Moya-JASON](https://github.com/DroidsOnRoids/Moya-JASON) - JASON bindings for Moya for easier JSON serialization +- [Moya-JASONMapper](https://github.com/AvdLee/Moya-JASONMapper) - JASON bindings for Moya for easier JSON serialization - [Moya-Unbox](https://github.com/RyogaK/Moya-Unbox) - Unbox bindings for Moya for easier JSON serialization - [MoyaSugar](https://github.com/devxoul/MoyaSugar) – Syntactic sugar for Moya @@ -241,4 +311,4 @@ If you add or remove a source file from Moya, a corresponding change needs to be License ------- -Moya is released under an MIT license. See LICENSE for more information. +Moya is released under an MIT license. See License.md for more information. diff --git a/Sample/Pods/Moya/Source/Error.swift b/Sample/Pods/Moya/Source/Error.swift deleted file mode 100644 index feeb53ce..00000000 --- a/Sample/Pods/Moya/Source/Error.swift +++ /dev/null @@ -1,26 +0,0 @@ -import Foundation - -public enum Error: Swift.Error { - case imageMapping(Response) - case jsonMapping(Response) - case stringMapping(Response) - case statusCode(Response) - case data(Response) - case underlying(Swift.Error) - case requestMapping(String) -} - -public extension Moya.Error { - /// Depending on error type, returns a `Response` object. - var response: Moya.Response? { - switch self { - case .imageMapping(let response): return response - case .jsonMapping(let response): return response - case .stringMapping(let response): return response - case .statusCode(let response): return response - case .data(let response): return response - case .underlying: return nil - case .requestMapping: return nil - } - } -} diff --git a/Sample/Pods/Moya/Source/Response.swift b/Sample/Pods/Moya/Source/Response.swift deleted file mode 100644 index 23122fda..00000000 --- a/Sample/Pods/Moya/Source/Response.swift +++ /dev/null @@ -1,80 +0,0 @@ -import Foundation - -public final class Response: CustomDebugStringConvertible, Equatable { - public let statusCode: Int - public let data: Data - public let request: URLRequest? - public let response: URLResponse? - - public init(statusCode: Int, data: Data, request: URLRequest? = nil, response: URLResponse? = nil) { - self.statusCode = statusCode - self.data = data - self.request = request - self.response = response - } - - public var description: String { - return "Status Code: \(statusCode), Data Length: \(data.count)" - } - - public var debugDescription: String { - return description - } -} - -public func == (lhs: Response, rhs: Response) -> Bool { - return lhs.statusCode == rhs.statusCode - && lhs.data == rhs.data - && lhs.response == rhs.response -} - -public extension Response { - - /// Filters out responses that don't fall within the given range, generating errors when others are encountered. - public func filterStatusCodes(_ range: ClosedRange) throws -> Response { - guard range.contains(statusCode) else { - throw Error.statusCode(self) - } - return self - } - - public func filterStatusCode(_ code: Int) throws -> Response { - return try filterStatusCodes(code...code) - } - - public func filterSuccessfulStatusCodes() throws -> Response { - return try filterStatusCodes(200...299) - } - - public func filterSuccessfulStatusAndRedirectCodes() throws -> Response { - return try filterStatusCodes(200...399) - } - - /// Maps data received from the signal into a UIImage. - func mapImage() throws -> Image { - guard let image = Image(data: data) else { - throw Error.imageMapping(self) - } - return image - } - - /// Maps data received from the signal into a JSON object. - func mapJSON(failsOnEmptyData: Bool = true) throws -> Any { - do { - return try JSONSerialization.jsonObject(with: data, options: .allowFragments) - } catch { - if data.count < 1 && !failsOnEmptyData { - return NSNull() - } - throw Error.jsonMapping(self) - } - } - - /// Maps data received from the signal into a String. - func mapString() throws -> String { - guard let string = String(data: data, encoding: .utf8) else { - throw Error.stringMapping(self) - } - return string - } -} diff --git a/Sample/Pods/Moya/Source/Target.swift b/Sample/Pods/Moya/Source/Target.swift deleted file mode 100644 index 9611efdc..00000000 --- a/Sample/Pods/Moya/Source/Target.swift +++ /dev/null @@ -1,107 +0,0 @@ -import Foundation -import Alamofire - -/// Protocol to define the base URL, path, method, parameters and sample data for a target. -public protocol TargetType { - var baseURL: URL { get } - var path: String { get } - var method: Moya.Method { get } - var parameters: [String: Any]? { get } - var sampleData: Data { get } - var task: Task { get } -} - -public enum StructTarget: TargetType { - case `struct`(TargetType) - - public init(_ target: TargetType) { - self = StructTarget.struct(target) - } - - public var path: String { - return target.path - } - - public var baseURL: URL { - return target.baseURL - } - - public var method: Moya.Method { - return target.method - } - - public var parameters: [String: Any]? { - return target.parameters - } - - public var sampleData: Data { - return target.sampleData - } - public var task: Task { - return target.task - } - - public var target: TargetType { - switch self { - case .struct(let t): return t - } - } -} - -/// Represents an HTTP method. -public typealias Method = Alamofire.HTTPMethod - -extension Method { - public var supportsMultipart: Bool { - switch self { - case .post, - .put, - .patch, - .connect: - return true - default: - return false - } - } -} - -public enum StubBehavior { - case never - case immediate - case delayed(seconds: TimeInterval) -} - -public enum UploadType { - case file(URL) - case multipart([MultipartFormData]) -} - -public enum DownloadType { - case request(DownloadDestination) -} - -public enum Task { - case request - case upload(UploadType) - case download(DownloadType) -} - -public struct MultipartFormData { - public enum FormDataProvider { - case data(Foundation.Data) - case file(URL) - case stream(InputStream, UInt64) - } - - public init(provider: FormDataProvider, name: String, fileName: String? = nil, mimeType: String? = nil) { - self.provider = provider - self.name = name - self.fileName = fileName - self.mimeType = mimeType - } - - public let provider: FormDataProvider - public let name: String - public let fileName: String? - public let mimeType: String? -} diff --git a/Sample/Pods/Moya/Source/Cancellable.swift b/Sample/Pods/Moya/Sources/Moya/Cancellable.swift similarity index 71% rename from Sample/Pods/Moya/Source/Cancellable.swift rename to Sample/Pods/Moya/Sources/Moya/Cancellable.swift index 6cb81f84..135f3a69 100644 --- a/Sample/Pods/Moya/Source/Cancellable.swift +++ b/Sample/Pods/Moya/Sources/Moya/Cancellable.swift @@ -1,13 +1,13 @@ /// Protocol to define the opaque type returned from a request public protocol Cancellable { - var cancelled: Bool { get } + var isCancelled: Bool { get } func cancel() } internal class CancellableWrapper: Cancellable { internal var innerCancellable: Cancellable = SimpleCancellable() - var cancelled: Bool { return innerCancellable.cancelled } + var isCancelled: Bool { return innerCancellable.isCancelled } internal func cancel() { innerCancellable.cancel() @@ -15,8 +15,8 @@ internal class CancellableWrapper: Cancellable { } internal class SimpleCancellable: Cancellable { - var cancelled = false + var isCancelled = false func cancel() { - cancelled = true + isCancelled = true } } diff --git a/Sample/Pods/Moya/Source/Endpoint.swift b/Sample/Pods/Moya/Sources/Moya/Endpoint.swift similarity index 71% rename from Sample/Pods/Moya/Source/Endpoint.swift rename to Sample/Pods/Moya/Sources/Moya/Endpoint.swift index e002eefe..76d31459 100755 --- a/Sample/Pods/Moya/Source/Endpoint.swift +++ b/Sample/Pods/Moya/Sources/Moya/Endpoint.swift @@ -14,12 +14,11 @@ public enum EndpointSampleResponse { case networkError(NSError) } - /// Class for reifying a target of the `Target` enum unto a concrete `Endpoint`. open class Endpoint { public typealias SampleResponseClosure = () -> EndpointSampleResponse - open let URL: String + open let url: String open let method: Moya.Method open let sampleResponseClosure: SampleResponseClosure open let parameters: [String: Any]? @@ -27,14 +26,14 @@ open class Endpoint { open let httpHeaderFields: [String: String]? /// Main initializer for `Endpoint`. - public init(URL: String, + public init(url: String, sampleResponseClosure: @escaping SampleResponseClosure, method: Moya.Method = Moya.Method.get, parameters: [String: Any]? = nil, parameterEncoding: Moya.ParameterEncoding = URLEncoding.default, httpHeaderFields: [String: String]? = nil) { - self.URL = URL + self.url = url self.sampleResponseClosure = sampleResponseClosure self.method = method self.parameters = parameters @@ -48,8 +47,8 @@ open class Endpoint { } /// Convenience method for creating a new `Endpoint` with the same properties as the receiver, but with added HTTP header fields. - open func adding(newHttpHeaderFields: [String: String]) -> Endpoint { - return adding(httpHeaderFields: newHttpHeaderFields) + open func adding(newHTTPHeaderFields: [String: String]) -> Endpoint { + return adding(httpHeaderFields: newHTTPHeaderFields) } /// Convenience method for creating a new `Endpoint` with the same properties as the receiver, but with another parameter encoding. @@ -59,31 +58,31 @@ open class Endpoint { /// Convenience method for creating a new `Endpoint`, with changes only to the properties we specify as parameters open func adding(parameters: [String: Any]? = nil, httpHeaderFields: [String: String]? = nil, parameterEncoding: Moya.ParameterEncoding? = nil) -> Endpoint { - let newParameters = addParameters(parameters) - let newHTTPHeaderFields = addHTTPHeaderFields(httpHeaderFields) + let newParameters = add(parameters: parameters) + let newHTTPHeaderFields = add(httpHeaderFields: httpHeaderFields) let newParameterEncoding = parameterEncoding ?? self.parameterEncoding - return Endpoint(URL: URL, sampleResponseClosure: sampleResponseClosure, method: method, parameters: newParameters, parameterEncoding: newParameterEncoding, httpHeaderFields: newHTTPHeaderFields) + return Endpoint(url: url, sampleResponseClosure: sampleResponseClosure, method: method, parameters: newParameters, parameterEncoding: newParameterEncoding, httpHeaderFields: newHTTPHeaderFields) } - fileprivate func addParameters(_ parameters: [String: Any]?) -> [String: Any]? { + fileprivate func add(parameters: [String: Any]?) -> [String: Any]? { guard let unwrappedParameters = parameters, unwrappedParameters.isEmpty == false else { return self.parameters } - var newParameters = self.parameters ?? [String: Any]() - unwrappedParameters.forEach { (key, value) in + var newParameters = self.parameters ?? [:] + unwrappedParameters.forEach { key, value in newParameters[key] = value } return newParameters } - fileprivate func addHTTPHeaderFields(_ headers: [String: String]?) -> [String: String]? { + fileprivate func add(httpHeaderFields headers: [String: String]?) -> [String: String]? { guard let unwrappedHeaders = headers, unwrappedHeaders.isEmpty == false else { return self.httpHeaderFields } - var newHTTPHeaderFields = self.httpHeaderFields ?? [String: String]() - unwrappedHeaders.forEach { (key, value) in + var newHTTPHeaderFields = self.httpHeaderFields ?? [:] + unwrappedHeaders.forEach { key, value in newHTTPHeaderFields[key] = value } return newHTTPHeaderFields @@ -92,10 +91,11 @@ open class Endpoint { /// Extension for converting an `Endpoint` into an optional `URLRequest`. extension Endpoint { + /// Returns the `Endpoint` converted to a `URLRequest` if valid. Returns `nil` otherwise. public var urlRequest: URLRequest? { - guard let requestURL = Foundation.URL(string: URL) else { return nil } + guard let requestURL = Foundation.URL(string: url) else { return nil } - var request: URLRequest = URLRequest(url: requestURL) + var request = URLRequest(url: requestURL) request.httpMethod = method.rawValue request.allHTTPHeaderFields = httpHeaderFields @@ -103,17 +103,16 @@ extension Endpoint { } } -/// Required for making `Endpoint` conform to `Equatable`. -public func == (lhs: Endpoint, rhs: Endpoint) -> Bool { - if let _ = lhs.urlRequest, rhs.urlRequest == nil { return false } - if lhs.urlRequest == nil, let _ = rhs.urlRequest { return false } - if lhs.urlRequest == nil, rhs.urlRequest == nil { return lhs.hashValue == rhs.hashValue } - return (lhs.urlRequest == rhs.urlRequest) -} - /// Required for using `Endpoint` as a key type in a `Dictionary`. extension Endpoint: Equatable, Hashable { public var hashValue: Int { - return urlRequest?.hashValue ?? URL.hashValue + return urlRequest?.hashValue ?? url.hashValue + } + + public static func == (lhs: Endpoint, rhs: Endpoint) -> Bool { + if let _ = lhs.urlRequest, rhs.urlRequest == nil { return false } + if lhs.urlRequest == nil, let _ = rhs.urlRequest { return false } + if lhs.urlRequest == nil, rhs.urlRequest == nil { return lhs.hashValue == rhs.hashValue } + return (lhs.urlRequest == rhs.urlRequest) } } diff --git a/Sample/Pods/Moya/Source/Image.swift b/Sample/Pods/Moya/Sources/Moya/Image.swift similarity index 85% rename from Sample/Pods/Moya/Source/Image.swift rename to Sample/Pods/Moya/Sources/Moya/Image.swift index d5d3d6cb..6e82908e 100644 --- a/Sample/Pods/Moya/Source/Image.swift +++ b/Sample/Pods/Moya/Sources/Moya/Image.swift @@ -6,4 +6,5 @@ public typealias ImageType = NSImage #endif +/// An alias for the SDK's image type. public typealias Image = ImageType diff --git a/Sample/Pods/Moya/Source/Moya+Alamofire.swift b/Sample/Pods/Moya/Sources/Moya/Moya+Alamofire.swift similarity index 89% rename from Sample/Pods/Moya/Source/Moya+Alamofire.swift rename to Sample/Pods/Moya/Sources/Moya/Moya+Alamofire.swift index 1aaa07e1..42bb7d33 100644 --- a/Sample/Pods/Moya/Source/Moya+Alamofire.swift +++ b/Sample/Pods/Moya/Sources/Moya/Moya+Alamofire.swift @@ -9,6 +9,9 @@ internal typealias DataRequest = Alamofire.DataRequest internal typealias URLRequestConvertible = Alamofire.URLRequestConvertible +/// Represents an HTTP method. +public typealias Method = Alamofire.HTTPMethod + /// Choice of parameter encoding. public typealias ParameterEncoding = Alamofire.ParameterEncoding public typealias JSONEncoding = Alamofire.JSONEncoding @@ -29,15 +32,15 @@ extension Request: RequestType { } public final class CancellableToken: Cancellable, CustomDebugStringConvertible { let cancelAction: () -> Void let request: Request? - public fileprivate(set) var cancelled: Bool = false + public fileprivate(set) var isCancelled = false fileprivate var lock: DispatchSemaphore = DispatchSemaphore(value: 1) public func cancel() { _ = lock.wait(timeout: DispatchTime.distantFuture) defer { lock.signal() } - guard !cancelled else { return } - cancelled = true + guard !isCancelled else { return } + isCancelled = true cancelAction() } @@ -70,16 +73,16 @@ internal protocol Requestable { extension DataRequest: Requestable { internal func response(queue: DispatchQueue?, completionHandler: @escaping RequestableCompletion) -> Self { - return response(queue: queue, completionHandler: { handler in + return response(queue: queue) { handler in completionHandler(handler.response, handler.request, handler.data, handler.error) - }) + } } } extension DownloadRequest: Requestable { internal func response(queue: DispatchQueue?, completionHandler: @escaping RequestableCompletion) -> Self { - return response(queue: queue, completionHandler: { handler in + return response(queue: queue) { handler in completionHandler(handler.response, handler.request, nil, handler.error) - }) + } } } diff --git a/Sample/Pods/Moya/Sources/Moya/MoyaAvailability.swift b/Sample/Pods/Moya/Sources/Moya/MoyaAvailability.swift new file mode 100644 index 00000000..9e155f4b --- /dev/null +++ b/Sample/Pods/Moya/Sources/Moya/MoyaAvailability.swift @@ -0,0 +1,43 @@ +import Foundation +import Result + +@available(*, unavailable, renamed: "MoyaError", message: "Moya.Error has been renamed to MoyaError in version 8.0.0") +public typealias Error = MoyaError + +extension Endpoint { + @available(*, unavailable, renamed: "adding(newParameters:)") + public func endpointByAddingParameters(parameters: [String: AnyObject]) -> Endpoint { fatalError() } + + @available(*, unavailable, renamed: "adding(newHTTPHeaderFields:)") + public func endpointByAddingHTTPHeaderFields(httpHeaderFields: [String: String]) -> Endpoint { fatalError() } + + @available(*, unavailable, renamed: "adding(newParameterEncoding:)") + public func endpointByAddingParameterEncoding(newParameterEncoding: Moya.ParameterEncoding) -> Endpoint { fatalError() } + + @available(*, unavailable, renamed: "adding(parameters:httpHeaderFields:parameterEncoding:)") + public func endpointByAdding(parameters: [String: AnyObject]? = nil, httpHeaderFields: [String: String]? = nil, parameterEncoding: Moya.ParameterEncoding? = nil) -> Endpoint { fatalError() } +} + +@available(*, unavailable, renamed: "MultiTarget", message: "StructTarget has been renamed to MultiTarget in version 8.0.0") +enum StructTarget { } + +extension MoyaProvider { + @available(*, unavailable, renamed: "notifyPluginsOfImpendingStub(for:target:)") + internal final func notifyPluginsOfImpendingStub(request: URLRequest, target: Target) { fatalError() } +} + +extension Response { + @available(*, unavailable, renamed: "filter(statusCodes:)") + public func filterStatusCodes(range: ClosedRange) throws -> Response { fatalError() } + + @available(*, unavailable, renamed: "filter(statusCode:)") + public func filterStatusCode(code: Int) throws -> Response { fatalError() } +} + +extension PluginType { + @available(*, unavailable, renamed: "willSend(_:)") + func willSendRequest(request: RequestType, target: TargetType) { fatalError() } + + @available(*, unavailable, renamed: "didReceive(_:)") + func didReceiveResponse(result: Result, target: TargetType) { fatalError() } +} diff --git a/Sample/Pods/Moya/Sources/Moya/MoyaError.swift b/Sample/Pods/Moya/Sources/Moya/MoyaError.swift new file mode 100644 index 00000000..e7efb9c0 --- /dev/null +++ b/Sample/Pods/Moya/Sources/Moya/MoyaError.swift @@ -0,0 +1,57 @@ +import Foundation + +public enum MoyaError: Swift.Error { + + /// Indicates a response failed to map to an image. + case imageMapping(Response) + + /// Indicates a response failed to map to a JSON structure. + case jsonMapping(Response) + + /// Indicates a response failed to map to a String. + case stringMapping(Response) + + /// Indicates a response failed with an invalid HTTP status code. + case statusCode(Response) + + /// Indicates a response failed due to an underlying `Error`. + case underlying(Swift.Error) + + /// Indicates that an `Endpoint` failed to map to a `URLRequest`. + case requestMapping(String) +} + +public extension MoyaError { + /// Depending on error type, returns a `Response` object. + var response: Moya.Response? { + switch self { + case .imageMapping(let response): return response + case .jsonMapping(let response): return response + case .stringMapping(let response): return response + case .statusCode(let response): return response + case .underlying: return nil + case .requestMapping: return nil + } + } +} + +// MARK: - Error Descriptions + +extension MoyaError: LocalizedError { + public var errorDescription: String? { + switch self { + case .imageMapping: + return "Failed to map data to an Image." + case .jsonMapping: + return "Failed to map data to JSON." + case .stringMapping: + return "Failed to map data to a String." + case .statusCode: + return "Status code didn't fall within the given range." + case .requestMapping: + return "Failed to map Endpoint to a URLRequest." + case .underlying(let error): + return error.localizedDescription + } + } +} diff --git a/Sample/Pods/Moya/Source/Moya+Defaults.swift b/Sample/Pods/Moya/Sources/Moya/MoyaProvider+Defaults.swift similarity index 55% rename from Sample/Pods/Moya/Source/Moya+Defaults.swift rename to Sample/Pods/Moya/Sources/Moya/MoyaProvider+Defaults.swift index 40c33e6b..e10e3f68 100644 --- a/Sample/Pods/Moya/Source/Moya+Defaults.swift +++ b/Sample/Pods/Moya/Sources/Moya/MoyaProvider+Defaults.swift @@ -1,17 +1,24 @@ +import Foundation import Alamofire /// These functions are default mappings to `MoyaProvider`'s properties: endpoints, requests, manager, etc. public extension MoyaProvider { - public final class func defaultEndpointMapping(_ target: Target) -> Endpoint { + public final class func defaultEndpointMapping(for target: Target) -> Endpoint { let url = target.baseURL.appendingPathComponent(target.path).absoluteString - return Endpoint(URL: url, sampleResponseClosure: {.networkResponse(200, target.sampleData)}, method: target.method, parameters: target.parameters) + return Endpoint( + url: url, + sampleResponseClosure: { .networkResponse(200, target.sampleData) }, + method: target.method, + parameters: target.parameters, + parameterEncoding: target.parameterEncoding + ) } - public final class func defaultRequestMapping(_ endpoint: Endpoint, closure: RequestResultClosure) { + public final class func defaultRequestMapping(for endpoint: Endpoint, closure: RequestResultClosure) { if let urlRequest = endpoint.urlRequest { closure(.success(urlRequest)) } else { - closure(.failure(Error.requestMapping(endpoint.URL))) + closure(.failure(MoyaError.requestMapping(endpoint.url))) } } diff --git a/Sample/Pods/Moya/Source/Moya+Internal.swift b/Sample/Pods/Moya/Sources/Moya/MoyaProvider+Internal.swift similarity index 75% rename from Sample/Pods/Moya/Source/Moya+Internal.swift rename to Sample/Pods/Moya/Sources/Moya/MoyaProvider+Internal.swift index d8e943fe..10feed5a 100644 --- a/Sample/Pods/Moya/Source/Moya+Internal.swift +++ b/Sample/Pods/Moya/Sources/Moya/MoyaProvider+Internal.swift @@ -1,6 +1,21 @@ import Foundation import Result +// MARK: - Method + +extension Method { + public var supportsMultipart: Bool { + switch self { + case .post, .put, .patch, .connect: + return true + case .get, .delete, .head, .options, .trace: + return false + } + } +} + +// MARK: - MoyaProvider + /// Internal extension to keep the inner-workings outside the main Moya.swift file. public extension MoyaProvider { // Yup, we're disabling these. The function is complicated, but breaking it apart requires a large effort. @@ -12,10 +27,16 @@ public extension MoyaProvider { let stubBehavior = self.stubClosure(target) let cancellableToken = CancellableWrapper() + // Allow plugins to modify response + let pluginsWithCompletion: Moya.Completion = { result in + let processedResult = self.plugins.reduce(result) { $1.process($0, target: target) } + completion(processedResult) + } + if trackInflights { objc_sync_enter(self) var inflightCompletionBlocks = self.inflightRequests[endpoint] - inflightCompletionBlocks?.append(completion) + inflightCompletionBlocks?.append(pluginsWithCompletion) self.inflightRequests[endpoint] = inflightCompletionBlocks objc_sync_exit(self) @@ -23,14 +44,14 @@ public extension MoyaProvider { return cancellableToken } else { objc_sync_enter(self) - self.inflightRequests[endpoint] = [completion] + self.inflightRequests[endpoint] = [pluginsWithCompletion] objc_sync_exit(self) } } - let performNetworking = { (requestResult: Result) in - if cancellableToken.cancelled { - self.cancelCompletion(completion, target: target) + let performNetworking = { (requestResult: Result) in + if cancellableToken.isCancelled { + self.cancelCompletion(pluginsWithCompletion, target: target) return } @@ -40,46 +61,49 @@ public extension MoyaProvider { case .success(let urlRequest): request = urlRequest case .failure(let error): - completion(.failure(error)) + pluginsWithCompletion(.failure(error)) return } + // Allow plugins to modify request + let preparedRequest = self.plugins.reduce(request) { $1.prepare($0, target: target) } + switch stubBehavior { case .never: let networkCompletion: Moya.Completion = { result in if self.trackInflights { - self.inflightRequests[endpoint]?.forEach({ $0(result) }) + self.inflightRequests[endpoint]?.forEach { $0(result) } objc_sync_enter(self) self.inflightRequests.removeValue(forKey: endpoint) objc_sync_exit(self) } else { - completion(result) + pluginsWithCompletion(result) } } switch target.task { case .request: - cancellableToken.innerCancellable = self.sendRequest(target, request: request, queue: queue, progress: progress, completion: networkCompletion) + cancellableToken.innerCancellable = self.sendRequest(target, request: preparedRequest, queue: queue, progress: progress, completion: networkCompletion) case .upload(.file(let file)): - cancellableToken.innerCancellable = self.sendUploadFile(target, request: request, queue: queue, file: file, progress: progress, completion: networkCompletion) + cancellableToken.innerCancellable = self.sendUploadFile(target, request: preparedRequest, queue: queue, file: file, progress: progress, completion: networkCompletion) case .upload(.multipart(let multipartBody)): guard !multipartBody.isEmpty && target.method.supportsMultipart else { fatalError("\(target) is not a multipart upload target.") } - cancellableToken.innerCancellable = self.sendUploadMultipart(target, request: request, queue: queue, multipartBody: multipartBody, progress: progress, completion: networkCompletion) + cancellableToken.innerCancellable = self.sendUploadMultipart(target, request: preparedRequest, queue: queue, multipartBody: multipartBody, progress: progress, completion: networkCompletion) case .download(.request(let destination)): - cancellableToken.innerCancellable = self.sendDownloadRequest(target, request: request, queue: queue, destination: destination, progress: progress, completion: networkCompletion) + cancellableToken.innerCancellable = self.sendDownloadRequest(target, request: preparedRequest, queue: queue, destination: destination, progress: progress, completion: networkCompletion) } default: - cancellableToken.innerCancellable = self.stubRequest(target, request: request, completion: { result in + cancellableToken.innerCancellable = self.stubRequest(target, request: preparedRequest, completion: { result in if self.trackInflights { - self.inflightRequests[endpoint]?.forEach({ $0(result) }) + self.inflightRequests[endpoint]?.forEach { $0(result) } objc_sync_enter(self) self.inflightRequests.removeValue(forKey: endpoint) objc_sync_exit(self) } else { - completion(result) + pluginsWithCompletion(result) } }, endpoint: endpoint, stubBehavior: stubBehavior) } @@ -93,15 +117,15 @@ public extension MoyaProvider { // swiftlint:enable function_body_length func cancelCompletion(_ completion: Moya.Completion, target: Target) { - let error = Moya.Error.underlying(NSError(domain: NSURLErrorDomain, code: NSURLErrorCancelled, userInfo: nil)) - plugins.forEach { $0.didReceiveResponse(.failure(error), target: target) } + let error = MoyaError.underlying(NSError(domain: NSURLErrorDomain, code: NSURLErrorCancelled, userInfo: nil)) + plugins.forEach { $0.didReceive(.failure(error), target: target) } completion(.failure(error)) } /// Creates a function which, when called, executes the appropriate stubbing behavior for the given parameters. - public final func createStubFunction(_ token: CancellableToken, forTarget target: Target, withCompletion completion: @escaping Moya.Completion, endpoint: Endpoint, plugins: [PluginType], request: URLRequest) -> (() -> ()) { // swiftlint:disable:this function_parameter_count + public final func createStubFunction(_ token: CancellableToken, forTarget target: Target, withCompletion completion: @escaping Moya.Completion, endpoint: Endpoint, plugins: [PluginType], request: URLRequest) -> (() -> Void) { // swiftlint:disable:this function_parameter_count return { - if token.cancelled { + if token.isCancelled { self.cancelCompletion(completion, target: target) return } @@ -109,24 +133,24 @@ public extension MoyaProvider { switch endpoint.sampleResponseClosure() { case .networkResponse(let statusCode, let data): let response = Moya.Response(statusCode: statusCode, data: data, request: request, response: nil) - plugins.forEach { $0.didReceiveResponse(.success(response), target: target) } + plugins.forEach { $0.didReceive(.success(response), target: target) } completion(.success(response)) case .response(let customResponse, let data): let response = Moya.Response(statusCode: customResponse.statusCode, data: data, request: request, response: customResponse) - plugins.forEach { $0.didReceiveResponse(.success(response), target: target) } + plugins.forEach { $0.didReceive(.success(response), target: target) } completion(.success(response)) case .networkError(let error): - let error = Moya.Error.underlying(error) - plugins.forEach { $0.didReceiveResponse(.failure(error), target: target) } + let error = MoyaError.underlying(error) + plugins.forEach { $0.didReceive(.failure(error), target: target) } completion(.failure(error)) } } } /// Notify all plugins that a stub is about to be performed. You must call this if overriding `stubRequest`. - final func notifyPluginsOfImpendingStub(_ request: URLRequest, target: Target) { + final func notifyPluginsOfImpendingStub(for request: URLRequest, target: Target) { let alamoRequest = manager.request(request as URLRequestConvertible) - plugins.forEach { $0.willSendRequest(alamoRequest, target: target) } + plugins.forEach { $0.willSend(alamoRequest, target: target) } } } @@ -134,7 +158,7 @@ private extension MoyaProvider { func sendUploadMultipart(_ target: Target, request: URLRequest, queue: DispatchQueue?, multipartBody: [MultipartFormData], progress: Moya.ProgressBlock? = nil, completion: @escaping Moya.Completion) -> CancellableWrapper { let cancellable = CancellableWrapper() - let multipartFormData = { (form: RequestMultipartFormData) -> Void in + let multipartFormData: (RequestMultipartFormData) -> Void = { form in for bodyPart in multipartBody { switch bodyPart.provider { case .data(let data): @@ -148,8 +172,8 @@ private extension MoyaProvider { if let parameters = target.parameters { parameters - .flatMap { (key, value) in multipartQueryComponents(key, value) } - .forEach { (key, value) in + .flatMap { key, value in multipartQueryComponents(key, value) } + .forEach { key, value in if let data = value.data(using: .utf8, allowLossyConversion: false) { form.append(data, withName: key) } @@ -157,16 +181,16 @@ private extension MoyaProvider { } } - manager.upload(multipartFormData: multipartFormData, with: request) { (result: MultipartFormDataEncodingResult) in + manager.upload(multipartFormData: multipartFormData, with: request) { result in switch result { case .success(let alamoRequest, _, _): - if cancellable.cancelled { + if cancellable.isCancelled { self.cancelCompletion(completion, target: target) return } cancellable.innerCancellable = self.sendAlamofireRequest(alamoRequest, target: target, queue: queue, progress: progress, completion: completion) case .failure(let error): - completion(.failure(Moya.Error.underlying(error as NSError))) + completion(.failure(MoyaError.underlying(error as NSError))) } } @@ -174,28 +198,31 @@ private extension MoyaProvider { } func sendUploadFile(_ target: Target, request: URLRequest, queue: DispatchQueue?, file: URL, progress: ProgressBlock? = nil, completion: @escaping Completion) -> CancellableToken { - let alamoRequest = manager.upload(file, with: request) + let uploadRequest = manager.upload(file, with: request) + let alamoRequest = target.validate ? uploadRequest.validate() : uploadRequest return self.sendAlamofireRequest(alamoRequest, target: target, queue: queue, progress: progress, completion: completion) } func sendDownloadRequest(_ target: Target, request: URLRequest, queue: DispatchQueue?, destination: @escaping DownloadDestination, progress: ProgressBlock? = nil, completion: @escaping Completion) -> CancellableToken { - let alamoRequest = manager.download(request, to: destination) + let downloadRequest = manager.download(request, to: destination) + let alamoRequest = target.validate ? downloadRequest.validate() : downloadRequest return self.sendAlamofireRequest(alamoRequest, target: target, queue: queue, progress: progress, completion: completion) } func sendRequest(_ target: Target, request: URLRequest, queue: DispatchQueue?, progress: Moya.ProgressBlock?, completion: @escaping Moya.Completion) -> CancellableToken { - let alamoRequest = manager.request(request as URLRequestConvertible) + let initialRequest = manager.request(request as URLRequestConvertible) + let alamoRequest = target.validate ? initialRequest.validate() : initialRequest return sendAlamofireRequest(alamoRequest, target: target, queue: queue, progress: progress, completion: completion) } func sendAlamofireRequest(_ alamoRequest: T, target: Target, queue: DispatchQueue?, progress progressCompletion: Moya.ProgressBlock?, completion: @escaping Moya.Completion) -> CancellableToken where T: Requestable, T: Request { // Give plugins the chance to alter the outgoing request let plugins = self.plugins - plugins.forEach { $0.willSendRequest(alamoRequest, target: target) } + plugins.forEach { $0.willSend(alamoRequest, target: target) } var progressAlamoRequest = alamoRequest - let progressClosure: (Progress) -> Void = { (progress) in - let sendProgress: () -> () = { + let progressClosure: (Progress) -> Void = { progress in + let sendProgress: () -> Void = { progressCompletion?(ProgressResponse(progress: progress)) } @@ -224,7 +251,7 @@ private extension MoyaProvider { let completionHandler: RequestableCompletion = { response, request, data, error in let result = convertResponseToResult(response, request: request, data: data, error: error) // Inform all plugins about the response - plugins.forEach { $0.didReceiveResponse(result, target: target) } + plugins.forEach { $0.didReceive(result, target: target) } progressCompletion?(ProgressResponse(response: result.value)) completion(result) } @@ -237,7 +264,7 @@ private extension MoyaProvider { } } -// MARK: - RequestMultipartFormData appending +// MARK: RequestMultipartFormData appending private extension MoyaProvider { func append(data: Data, bodyPart: MultipartFormData, to form: RequestMultipartFormData) { diff --git a/Sample/Pods/Moya/Source/Moya.swift b/Sample/Pods/Moya/Sources/Moya/MoyaProvider.swift similarity index 87% rename from Sample/Pods/Moya/Source/Moya.swift rename to Sample/Pods/Moya/Sources/Moya/MoyaProvider.swift index 694b3e38..dff763f9 100755 --- a/Sample/Pods/Moya/Source/Moya.swift +++ b/Sample/Pods/Moya/Sources/Moya/MoyaProvider.swift @@ -2,7 +2,7 @@ import Foundation import Result /// Closure to be executed when a request has completed. -public typealias Completion = (_ result: Result) -> () +public typealias Completion = (_ result: Result) -> Void /// Closure to be executed when progress changes. public typealias ProgressBlock = (_ progress: ProgressResponse) -> Void @@ -25,7 +25,6 @@ public struct ProgressResponse { } } - /// Request provider class. Requests should be made through this class only. open class MoyaProvider { @@ -33,7 +32,7 @@ open class MoyaProvider { public typealias EndpointClosure = (Target) -> Endpoint /// Closure that decides if and what request should be performed - public typealias RequestResultClosure = (Result) -> Void + public typealias RequestResultClosure = (Result) -> Void /// Closure that resolves an `Endpoint` into a `RequestResult`. public typealias RequestClosure = (Endpoint, @escaping RequestResultClosure) -> Void @@ -52,7 +51,7 @@ open class MoyaProvider { open let trackInflights: Bool - open internal(set) var inflightRequests = Dictionary, [Moya.Completion]>() + open internal(set) var inflightRequests: [Endpoint: [Moya.Completion]] = [:] /// Initializes a provider. public init(endpointClosure: @escaping EndpointClosure = MoyaProvider.defaultEndpointMapping, @@ -92,9 +91,9 @@ open class MoyaProvider { @discardableResult open func stubRequest(_ target: Target, request: URLRequest, completion: @escaping Moya.Completion, endpoint: Endpoint, stubBehavior: Moya.StubBehavior) -> CancellableToken { let cancellableToken = CancellableToken { } - notifyPluginsOfImpendingStub(request, target: target) + notifyPluginsOfImpendingStub(for: request, target: target) let plugins = self.plugins - let stub: () -> () = createStubFunction(cancellableToken, forTarget: target, withCompletion: completion, endpoint: endpoint, plugins: plugins, request: request) + let stub: () -> Void = createStubFunction(cancellableToken, forTarget: target, withCompletion: completion, endpoint: endpoint, plugins: plugins, request: request) switch stubBehavior { case .immediate: stub() @@ -114,6 +113,19 @@ open class MoyaProvider { /// Mark: Stubbing +/// Controls how stub responses are returned. +public enum StubBehavior { + + /// Do not stub. + case never + + /// Return a response immediately. + case immediate + + /// Return a response after a delay. + case delayed(seconds: TimeInterval) +} + public extension MoyaProvider { // Swift won't let us put the StubBehavior enum inside the provider class, so we'll @@ -133,16 +145,16 @@ public extension MoyaProvider { } public func convertResponseToResult(_ response: HTTPURLResponse?, request: URLRequest?, data: Data?, error: Swift.Error?) -> - Result { + Result { switch (response, data, error) { case let (.some(response), data, .none): let response = Moya.Response(statusCode: response.statusCode, data: data ?? Data(), request: request, response: response) return .success(response) case let (_, _, .some(error)): - let error = Moya.Error.underlying(error) + let error = MoyaError.underlying(error) return .failure(error) default: - let error = Moya.Error.underlying(NSError(domain: NSURLErrorDomain, code: NSURLErrorUnknown, userInfo: nil)) + let error = MoyaError.underlying(NSError(domain: NSURLErrorDomain, code: NSURLErrorUnknown, userInfo: nil)) return .failure(error) } } diff --git a/Sample/Pods/Moya/Sources/Moya/MultiTarget.swift b/Sample/Pods/Moya/Sources/Moya/MultiTarget.swift new file mode 100644 index 00000000..1a9c6356 --- /dev/null +++ b/Sample/Pods/Moya/Sources/Moya/MultiTarget.swift @@ -0,0 +1,50 @@ +import Foundation + +/// A `TargetType` used to enable `MoyaProvider` to process multiple `TargetType`s. +public enum MultiTarget: TargetType { + /// The embedded `TargetType`. + case target(TargetType) + + public init(_ target: TargetType) { + self = MultiTarget.target(target) + } + + public var path: String { + return target.path + } + + public var baseURL: URL { + return target.baseURL + } + + public var method: Moya.Method { + return target.method + } + + public var parameters: [String: Any]? { + return target.parameters + } + + public var parameterEncoding: ParameterEncoding { + return target.parameterEncoding + } + + public var sampleData: Data { + return target.sampleData + } + + public var task: Task { + return target.task + } + + public var validate: Bool { + return target.validate + } + + /// The embedded `TargetType`. + public var target: TargetType { + switch self { + case .target(let t): return t + } + } +} diff --git a/Sample/Pods/Moya/Sources/Moya/MultipartFormData.swift b/Sample/Pods/Moya/Sources/Moya/MultipartFormData.swift new file mode 100644 index 00000000..0b3de92f --- /dev/null +++ b/Sample/Pods/Moya/Sources/Moya/MultipartFormData.swift @@ -0,0 +1,32 @@ +import Foundation + +/// Represents "multipart/form-data" for an upload. +public struct MultipartFormData { + + /// Method to provide the form data. + public enum FormDataProvider { + case data(Foundation.Data) + case file(URL) + case stream(InputStream, UInt64) + } + + /// Initialize a new `MultipartFormData`. + public init(provider: FormDataProvider, name: String, fileName: String? = nil, mimeType: String? = nil) { + self.provider = provider + self.name = name + self.fileName = fileName + self.mimeType = mimeType + } + + /// The method being used for providing form data. + public let provider: FormDataProvider + + /// The name. + public let name: String + + /// The file name. + public let fileName: String? + + /// The MIME type + public let mimeType: String? +} diff --git a/Sample/Pods/Moya/Source/Plugin.swift b/Sample/Pods/Moya/Sources/Moya/Plugin.swift similarity index 51% rename from Sample/Pods/Moya/Source/Plugin.swift rename to Sample/Pods/Moya/Sources/Moya/Plugin.swift index 3d43c3f0..a870668b 100644 --- a/Sample/Pods/Moya/Source/Plugin.swift +++ b/Sample/Pods/Moya/Sources/Moya/Plugin.swift @@ -8,19 +8,27 @@ import Result /// - hide and show a network activity indicator /// - inject additional information into a request public protocol PluginType { + /// Called to modify a request before sending + func prepare(_ request: URLRequest, target: TargetType) -> URLRequest + /// Called immediately before a request is sent over the network (or stubbed). - func willSendRequest(_ request: RequestType, target: TargetType) + func willSend(_ request: RequestType, target: TargetType) + + /// Called after a response has been received, but before the MoyaProvider has invoked its completion handler. + func didReceive(_ result: Result, target: TargetType) - // Called after a response has been received, but before the MoyaProvider has invoked its completion handler. - func didReceiveResponse(_ result: Result, target: TargetType) + /// Called to modify a result before completion + func process(_ result: Result, target: TargetType) -> Result } public extension PluginType { - func willSendRequest(_ request: RequestType, target: TargetType) { } - func didReceiveResponse(_ result: Result, target: TargetType) { } + func prepare(_ request: URLRequest, target: TargetType) -> URLRequest { return request } + func willSend(_ request: RequestType, target: TargetType) { } + func didReceive(_ result: Result, target: TargetType) { } + func process(_ result: Result, target: TargetType) -> Result { return result } } -/// Request type used by `willSendRequest` plugin function. +/// Request type used by `willSend` plugin function. public protocol RequestType { // Note: diff --git a/Sample/Pods/Moya/Sources/Moya/Plugins/AccessTokenPlugin.swift b/Sample/Pods/Moya/Sources/Moya/Plugins/AccessTokenPlugin.swift new file mode 100644 index 00000000..6544973d --- /dev/null +++ b/Sample/Pods/Moya/Sources/Moya/Plugins/AccessTokenPlugin.swift @@ -0,0 +1,63 @@ +import Foundation +import Result + +// MARK: - AccessTokenAuthorizable + +/// A protocol for controlling the behavior of `AccessTokenPlugin`. +public protocol AccessTokenAuthorizable { + + /// Declares whether or not `AccessTokenPlugin` should add an authorization header + /// to requests. + var shouldAuthorize: Bool { get } +} + +// MARK: - AccessTokenPlugin + +/** + A plugin for adding bearer-type authorization headers to requests. Example: + + ``` + Authorization: Bearer + ``` + + - Note: By default, requests to all `TargetType`s will receive this header. You can control this + behvaior by conforming to `AccessTokenAuthorizable`. +*/ +public struct AccessTokenPlugin: PluginType { + + /// The access token to be applied in the header. + public let token: String + + private var authVal: String { + return "Bearer " + token + } + + /** + Initialize a new `AccessTokenPlugin`. + + - parameters: + - token: The token to be applied in the pattern `Authorization: Bearer ` + */ + public init(token: String) { + self.token = token + } + + /** + Prepare a request by adding an authorization header if necessary. + + - parameters: + - request: The request to modify. + - target: The target of the request. + - returns: The modified `URLRequest`. + */ + public func prepare(_ request: URLRequest, target: TargetType) -> URLRequest { + if let authorizable = target as? AccessTokenAuthorizable, authorizable.shouldAuthorize == false { + return request + } + + var request = request + request.addValue(authVal, forHTTPHeaderField: "Authorization") + + return request + } +} diff --git a/Sample/Pods/Moya/Source/Plugins/CredentialsPlugin.swift b/Sample/Pods/Moya/Sources/Moya/Plugins/CredentialsPlugin.swift similarity index 66% rename from Sample/Pods/Moya/Source/Plugins/CredentialsPlugin.swift rename to Sample/Pods/Moya/Sources/Moya/Plugins/CredentialsPlugin.swift index e1d87e43..9e2042ac 100644 --- a/Sample/Pods/Moya/Source/Plugins/CredentialsPlugin.swift +++ b/Sample/Pods/Moya/Sources/Moya/Plugins/CredentialsPlugin.swift @@ -1,7 +1,7 @@ import Foundation import Result -/// Provides each request with optional NSURLCredentials. +/// Provides each request with optional URLCredentials. public final class CredentialsPlugin: PluginType { public typealias CredentialClosure = (TargetType) -> URLCredential? @@ -13,13 +13,9 @@ public final class CredentialsPlugin: PluginType { // MARK: Plugin - public func willSendRequest(_ request: RequestType, target: TargetType) { + public func willSend(_ request: RequestType, target: TargetType) { if let credentials = credentialsClosure(target) { _ = request.authenticate(usingCredential: credentials) } } - - public func didReceiveResponse(_ result: Result, target: TargetType) { - - } } diff --git a/Sample/Pods/Moya/Source/Plugins/NetworkActivityPlugin.swift b/Sample/Pods/Moya/Sources/Moya/Plugins/NetworkActivityPlugin.swift similarity index 77% rename from Sample/Pods/Moya/Source/Plugins/NetworkActivityPlugin.swift rename to Sample/Pods/Moya/Sources/Moya/Plugins/NetworkActivityPlugin.swift index 9fd03288..332c3235 100644 --- a/Sample/Pods/Moya/Source/Plugins/NetworkActivityPlugin.swift +++ b/Sample/Pods/Moya/Sources/Moya/Plugins/NetworkActivityPlugin.swift @@ -9,7 +9,7 @@ public enum NetworkActivityChangeType { /// Notify a request's network activity changes (request begins or ends). public final class NetworkActivityPlugin: PluginType { - public typealias NetworkActivityClosure = (_ change: NetworkActivityChangeType) -> () + public typealias NetworkActivityClosure = (_ change: NetworkActivityChangeType) -> Void let networkActivityClosure: NetworkActivityClosure public init(networkActivityClosure: @escaping NetworkActivityClosure) { @@ -19,12 +19,12 @@ public final class NetworkActivityPlugin: PluginType { // MARK: Plugin /// Called by the provider as soon as the request is about to start - public func willSendRequest(_ request: RequestType, target: TargetType) { + public func willSend(_ request: RequestType, target: TargetType) { networkActivityClosure(.began) } - /// Called by the provider as soon as a response arrives, even the request is cancelled. - public func didReceiveResponse(_ result: Result, target: TargetType) { + /// Called by the provider as soon as a response arrives, even if the request is cancelled. + public func didReceive(_ result: Result, target: TargetType) { networkActivityClosure(.ended) } } diff --git a/Sample/Pods/Moya/Source/Plugins/NetworkLoggerPlugin.swift b/Sample/Pods/Moya/Sources/Moya/Plugins/NetworkLoggerPlugin.swift similarity index 83% rename from Sample/Pods/Moya/Source/Plugins/NetworkLoggerPlugin.swift rename to Sample/Pods/Moya/Sources/Moya/Plugins/NetworkLoggerPlugin.swift index fb20f2e0..7ae485dd 100644 --- a/Sample/Pods/Moya/Source/Plugins/NetworkLoggerPlugin.swift +++ b/Sample/Pods/Moya/Sources/Moya/Plugins/NetworkLoggerPlugin.swift @@ -13,17 +13,17 @@ public final class NetworkLoggerPlugin: PluginType { fileprivate let responseDataFormatter: ((Data) -> (Data))? /// If true, also logs response body data. - public let verbose: Bool + public let isVerbose: Bool public let cURL: Bool public init(verbose: Bool = false, cURL: Bool = false, output: @escaping (_ seperator: String, _ terminator: String, _ items: Any...) -> Void = NetworkLoggerPlugin.reversedPrint, responseDataFormatter: ((Data) -> (Data))? = nil) { self.cURL = cURL - self.verbose = verbose + self.isVerbose = verbose self.output = output self.responseDataFormatter = responseDataFormatter } - public func willSendRequest(_ request: RequestType, target: TargetType) { + public func willSend(_ request: RequestType, target: TargetType) { if let request = request as? CustomDebugStringConvertible, cURL { output(separator, terminator, request.debugDescription) return @@ -31,7 +31,7 @@ public final class NetworkLoggerPlugin: PluginType { outputItems(logNetworkRequest(request.request as URLRequest?)) } - public func didReceiveResponse(_ result: Result, target: TargetType) { + public func didReceive(_ result: Result, target: TargetType) { if case .success(let response) = result { outputItems(logNetworkResponse(response.response, data: response.data, target: target)) } else { @@ -40,7 +40,7 @@ public final class NetworkLoggerPlugin: PluginType { } fileprivate func outputItems(_ items: [String]) { - if verbose { + if isVerbose { items.forEach { output(separator, terminator, $0) } } else { output(separator, terminator, items) @@ -78,10 +78,8 @@ private extension NetworkLoggerPlugin { output += [format(loggerId, date: date, identifier: "HTTP Request Method", message: httpMethod)] } - if let body = request?.httpBody, verbose == true { - if let stringOutput = String(data: body, encoding: .utf8) { - output += [format(loggerId, date: date, identifier: "Request Body", message: stringOutput)] - } + if let body = request?.httpBody, let stringOutput = String(data: body, encoding: .utf8), isVerbose { + output += [format(loggerId, date: date, identifier: "Request Body", message: stringOutput)] } return output @@ -96,10 +94,8 @@ private extension NetworkLoggerPlugin { output += [format(loggerId, date: date, identifier: "Response", message: response.description)] - if let data = data, verbose == true { - if let stringData = String(data: responseDataFormatter?(data) ?? data, encoding: String.Encoding.utf8) { - output += [stringData] - } + if let data = data, let stringData = String(data: responseDataFormatter?(data) ?? data, encoding: String.Encoding.utf8), isVerbose { + output += [stringData] } return output diff --git a/Sample/Pods/Moya/Sources/Moya/Response.swift b/Sample/Pods/Moya/Sources/Moya/Response.swift new file mode 100644 index 00000000..eb54bbc4 --- /dev/null +++ b/Sample/Pods/Moya/Sources/Moya/Response.swift @@ -0,0 +1,119 @@ +import Foundation + +/// Represents a response to a `MoyaProvider.request`. +public final class Response: CustomDebugStringConvertible, Equatable { + public let statusCode: Int + public let data: Data + public let request: URLRequest? + public let response: URLResponse? + + /// Initialize a new `Response`. + public init(statusCode: Int, data: Data, request: URLRequest? = nil, response: URLResponse? = nil) { + self.statusCode = statusCode + self.data = data + self.request = request + self.response = response + } + + /// A text description of the `Response`. + public var description: String { + return "Status Code: \(statusCode), Data Length: \(data.count)" + } + + /// A text description of the `Response`. Suitable for debugging. + public var debugDescription: String { + return description + } + + public static func == (lhs: Response, rhs: Response) -> Bool { + return lhs.statusCode == rhs.statusCode + && lhs.data == rhs.data + && lhs.response == rhs.response + } +} + +public extension Response { + + /** + Returns the `Response` if the `statusCode` falls within the specified range. + + - parameters: + - statusCodes: The range of acceptable status codes. + - throws: `MoyaError.statusCode` when others are encountered. + */ + public func filter(statusCodes: ClosedRange) throws -> Response { + guard statusCodes.contains(statusCode) else { + throw MoyaError.statusCode(self) + } + return self + } + + /** + Returns the `Response` if it has the specified `statusCode`. + + - parameters: + - statusCode: The acceptable status code. + - throws: `MoyaError.statusCode` when others are encountered. + */ + public func filter(statusCode: Int) throws -> Response { + return try filter(statusCodes: statusCode...statusCode) + } + + /** + Returns the `Response` if the `statusCode` falls within the range 200 - 299. + + - throws: `MoyaError.statusCode` when others are encountered. + */ + public func filterSuccessfulStatusCodes() throws -> Response { + return try filter(statusCodes: 200...299) + } + + /** + Returns the `Response` if the `statusCode` falls within the range 200 - 399. + + - throws: `MoyaError.statusCode` when others are encountered. + */ + public func filterSuccessfulStatusAndRedirectCodes() throws -> Response { + return try filter(statusCodes: 200...399) + } + + /// Maps data received from the signal into a UIImage. + func mapImage() throws -> Image { + guard let image = Image(data: data) else { + throw MoyaError.imageMapping(self) + } + return image + } + + /// Maps data received from the signal into a JSON object. + func mapJSON(failsOnEmptyData: Bool = true) throws -> Any { + do { + return try JSONSerialization.jsonObject(with: data, options: .allowFragments) + } catch { + if data.count < 1 && !failsOnEmptyData { + return NSNull() + } + throw MoyaError.jsonMapping(self) + } + } + + /// Maps data received from the signal into a String. + /// + /// - parameter atKeyPath: Optional key path at which to parse string. + public func mapString(atKeyPath keyPath: String? = nil) throws -> String { + if let keyPath = keyPath { + // Key path was provided, try to parse string at key path + guard let jsonDictionary = try mapJSON() as? NSDictionary, + let string = jsonDictionary.value(forKeyPath:keyPath) as? String else { + throw MoyaError.stringMapping(self) + } + return string + } else { + // Key path was not provided, parse entire response as string + guard let string = String(data: data, encoding: .utf8) else { + throw MoyaError.stringMapping(self) + } + return string + } + } +} diff --git a/Sample/Pods/Moya/Sources/Moya/TargetType.swift b/Sample/Pods/Moya/Sources/Moya/TargetType.swift new file mode 100644 index 00000000..4aaab855 --- /dev/null +++ b/Sample/Pods/Moya/Sources/Moya/TargetType.swift @@ -0,0 +1,66 @@ +import Foundation +import Alamofire + +/// The protocol used to define the specifications necessary for a `MoyaProvider`. +public protocol TargetType { + + /// The target's base `URL`. + var baseURL: URL { get } + + /// The path to be appended to `baseURL` to form the full `URL`. + var path: String { get } + + /// The HTTP method used in the request. + var method: Moya.Method { get } + + /// The parameters to be incoded in the request. + var parameters: [String: Any]? { get } + + /// The method used for parameter encoding. + var parameterEncoding: ParameterEncoding { get } + + /// Provides stub data for use in testing. + var sampleData: Data { get } + + /// The type of HTTP task to be performed. + var task: Task { get } + + /// Whether or not to perform Alamofire validation. Defaults to `false`. + var validate: Bool { get } +} + +public extension TargetType { + var validate: Bool { + return false + } +} + +/// Represents a type of upload task. +public enum UploadType { + + /// Upload a file. + case file(URL) + + /// Upload "multipart/form-data" + case multipart([MultipartFormData]) +} + +/// Represents a type of download task. +public enum DownloadType { + + /// Download a file to a destination. + case request(DownloadDestination) +} + +/// Represents an HTTP task. +public enum Task { + + /// A basic request task. + case request + + /// An upload task. + case upload(UploadType) + + /// A download task. + case download(DownloadType) +} diff --git a/Sample/Pods/Moya/Source/RxSwift/Observable+Moya.swift b/Sample/Pods/Moya/Sources/RxMoya/Observable+Response.swift similarity index 79% rename from Sample/Pods/Moya/Source/RxSwift/Observable+Moya.swift rename to Sample/Pods/Moya/Sources/RxMoya/Observable+Response.swift index fe173863..2a5a220a 100644 --- a/Sample/Pods/Moya/Source/RxSwift/Observable+Moya.swift +++ b/Sample/Pods/Moya/Sources/RxMoya/Observable+Response.swift @@ -8,15 +8,15 @@ import Moya extension ObservableType where E == Response { /// Filters out responses that don't fall within the given range, generating errors when others are encountered. - public func filterStatusCodes(_ range: ClosedRange) -> Observable { + public func filter(statusCodes: ClosedRange) -> Observable { return flatMap { response -> Observable in - return Observable.just(try response.filterStatusCodes(range)) + return Observable.just(try response.filter(statusCodes: statusCodes)) } } - public func filterStatusCode(_ code: Int) -> Observable { + public func filter(statusCode: Int) -> Observable { return flatMap { response -> Observable in - return Observable.just(try response.filterStatusCode(code)) + return Observable.just(try response.filter(statusCode: statusCode)) } } @@ -32,7 +32,7 @@ extension ObservableType where E == Response { } } - /// Maps data received from the signal into a UIImage. If the conversion fails, the signal errors. + /// Maps data received from the signal into an Image. If the conversion fails, the signal errors. public func mapImage() -> Observable { return flatMap { response -> Observable in return Observable.just(try response.mapImage()) @@ -46,10 +46,10 @@ extension ObservableType where E == Response { } } - /// Maps data received from the signal into a String. If the conversion fails, the signal errors. - public func mapString() -> Observable { + /// Maps received data at key path into a String. If the conversion fails, the signal errors. + public func mapString(atKeyPath keyPath: String? = nil) -> Observable { return flatMap { response -> Observable in - return Observable.just(try response.mapString()) + return Observable.just(try response.mapString(atKeyPath: keyPath)) } } } diff --git a/Sample/Pods/Moya/Source/RxSwift/Moya+RxSwift.swift b/Sample/Pods/Moya/Sources/RxMoya/RxMoyaProvider.swift similarity index 92% rename from Sample/Pods/Moya/Source/RxSwift/Moya+RxSwift.swift rename to Sample/Pods/Moya/Sources/RxMoya/RxMoyaProvider.swift index 054a681f..96b6d2c9 100644 --- a/Sample/Pods/Moya/Source/RxSwift/Moya+RxSwift.swift +++ b/Sample/Pods/Moya/Sources/RxMoya/RxMoyaProvider.swift @@ -40,8 +40,8 @@ open class RxMoyaProvider: MoyaProvider where Target: TargetType public extension RxMoyaProvider { public func requestWithProgress(_ token: Target) -> Observable { - let progressBlock = { (observer: AnyObserver) -> (ProgressResponse) -> Void in - return { (progress: ProgressResponse) in + let progressBlock: (AnyObserver) -> (ProgressResponse) -> Void = { observer in + return { progress in observer.onNext(progress) } } @@ -63,7 +63,7 @@ public extension RxMoyaProvider { } // Accumulate all progress and combine them when the result comes - return response.scan(ProgressResponse()) { (last, progress) in + return response.scan(ProgressResponse()) { last, progress in let progressObject = progress.progressObject ?? last.progressObject let response = progress.response ?? last.response return ProgressResponse(progress: progressObject, response: response) diff --git a/Sample/Pods/ObjectMapper/Sources/HexColorTransform.swift b/Sample/Pods/ObjectMapper/Sources/HexColorTransform.swift index e2eb979a..2dce348f 100644 --- a/Sample/Pods/ObjectMapper/Sources/HexColorTransform.swift +++ b/Sample/Pods/ObjectMapper/Sources/HexColorTransform.swift @@ -8,10 +8,11 @@ #if os(iOS) || os(tvOS) || os(watchOS) import UIKit -#else +#elseif os(macOS) import Cocoa #endif +#if os(iOS) || os(tvOS) || os(watchOS) || os(macOS) open class HexColorTransform: TransformType { #if os(iOS) || os(tvOS) || os(watchOS) @@ -112,4 +113,4 @@ open class HexColorTransform: TransformType { #endif } } - +#endif diff --git a/Sample/Pods/ObjectMapper/Sources/ImmutableMappable.swift b/Sample/Pods/ObjectMapper/Sources/ImmutableMappable.swift index d1dc73b3..ae991794 100644 --- a/Sample/Pods/ObjectMapper/Sources/ImmutableMappable.swift +++ b/Sample/Pods/ObjectMapper/Sources/ImmutableMappable.swift @@ -78,6 +78,11 @@ public extension Map { } return value } + + /// Returns a RawRepresentable type or throws an error. + public func value(_ key: String, nested: Bool? = nil, delimiter: String = ".", file: StaticString = #file, function: StaticString = #function, line: UInt = #line) throws -> T { + return try self.value(key, nested: nested, delimiter: delimiter, using: EnumTransform(), file: file, function: function, line: line) + } // MARK: BaseMappable @@ -87,7 +92,7 @@ public extension Map { guard let JSONObject = currentValue else { throw MapError(key: key, currentValue: currentValue, reason: "Found unexpected nil value", file: file, function: function, line: line) } - return try Mapper().mapOrFail(JSONObject: JSONObject) + return try Mapper(context: context).mapOrFail(JSONObject: JSONObject) } // MARK: [BaseMappable] @@ -99,7 +104,7 @@ public extension Map { throw MapError(key: key, currentValue: currentValue, reason: "Cannot cast to '[Any]'", file: file, function: function, line: line) } return try jsonArray.enumerated().map { i, JSONObject -> T in - return try Mapper().mapOrFail(JSONObject: JSONObject) + return try Mapper(context: context).mapOrFail(JSONObject: JSONObject) } } @@ -127,7 +132,7 @@ public extension Map { } var value: [String: T] = [:] for (key, json) in jsonDictionary { - value[key] = try Mapper().mapOrFail(JSONObject: json) + value[key] = try Mapper(context: context).mapOrFail(JSONObject: json) } return value } @@ -237,7 +242,7 @@ public extension Mapper where N: ImmutableMappable { internal extension Mapper where N: BaseMappable { internal func mapOrFail(JSON: [String: Any]) throws -> N { - let map = Map(mappingType: .fromJSON, JSON: JSON, context: context) + let map = Map(mappingType: .fromJSON, JSON: JSON, context: context, shouldIncludeNilValues: shouldIncludeNilValues) // Check if object is ImmutableMappable, if so use ImmutableMappable protocol for mapping if let klass = N.self as? ImmutableMappable.Type, diff --git a/Sample/Pods/ObjectMapper/Sources/Map.swift b/Sample/Pods/ObjectMapper/Sources/Map.swift index a69440ea..22f87b5a 100644 --- a/Sample/Pods/ObjectMapper/Sources/Map.swift +++ b/Sample/Pods/ObjectMapper/Sources/Map.swift @@ -45,14 +45,17 @@ public final class Map { var keyIsNested = false public internal(set) var nestedKeyDelimiter: String = "." public var context: MapContext? + public var shouldIncludeNilValues = false /// If this is set to true, toJSON output will include null values for any variables that are not set. let toObject: Bool // indicates whether the mapping is being applied to an existing object - public init(mappingType: MappingType, JSON: [String: Any], toObject: Bool = false, context: MapContext? = nil) { + public init(mappingType: MappingType, JSON: [String: Any], toObject: Bool = false, context: MapContext? = nil, shouldIncludeNilValues: Bool = false) { + self.mappingType = mappingType self.JSON = JSON self.toObject = toObject self.context = context + self.shouldIncludeNilValues = shouldIncludeNilValues } /// Sets the current mapper value and key. @@ -133,10 +136,10 @@ private func valueFor(_ keyPathComponents: ArraySlice, dictionary: [Stri let object = dictionary[keyPath] if object is NSNull { return (true, nil) - } else if let dict = object as? [String: Any] , keyPathComponents.count > 1 { + } else if keyPathComponents.count > 1, let dict = object as? [String: Any] { let tail = keyPathComponents.dropFirst() return valueFor(tail, dictionary: dict) - } else if let array = object as? [Any] , keyPathComponents.count > 1 { + } else if keyPathComponents.count > 1, let array = object as? [Any] { let tail = keyPathComponents.dropFirst() return valueFor(tail, array: array) } else { @@ -159,19 +162,19 @@ private func valueFor(_ keyPathComponents: ArraySlice, array: [Any]) -> if let keyPath = keyPathComponents.first, let index = Int(keyPath) , index >= 0 && index < array.count { - let object = array[index] - - if object is NSNull { - return (true, nil) - } else if let array = object as? [Any] , keyPathComponents.count > 1 { - let tail = keyPathComponents.dropFirst() - return valueFor(tail, array: array) - } else if let dict = object as? [String: Any] , keyPathComponents.count > 1 { - let tail = keyPathComponents.dropFirst() - return valueFor(tail, dictionary: dict) - } else { - return (true, object) - } + let object = array[index] + + if object is NSNull { + return (true, nil) + } else if keyPathComponents.count > 1, let array = object as? [Any] { + let tail = keyPathComponents.dropFirst() + return valueFor(tail, array: array) + } else if keyPathComponents.count > 1, let dict = object as? [String: Any] { + let tail = keyPathComponents.dropFirst() + return valueFor(tail, dictionary: dict) + } else { + return (true, object) + } } return (false, nil) diff --git a/Sample/Pods/ObjectMapper/Sources/Mapper.swift b/Sample/Pods/ObjectMapper/Sources/Mapper.swift index 7336b139..9071acc0 100755 --- a/Sample/Pods/ObjectMapper/Sources/Mapper.swift +++ b/Sample/Pods/ObjectMapper/Sources/Mapper.swift @@ -37,9 +37,11 @@ public enum MappingType { public final class Mapper { public var context: MapContext? + public var shouldIncludeNilValues = false /// If this is set to true, toJSON output will include null values for any variables that are not set. - public init(context: MapContext? = nil){ + public init(context: MapContext? = nil, shouldIncludeNilValues: Bool = false){ self.context = context + self.shouldIncludeNilValues = shouldIncludeNilValues } // MARK: Mapping functions that map to an existing object toObject @@ -65,7 +67,7 @@ public final class Mapper { /// Usefull for those pesky objects that have crappy designated initializers like NSManagedObject public func map(JSON: [String: Any], toObject object: N) -> N { var mutableObject = object - let map = Map(mappingType: .fromJSON, JSON: JSON, toObject: true, context: context) + let map = Map(mappingType: .fromJSON, JSON: JSON, toObject: true, context: context, shouldIncludeNilValues: shouldIncludeNilValues) mutableObject.mapping(map: map) return mutableObject } @@ -92,7 +94,7 @@ public final class Mapper { /// Maps a JSON dictionary to an object that conforms to Mappable public func map(JSON: [String: Any]) -> N? { - let map = Map(mappingType: .fromJSON, JSON: JSON, context: context) + let map = Map(mappingType: .fromJSON, JSON: JSON, context: context, shouldIncludeNilValues: shouldIncludeNilValues) if let klass = N.self as? StaticMappable.Type { // Check if object is StaticMappable if var object = klass.objectForMapping(map: map) as? N { @@ -104,11 +106,9 @@ public final class Mapper { object.mapping(map: map) return object } - } else if let klass = N.self as? ImmutableMappable.Type { // Check if object is Mappable - if let object = try? klass.init(map: map) as? N { - return object - } - } else { + } else if N.self is ImmutableMappable.Type { // Check if object is ImmutableMappable + assert(false, "'ImmutableMappable' type requires throwing version of function \(#function) - use 'try' before \(#function)") + } else { // Ensure BaseMappable is not implemented directly assert(false, "BaseMappable should not be implemented directly. Please implement Mappable, StaticMappable or ImmutableMappable") } @@ -274,7 +274,7 @@ extension Mapper { ///Maps an object that conforms to Mappable to a JSON dictionary public func toJSON(_ object: N) -> [String: Any] { var mutableObject = object - let map = Map(mappingType: .toJSON, JSON: [:], context: context) + let map = Map(mappingType: .toJSON, JSON: [:], context: context, shouldIncludeNilValues: shouldIncludeNilValues) mutableObject.mapping(map: map) return map.JSON } diff --git a/Sample/Pods/ObjectMapper/Sources/ToJSON.swift b/Sample/Pods/ObjectMapper/Sources/ToJSON.swift index 4d595325..311d1d51 100644 --- a/Sample/Pods/ObjectMapper/Sources/ToJSON.swift +++ b/Sample/Pods/ObjectMapper/Sources/ToJSON.swift @@ -26,7 +26,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -import class Foundation.NSNumber +import Foundation private func setValue(_ value: Any, map: Map) { setValue(value, key: map.currentKey!, checkForNestedKeys: map.keyIsNested, delimiter: map.nestedKeyDelimiter, dictionary: &map.JSON) @@ -73,6 +73,7 @@ internal final class ToJSON { || x is Double || x is Float || x is String + || x is NSNull || x is Array // Arrays || x is Array || x is Array @@ -92,10 +93,12 @@ internal final class ToJSON { setValue(x, map: map) } } - + class func optionalBasicType(_ field: N?, map: Map) { if let field = field { basicType(field, map: map) + } else if map.shouldIncludeNilValues { + basicType(NSNull(), map: map) //If BasicType is nil, emil NSNull into the JSON output } } @@ -155,13 +158,13 @@ internal final class ToJSON { setValue(JSONObjects, map: map) } - + class func optionalObjectDictionary(_ field: Dictionary?, map: Map) { - if let field = field { + if let field = field { objectDictionary(field, map: map) - } - } - + } + } + class func objectDictionaryOfArrays(_ field: Dictionary, map: Map) { let JSONObjects = Mapper(context: map.context).toJSONDictionaryOfArrays(field) diff --git a/Sample/Pods/Pods.xcodeproj/project.pbxproj b/Sample/Pods/Pods.xcodeproj/project.pbxproj index 2314dd81..d73ac743 100644 --- a/Sample/Pods/Pods.xcodeproj/project.pbxproj +++ b/Sample/Pods/Pods.xcodeproj/project.pbxproj @@ -7,667 +7,677 @@ objects = { /* Begin PBXBuildFile section */ - 012E5388EE5D07B103A42590CD1B145F /* Observable+Multiple.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBD606A54419885E3005DD13704A2BA1 /* Observable+Multiple.swift */; }; - 02C263C49FB42F2C4B10957985787315 /* Response+ObjectMapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F03D4318F25F0CEB39500AE4E751CAD /* Response+ObjectMapper.swift */; }; - 049F7F48386284274646843658AECF03 /* Timer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D82791D3EDF8FFAAD1535B60FDFA091A /* Timer.swift */; }; - 07AF68616EB1DEBFCA38A3AC8305561B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC29AF625DB92BBFD8CCCBB81875E4ED /* Foundation.framework */; }; - 08C5F1D0596022A2A066A8AACC0E68AF /* Just.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C89D416B8B4F645C39F023736766501 /* Just.swift */; }; - 09D88B77B7A4E84DEFAB163D9F9BEA3C /* Delay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77236EDA7888184759544EF8250FBD20 /* Delay.swift */; }; - 0B5E609FB4823ABBB04E4DC9233C16A8 /* Observable+Time.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56E3B5E251CE721C15659C0A8D686E53 /* Observable+Time.swift */; }; - 0C1B4E9FFB8B81E8833A3BAD537B1990 /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = C210FD9C09AB4A0618D59B9F1E1EDC79 /* Notifications.swift */; }; - 0E80E80CAEF068BDA434C85904A0B473 /* Amb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31B83646CFA2AE2F71AE2424520E7478 /* Amb.swift */; }; - 0F1AF643BD2588D190595575587C2E01 /* Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFD67ACF653675C77CC82ABAC5F8EC46 /* Zip+arity.swift */; }; - 0F245421E461934A8BAA6ECD0DA6D815 /* Platform.Darwin.swift in Sources */ = {isa = PBXBuildFile; fileRef = F74788E0432E11444B6D00617CE03791 /* Platform.Darwin.swift */; }; - 1109E0373A21FB5E85FC64D061869CD1 /* VirtualTimeScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CC1622A2F8021735A7798AFC29C6CC8 /* VirtualTimeScheduler.swift */; }; - 12118C354EFA36292F82A8D0CFCE45B2 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69B0849E7C0F50727891B902D8C5F699 /* Request.swift */; }; - 122D023E7179CFF13528667077065CAA /* RefCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB4109713E01820112B8AA35467E3BCD /* RefCount.swift */; }; - 141470456EB64F1635045AC26333CAAD /* ScheduledItemType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CDF5F079667F2FE0C4E39FCCAEBF20E /* ScheduledItemType.swift */; }; - 15F9C020CFE2B8FAD8BA6E5ED85E4F8C /* Do.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83316EC2719FBA1E3A4A464C78599DBE /* Do.swift */; }; - 1683F407F1A141B75E09041A4103DB22 /* BehaviorSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 622F223D2E030143CBE4F589B0CE0465 /* BehaviorSubject.swift */; }; - 177700BF3E12C11ECF115BE2867D1746 /* SubjectType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51328FB81CE8807E09556087151D4BEF /* SubjectType.swift */; }; - 19E5CA9428996C553288DF32C38D4C6B /* Moya.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 16A860D8F4BF07CDAABA319C5E5658A4 /* Moya.framework */; }; - 1DBD12F72C504465E000AB67AE51B10A /* SynchronizedSubscribeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABEB028F66753C38FEE11F13AC36AC8E /* SynchronizedSubscribeType.swift */; }; - 1DEF171D086E525BFFF4D45F72736918 /* Sink.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AD101EF1D295C0361A92180DF06913A /* Sink.swift */; }; - 1F2794B1B027330E0FA71572B2915AF6 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC29AF625DB92BBFD8CCCBB81875E4ED /* Foundation.framework */; }; - 20878C47280017E2EEAAC8F944403C5B /* ObjectMapper-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5965EA337A05A3DA12F7F446FD61CBDF /* ObjectMapper-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 20A5B6A2EACC0492D7A7442D6A717489 /* BinaryDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E67F1D9C0E200BBAF400C6622218072 /* BinaryDisposable.swift */; }; - 2168774ED6926A15567C7B5906136CD6 /* ReplaySubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13C85615E85030E1AEEBDB904E1DEB0F /* ReplaySubject.swift */; }; - 22638D18CF046E33F6F629DA650F553C /* Moya-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 518B31EDA76F5C8EE98FDB17B11A7F52 /* Moya-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2300B759B4961F3A9B232B6DDD041C20 /* Never.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0131B672543E9CE53D602C19C1697AB /* Never.swift */; }; - 248DF910EF848AB91FB1AA3381B3644B /* HistoricalScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 106ECA30E1F7D0DBD1E6996A6C92CF0F /* HistoricalScheduler.swift */; }; - 26781D50415853DEC16511326D087707 /* AnonymousDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 743D103CEBD3E7A3078B6534C348F205 /* AnonymousDisposable.swift */; }; - 282EB901DF306C809D6EA7C08079DD86 /* SchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAD79FC05D95EEC620BCCE53CC80E43F /* SchedulerType.swift */; }; - 2A21AC09DD3F9CD08C59F3B032F1A8EA /* DisposeBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88F8A0D5E6A6E1B226C75BD85D4E82AD /* DisposeBase.swift */; }; - 2EB226EA6628C12154F30B78B61EC472 /* ToJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E3C6C2C8865CCEBFD728E5CDF40F49E /* ToJSON.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 2EF975533CFBE4AFF9EC7EB56A1774DC /* Zip.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEA4D2783331F9F4E8546A96E7A3A595 /* Zip.swift */; }; - 302F4DEB6E2F94613ABF0DBA9A499532 /* AsyncLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB980A2BE8ED20D32DAE2E660982AF34 /* AsyncLock.swift */; }; - 305CBA9EA6E3F4CB1FF50617EBABD5CA /* AnonymousInvocable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7088982D0FCFB15202E57716D6CA9335 /* AnonymousInvocable.swift */; }; - 315D2411851A3391E759367C3BFC36F6 /* Filter.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3CD06C7A5E5F0064620A9DA78F6C6C3 /* Filter.swift */; }; - 3272CED6877CDBB6CC3282BF44FEB165 /* CombineLatest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1198984BD12BC01C2DB2C57751EF8D2E /* CombineLatest.swift */; }; - 329A8E860AB6DE654C99C8FDA858F6AE /* Moya+Defaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA584A5CE6B6E6D3B5A16A3605B8706B /* Moya+Defaults.swift */; }; - 34380DC74A760EA12BCC4F902DFAE4FE /* ObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8C769679B846CA420C2245A7C985AC7 /* ObservableType.swift */; }; - 34D09D14A28B19624E8626740B818525 /* FromJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0230015CAF85247AE4467B0ED711D0B4 /* FromJSON.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 3982B850C43B41BA6D25F440F0412E9B /* Timeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 087AC567FFD070A05DEBFE4D81FF615E /* Timeline.swift */; }; - 3B67B53CD53C72EF885394339B50F000 /* Take.swift in Sources */ = {isa = PBXBuildFile; fileRef = D13793A7445AECCA5FEF75FB0D5F27AD /* Take.swift */; }; - 3E9C6A412C72D26AF3AFBD3FC2C8358A /* CombineLatest+Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12ADCADB6669185BD180B2C3A7C58E95 /* CombineLatest+Collection.swift */; }; - 3F9108ED64D1164A5361AA889BA431D8 /* RetryWhen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1916F5BF7F9B5AE2A46F8F5C65CA1F8E /* RetryWhen.swift */; }; - 411CC6D5A3968796009360A35C70A89A /* EnumOperators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 669BCDAB25D8D6D723D478C52CF7264E /* EnumOperators.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 437EEEDFFDC51FF0A26A484B256B563E /* Result-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 56E06FDCF783E7E9D2B80D339AC8C9B5 /* Result-dummy.m */; }; - 447957312A386B60ECCCA1121D739FD1 /* DispatchQueue+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC2B4208634CD50BD85406F56272702B /* DispatchQueue+Extensions.swift */; }; - 4481E1FD85DD99E155847680791FA876 /* Catch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F62991516AD442D1EF544FB0C340C45 /* Catch.swift */; }; - 45596CB86A67D2394F9C66C55281825D /* Timeout.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFA4CFED512237BB19DC534CF19A2B1A /* Timeout.swift */; }; - 4568F287003AAEC940747B4965ECF0CA /* SchedulerServices+Emulation.swift in Sources */ = {isa = PBXBuildFile; fileRef = DEF06783E6924B5CEDFF0128E231A618 /* SchedulerServices+Emulation.swift */; }; - 4606BE7AB667A79659399FA6F522A851 /* RefCountDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34E209AAE1030DE3C2A482B5E9483ADA /* RefCountDisposable.swift */; }; - 461DD5C39F77C9E06257829D8D251539 /* Observable+Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F669431409AAA8C030D1D26331A13EF /* Observable+Concurrency.swift */; }; - 4763EA56A472A37C94CF3888879E9F73 /* Empty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E0567DF533FC99199CEC63B53F19581 /* Empty.swift */; }; - 4AD21EA5CD62779A4E9644BBF05E4F3A /* ObservableConvertibleType.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1E486EFBD5D10E9226AA32622828830 /* ObservableConvertibleType.swift */; }; - 4C03436ED1176B4C0011D45DAFABC47D /* TransformOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B0D673DD178C61A172861D524D915C0 /* TransformOf.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 4C2847C9943622ABF69EB7AF6F5930A3 /* Buffer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E1D98C5E40C84FB0E140297B725D47F /* Buffer.swift */; }; - 4D3DF9462F17AD81D8220D7865231F96 /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7697FC2B90D6509A8AC3659265DC0FB7 /* RxSwift.framework */; }; - 4D603F5AF29E1403FC2EDA9EC21CF7BD /* CustomDateFormatTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 415ED9634B34CA1B5A42BB78F3942615 /* CustomDateFormatTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 509B8C07D6E3E1CA6F3F27737736517D /* Concat.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2399D4BBE6DE4672BD743436602FE52 /* Concat.swift */; }; - 51D4ECB495B23E3DF3EC9C9D7D00475D /* Sequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02499690F45A2FCD365176FFA84CBF8C /* Sequence.swift */; }; - 5405CE1D1BB48B18CBF2924D3C921F89 /* SubscribeOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = E14ECF7F33F7790AFC3D3D35204F8154 /* SubscribeOn.swift */; }; - 55BBCE6AFF5D99269F9F3B920F1CD8B7 /* InvocableScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20DD270CDE02745A10E7325CE8F2CEFF /* InvocableScheduledItem.swift */; }; - 562C135D387527450FFEAA5C505FD397 /* Cancelable.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB89276944821E33117018CBF4239B8D /* Cancelable.swift */; }; - 5781E31B398ECB9D397370D70AD1F593 /* TransformOperators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C14D5B460B5AF6DC13F0BA3FC963AC8 /* TransformOperators.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 5A6F7D0BF2A213EBE56FAC31E7D1969A /* Variable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A94804E0EDE96FBDABEE084E9D33EA19 /* Variable.swift */; }; - 5D4D6E3563AF6D1B473C4D2076558039 /* ConnectableObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13C1093B247BFE0678E19939ECDA77E3 /* ConnectableObservable.swift */; }; - 5D52584FB309C4156F84370E28B6832B /* Map.swift in Sources */ = {isa = PBXBuildFile; fileRef = 328F20E5B058707C1FF9B85B99F69253 /* Map.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 5FA0526FA6EFF0A30AD4E655125DE665 /* Bag+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04087A92A3C533959940632B012DB1A0 /* Bag+Rx.swift */; }; - 5FC316BD7006CA03EC409D6C459249A5 /* ScheduledDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FC70E52D2FA8928764FFD5DC3D77B94 /* ScheduledDisposable.swift */; }; - 62143065F94E53F437DCE5D7A998D66D /* AFError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 363E0FA126F5FC6EC2A9234F8B32D1E2 /* AFError.swift */; }; - 623D33CBB5DC3633AA596F1EA740166B /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F8C2009A0BE75F08B0796011B950776 /* Error.swift */; }; - 62C3A17A3662DA62210469EFB72CF7E4 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D443B303EF315755B19810A6928CC875 /* Alamofire.framework */; }; - 63F88DE00C1040C283D10FFCB738CC1B /* Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F0CAE9BA691989D685657E104B2EC52 /* Event.swift */; }; - 646ED9CAE0B3B96122AE967950E86BBF /* InvocableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD5C46D78D03AA241CB0F8B35AB72CAB /* InvocableType.swift */; }; - 655CD4B358C02A7003D04460259E0F39 /* Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 178C789BB4D04957A5FC6203D9BE569D /* Debug.swift */; }; - 65F29A3102AC883192405B27A9AFEEBE /* Using.swift in Sources */ = {isa = PBXBuildFile; fileRef = F702D3DD5AF99B9AA724DA83132DCAF7 /* Using.swift */; }; - 660784D87BBD6B79D8799B77E2909941 /* Mappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 680E520F20308F6FB20B56126BA3AEDC /* Mappable.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 66B26727B50F5C28E1C27F12ACB1A651 /* Observable+ObjectMapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4A41A1EFD287ADC8565B46439DFC266 /* Observable+ObjectMapper.swift */; }; - 68A8E3CCB9E9E6E820A593A09989D0E0 /* NopDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E1300F711ABFEF20FA39759E1F3F7F9 /* NopDisposable.swift */; }; - 68E7A2A9A159067676E1D15A8F39D4E7 /* Producer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B80D8330400645BA42A8A201C1C782C /* Producer.swift */; }; - 69739E9D013CB7091CFA2B65079315B7 /* HexColorTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBA357CA387E77BC86F3211BACBB658F /* HexColorTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 699B293506BC025BB6085379B7BA7312 /* ToArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AAB0677B7A6742908524102D7F0C570 /* ToArray.swift */; }; - 6A2076BF682893A2F556AE712DA9A948 /* LockOwnerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E269BDC85ECD7047ADCD5BEF5FE7D37 /* LockOwnerType.swift */; }; - 6C3BC5E0FFD6B36C5FBCA74196E4F0FE /* Moya+Internal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07204AFA1A99267D790CF67DDCB99384 /* Moya+Internal.swift */; }; - 6DF4A76EE7676A387467FDBDC2F054A7 /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69821E9857CF08D602210B053A5A33E5 /* Response.swift */; }; - 6E952F2CE342D596F66A302E944F908C /* InfiniteSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39AEE3CC1B7AFE910ABBDCEABA43888F /* InfiniteSequence.swift */; }; - 6F129FFC87325F1F4F551C40B6EA817E /* Plugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = A824B54D15011383634670FE8A75B11E /* Plugin.swift */; }; - 6F6CFE53B1AD2574EA40B0D59DC8B143 /* ObserveOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68A0127ECB278F418AC7D5CA1813A062 /* ObserveOn.swift */; }; - 70C07ACB5A30FB61232B15B9199EB681 /* Moya.swift in Sources */ = {isa = PBXBuildFile; fileRef = 174F74364889D5858C445F74709748BC /* Moya.swift */; }; - 7208E8FC5017DD97F9D9CAD69D29476F /* Moya-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B0B492B031ABE11F5A38494876490357 /* Moya-dummy.m */; }; - 72DCE1AE092A8946AD2983EFF1A3F5B8 /* RxSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 93F3AEBCBEDE1B6C0A10F4E3FB117DC3 /* RxSwift-dummy.m */; }; - 73689E8F548D5FF1BD7080C4CE486AA2 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC29AF625DB92BBFD8CCCBB81875E4ED /* Foundation.framework */; }; - 73D54E2D482D92587583B0341B2EF460 /* Switch.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8A7E79405CB9B0A6434C5020179CC62 /* Switch.swift */; }; - 73D924BFFE6643345752129D759982BF /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = D32F1BE7D5619B7C420D65A7F9883141 /* Errors.swift */; }; - 73E804981CAF3D0BBADBD51E378EA54D /* VirtualTimeConverterType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39CB11F2F06DFB5EA5B0AFE8A52FB34B /* VirtualTimeConverterType.swift */; }; - 7A2AAC0B5BB4FBE450E5C967464B66C7 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC29AF625DB92BBFD8CCCBB81875E4ED /* Foundation.framework */; }; - 7B71940E1D69DE2F0E2EFE7471E678E7 /* CompositeDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E572F7C5FD56BF320BEAE6F53CC61C0 /* CompositeDisposable.swift */; }; - 7CA5A9BA5246FDA8227233E310029392 /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = D17B2A96F4CE975DB7531C7FEC578C32 /* Alamofire.swift */; }; - 7D035D6804784CF84F2C71980CFDF30A /* Moya+RxSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 546F6C15EE44555782FC5844FE837AF8 /* Moya+RxSwift.swift */; }; - 7E17747758769512D2B0AD34C943BDE6 /* Multicast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 978E815E1F80EADC26FC76AA98F070A8 /* Multicast.swift */; }; - 7EDA369FFC97B0BA8A312FAB59B910E5 /* StartWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFD04DC47CC84151E1FF67AF743AA16E /* StartWith.swift */; }; - 7FFAB349DD7E3B7A63A948B4D705730D /* ObserverType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2FADBC738031177EAE6D59421B9DE4C /* ObserverType.swift */; }; - 8031EE3219084273874FFC6943079B3D /* AnonymousObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 763ED3A040F2558DB962D07D6ECF8E95 /* AnonymousObservable.swift */; }; - 80D629EAAB8A6A545AED086C78826C7F /* Deferred.swift in Sources */ = {isa = PBXBuildFile; fileRef = C51D5DF0B81B8879BCA4F59466FB2F38 /* Deferred.swift */; }; - 8137EAE06E13B09AA1C1F1DFFD7EA388 /* ShareReplay1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71D08D69FA332A65278C3CD9FE7C3AC0 /* ShareReplay1.swift */; }; - 8378B87CD9CDBB24B1714275D70C4740 /* TakeWhile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58E6B955858B85E414B9D5E43AD3636D /* TakeWhile.swift */; }; - 837A76B0506ECACA3681FF00C34C45E3 /* DictionaryTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AEEDFC83D839BF3F8AD090614FE9DEB /* DictionaryTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 8572FD1E32D1F42DB0CFBA869ABABC9D /* AddRef.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89D9F620E4E3342D01E3F8F6B7A6A0F7 /* AddRef.swift */; }; - 866F39A174B38FED899D3E00FEAE0213 /* DataTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B803D1E133A7FD270000551F5FA09F2 /* DataTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 86D34172E78790ACF929D01B145CFE6A /* URLTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D51099E12209F1971A9EB259281F38D /* URLTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 86ED08F33B7D357932A9AB743E9D9EA7 /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB5CF9FFC45B7B3AFC2A14597B9136F9 /* Response.swift */; }; - 88B04061E06E6EECDFE90017DE140074 /* SerialDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = F02E179A84B8E81C89A46B7D15D34ABD /* SerialDispatchQueueScheduler.swift */; }; - 89EA97FE056EEA1825AB576D65A87C34 /* Moya-ObjectMapper-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 62384D07F2721B9F6F37280C5563A146 /* Moya-ObjectMapper-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8A84775175BC4CB518DE6ECD023E98C3 /* Observable+Aggregate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1685B91B4B2083B1D601FD14D3D34BC2 /* Observable+Aggregate.swift */; }; - 8A917B19B965049C3F82EC71C9C0E2CC /* SingleAssignmentDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BF9F4843AA1C0265CE5641EB89C0C34 /* SingleAssignmentDisposable.swift */; }; - 8B8C0199F1ABB9F1DDA2FF0EA5A8BF2C /* Endpoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40A1DEA2BDE0FC75B1CD4F978F8283C7 /* Endpoint.swift */; }; - 8BF65EB23231F58C5E1AD619853C692F /* Platform.Linux.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEF0A7AF3CF6EB5A48872DA3677F44FF /* Platform.Linux.swift */; }; - 8C539BFEC89BAE4F5A61EB7980D3D617 /* NetworkActivityPlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BCCD7FA7BBFA725A1B34B170FA8B6C1 /* NetworkActivityPlugin.swift */; }; - 8D073B703DAA3129C92F879F5A4ADB42 /* TakeUntil.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0BEDCCF251F23A340822A8B184A8CB7 /* TakeUntil.swift */; }; - 8D463A0A4C65C02FDD5211F0F3C6F8B8 /* Alamofire-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F2E80B544CDFB7F75E6606E2BC767F3E /* Alamofire-dummy.m */; }; - 8EB3B62627597B29E32236F87742F1FE /* SynchronizedOnType.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7B1DFBB1430B216B213D05B6DF867BC /* SynchronizedOnType.swift */; }; - 8ED130FE4FF61E2C0AA076B4CCB0285E /* RxMutableBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 544F8DF4384364BF478DC184CB643C27 /* RxMutableBox.swift */; }; - 8F8A8E58046B5F50C9FFB871AAD3561F /* WithLatestFrom.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BF4D3D0EF856190B6A7EFDF0F5BF59D /* WithLatestFrom.swift */; }; - 907AB123FBC8BC9340D5B7350CE828DF /* SessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB9EE69A4BF993C07E5224FB397A6B12 /* SessionDelegate.swift */; }; - 91218D51BF22E0527E82A2930B44CD03 /* Target.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DF48DED21796FAF0F5F7255EC585572 /* Target.swift */; }; - 924D29418923A19E1BEA86D1F3E0519F /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 941085FB48E505ED52FF2DFD9B570A8C /* Result.framework */; }; - 93E9BFB56062B0A090E3AC163CE4AF46 /* AnyObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0ECCA48188F3E39E6256B1D23433117 /* AnyObserver.swift */; }; - 9469DF81ECB494E84675969B5E13374C /* Alamofire-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 95947C6546DEF91519F70F806150A677 /* Alamofire-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9489F9362035C671C229B8D187670516 /* ObserveOnSerialDispatchQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF83A04973753332B1477BA6F0563E0F /* ObserveOnSerialDispatchQueue.swift */; }; - 95C71C30C041380B2DF15CCD9D2D5C31 /* ObserverBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A95D8BDF6F0181FDE6EDA342FDD9415 /* ObserverBase.swift */; }; - 96AC3EACDCD70FD226BA170FE9CE1AC4 /* HistoricalSchedulerTimeConverter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80A76DADFB328445C023CECAF023A171 /* HistoricalSchedulerTimeConverter.swift */; }; - 9908C6D403F1051E583F1F57CD236FB9 /* Queue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8234279B253A056C0E18E59D7CEECCEB /* Queue.swift */; }; - 9941530E1EE513B7D1279FD9B2CD5DAE /* ImmediateScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E92444A665EA3A98EFF401EF3564597 /* ImmediateScheduler.swift */; }; - 9B5C9163CE88709DF28BB6392C12AEF2 /* ObservableType+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3913DDF900024A0656DAD15D1F4935B /* ObservableType+Extensions.swift */; }; - 9D39C61EEA1C21CB9779985DCECFD771 /* TransformType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91552211187B9CBC599EC7286978FBAB /* TransformType.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 9F0E8BF031DBF118421CBD9699768647 /* Window.swift in Sources */ = {isa = PBXBuildFile; fileRef = 765370C83664BED90363DF7E877FA0DE /* Window.swift */; }; - A0037879CDCD22AE579494E7B3A4836A /* SynchronizedUnsubscribeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1AD1773F9C42D5618C535CE2223DA748 /* SynchronizedUnsubscribeType.swift */; }; - A18A45EA400814E966ED78A3DB539C3E /* Map.swift in Sources */ = {isa = PBXBuildFile; fileRef = F950D49AC56971E27529A7C1790A7624 /* Map.swift */; }; - A1A8C9F024E9820DD1B8DE5583622EDA /* Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 966FF218DA45F71C29347D31DCCB9DFE /* Reactive.swift */; }; - A1CCA1A331AFBC5438E92665293A86FF /* MapError.swift in Sources */ = {isa = PBXBuildFile; fileRef = D60937BDF5B1C6AEF4D8794944941DC3 /* MapError.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - A28473CA774D3B2940BA3678C0077FA3 /* SubscriptionDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 737536990E1EBEF8235D251A1D90B8F8 /* SubscriptionDisposable.swift */; }; - A2D9C287D81FBB250DE44089F9483DDE /* Observable+Binding.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFED71AF76D187D4C32AF28AC98FBEF9 /* Observable+Binding.swift */; }; - A301AE5639E40F725A440E77C414DC81 /* Observable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C83FABB05297D3EB577CF78F774A43C5 /* Observable.swift */; }; - A53071FE389A48FCED0AD57972F4550E /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5D5B10390A9CC05A07780EE391E1566 /* Result.swift */; }; - A5E55DA094740DFF52ECAD698FC5C393 /* CredentialsPlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A77F36A4D0549443CDC49CFE1911400 /* CredentialsPlugin.swift */; }; - A79AC30123B0C2177D67F6ED6A1B3215 /* SessionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1E866A2DF8D85611840907C11179BA6 /* SessionManager.swift */; }; - AA4C7CD03A7CF610965D759B73E5D440 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D443B303EF315755B19810A6928CC875 /* Alamofire.framework */; }; - AC5E94A00173B54F1BCC56BDAED71F58 /* Repeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C903728B13BD2023859B17C89FF2CA0 /* Repeat.swift */; }; - AD8E8822E56C63F3800346D943EAC903 /* ResultProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = C566C24EC070D74C925F1C07590FFED9 /* ResultProtocol.swift */; }; - AE4807A029D88C540234DCFC7410B58A /* ShareReplay1WhileConnected.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F65F82E68DC581C82FCD9A091AC3C5C /* ShareReplay1WhileConnected.swift */; }; - AF158CAAF4DD319009AFC855DC995D90 /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = E464E575CC4DD2E4094EEEB62AE4CB22 /* ParameterEncoding.swift */; }; - AF7183BE6B737DD8BD29A2D0F49B6FEB /* ObjectMapper.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2B87CCF9A5173095B333FB06CA24E143 /* ObjectMapper.framework */; }; - AFA4BD20B55EF1E7590F2F97040E521C /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = F01ED9EB93FCF0C2F89A954E364F2157 /* Error.swift */; }; - AFEB3C1B98E01AC2D0689DB7C674724D /* ISO8601DateTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = D990EC35151E178A9B9D9AAB36DCB189 /* ISO8601DateTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - B077A29D9EEF2652CAC14B5133A9F223 /* Lock.swift in Sources */ = {isa = PBXBuildFile; fileRef = E585E58D1BF7DC9954EA14D91C585408 /* Lock.swift */; }; - B2208D8F7A1CEE9A5EFB71BFB33CAF8B /* ScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DEAA1C61595A036AC9183F30E956F2C /* ScheduledItem.swift */; }; - B22350343D935721C0DA66E388FD59E3 /* ImmutableMappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4EE02E899207BB438EDFDA870AEA555 /* ImmutableMappable.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - B4FBDBD83A4A7A8E134071C244AAD6C3 /* Reduce.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88E60639D724B9761813F63397B16290 /* Reduce.swift */; }; - B57855AB1364EAC1FBDE76EE64612932 /* DateTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E2A56194AF99209A01661A9492B6605 /* DateTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - B6FB9EEEE556E93238AAECEA9448671D /* Pods-Demo-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C5BC86D40B890A7B0844F888209CA06F /* Pods-Demo-dummy.m */; }; - B8154C96802336E5DDA5CEE97C3180A0 /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C056C8037BAE328084785A74A578844 /* ResponseSerialization.swift */; }; - B9CDB531EC5067F6B3FE54646662C6BF /* NetworkLoggerPlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 518239385B0F3CDEAC6A932263828A61 /* NetworkLoggerPlugin.swift */; }; - BB4A242E5A2A340E8910F99ACA93183E /* DelaySubscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB94102F981B841A1B8233CA4F53CE5C /* DelaySubscription.swift */; }; - BE13D0F2AC4D08F1CE7619A1097EF381 /* DisposeBag.swift in Sources */ = {isa = PBXBuildFile; fileRef = C020B9E1483D96ADFB3212384D8CA0D3 /* DisposeBag.swift */; }; - C09BF81B6F8839943FF348472EC688DC /* SkipWhile.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFBB929A07AD58B8DF1B62F8CCB9617C /* SkipWhile.swift */; }; - C0AEA97E7684DDAD56998C0AE198A433 /* ServerTrustPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 265046C808A2B7508D2A3BE8BD777FF5 /* ServerTrustPolicy.swift */; }; - C0D5C712CB93EB5501E6E5D141965430 /* Result-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D799FC1CF17DB6FD7E5114CA5654CDE2 /* Result-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C5DB9336D6B9ACEB98CC428A7D920EF6 /* RecursiveScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E200A2B90ED4D4E5A994A29B7D7B470 /* RecursiveScheduler.swift */; }; - C7A3408350643ADE1018826C766EE356 /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63E612BED0549C8970572E8897E121A4 /* MultipartFormData.swift */; }; - C80F85F161591386F961A262B5EE6B9A /* Zip+Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = C733C67E4DECB93A1D00B7B45A337596 /* Zip+Collection.swift */; }; - C82EA9533EA5E54DCEA77CB6FB2255FE /* Range.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBD970BC84C3EACDBC1F96C2513B2207 /* Range.swift */; }; - C9BDACD98BB98B196BDE2BDB5EF24820 /* Moya+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B5553CF57282D077981EE90BD7F082F /* Moya+Alamofire.swift */; }; - C9F90C2C178321C30D5145422B636837 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC29AF625DB92BBFD8CCCBB81875E4ED /* Foundation.framework */; }; - CA1993C8C9CE288FA3BB373F8EC41F92 /* Mapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34701DA9E60EA2E69BEF943B3D7461E0 /* Mapper.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - CBC4665073146957976B548F5C89E841 /* SynchronizedDisposeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47A9F3FBFB80D619E98220D1260C4EC0 /* SynchronizedDisposeType.swift */; }; - CBF4494F78C8557D89F3262C6F41960D /* Observable+Creation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36605BF9A96C4297EABEEBB0C3050B01 /* Observable+Creation.swift */; }; - CC05EFD60AFF0C32DFCA72CABB40888F /* AnonymousObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 180A6816B6C90770AD259F41901085F3 /* AnonymousObserver.swift */; }; - CC40B46C0C87F6A47502527237FAE28C /* ElementAt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A451E9548910F54073EADDE912B9EC9 /* ElementAt.swift */; }; - CC4B9A3664BB912A968AD008A4A46630 /* ConcurrentDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1BD097F203E07D1C91D2B71F905662E /* ConcurrentDispatchQueueScheduler.swift */; }; - CC8BF60C1F3E9C701E3856846963FD8E /* Moya-ObjectMapper-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 41C6FA254A44FFC58952089BB7F468C9 /* Moya-ObjectMapper-dummy.m */; }; - CCC08EC234138480A39C9593214A30C0 /* NSDecimalNumberTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0E71EF992F4A8A524BF571CF34CB514 /* NSDecimalNumberTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - CCF5896933A092F5C08A4F9AD3BD02D2 /* Observable+StandardSequenceOperators.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9F90F4C9698895823A33E7BE767BCF9 /* Observable+StandardSequenceOperators.swift */; }; - CDEB9FD2DBE72998C21EB65EABEBFA3E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC29AF625DB92BBFD8CCCBB81875E4ED /* Foundation.framework */; }; - CDFF77083BDF7E9B9313D29C50BA93B9 /* Generate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C0AF622277F256B6C8C0CBB8EB9BC8C /* Generate.swift */; }; - CED5EED1872DB25E6F9DAF07432AE786 /* Debunce.swift in Sources */ = {isa = PBXBuildFile; fileRef = B01F9B9B24C328E91631B6FF3F9DC3C1 /* Debunce.swift */; }; - CFDEC4B4AF2EE267D40536352F203948 /* Observable+Moya.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E45E9314AF405B91BA42433AC880F81 /* Observable+Moya.swift */; }; - D0C31F0C69D96FBE6D9AD1B1E6867D53 /* Bag.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC170997D4327E4845F4A4201D46B991 /* Bag.swift */; }; - D0DD9B6F2C0E607070EA9CDB9C666F33 /* MainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9266D1C8F5279E05ABFF0022ED6EFC5F /* MainScheduler.swift */; }; - D277B20C5EAE8B50258251A5483D7F11 /* String+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85714AB38F31550EF76BA5B89F3D7F75 /* String+Rx.swift */; }; - D314EB06059037EE8D85B9983A3B0FE4 /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7697FC2B90D6509A8AC3659265DC0FB7 /* RxSwift.framework */; }; - D4B3A6E5BA99A3A97943E11C542A852A /* SerialDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = B75FF2855450211C8E2BA157E6CFA621 /* SerialDisposable.swift */; }; - D5E07FCBC4E612836FDAB8EC36C82BFF /* DateFormatterTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 131C8888FF2AAD8BDA9FF777B1FF25B1 /* DateFormatterTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - D6C5CCB6AD66398A7921527D2E569C2D /* Merge.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2EDCC81F5CDEFE050B2B5315D6677E8 /* Merge.swift */; }; - D7D8B3C62E3508D60565415C581ECA91 /* Pods-Demo-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 03EA1E60232BFA05817BC26ACB8E68BA /* Pods-Demo-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D8EB2106351D6AEEE5453AFD63CFFE1D /* ConcurrentMainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83BBAA2C2C6A613FD7EDA34482836981 /* ConcurrentMainScheduler.swift */; }; - DDD947B035948B3AEE3DE9B4CCF523BA /* Observable+Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3C7593C03B2BE33B6B242FAA85A44F2 /* Observable+Debug.swift */; }; - DDFCCADA428DE423B1C89A9995E1F400 /* Disposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86D575824CAFF6E1E2E8D5B14DE26DF7 /* Disposable.swift */; }; - DF1BBF94997A2F4248B42B25EA919EC2 /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7BDF4792909360C5BA5E7D542447CBD /* Result.swift */; }; - DF3BCDE11D48D1452F3207FAF42D19D1 /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 941085FB48E505ED52FF2DFD9B570A8C /* Result.framework */; }; - E1592291714B58B5688097B6D54C83FF /* Throttle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D24D70FE02AAB813A6136DF1888909F /* Throttle.swift */; }; - E1F583CB4A68A928CD197250AA752926 /* TaskDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1EA4C48C68230183845BD2E39306287 /* TaskDelegate.swift */; }; - E2A1C34237B4E928E5F85C097F4C2551 /* DispatchQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA91C7CB85FF8AD3B6D74E1C982C64CC /* DispatchQueue+Alamofire.swift */; }; - E37BCA339A246A745CF781AB2ECAE47C /* CombineLatest+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4F1BC548E917D1E5F81EE6054B391C5 /* CombineLatest+arity.swift */; }; - E495D2A9B856FE4B6AA816FF641C73F4 /* Disposables.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B571E6F835903111F96AF5815961740 /* Disposables.swift */; }; - E49C4BEB22C7F0BE3E9353F9F8261E70 /* Cancellable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E003DCCA94A4BFF856DAD724FE03789 /* Cancellable.swift */; }; - E59BF19C0AFA68B741552319FC478C7B /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85E6722F5431ABE3125E65805ED90BA6 /* NetworkReachabilityManager.swift */; }; - E5F8545F2D5AC99715537D694D23B8DC /* DistinctUntilChanged.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3A928FD5F6B10301588630DB1E2EA23 /* DistinctUntilChanged.swift */; }; - E8103957FE4A4CB97EA5A84D5410D18D /* TakeLast.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2049EBE624AE781091E70060F14F0EE /* TakeLast.swift */; }; - E86A08F36C5C3F73640263FD0B16C78C /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD3004F655F41209090230BA9B29AA2F /* Operators.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - E86EB999AE2B74ADEB22F53028AF04A5 /* PriorityQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAB840CAB855A29CD4834DABC37AC594 /* PriorityQueue.swift */; }; - E8A61F19A3A86546876E627E25977E37 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC29AF625DB92BBFD8CCCBB81875E4ED /* Foundation.framework */; }; - E9065C36B96B8370E928409ECF058488 /* EnumTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAE8CC80F05AC65A8A0A3805C1209002 /* EnumTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - ED47B1B137503D99DDC13C8CAF5C0268 /* SkipUntil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8483E680808B3FC2110B344A1CA3868A /* SkipUntil.swift */; }; - ED7EB68B2CB9DF6053A97BC818C53338 /* Observable+Single.swift in Sources */ = {isa = PBXBuildFile; fileRef = B56B071139AA1450C1FE7FE934401147 /* Observable+Single.swift */; }; - F0C58755C38A7C7D21518953D2C67D3E /* ImmediateSchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E7E4D23379C80FD1D4630013E045E9D /* ImmediateSchedulerType.swift */; }; - F0FDFFEB23746AF959F3DA7520E499BB /* BooleanDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 692D604D47D98A8394C607E513BEC011 /* BooleanDisposable.swift */; }; - F157F4CEBD837A127890A992B303BD85 /* ConnectableObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 321F3851EEF3814D86D10D901D877663 /* ConnectableObservableType.swift */; }; - F168CFB3A2859BEADDC9A28C6EDBB2AD /* CurrentThreadScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6578D141AEEDCA4EAA3AC078B461E79B /* CurrentThreadScheduler.swift */; }; - F2FEF6A5AFD50D9FAAB9E88035542DE6 /* DispatchQueueConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54DD77A554385833AD9D78DE93E8DAE6 /* DispatchQueueConfiguration.swift */; }; - F5BB757C6054FFBF800B2F14ECA8D1A9 /* SingleAsync.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DFC96E910F5FBA77A2B5DF4BD45E36A /* SingleAsync.swift */; }; - F6AF59843AD25AA794CCC74AEBD29A02 /* ObjectMapper-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 968DB905F64DBD4A16C2F9F549E13AFF /* ObjectMapper-dummy.m */; }; - F84635CC919AB1F5111282696528E7F7 /* PublishSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BCED95C2FBBFD5E695850A12F5CBA46 /* PublishSubject.swift */; }; - F8F938D7135A9EEBC4160150C50A5497 /* Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ED92947E105E33971F207B3EDFF15E9 /* Rx.swift */; }; - FA0E0AABAFB2FFD00B1FB7C2315F6B33 /* Scan.swift in Sources */ = {isa = PBXBuildFile; fileRef = 677A6CDF1606DF26FF0A67599748E317 /* Scan.swift */; }; - FA657C5D33C7D4A7A3E05EA015BF9739 /* RxSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = BCD02AA44858E41604142BDA503A46AE /* RxSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FA9642E1D8DB2BA0F865C4D324907407 /* Skip.swift in Sources */ = {isa = PBXBuildFile; fileRef = C893FD2B9EF1C980B19B413C3BAD65EC /* Skip.swift */; }; - FC576773D56CDF27F3D87AB116FDADDB /* Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D8655848F42A407507C4F2DD299FA28 /* Image.swift */; }; - FC9586C31D70E55D5EAFF8DB1AAD861C /* Sample.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B646D229B56DCCE1D3D48EC35024759 /* Sample.swift */; }; - FCCFC5E0D0573569B47DAA45C1B9A3BD /* TailRecursiveSink.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5A0C0ECE6A06B0007EC66BCAF49B9A8 /* TailRecursiveSink.swift */; }; - FDF365204F48E48B4B31F4CAC23F5531 /* OperationQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A1C1DEEB73FBEFC4DFFED39DE3FE6DD /* OperationQueueScheduler.swift */; }; - FFFDD494EE6D1B83DDAF5F2721F685A6 /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = E42F75FF7A5EB150246E53D560EADE77 /* Validation.swift */; }; + 000D350E67D30BCA2FBE7F2924993B84 /* Moya.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 16A860D8F4BF07CDAABA319C5E5658A4 /* Moya.framework */; }; + 03692C857DEC1964D84C28CD543E7066 /* URLTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C465902838FEEAAB473FEB6674FBE84 /* URLTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 037A3F2379D0121AED74BBD0B930060F /* Skip.swift in Sources */ = {isa = PBXBuildFile; fileRef = 430F3F0982E452C25A47A720CB2E1388 /* Skip.swift */; }; + 052E83F4BEC355B7ED8637E68294D5E4 /* ImmediateSchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8C66AF00D92D79C3F1E635B9070BDB3 /* ImmediateSchedulerType.swift */; }; + 06027F179F20A1071B460733DA236DD5 /* DictionaryTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DB61447B6851CE8306807572E4A1832 /* DictionaryTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 0678FD3597DBF260953CD39B56032BD1 /* VirtualTimeScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AB94B6E05741287909F55056F3983EF /* VirtualTimeScheduler.swift */; }; + 092A4AAD97C8EC6D33F8A4AB6480407C /* Observable+Time.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A4DB0D7E8F0EF0D4872EEB2EE3ED0BD /* Observable+Time.swift */; }; + 09354E270838A56FD7642187735A76FE /* DateTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = D89120D1F979FE09D1FAE2545011A477 /* DateTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 0C8293302F7392A9D1C115637A00F985 /* NopDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75036CEB82C945FFDE9A3DE4BAACE594 /* NopDisposable.swift */; }; + 0E58868FFFC23E3381E295DA1425DECF /* RefCountDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AEBF06E49CBEDA5D99587C770DB8E12 /* RefCountDisposable.swift */; }; + 0ED61723CDE26126601F65727397C352 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC29AF625DB92BBFD8CCCBB81875E4ED /* Foundation.framework */; }; + 0F67ECF49889688EDBA28ABDFA1611CE /* ScheduledDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5E83E8AC358BE6BB4343D3CC7499E2E /* ScheduledDisposable.swift */; }; + 10EB23E9ECC4B33E16933BB1EA560B6A /* Timeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F191B4432429C10438C009B03B5A496 /* Timeline.swift */; }; + 11523975ADA09CD9D08AE04D8DA8DD4D /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7697FC2B90D6509A8AC3659265DC0FB7 /* RxSwift.framework */; }; + 12466B1C36B0B76424D6FC59972F7540 /* DispatchQueue+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EBE756789908655CF02C6614C8CD996 /* DispatchQueue+Extensions.swift */; }; + 1430788942C2BF846A2BB3E409296A0E /* Throttle.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3450ADCD9C95E79F686871FBA9C4F0C /* Throttle.swift */; }; + 15EB903709D5884DC8A0684AF225F089 /* Sample.swift in Sources */ = {isa = PBXBuildFile; fileRef = C483F82BE38A158B5580F5DA493B3C79 /* Sample.swift */; }; + 169B9C32B019370D00948F32FBA9F616 /* Filter.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0918EFABAE23E9AF090E038DD183DF5 /* Filter.swift */; }; + 18235B4CDF8BED426D20EA5A24A55AFE /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC29AF625DB92BBFD8CCCBB81875E4ED /* Foundation.framework */; }; + 18994B191D6E0405B98A9D0C23D9FF9A /* SingleAsync.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6FA4DDBB103BDF3E520400F90513FF95 /* SingleAsync.swift */; }; + 1A3CF66B9BE42E4BF4F8E9E406640F7D /* Catch.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECB181FAD8207A62867B3764988924D4 /* Catch.swift */; }; + 1B49968381587E76C8067F62F5FA1085 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC29AF625DB92BBFD8CCCBB81875E4ED /* Foundation.framework */; }; + 1B9EDEDC964E6B08F78920B4F4B9DB84 /* Alamofire-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 200362AE0EEA5FB575BA356B40ACAB23 /* Alamofire-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1D00764CF6D44AAD20FBF135E6721976 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC29AF625DB92BBFD8CCCBB81875E4ED /* Foundation.framework */; }; + 201245623CBE34F06B584B7A36C3A5AF /* Producer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DE169CF3EC8CF672A137318793B3049 /* Producer.swift */; }; + 22EF6CD69A2F5545FE783E8418AE341E /* Zip+Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCD65F39B39F370CF739B0E95EB57D29 /* Zip+Collection.swift */; }; + 236F2A023C984AE1EC9315EC771CB2E1 /* AnyObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDC7E33A504E74F5BCC1E6BFC277E1BA /* AnyObserver.swift */; }; + 2393100E72FDBD8B2B10766D2C86E2C3 /* AsyncLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C99EA4AE4183FBC164E44EBDFE09383 /* AsyncLock.swift */; }; + 255D3602F77B00B7E3E3450C6EEE7DDF /* CombineLatest+Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0DA8B6B7ED23DCA10C9D43FBD5D04240 /* CombineLatest+Collection.swift */; }; + 27B1F5F83B2E26D0A8ED31965C09DAEA /* ShareReplay1WhileConnected.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1F6D22E477C5FA9CC327F44D498A22A /* ShareReplay1WhileConnected.swift */; }; + 280028559377CFDA7606FC6C0BAE3AD8 /* EnumTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51B5632D20C70495048E3BA568D07C1D /* EnumTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 284357F5C45E01457F554A55E14EE79B /* Amb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A2381DAA75A9FC0C537BB57718585F2 /* Amb.swift */; }; + 28B1F739E9FA772B1FB5E9FA625F87A8 /* TakeLast.swift in Sources */ = {isa = PBXBuildFile; fileRef = C79D3097AD6BEB10C3D456EEA1A85F10 /* TakeLast.swift */; }; + 2931270581FC1B6B83757EB3C3CEC760 /* ObjectMapper.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2B87CCF9A5173095B333FB06CA24E143 /* ObjectMapper.framework */; }; + 2AD2BF8C149BA2AF30ECB8DE4EF9195F /* CombineLatest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E0993D947FE3864F3CFD8844488F194 /* CombineLatest.swift */; }; + 2AD5E81B80B7CFB134C80CD8327C0A03 /* ImmediateScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1AB30791C65EA80A438E8F29CDF1FAEF /* ImmediateScheduler.swift */; }; + 2BBA25B63470ECAF1D6608594313C917 /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7697FC2B90D6509A8AC3659265DC0FB7 /* RxSwift.framework */; }; + 2C38971D46C8B20D6A8AD11462D65EFF /* CombineLatest+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64748A7A81045F52F3FD97FCEDEE8E69 /* CombineLatest+arity.swift */; }; + 2E28CD026DEB6B00E52C1A833343249B /* Plugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = DEB10F56BAE4B04D4A96E38220A78A07 /* Plugin.swift */; }; + 2F9748181475FA8DD8397BD700CCA1F5 /* BehaviorSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7777954867520AD1455316A78252168 /* BehaviorSubject.swift */; }; + 31AF8464DA00A4B64E1DDAE758BC5BC9 /* TailRecursiveSink.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64D3656CAE8E196EA113AFCD2A47EA88 /* TailRecursiveSink.swift */; }; + 325B960E62F7010212051F7E0BEB6E62 /* DateFormatterTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E47F90E2A75DDCC895A7244853B7FC0 /* DateFormatterTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 32D18A277CA084098022CBBDFC7D1C0F /* ResultProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43539D4FCD3C1BB11FB42D58DDD7B124 /* ResultProtocol.swift */; }; + 3626B94094672CB1C9DEA32B9F9502E1 /* TaskDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41FB9335C48981A47F5DED449C2FC293 /* TaskDelegate.swift */; }; + 374051E6F49A7295C8F1112894850901 /* Result-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0BDBFF369BF78CD38C31AA9803E20EB6 /* Result-dummy.m */; }; + 377408FCECFC816F2602F1AFFD833377 /* Generate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075728ECE5DF455D2ABDA1D6632BBA8E /* Generate.swift */; }; + 39346FCED48D5C12D52942507E916C90 /* Moya-ObjectMapper-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 41C6FA254A44FFC58952089BB7F468C9 /* Moya-ObjectMapper-dummy.m */; }; + 394D8681888D14CE4AD351A43AAAC7D6 /* SchedulerServices+Emulation.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8A541BA9B0D07920F47DBC32331F9B1 /* SchedulerServices+Emulation.swift */; }; + 39928029D8CF4D19BD4BDB7CCF81B80D /* SynchronizedSubscribeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7EB810A7843FC8A98A13874105D47EB9 /* SynchronizedSubscribeType.swift */; }; + 39F022A0A95DB31730DA4B61381735E1 /* Bag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76C4C2F97381D16535D4BCBD11E19E52 /* Bag.swift */; }; + 3ADCE45AEB02D4FEB3C20C471FD7CE45 /* NSDecimalNumberTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F3F140D286B723FB485A956172A42A0 /* NSDecimalNumberTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 3B0F42A33ECA1F1274639F7F776740CF /* Observable+Binding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 303053D6DE6735DDC4B30D3BD13868E4 /* Observable+Binding.swift */; }; + 3CAD64CE8DE4953602095AE384152F93 /* Platform.Darwin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C3836EA1EEDCFB91F53ADEEF5003CEE /* Platform.Darwin.swift */; }; + 3E56DB4136E625DCA0B4F278CE147D6B /* RxMoyaProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = C939A8B0D4334725D2DFA8D7DBF49DFF /* RxMoyaProvider.swift */; }; + 3EE18FF42280B017F0C684006C09658F /* Mapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23B48C813B2402F3AD9FF052EC9919ED /* Mapper.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 4115B9A043DE968A00D88A5271CA0D20 /* InvocableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 947F3CEB646C2E5F5CCC3A694D5DD75E /* InvocableType.swift */; }; + 4123F56D3EC8768B0545E4B82EBCCC6F /* ToArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61092F00EB710652648CC90906B01AAF /* ToArray.swift */; }; + 418FA6B30D8C8590BDADB68DB9CB90D4 /* ConcurrentMainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBFCABEC1E18FC0605E7B8CA08E2B68B /* ConcurrentMainScheduler.swift */; }; + 4345F7C1BBC91E422BFF2072B46439FB /* CustomDateFormatTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F9A63CF003A40C8AADFBB44654A575C /* CustomDateFormatTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 481E2BFCD8DDC1B26812081041152FDA /* ObjectMapper-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 39549D208996BE5DB18D8F937CEAAF5E /* ObjectMapper-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 486DB8A94F18B9EF802381989C4D5412 /* Observable+Multiple.swift in Sources */ = {isa = PBXBuildFile; fileRef = A16F293C877B018E0F005ACDA307D54B /* Observable+Multiple.swift */; }; + 49973D6DC3A7FDD2445BF8658741DCEE /* ShareReplay1.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAD76713B72386E44595A2F2FC00F282 /* ShareReplay1.swift */; }; + 4BB4D022DED1BF063077B35720C94B1C /* ObserveOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EA7FA1C0B0A98ADC1DB06087AAEC106 /* ObserveOn.swift */; }; + 4CED49B3966E3A974B64ECB2A6391888 /* Map.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18386C3048D72D7A7A145BB2986C929D /* Map.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 4FF37EF0768E5B47DC3D7FADE9B4294C /* Variable.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFEC5DE8BE58F48E929605BD25D96137 /* Variable.swift */; }; + 50EA6C139EF3CF23DC6FFB638AD61FF0 /* Debunce.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D682F9FB44B0CB1CEE9C00A2D179CB6 /* Debunce.swift */; }; + 51CD367B53F177B2870D5D5475983762 /* ObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = A40CDAFED50C4265CE4576AE4BBEE54E /* ObservableType.swift */; }; + 533821E00A7618B1C54E68D2FCED26FB /* DisposeBag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16A5EA828C208BFD24CD2F5FAEF1F487 /* DisposeBag.swift */; }; + 5387216E723A3C68E851CA15573CDD71 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88E8B01B6B01D248C1166CF1B25FB931 /* Request.swift */; }; + 569C183969B37231DFF11DD1FA7973A4 /* Repeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5C2A238799AFFBB6B6196978BCACCBD /* Repeat.swift */; }; + 576A25F7839B1CA4C912550B215CEE74 /* DelaySubscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FC4B4C12479616CA6687F00F9069982 /* DelaySubscription.swift */; }; + 59A734DE29B9DD54273684DE2E4B9D68 /* PublishSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69D3A69BDD82332D8BD4A091CD5B3011 /* PublishSubject.swift */; }; + 59AF979FCB40524EC2764D656321A30E /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 941085FB48E505ED52FF2DFD9B570A8C /* Result.framework */; }; + 5CAFB3CFEBCC0184C3BCA509F453DD18 /* Merge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47E7E16CA916E78F44293D0199FD2A34 /* Merge.swift */; }; + 610B5A8F62698CCA4F325454B9311856 /* Observable+Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27A987A9BE5A61C93BDB44F06226EC10 /* Observable+Debug.swift */; }; + 61200D01A1855D7920CEF835C8BE00B0 /* DispatchQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7451013B26625E7535EA52144329C4C0 /* DispatchQueue+Alamofire.swift */; }; + 61B9FA99D3933D39E66F9FF40164623F /* Response+ObjectMapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F03D4318F25F0CEB39500AE4E751CAD /* Response+ObjectMapper.swift */; }; + 62F65AD8DC4F0F9610F4B8B4738EC094 /* ServerTrustPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D362A8F81622FFCB3073DDAFE4CEAFE /* ServerTrustPolicy.swift */; }; + 67D302BC92ECA4F825AB0A90A9B42C4D /* BooleanDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28976B353FB56B4894142CBE75C57AEA /* BooleanDisposable.swift */; }; + 689C35E8DCB4EB06678E5556F743FB8D /* ObservableType+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4FD22803010BDF119A9842011D9D306 /* ObservableType+Extensions.swift */; }; + 69499A1C8D9B30C590CEEE45CDEBF915 /* DisposeBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3C3FFB0A9CD5D3C428E9AA5BD1FB632 /* DisposeBase.swift */; }; + 6A02A5C5446ECB184384F6904ECC6004 /* Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B90E99E896E143322847EB48D6B8DF /* Image.swift */; }; + 6B7F973AA044BD69BBF11FF98A1D72AC /* TransformOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF6FA6A0FBB4A6E3A97049CECE432B2B /* TransformOf.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 6C4D599CF8228B9A123716CF219148AF /* Observable+Aggregate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 461821E4E05F78ED12628F398488B489 /* Observable+Aggregate.swift */; }; + 6D75799224123C0AF6E76E85B95504F0 /* CompositeDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C5730EB7898ECD85E81A56C334ACFCB /* CompositeDisposable.swift */; }; + 6D7CAECF25C31701D23F5A8FFEF6834D /* ConcurrentDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 299994517FBD0C7B6D5C8DF176CCEDBC /* ConcurrentDispatchQueueScheduler.swift */; }; + 7086C1435AE7A37F93956ECDE2F45AB2 /* MoyaProvider+Internal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A538DFAFE938B58C4E23FA4DFD66EEE /* MoyaProvider+Internal.swift */; }; + 7195B3AE87C39C6A13396C2169CC5B59 /* Bag+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6DED1D80CB06760836D2E06C1D5C3DF /* Bag+Rx.swift */; }; + 7269E1153109D9A90359F3B4CDFF9AC3 /* RxSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E426869E5759ADD4988779647BDC0E15 /* RxSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 74358299C22E8812951B25E05FC7536A /* Take.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B10F17AD4C03E27E7222AD7463758CE /* Take.swift */; }; + 75FC8E65A81FA6F5312FBF3CA7CA0279 /* Pods-Demo-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C5BC86D40B890A7B0844F888209CA06F /* Pods-Demo-dummy.m */; }; + 767703F3CDF33AF4D212CA11D0080087 /* Zip.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88E827F2C907C8A3D92565881ADB1933 /* Zip.swift */; }; + 775301C8444678EF9565E7C51D054227 /* Using.swift in Sources */ = {isa = PBXBuildFile; fileRef = 001A01A9BBAAF985C4C2CCAC56EEF5E8 /* Using.swift */; }; + 788074D18632C32076F8AAF0B806E2F6 /* ObservableConvertibleType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44C280A30EC8358FFFE53301CB9D0F95 /* ObservableConvertibleType.swift */; }; + 7A1A37147E8BA262F5B3EFA0DBD6E531 /* MultiTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B9457BE438B121850721D244913F87 /* MultiTarget.swift */; }; + 7B5FE28C7EA4122B0598738E54DBEBD8 /* SessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71962444539FB7396B9D54C106000318 /* SessionDelegate.swift */; }; + 7BEE4987E99DC5ECD89A68EE02D0DD96 /* StartWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E23852FF71CC0DEB9FE2F21989906A6 /* StartWith.swift */; }; + 7D8CC01E8C9EFFF9F4D65406CDE0AB66 /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5E237840A6609BCF8CEFA4499666778 /* Result.swift */; }; + 7F7D7D024F022010916E550B7632E680 /* MoyaProvider+Defaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61C9DB4990674D36715B5F5761C8EF6C /* MoyaProvider+Defaults.swift */; }; + 82807E0490107948355D8C2DC354802A /* ScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16ABD36957DB33978B84837FCFF192EF /* ScheduledItem.swift */; }; + 82B35B13CC497879A9CDEFAF27D1E8D8 /* AnonymousDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DE09CEF30354F7FA242FB21BC1110A6 /* AnonymousDisposable.swift */; }; + 82EEB128BDAF202BA152CEF5181F9D1C /* TransformType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 510C6B1526EE5616B82A0B9CDA9D74A2 /* TransformType.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 835EFEC73B71A2C116860CA63915216C /* RecursiveScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 410240AB4EBC053F20EA5B707DE02929 /* RecursiveScheduler.swift */; }; + 848F143EC43E8F37698BA94BE6C1DEB5 /* Mappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BE8B8BE4871228992D62C5C44B5C733 /* Mappable.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 84BB5EBA0C08C28C5E83D6CA263A362B /* NetworkActivityPlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7EC85AEDC2E2A82D0CC938F76EA827CF /* NetworkActivityPlugin.swift */; }; + 85680829F357777C470C561CFB2AC7D5 /* CurrentThreadScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41589DB22693FE13CD4B1D3356AED4A5 /* CurrentThreadScheduler.swift */; }; + 85A51D987014268175C505C097BFEE2B /* SubjectType.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDBC272BF1B4CF0A7D9EC558A99B0F89 /* SubjectType.swift */; }; + 85CB137AADC3D775F639748E4A303415 /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 361570831305600A477D74275FD47A1C /* Result.swift */; }; + 881511F18347A071F3D5582D84BF4FE0 /* AddRef.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88E1A739B153465D5010E227B78A2758 /* AddRef.swift */; }; + 88B81D5FB7D13E7E9D68314908CEA1DD /* AnonymousInvocable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2862F6C849E4DD5BA52DF0192209AE8 /* AnonymousInvocable.swift */; }; + 88F7DC4FEA5522AF30B0FE7FA54D225A /* ReplaySubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5AA439F5CE72FB6BDCE9D8E7C2FC82F /* ReplaySubject.swift */; }; + 88FCA119D1613899C27FE208C8D4F2B3 /* ToJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D450C5E5F9B41A0AEBE227C024A7AC6 /* ToJSON.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 8929780AA920696D8E82424093990F2C /* Disposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC5B462A0E50267C71DB1002D6C530FC /* Disposable.swift */; }; + 89588BED18CC06249EC3184E393A8987 /* ObserverType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D2993A7926C61330398C69F13B51578 /* ObserverType.swift */; }; + 8AB760A19482FCDE3000802DE1C1ACAD /* Platform.Linux.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F3734CC1B278C567A7496A5B52B3C84 /* Platform.Linux.swift */; }; + 8AF174F050E51E32AF95469FD8910010 /* Observable+ObjectMapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4A41A1EFD287ADC8565B46439DFC266 /* Observable+ObjectMapper.swift */; }; + 8B5A74BFA2A85B41F5C9100055B9C428 /* Endpoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 271CA26D8D3C3C84410F5EA450476FD2 /* Endpoint.swift */; }; + 8BD4076C8BDEB990EEE63A3F182E5068 /* AnonymousObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69C1B07ECECD96CD241C45F6567048FE /* AnonymousObserver.swift */; }; + 8C550DC81B578A597EA4E4E75E3C5997 /* TargetType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 917BD95EED1A3974F00DB0C46DA7701F /* TargetType.swift */; }; + 8C8B88BFA206E4EFCEC5FE3E2581FE14 /* Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85CDE64EE62CEF900BD4C02623FB0357 /* Event.swift */; }; + 8DC2935FFB2308F1AAAE0DF648612BE5 /* Multicast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30244BB08DFF1FFB1A855D1B04F6831C /* Multicast.swift */; }; + 8F8F4F2402BFEDB0013438F114C65074 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC29AF625DB92BBFD8CCCBB81875E4ED /* Foundation.framework */; }; + 90184FE11B09DCD0FE643B7DD36C5C42 /* RxSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E3F288750D27B1D0083671745B15000E /* RxSwift-dummy.m */; }; + 90453C40C38513917E693FE5D0E16C0C /* PriorityQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = FEE7E61E827BD52FF874DCCF2B372B71 /* PriorityQueue.swift */; }; + 90E3B80A225DCA56526D6A3AC9E1A4C9 /* SkipWhile.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFC17F63DEAE230B995CA7CF9ED2BA00 /* SkipWhile.swift */; }; + 9190E7A65D704AB6C9A1D76F74A81B2C /* Delay.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5D915CDA73F10A26D6AE06C3A0E1924 /* Delay.swift */; }; + 923B83B0141C2CFBA0E3E5EA4D7D6EFB /* SkipUntil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68AEA1CEBBDE320EC52D1A6D9B28582F /* SkipUntil.swift */; }; + 95EEA795908B9E5AEC2B4B2B7FF0DE91 /* SchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C96D0F1965C8DA43E37190CC405E198B /* SchedulerType.swift */; }; + 96C3008BC96B32B76D8FE6BFB57A69BE /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC8DAE1929C16104D738CBC62676F0B7 /* Operators.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 9701EFB020B3EB64920A7D6D2A6BC667 /* Pods-Demo-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 03EA1E60232BFA05817BC26ACB8E68BA /* Pods-Demo-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 98872FD5C8EB5AF7141598B353D817D1 /* Lock.swift in Sources */ = {isa = PBXBuildFile; fileRef = B68CA09D909C9C35F83F500BE8B2FADB /* Lock.swift */; }; + 98ECF94F6E7F84B56FB762B98FA919F3 /* MoyaError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C58EF452ACF846DAB9978B4DA04CC1A /* MoyaError.swift */; }; + 9AC88EF98E545D49357BC9FF42FBA76E /* ImmutableMappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1785506F242E020A8CD350EA4B98B82A /* ImmutableMappable.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 9BABE397916C652AF0D6F5EEB3F53C20 /* Empty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A6DF84308BCA3C3751D4ABC551E3E91 /* Empty.swift */; }; + 9E36224767ADC138A32608A0DAD5234B /* Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B997B9614AACE754B5293B08634BB9A /* Zip+arity.swift */; }; + 9E99B87DE08011358D8BD46E7D7E1876 /* RetryWhen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 715D9CFCF177861EDCAC163486970A86 /* RetryWhen.swift */; }; + 9ED2BB2981896E0A39EFA365503F58CE /* AFError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96F282656B9E4B0383EF91F723C4A798 /* AFError.swift */; }; + 9EDF6B5E3D4DBD0AA6B43B7D7E21F49F /* ScheduledItemType.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF486863A7DA411F41499E16F35226D3 /* ScheduledItemType.swift */; }; + A04BFC558D69E7DBB68023C80A9CFE4E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC29AF625DB92BBFD8CCCBB81875E4ED /* Foundation.framework */; }; + A24DAB3DED238E00758C268E995B7E73 /* Moya-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C8BC764752A616840072FD087879AE40 /* Moya-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A26131E02CC23D893C6D867BA8EA140E /* Disposables.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF02AD35E95EA5386D872A8256FA5DF3 /* Disposables.swift */; }; + A2A6F71B727312BD45CC7A4AAD7B0AB7 /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 978EDE2DD1F12CEA3E10E924279A1ACE /* NetworkReachabilityManager.swift */; }; + A2FC2A75AE09CD4EE95A0891ED878B2A /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00528C01C1D6ECFD1C67595E28A74B8 /* Error.swift */; }; + A63D559F104B052E6635C16E2F120225 /* DispatchQueueConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 634FA4438F7C60D8BB286930CD371836 /* DispatchQueueConfiguration.swift */; }; + A9EEEA7477981DEEBC72432DE9990A4B /* Alamofire-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D2791FA20215B2D7BED7B715DF495743 /* Alamofire-dummy.m */; }; + AA1444851EE7FFDEB7DF7DEB13D654DC /* String+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EC70881CC62B2BAD0142F4F4862FF18 /* String+Rx.swift */; }; + AA1C8E23CC19BE9B82E8FBAC7ECA5237 /* SingleAssignmentDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C81C0B64028E541006FD20D69EC083F2 /* SingleAssignmentDisposable.swift */; }; + ABB66F2AFFF577587F84A0FFDB8EF4D0 /* NetworkLoggerPlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89EF273707171D752A5D6770AA9C9AAD /* NetworkLoggerPlugin.swift */; }; + AC344B74518DFDC497775715DF4BA9B7 /* MainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67C7192EADD04E94A2F9C30933B3ED8E /* MainScheduler.swift */; }; + AC90DF39324E1057B63197FE45341AC1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC29AF625DB92BBFD8CCCBB81875E4ED /* Foundation.framework */; }; + AD065FAF8E3E16F23EAEDC7A919B2D63 /* SynchronizedDisposeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 984F20EEA8C37B53D1A6C320DA0D7CFF /* SynchronizedDisposeType.swift */; }; + AE1EF48399533730D0066E04B22CA2D6 /* SessionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31294E4650CEF2D1C4941007BA3ADF8D /* SessionManager.swift */; }; + AF2CB94FBE957E724EC882BE3383883C /* ObserverBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E548D95AB751ABC9000C163926E9570 /* ObserverBase.swift */; }; + AF914BEF7C1AC77D01D4CAC182592E7C /* ObjectMapper-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E3A91E43BF5292A07A49980D0E41A5 /* ObjectMapper-dummy.m */; }; + AFF28E2D0FF46B22E10CF2A8B6137616 /* LockOwnerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 311B7CACA12919D0E7AEB0ABDF39D0E7 /* LockOwnerType.swift */; }; + B0989FAE22DBC3BB0C3930ED56532FC0 /* Do.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54279F3D573AF7F58CD73D54BCE2A1B7 /* Do.swift */; }; + B0A24E03FFAAEB71AFB24DF7C648F28B /* SerialDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33F1D7943C3EC5C7B763A513FAA5C3A1 /* SerialDispatchQueueScheduler.swift */; }; + B0E8FB83845152C5A317B7EC56604409 /* HistoricalSchedulerTimeConverter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 089D1180CC7B6D68576B1C11E21827E5 /* HistoricalSchedulerTimeConverter.swift */; }; + B482BDC30506CA18C751FEADD50FEA77 /* Map.swift in Sources */ = {isa = PBXBuildFile; fileRef = 920788B5E2EE1D8970BDD7D257B65196 /* Map.swift */; }; + B49D79979E508F034CE730222B8F427A /* EnumOperators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F6037D2E43B7425871BB04035C13F34 /* EnumOperators.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + B5C297054808E61CA8F05CD246D91CDC /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = C62A3925E333894DEA55B1062F2E884F /* Errors.swift */; }; + B65FCF589DA398C3EFE0128064E510EC /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0FA57D0F7177D2AE0773A8BE97E8354 /* MultipartFormData.swift */; }; + B687EC65B43E0ADB8802A153BD75FEDA /* InvocableScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC0D95521C8C9574A3B4027F13314C10 /* InvocableScheduledItem.swift */; }; + B79EA446C81D7E8DC2D8F00DBD155D4A /* Cancelable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CC91EE382CF121F0C29CB75012FE1DD /* Cancelable.swift */; }; + B801D52816DF0D0326D2A87867513367 /* Moya+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1220547CC505BA4F136BD046D50F69C7 /* Moya+Alamofire.swift */; }; + B812515DC38D8BDF48A318BE0255349F /* AnonymousObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7045DB9AEC9AA6E2AA25B6C356E487D2 /* AnonymousObservable.swift */; }; + B913598FB3FD3306D1254DE644EAFF56 /* SubscriptionDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71F1C26763A29FEDD112C7EF7459ADE9 /* SubscriptionDisposable.swift */; }; + B9997F46D23483D11A9343D55E60C783 /* TakeWhile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 531EFA1FAC84D2B0E2FE9D212524D61D /* TakeWhile.swift */; }; + BB1C904265CAB0AF90C22765F76A4CCC /* Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A49E0AC5C4D91F53CBE30EA21C9A55F /* Debug.swift */; }; + BBEFE2F9CEB73DC7BD97FFA66A0D9D4F /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 474826AAFDEC0E7F21EA49108DBDA9E5 /* Validation.swift */; }; + BD957B3FA3ED8780F7C4F8540495898B /* SynchronizedOnType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48D71B2E2D88FA4AE2BFE6A2E69806AB /* SynchronizedOnType.swift */; }; + BDA48D5B2155B3F81B8C4D26F64DC8E6 /* Concat.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5C6840CC55A1EC19C830B9C22AFC248 /* Concat.swift */; }; + BE5C67A07E289FE1F9BE27335B159997 /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = B907A30DAF740A8B2916C8352A7E5AD9 /* ParameterEncoding.swift */; }; + BEB24D0C614DC6F397D09A5DBAC8E671 /* FromJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22A1B59552BC8E77EDAC2FE05F244FC8 /* FromJSON.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + BF6631BC5DAE90CD147EBEF561C4DB87 /* MoyaAvailability.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69E7D389032EF8EA4806DB90704D6489 /* MoyaAvailability.swift */; }; + C23E0A28EE008081F068D79EBB1D0DC8 /* Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35ECDE3319D5F2CC72045284CB631A4C /* Rx.swift */; }; + C3D7F06A52A874E2ED3BD55C2D787AFF /* DataTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE28CCC1592625D20D052E0212B27A6C /* DataTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + C583AC60835DD84F0AF9759B12FB5B3C /* Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = D990992D5702D3942662D3D6C85C4E3A /* Reactive.swift */; }; + C5E17E1F3E9BA19E5D6F1B348C28F4B9 /* Buffer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FC3E43272FC31C2E7D4D9B952D37ADE /* Buffer.swift */; }; + C6157895583AC820683CACF190B04F5A /* ElementAt.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7B751D95762C8AD8283D675C900BC22 /* ElementAt.swift */; }; + C77DB0AB6C1839A949D3C2A04C7E5564 /* Reduce.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93C161556808B561A5D23229C71741B4 /* Reduce.swift */; }; + C8063C99F0D0898DE966C79C7F408EA1 /* Timeout.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9FCFE119C98031F129D62D90EFB4E9C /* Timeout.swift */; }; + C8647B547B0AA650F2FD380DB4E13D6D /* Moya-ObjectMapper-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 62384D07F2721B9F6F37280C5563A146 /* Moya-ObjectMapper-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C9506FC5BB311015E959E3C9CC25CAFF /* DistinctUntilChanged.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80B617FAF10D272094D9EA70DB29339C /* DistinctUntilChanged.swift */; }; + C9A17642EE542D2FB49394D3F347C6C5 /* VirtualTimeConverterType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59EDF2A162910D8D2C38684F084BDB12 /* VirtualTimeConverterType.swift */; }; + CA4D15B078B3BD4B91C7849F16E040E1 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D443B303EF315755B19810A6928CC875 /* Alamofire.framework */; }; + CA54EB6A4C8747EE3AA917B1DBBE25E8 /* Optional.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68719B9C4CA94288D3379D7CE2BB4188 /* Optional.swift */; }; + CB6D00182C820C7D1C2B4D7B655836C1 /* Never.swift in Sources */ = {isa = PBXBuildFile; fileRef = 448FA2149E14A0A308243A4D173D029D /* Never.swift */; }; + CB6D60925223897FFA2662667DF83E8A /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19D4B894754A534A322784A0E693E4D6 /* Response.swift */; }; + CB79D91EDC2EEED47FED602244DAC69D /* WithLatestFrom.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77D2AA2C7CA768DBD6FDE3CF6B73B9D7 /* WithLatestFrom.swift */; }; + CBA1D186FB1C0B4FC6ED2376A931485E /* Observable+Single.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52BF64F17BC3A6B2E4C8A45EDCFCB771 /* Observable+Single.swift */; }; + CE752C436ABC8898B95A66D78CB8191B /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 941085FB48E505ED52FF2DFD9B570A8C /* Result.framework */; }; + CEAB10DA650956236D26930477EDF4BE /* SerialDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92852A13DA6A40E1C8B7455A6225E012 /* SerialDisposable.swift */; }; + D0E9ACD33593A247E3917A6E0320A40B /* Just.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBEF16A23395E97A20C58604B54E08D7 /* Just.swift */; }; + D11FDF5AA69D08B83E8718C717957AF0 /* AccessTokenPlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECBB5858149DB06ECA0C5CE2728E5E9F /* AccessTokenPlugin.swift */; }; + D13731A27C500184957DCB28157AB704 /* MapError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A48EABB4F3EC8436A7099D3AFEF085D /* MapError.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + D18AF0E13B1C9C0185AF6CAF1B1EB398 /* ConnectableObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 491E9F51BBA345ED15BC8791407DBFD2 /* ConnectableObservableType.swift */; }; + D3A1BD21F5AA4FA25B799B68B54063E5 /* Moya-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F156469041BAA4EC3DF737346CC92E2A /* Moya-dummy.m */; }; + D3C6B770C7598E9C1C3B9854136893F3 /* MoyaProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9139B23888F6BEFACCC081690D2DC260 /* MoyaProvider.swift */; }; + D6937604775DE4B6E383EEE748F086DE /* InfiniteSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77A24139F62337CB68BD2061FB919149 /* InfiniteSequence.swift */; }; + D8A343DC2A3BE2487B6B986B92CD4172 /* Observable+StandardSequenceOperators.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6831F167F98E32606C2E8D59D1FAD02 /* Observable+StandardSequenceOperators.swift */; }; + D90145725D5D8C403490396E6C5B5944 /* SubscribeOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93EEA6AFD633C8E47F52B077C2358C4A /* SubscribeOn.swift */; }; + D929FAADF7CB5A921BE947EABBC8A512 /* ObserveOnSerialDispatchQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 862E88AE9C4B8980E93F04C7D2124BEB /* ObserveOnSerialDispatchQueue.swift */; }; + DA55B320A88A0391F8CF0CD69951390A /* ISO8601DateTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBFF4EE4623ADDF5371B3382CBB42AD4 /* ISO8601DateTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + DB182BA719341AD5264E1E99BF3CD755 /* OperationQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B1F66BF8478CB1D1FD5E2BA23DE8010 /* OperationQueueScheduler.swift */; }; + DB52980EE134EC32EBD4DA40E24AB6CE /* RefCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17AF486587BDC230E21727D32AB90050 /* RefCount.swift */; }; + DCB35A5A589C72D2491A290020898BF5 /* Queue.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD43ADD20EDC166080D72FDEB83481B7 /* Queue.swift */; }; + DE132A60E6F220C78A1BDB4E64507B4F /* Observable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23FB27E435E934D4E0927DC9C8B671C7 /* Observable.swift */; }; + DED5F7CF1B8DDFF95F456610BA0043D7 /* RxMutableBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8071DBD5E1EB5ED844540A663EED7050 /* RxMutableBox.swift */; }; + E167BF197D45C0533DFD5987CA042640 /* TakeUntil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6E875FC80EC938C7AEAEB00A2DC23 /* TakeUntil.swift */; }; + E31C1B6590C2FD19A3DFC8F4AE54DA44 /* SynchronizedUnsubscribeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC222A81F62ED6B9BDABA6B31F09BC86 /* SynchronizedUnsubscribeType.swift */; }; + E63D94CF23960E905978B3DAE95125D7 /* Cancellable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E137ED6147E92A391DDC1D94C9297BC /* Cancellable.swift */; }; + E681F32257FFC3C5EF5DBBF091550888 /* Range.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EE0E5592D4ED38DE9331753EE50A1C1 /* Range.swift */; }; + E9674E861DAB4BD6475368C1E7F84098 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D443B303EF315755B19810A6928CC875 /* Alamofire.framework */; }; + EC3A2C26D5DE26417E77811F334ACC4B /* Scan.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB4A69318FE1F6625FA4D6E6B04164EE /* Scan.swift */; }; + ED63927DE90D567408593796F02C51BE /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32041DD6BF48DBB13B4D4CF9DBBD433C /* Response.swift */; }; + EF1517A6D94EEF43608B044258B28F41 /* Switch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CA45F6FEED5CF280F9217401D3246A8 /* Switch.swift */; }; + EF16CC75D347186F4DD61A34DB325829 /* CredentialsPlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = A260C3A8AAD514FA39EBA5BBD70E6EA7 /* CredentialsPlugin.swift */; }; + EFD264FC408EBF3BA2528E70B08DDD94 /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = 247511870F098D8E8ED8F764D35EE74C /* Notifications.swift */; }; + EFE52344BD25C370CB7487B85CB93A0B /* HistoricalScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 185D79F89F2853FAA167F36844346006 /* HistoricalScheduler.swift */; }; + F2E82F7E4AADB73AD627E1558470034B /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6FA37D22EF5F7283001917431946D32B /* MultipartFormData.swift */; }; + F3DF171DAA677F58667F4B082DEB57DB /* Observable+Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A55B7262F0222A6165E1D4ECC9923E2 /* Observable+Response.swift */; }; + F515A676FBE19E2E6FF4FC2E027E7A73 /* ConnectableObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F00D9ACE9E00E8092E90B935F2B3374C /* ConnectableObservable.swift */; }; + F6BECD98B97CBFEBE2C96F0E9E72A6C0 /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33AF1B747B75DC6AD72EA5E400438C04 /* ResponseSerialization.swift */; }; + F70E4E828BBCB8F3C44A317DE2F3917F /* Observable+Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97D52C2DC05BB77D2515C8DCABE13305 /* Observable+Concurrency.swift */; }; + F73187BEA0CBBA86A583249952AC9BA1 /* Deferred.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB0872972C7A94960B5A21833E92E3CE /* Deferred.swift */; }; + F7CFD722703CA5D7CCFC13A754BD6DCD /* Sink.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4602D9199D4A5DEB41516E524E997DAD /* Sink.swift */; }; + F848F6B849AC676138C7653FC32F51A1 /* Observable+Creation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 059F5B56C073FBF3FF48ADA6AD697291 /* Observable+Creation.swift */; }; + F853B139BD1F19416B874B2FDAF7E89F /* Window.swift in Sources */ = {isa = PBXBuildFile; fileRef = A44577780DF188E11DFD37845EF6B62E /* Window.swift */; }; + F8B3D3092ED0417E8CDF32033F6122F5 /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB9199241C15F461B5C347D88A56D71D /* Alamofire.swift */; }; + FBD621E160C7E441A8940DF19E8C1F56 /* TransformOperators.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA132060BB1F6FB4E6D4C59377702C73 /* TransformOperators.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + FC5075412755DDFAF3BBE70DACFAB357 /* Result-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D248015D58C51966F7B60D8E9BDEB00 /* Result-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FCCFBB4240AA0F369C1845E29021B3C9 /* Sequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 674B4172612AC88059B858A045DBE4F4 /* Sequence.swift */; }; + FEC550CD63834BE17F7C23FCC2623A22 /* BinaryDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F5500AF4CC3CDF139446E9CFA68559C /* BinaryDisposable.swift */; }; + FF67F4BEBA601632CDD416B1EB234C79 /* HexColorTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD6AD3323A5D6AC0D1E6C3BBF73B4ECC /* HexColorTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + FF71E0A4A25997386D3EC3A57B37D9BA /* Timer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45AF2D9C476254EC89300079A8F74F0E /* Timer.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 1F69A68CCFD8A393D4DBE76C151CE07C /* PBXContainerItemProxy */ = { + 172BFED3498D5C686525F100B519327F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 2ED02EC9E5EE712D362F31DA0BCE0538; - remoteInfo = "Moya-ObjectMapper"; + remoteGlobalIDString = EFDB85DF4827734B35E8A46720ACAEE0; + remoteInfo = Result; }; - 2911E6FCDF46CD5B6883BF69024D7BB0 /* PBXContainerItemProxy */ = { + 2FCB5E9BBEB9FEA8F764DD24E1B328EA /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 79C040AFDDCE1BCBF6D8B5EB0B85887F; + remoteGlobalIDString = 88E9EC28B8B46C3631E6B242B50F4442; remoteInfo = Alamofire; }; - 2C82D9EDB14351F4CB54D95B232A6052 /* PBXContainerItemProxy */ = { + 448CBA2B5AAF3C314D4E4B32B447453F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = AA691A34C2489F4467C1F13FA615D956; - remoteInfo = Result; + remoteGlobalIDString = 88E9EC28B8B46C3631E6B242B50F4442; + remoteInfo = Alamofire; }; - 37729F922264B4C581C2DB5CEDEAB2DE /* PBXContainerItemProxy */ = { + 563430843E61782275D71EED528CBEFF /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = FC4D2B698B3E2F7F2F9B719F47713C41; - remoteInfo = RxSwift; + remoteGlobalIDString = 88E9EC28B8B46C3631E6B242B50F4442; + remoteInfo = Alamofire; }; - 3F7E44F7029003AA45126B701F38073D /* PBXContainerItemProxy */ = { + 5C018009CFFB83E9435346DF3A9FFD0D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 79C040AFDDCE1BCBF6D8B5EB0B85887F; - remoteInfo = Alamofire; + remoteGlobalIDString = EFDB85DF4827734B35E8A46720ACAEE0; + remoteInfo = Result; }; - 4644D7FE0D5460AE808081B0D0093549 /* PBXContainerItemProxy */ = { + 6E912DC97156EABFDE2C4B6EF06784DF /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 477129E5F1C34767720355B372594326; - remoteInfo = Moya; + remoteGlobalIDString = 421F6BEF92744C4CA9E5F012EC4C5C8F; + remoteInfo = ObjectMapper; }; - 4D866A4C350EFC11209FAD2A32E86F2D /* PBXContainerItemProxy */ = { + 7E295E22CA5CAC345532DF47CADAE8EA /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 79C040AFDDCE1BCBF6D8B5EB0B85887F; - remoteInfo = Alamofire; + remoteGlobalIDString = 421F6BEF92744C4CA9E5F012EC4C5C8F; + remoteInfo = ObjectMapper; }; - 55813FA45DB2C172E0FE3CDA0149C37B /* PBXContainerItemProxy */ = { + 8FAC931D00AB3A674FF42918D2F7109F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 477129E5F1C34767720355B372594326; - remoteInfo = Moya; + remoteGlobalIDString = C419A9BCC9AACDC44A26B80764B6B554; + remoteInfo = RxSwift; }; - 597BD482E73BA0C56E7F3DBE70AD50DC /* PBXContainerItemProxy */ = { + A1AF79BA4FFB31FAEFB631D90EA93418 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = FC4D2B698B3E2F7F2F9B719F47713C41; - remoteInfo = RxSwift; + remoteGlobalIDString = EFDB85DF4827734B35E8A46720ACAEE0; + remoteInfo = Result; }; - 749E481454EE9D895177910AF420159F /* PBXContainerItemProxy */ = { + C5B2FDD1C7D0714C981FAA527CA63027 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = AA691A34C2489F4467C1F13FA615D956; - remoteInfo = Result; + remoteGlobalIDString = 2A6D0851BA24DD25864CB23A3A83B9CC; + remoteInfo = Moya; }; - A5D41D1E818B7D40A53956E884FF957F /* PBXContainerItemProxy */ = { + D4D369F3E79C27EA7752DBEACC034F00 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 38D33A40D89A678EA3AFCCA7D5EFFDF1; - remoteInfo = ObjectMapper; + remoteGlobalIDString = C419A9BCC9AACDC44A26B80764B6B554; + remoteInfo = RxSwift; }; - C5C190A36883ADC8FAFF5C5C6C73D354 /* PBXContainerItemProxy */ = { + D7002BCB9BC9247E198B9809447F6EF6 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = AA691A34C2489F4467C1F13FA615D956; - remoteInfo = Result; + remoteGlobalIDString = 2A6D0851BA24DD25864CB23A3A83B9CC; + remoteInfo = Moya; }; - C6C70B57949658A32F964846C82FCCAD /* PBXContainerItemProxy */ = { + DB9F2D9BCF03D2D690ABC2C1540B4367 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = FC4D2B698B3E2F7F2F9B719F47713C41; - remoteInfo = RxSwift; + remoteGlobalIDString = 49C6564B2E2D0A1604946BAD65772E21; + remoteInfo = "Moya-ObjectMapper"; }; - EA4300586589D264D14CAA422AB05727 /* PBXContainerItemProxy */ = { + E8E16664D5BFAA9326D20B666C748F50 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 38D33A40D89A678EA3AFCCA7D5EFFDF1; - remoteInfo = ObjectMapper; + remoteGlobalIDString = C419A9BCC9AACDC44A26B80764B6B554; + remoteInfo = RxSwift; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 0230015CAF85247AE4467B0ED711D0B4 /* FromJSON.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FromJSON.swift; path = Sources/FromJSON.swift; sourceTree = ""; }; - 02499690F45A2FCD365176FFA84CBF8C /* Sequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sequence.swift; path = RxSwift/Observables/Implementations/Sequence.swift; sourceTree = ""; }; + 001A01A9BBAAF985C4C2CCAC56EEF5E8 /* Using.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Using.swift; path = RxSwift/Observables/Implementations/Using.swift; sourceTree = ""; }; + 03D56CE2D96AFC4183E10A4B6E4A7528 /* RxSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = RxSwift.modulemap; sourceTree = ""; }; 03EA1E60232BFA05817BC26ACB8E68BA /* Pods-Demo-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Demo-umbrella.h"; sourceTree = ""; }; - 04087A92A3C533959940632B012DB1A0 /* Bag+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bag+Rx.swift"; path = "RxSwift/Extensions/Bag+Rx.swift"; sourceTree = ""; }; - 07204AFA1A99267D790CF67DDCB99384 /* Moya+Internal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Moya+Internal.swift"; path = "Source/Moya+Internal.swift"; sourceTree = ""; }; - 087AC567FFD070A05DEBFE4D81FF615E /* Timeline.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeline.swift; path = Source/Timeline.swift; sourceTree = ""; }; - 0A1C1DEEB73FBEFC4DFFED39DE3FE6DD /* OperationQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OperationQueueScheduler.swift; path = RxSwift/Schedulers/OperationQueueScheduler.swift; sourceTree = ""; }; - 0E2A56194AF99209A01661A9492B6605 /* DateTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DateTransform.swift; path = Sources/DateTransform.swift; sourceTree = ""; }; - 0ED92947E105E33971F207B3EDFF15E9 /* Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rx.swift; path = RxSwift/Rx.swift; sourceTree = ""; }; - 106ECA30E1F7D0DBD1E6996A6C92CF0F /* HistoricalScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HistoricalScheduler.swift; path = RxSwift/Schedulers/HistoricalScheduler.swift; sourceTree = ""; }; - 1198984BD12BC01C2DB2C57751EF8D2E /* CombineLatest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CombineLatest.swift; path = RxSwift/Observables/Implementations/CombineLatest.swift; sourceTree = ""; }; - 12ADCADB6669185BD180B2C3A7C58E95 /* CombineLatest+Collection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CombineLatest+Collection.swift"; path = "RxSwift/Observables/Implementations/CombineLatest+Collection.swift"; sourceTree = ""; }; - 12BBF3F9FD009E9873977420F9F42D44 /* ObjectMapper.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ObjectMapper.xcconfig; sourceTree = ""; }; - 131C8888FF2AAD8BDA9FF777B1FF25B1 /* DateFormatterTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DateFormatterTransform.swift; path = Sources/DateFormatterTransform.swift; sourceTree = ""; }; - 13C1093B247BFE0678E19939ECDA77E3 /* ConnectableObservable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConnectableObservable.swift; path = RxSwift/Observables/Implementations/ConnectableObservable.swift; sourceTree = ""; }; - 13C85615E85030E1AEEBDB904E1DEB0F /* ReplaySubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ReplaySubject.swift; path = RxSwift/Subjects/ReplaySubject.swift; sourceTree = ""; }; - 14D7ABA7021CFE536F5D046517AB72CE /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 1685B91B4B2083B1D601FD14D3D34BC2 /* Observable+Aggregate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Aggregate.swift"; path = "RxSwift/Observables/Observable+Aggregate.swift"; sourceTree = ""; }; + 059F5B56C073FBF3FF48ADA6AD697291 /* Observable+Creation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Creation.swift"; path = "RxSwift/Observables/Observable+Creation.swift"; sourceTree = ""; }; + 075728ECE5DF455D2ABDA1D6632BBA8E /* Generate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generate.swift; path = RxSwift/Observables/Implementations/Generate.swift; sourceTree = ""; }; + 089D1180CC7B6D68576B1C11E21827E5 /* HistoricalSchedulerTimeConverter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HistoricalSchedulerTimeConverter.swift; path = RxSwift/Schedulers/HistoricalSchedulerTimeConverter.swift; sourceTree = ""; }; + 0BDBFF369BF78CD38C31AA9803E20EB6 /* Result-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Result-dummy.m"; sourceTree = ""; }; + 0C465902838FEEAAB473FEB6674FBE84 /* URLTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = URLTransform.swift; path = Sources/URLTransform.swift; sourceTree = ""; }; + 0C5730EB7898ECD85E81A56C334ACFCB /* CompositeDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompositeDisposable.swift; path = RxSwift/Disposables/CompositeDisposable.swift; sourceTree = ""; }; + 0D2993A7926C61330398C69F13B51578 /* ObserverType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserverType.swift; path = RxSwift/ObserverType.swift; sourceTree = ""; }; + 0DA8B6B7ED23DCA10C9D43FBD5D04240 /* CombineLatest+Collection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CombineLatest+Collection.swift"; path = "RxSwift/Observables/Implementations/CombineLatest+Collection.swift"; sourceTree = ""; }; + 0E0993D947FE3864F3CFD8844488F194 /* CombineLatest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CombineLatest.swift; path = RxSwift/Observables/Implementations/CombineLatest.swift; sourceTree = ""; }; + 0EE0E5592D4ED38DE9331753EE50A1C1 /* Range.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Range.swift; path = RxSwift/Observables/Implementations/Range.swift; sourceTree = ""; }; + 1220547CC505BA4F136BD046D50F69C7 /* Moya+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Moya+Alamofire.swift"; path = "Sources/Moya/Moya+Alamofire.swift"; sourceTree = ""; }; + 16A5EA828C208BFD24CD2F5FAEF1F487 /* DisposeBag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DisposeBag.swift; path = RxSwift/Disposables/DisposeBag.swift; sourceTree = ""; }; 16A860D8F4BF07CDAABA319C5E5658A4 /* Moya.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Moya.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 174F74364889D5858C445F74709748BC /* Moya.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Moya.swift; path = Source/Moya.swift; sourceTree = ""; }; - 178C789BB4D04957A5FC6203D9BE569D /* Debug.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debug.swift; path = RxSwift/Observables/Implementations/Debug.swift; sourceTree = ""; }; - 180A6816B6C90770AD259F41901085F3 /* AnonymousObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousObserver.swift; path = RxSwift/Observers/AnonymousObserver.swift; sourceTree = ""; }; - 1916F5BF7F9B5AE2A46F8F5C65CA1F8E /* RetryWhen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RetryWhen.swift; path = RxSwift/Observables/Implementations/RetryWhen.swift; sourceTree = ""; }; - 19BD42BD53ED7DEFE9E5F3D28585F7AA /* Alamofire.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.xcconfig; sourceTree = ""; }; - 1AD1773F9C42D5618C535CE2223DA748 /* SynchronizedUnsubscribeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedUnsubscribeType.swift; path = RxSwift/Concurrency/SynchronizedUnsubscribeType.swift; sourceTree = ""; }; - 1B672F0311073576317450388570D23D /* Alamofire-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-prefix.pch"; sourceTree = ""; }; - 1B80D8330400645BA42A8A201C1C782C /* Producer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Producer.swift; path = RxSwift/Observables/Implementations/Producer.swift; sourceTree = ""; }; - 1E45E9314AF405B91BA42433AC880F81 /* Observable+Moya.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Moya.swift"; path = "Source/RxSwift/Observable+Moya.swift"; sourceTree = ""; }; - 1F0CAE9BA691989D685657E104B2EC52 /* Event.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Event.swift; path = RxSwift/Event.swift; sourceTree = ""; }; - 20DD270CDE02745A10E7325CE8F2CEFF /* InvocableScheduledItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InvocableScheduledItem.swift; path = RxSwift/Schedulers/Internal/InvocableScheduledItem.swift; sourceTree = ""; }; - 2600FCD8359D9DE2BC0D50ACFD77BA94 /* RxSwift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxSwift.xcconfig; sourceTree = ""; }; - 265046C808A2B7508D2A3BE8BD777FF5 /* ServerTrustPolicy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ServerTrustPolicy.swift; path = Source/ServerTrustPolicy.swift; sourceTree = ""; }; + 16ABD36957DB33978B84837FCFF192EF /* ScheduledItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledItem.swift; path = RxSwift/Schedulers/Internal/ScheduledItem.swift; sourceTree = ""; }; + 1785506F242E020A8CD350EA4B98B82A /* ImmutableMappable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImmutableMappable.swift; path = Sources/ImmutableMappable.swift; sourceTree = ""; }; + 17AF486587BDC230E21727D32AB90050 /* RefCount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RefCount.swift; path = RxSwift/Observables/Implementations/RefCount.swift; sourceTree = ""; }; + 18386C3048D72D7A7A145BB2986C929D /* Map.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Map.swift; path = Sources/Map.swift; sourceTree = ""; }; + 185D79F89F2853FAA167F36844346006 /* HistoricalScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HistoricalScheduler.swift; path = RxSwift/Schedulers/HistoricalScheduler.swift; sourceTree = ""; }; + 19D4B894754A534A322784A0E693E4D6 /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Response.swift; path = Source/Response.swift; sourceTree = ""; }; + 1A6DF84308BCA3C3751D4ABC551E3E91 /* Empty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Empty.swift; path = RxSwift/Observables/Implementations/Empty.swift; sourceTree = ""; }; + 1AB30791C65EA80A438E8F29CDF1FAEF /* ImmediateScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImmediateScheduler.swift; path = RxSwift/Schedulers/ImmediateScheduler.swift; sourceTree = ""; }; + 1D248015D58C51966F7B60D8E9BDEB00 /* Result-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-umbrella.h"; sourceTree = ""; }; + 1EBE756789908655CF02C6614C8CD996 /* DispatchQueue+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Extensions.swift"; path = "Platform/DispatchQueue+Extensions.swift"; sourceTree = ""; }; + 1EC70881CC62B2BAD0142F4F4862FF18 /* String+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Rx.swift"; path = "RxSwift/Extensions/String+Rx.swift"; sourceTree = ""; }; + 200362AE0EEA5FB575BA356B40ACAB23 /* Alamofire-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-umbrella.h"; sourceTree = ""; }; + 21F75E0389416036BEAAA33A967B5A7D /* RxSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxSwift-prefix.pch"; sourceTree = ""; }; + 22A1B59552BC8E77EDAC2FE05F244FC8 /* FromJSON.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FromJSON.swift; path = Sources/FromJSON.swift; sourceTree = ""; }; + 2356199D1A4139FC6A35FC34DF807D79 /* ObjectMapper-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ObjectMapper-prefix.pch"; sourceTree = ""; }; + 23B48C813B2402F3AD9FF052EC9919ED /* Mapper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Mapper.swift; path = Sources/Mapper.swift; sourceTree = ""; }; + 23FB27E435E934D4E0927DC9C8B671C7 /* Observable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Observable.swift; path = RxSwift/Observable.swift; sourceTree = ""; }; + 247511870F098D8E8ED8F764D35EE74C /* Notifications.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Notifications.swift; path = Source/Notifications.swift; sourceTree = ""; }; + 271CA26D8D3C3C84410F5EA450476FD2 /* Endpoint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Endpoint.swift; path = Sources/Moya/Endpoint.swift; sourceTree = ""; }; + 27A987A9BE5A61C93BDB44F06226EC10 /* Observable+Debug.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Debug.swift"; path = "RxSwift/Observables/Observable+Debug.swift"; sourceTree = ""; }; + 28976B353FB56B4894142CBE75C57AEA /* BooleanDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BooleanDisposable.swift; path = RxSwift/Disposables/BooleanDisposable.swift; sourceTree = ""; }; + 299994517FBD0C7B6D5C8DF176CCEDBC /* ConcurrentDispatchQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConcurrentDispatchQueueScheduler.swift; path = RxSwift/Schedulers/ConcurrentDispatchQueueScheduler.swift; sourceTree = ""; }; + 2A4DB0D7E8F0EF0D4872EEB2EE3ED0BD /* Observable+Time.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Time.swift"; path = "RxSwift/Observables/Observable+Time.swift"; sourceTree = ""; }; + 2A55B7262F0222A6165E1D4ECC9923E2 /* Observable+Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Response.swift"; path = "Sources/RxMoya/Observable+Response.swift"; sourceTree = ""; }; 2B87CCF9A5173095B333FB06CA24E143 /* ObjectMapper.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ObjectMapper.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 2BF9F4843AA1C0265CE5641EB89C0C34 /* SingleAssignmentDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SingleAssignmentDisposable.swift; path = RxSwift/Disposables/SingleAssignmentDisposable.swift; sourceTree = ""; }; - 2C056C8037BAE328084785A74A578844 /* ResponseSerialization.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResponseSerialization.swift; path = Source/ResponseSerialization.swift; sourceTree = ""; }; - 2D51099E12209F1971A9EB259281F38D /* URLTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = URLTransform.swift; path = Sources/URLTransform.swift; sourceTree = ""; }; - 31B83646CFA2AE2F71AE2424520E7478 /* Amb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Amb.swift; path = RxSwift/Observables/Implementations/Amb.swift; sourceTree = ""; }; - 321F3851EEF3814D86D10D901D877663 /* ConnectableObservableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConnectableObservableType.swift; path = RxSwift/ConnectableObservableType.swift; sourceTree = ""; }; - 322419E99883B306EE7EC77959FCC8DF /* Pods-Demo.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-Demo.modulemap"; sourceTree = ""; }; - 328F20E5B058707C1FF9B85B99F69253 /* Map.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Map.swift; path = Sources/Map.swift; sourceTree = ""; }; - 34701DA9E60EA2E69BEF943B3D7461E0 /* Mapper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Mapper.swift; path = Sources/Mapper.swift; sourceTree = ""; }; - 34E209AAE1030DE3C2A482B5E9483ADA /* RefCountDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RefCountDisposable.swift; path = RxSwift/Disposables/RefCountDisposable.swift; sourceTree = ""; }; - 363E0FA126F5FC6EC2A9234F8B32D1E2 /* AFError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AFError.swift; path = Source/AFError.swift; sourceTree = ""; }; - 36605BF9A96C4297EABEEBB0C3050B01 /* Observable+Creation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Creation.swift"; path = "RxSwift/Observables/Observable+Creation.swift"; sourceTree = ""; }; - 39AEE3CC1B7AFE910ABBDCEABA43888F /* InfiniteSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InfiniteSequence.swift; path = Platform/DataStructures/InfiniteSequence.swift; sourceTree = ""; }; - 39CB11F2F06DFB5EA5B0AFE8A52FB34B /* VirtualTimeConverterType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VirtualTimeConverterType.swift; path = RxSwift/Schedulers/VirtualTimeConverterType.swift; sourceTree = ""; }; - 3A77F36A4D0549443CDC49CFE1911400 /* CredentialsPlugin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CredentialsPlugin.swift; path = Source/Plugins/CredentialsPlugin.swift; sourceTree = ""; }; - 3BCCD7FA7BBFA725A1B34B170FA8B6C1 /* NetworkActivityPlugin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkActivityPlugin.swift; path = Source/Plugins/NetworkActivityPlugin.swift; sourceTree = ""; }; - 3BCED95C2FBBFD5E695850A12F5CBA46 /* PublishSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PublishSubject.swift; path = RxSwift/Subjects/PublishSubject.swift; sourceTree = ""; }; + 2C3836EA1EEDCFB91F53ADEEF5003CEE /* Platform.Darwin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Darwin.swift; path = Platform/Platform.Darwin.swift; sourceTree = ""; }; + 2F9A63CF003A40C8AADFBB44654A575C /* CustomDateFormatTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomDateFormatTransform.swift; path = Sources/CustomDateFormatTransform.swift; sourceTree = ""; }; + 30244BB08DFF1FFB1A855D1B04F6831C /* Multicast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Multicast.swift; path = RxSwift/Observables/Implementations/Multicast.swift; sourceTree = ""; }; + 303053D6DE6735DDC4B30D3BD13868E4 /* Observable+Binding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Binding.swift"; path = "RxSwift/Observables/Observable+Binding.swift"; sourceTree = ""; }; + 311B7CACA12919D0E7AEB0ABDF39D0E7 /* LockOwnerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LockOwnerType.swift; path = RxSwift/Concurrency/LockOwnerType.swift; sourceTree = ""; }; + 3120F5E86BA1965D7737BFF38589972B /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 31294E4650CEF2D1C4941007BA3ADF8D /* SessionManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionManager.swift; path = Source/SessionManager.swift; sourceTree = ""; }; + 32041DD6BF48DBB13B4D4CF9DBBD433C /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Response.swift; path = Sources/Moya/Response.swift; sourceTree = ""; }; + 322419E99883B306EE7EC77959FCC8DF /* Pods-Demo.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-Demo.modulemap"; sourceTree = ""; }; + 32B9457BE438B121850721D244913F87 /* MultiTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultiTarget.swift; path = Sources/Moya/MultiTarget.swift; sourceTree = ""; }; + 33AF1B747B75DC6AD72EA5E400438C04 /* ResponseSerialization.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResponseSerialization.swift; path = Source/ResponseSerialization.swift; sourceTree = ""; }; + 33F1D7943C3EC5C7B763A513FAA5C3A1 /* SerialDispatchQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SerialDispatchQueueScheduler.swift; path = RxSwift/Schedulers/SerialDispatchQueueScheduler.swift; sourceTree = ""; }; + 35ECDE3319D5F2CC72045284CB631A4C /* Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rx.swift; path = RxSwift/Rx.swift; sourceTree = ""; }; + 361570831305600A477D74275FD47A1C /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Result/Result.swift; sourceTree = ""; }; + 39549D208996BE5DB18D8F937CEAAF5E /* ObjectMapper-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ObjectMapper-umbrella.h"; sourceTree = ""; }; + 3CA45F6FEED5CF280F9217401D3246A8 /* Switch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Switch.swift; path = RxSwift/Observables/Implementations/Switch.swift; sourceTree = ""; }; 3CD5A30239C90F1B549B4AB9299ECF16 /* Pods-Demo-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Demo-frameworks.sh"; sourceTree = ""; }; 3D653C9DA16200D75AD14323AA830C6B /* Pods-Demo-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Demo-resources.sh"; sourceTree = ""; }; - 3E0567DF533FC99199CEC63B53F19581 /* Empty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Empty.swift; path = RxSwift/Observables/Implementations/Empty.swift; sourceTree = ""; }; - 3E92444A665EA3A98EFF401EF3564597 /* ImmediateScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImmediateScheduler.swift; path = RxSwift/Schedulers/ImmediateScheduler.swift; sourceTree = ""; }; - 3F65F82E68DC581C82FCD9A091AC3C5C /* ShareReplay1WhileConnected.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ShareReplay1WhileConnected.swift; path = RxSwift/Observables/Implementations/ShareReplay1WhileConnected.swift; sourceTree = ""; }; - 40A1DEA2BDE0FC75B1CD4F978F8283C7 /* Endpoint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Endpoint.swift; path = Source/Endpoint.swift; sourceTree = ""; }; - 415ED9634B34CA1B5A42BB78F3942615 /* CustomDateFormatTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomDateFormatTransform.swift; path = Sources/CustomDateFormatTransform.swift; sourceTree = ""; }; + 3DE09CEF30354F7FA242FB21BC1110A6 /* AnonymousDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousDisposable.swift; path = RxSwift/Disposables/AnonymousDisposable.swift; sourceTree = ""; }; + 3F6037D2E43B7425871BB04035C13F34 /* EnumOperators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EnumOperators.swift; path = Sources/EnumOperators.swift; sourceTree = ""; }; + 405EBA50E5D87E17AF8290BA8CA222E6 /* Moya-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Moya-prefix.pch"; sourceTree = ""; }; + 410240AB4EBC053F20EA5B707DE02929 /* RecursiveScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveScheduler.swift; path = RxSwift/Schedulers/RecursiveScheduler.swift; sourceTree = ""; }; + 41589DB22693FE13CD4B1D3356AED4A5 /* CurrentThreadScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CurrentThreadScheduler.swift; path = RxSwift/Schedulers/CurrentThreadScheduler.swift; sourceTree = ""; }; 41C6FA254A44FFC58952089BB7F468C9 /* Moya-ObjectMapper-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Moya-ObjectMapper-dummy.m"; sourceTree = ""; }; - 42B58BCC246F1CCE3C5BCAA2414E70BE /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 42B9037B64668A5DE610FCC3F18B39C5 /* ObjectMapper.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ObjectMapper.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 44A5BE23A9B1FB43D710B5FF770A9E0A /* Result.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = Result.modulemap; sourceTree = ""; }; - 4533DB32467A7B49E5B82017B169A043 /* ObjectMapper-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ObjectMapper-prefix.pch"; sourceTree = ""; }; - 458E8181BA8E5F0826DA11AFBFE8F017 /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 47A9F3FBFB80D619E98220D1260C4EC0 /* SynchronizedDisposeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedDisposeType.swift; path = RxSwift/Concurrency/SynchronizedDisposeType.swift; sourceTree = ""; }; - 4B5553CF57282D077981EE90BD7F082F /* Moya+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Moya+Alamofire.swift"; path = "Source/Moya+Alamofire.swift"; sourceTree = ""; }; - 4C903728B13BD2023859B17C89FF2CA0 /* Repeat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Repeat.swift; path = RxSwift/Observables/Implementations/Repeat.swift; sourceTree = ""; }; - 4D8655848F42A407507C4F2DD299FA28 /* Image.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Image.swift; path = Source/Image.swift; sourceTree = ""; }; - 4E003DCCA94A4BFF856DAD724FE03789 /* Cancellable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cancellable.swift; path = Source/Cancellable.swift; sourceTree = ""; }; - 4E1D98C5E40C84FB0E140297B725D47F /* Buffer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Buffer.swift; path = RxSwift/Observables/Implementations/Buffer.swift; sourceTree = ""; }; - 4E269BDC85ECD7047ADCD5BEF5FE7D37 /* LockOwnerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LockOwnerType.swift; path = RxSwift/Concurrency/LockOwnerType.swift; sourceTree = ""; }; - 4E572F7C5FD56BF320BEAE6F53CC61C0 /* CompositeDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompositeDisposable.swift; path = RxSwift/Disposables/CompositeDisposable.swift; sourceTree = ""; }; - 4E7E4D23379C80FD1D4630013E045E9D /* ImmediateSchedulerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImmediateSchedulerType.swift; path = RxSwift/ImmediateSchedulerType.swift; sourceTree = ""; }; - 4F8C2009A0BE75F08B0796011B950776 /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = RxSwift/Observables/Implementations/Error.swift; sourceTree = ""; }; - 51328FB81CE8807E09556087151D4BEF /* SubjectType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubjectType.swift; path = RxSwift/Subjects/SubjectType.swift; sourceTree = ""; }; - 518239385B0F3CDEAC6A932263828A61 /* NetworkLoggerPlugin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkLoggerPlugin.swift; path = Source/Plugins/NetworkLoggerPlugin.swift; sourceTree = ""; }; - 518B31EDA76F5C8EE98FDB17B11A7F52 /* Moya-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Moya-umbrella.h"; sourceTree = ""; }; - 533482C8D168CAD7C5CF9A098A9E4E49 /* ObjectMapper.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = ObjectMapper.modulemap; sourceTree = ""; }; - 544F8DF4384364BF478DC184CB643C27 /* RxMutableBox.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxMutableBox.swift; path = RxSwift/RxMutableBox.swift; sourceTree = ""; }; - 546F6C15EE44555782FC5844FE837AF8 /* Moya+RxSwift.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Moya+RxSwift.swift"; path = "Source/RxSwift/Moya+RxSwift.swift"; sourceTree = ""; }; - 54DD77A554385833AD9D78DE93E8DAE6 /* DispatchQueueConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DispatchQueueConfiguration.swift; path = RxSwift/Schedulers/Internal/DispatchQueueConfiguration.swift; sourceTree = ""; }; - 56E06FDCF783E7E9D2B80D339AC8C9B5 /* Result-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Result-dummy.m"; sourceTree = ""; }; - 56E3B5E251CE721C15659C0A8D686E53 /* Observable+Time.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Time.swift"; path = "RxSwift/Observables/Observable+Time.swift"; sourceTree = ""; }; - 58E6B955858B85E414B9D5E43AD3636D /* TakeWhile.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeWhile.swift; path = RxSwift/Observables/Implementations/TakeWhile.swift; sourceTree = ""; }; - 5965EA337A05A3DA12F7F446FD61CBDF /* ObjectMapper-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ObjectMapper-umbrella.h"; sourceTree = ""; }; - 5BF4D3D0EF856190B6A7EFDF0F5BF59D /* WithLatestFrom.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WithLatestFrom.swift; path = RxSwift/Observables/Implementations/WithLatestFrom.swift; sourceTree = ""; }; - 5CDF5F079667F2FE0C4E39FCCAEBF20E /* ScheduledItemType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledItemType.swift; path = RxSwift/Schedulers/Internal/ScheduledItemType.swift; sourceTree = ""; }; - 5DEAA1C61595A036AC9183F30E956F2C /* ScheduledItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledItem.swift; path = RxSwift/Schedulers/Internal/ScheduledItem.swift; sourceTree = ""; }; - 622F223D2E030143CBE4F589B0CE0465 /* BehaviorSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BehaviorSubject.swift; path = RxSwift/Subjects/BehaviorSubject.swift; sourceTree = ""; }; + 41FB9335C48981A47F5DED449C2FC293 /* TaskDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TaskDelegate.swift; path = Source/TaskDelegate.swift; sourceTree = ""; }; + 421BB20E82DD7178053343477617A10C /* Alamofire.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.xcconfig; sourceTree = ""; }; + 4226AF2FBA3F1AC805C4C7DCC02EBCAF /* Moya.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = Moya.modulemap; sourceTree = ""; }; + 42B9037B64668A5DE610FCC3F18B39C5 /* ObjectMapper.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = ObjectMapper.framework; path = ObjectMapper.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 430F3F0982E452C25A47A720CB2E1388 /* Skip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Skip.swift; path = RxSwift/Observables/Implementations/Skip.swift; sourceTree = ""; }; + 43539D4FCD3C1BB11FB42D58DDD7B124 /* ResultProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResultProtocol.swift; path = Result/ResultProtocol.swift; sourceTree = ""; }; + 448FA2149E14A0A308243A4D173D029D /* Never.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Never.swift; path = RxSwift/Observables/Implementations/Never.swift; sourceTree = ""; }; + 44C280A30EC8358FFFE53301CB9D0F95 /* ObservableConvertibleType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObservableConvertibleType.swift; path = RxSwift/ObservableConvertibleType.swift; sourceTree = ""; }; + 4559DF21973D0C71586E9FE24A006291 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 458E8181BA8E5F0826DA11AFBFE8F017 /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Alamofire.framework; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 45AF2D9C476254EC89300079A8F74F0E /* Timer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timer.swift; path = RxSwift/Observables/Implementations/Timer.swift; sourceTree = ""; }; + 4602D9199D4A5DEB41516E524E997DAD /* Sink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sink.swift; path = RxSwift/Observables/Implementations/Sink.swift; sourceTree = ""; }; + 461821E4E05F78ED12628F398488B489 /* Observable+Aggregate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Aggregate.swift"; path = "RxSwift/Observables/Observable+Aggregate.swift"; sourceTree = ""; }; + 474826AAFDEC0E7F21EA49108DBDA9E5 /* Validation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Validation.swift; path = Source/Validation.swift; sourceTree = ""; }; + 47E7E16CA916E78F44293D0199FD2A34 /* Merge.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Merge.swift; path = RxSwift/Observables/Implementations/Merge.swift; sourceTree = ""; }; + 48D71B2E2D88FA4AE2BFE6A2E69806AB /* SynchronizedOnType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedOnType.swift; path = RxSwift/Concurrency/SynchronizedOnType.swift; sourceTree = ""; }; + 491E9F51BBA345ED15BC8791407DBFD2 /* ConnectableObservableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConnectableObservableType.swift; path = RxSwift/ConnectableObservableType.swift; sourceTree = ""; }; + 4A49E0AC5C4D91F53CBE30EA21C9A55F /* Debug.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debug.swift; path = RxSwift/Observables/Implementations/Debug.swift; sourceTree = ""; }; + 4AEBF06E49CBEDA5D99587C770DB8E12 /* RefCountDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RefCountDisposable.swift; path = RxSwift/Disposables/RefCountDisposable.swift; sourceTree = ""; }; + 4B1F66BF8478CB1D1FD5E2BA23DE8010 /* OperationQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OperationQueueScheduler.swift; path = RxSwift/Schedulers/OperationQueueScheduler.swift; sourceTree = ""; }; + 4C58EF452ACF846DAB9978B4DA04CC1A /* MoyaError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MoyaError.swift; path = Sources/Moya/MoyaError.swift; sourceTree = ""; }; + 4DB61447B6851CE8306807572E4A1832 /* DictionaryTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DictionaryTransform.swift; path = Sources/DictionaryTransform.swift; sourceTree = ""; }; + 4E23852FF71CC0DEB9FE2F21989906A6 /* StartWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StartWith.swift; path = RxSwift/Observables/Implementations/StartWith.swift; sourceTree = ""; }; + 510C6B1526EE5616B82A0B9CDA9D74A2 /* TransformType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransformType.swift; path = Sources/TransformType.swift; sourceTree = ""; }; + 51B5632D20C70495048E3BA568D07C1D /* EnumTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EnumTransform.swift; path = Sources/EnumTransform.swift; sourceTree = ""; }; + 52BF64F17BC3A6B2E4C8A45EDCFCB771 /* Observable+Single.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Single.swift"; path = "RxSwift/Observables/Observable+Single.swift"; sourceTree = ""; }; + 531EFA1FAC84D2B0E2FE9D212524D61D /* TakeWhile.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeWhile.swift; path = RxSwift/Observables/Implementations/TakeWhile.swift; sourceTree = ""; }; + 54279F3D573AF7F58CD73D54BCE2A1B7 /* Do.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Do.swift; path = RxSwift/Observables/Implementations/Do.swift; sourceTree = ""; }; + 59EDF2A162910D8D2C38684F084BDB12 /* VirtualTimeConverterType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VirtualTimeConverterType.swift; path = RxSwift/Schedulers/VirtualTimeConverterType.swift; sourceTree = ""; }; + 5A0D36985AC87CD0536DA703F462D2F5 /* Alamofire.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = Alamofire.modulemap; sourceTree = ""; }; + 5BE8B8BE4871228992D62C5C44B5C733 /* Mappable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Mappable.swift; path = Sources/Mappable.swift; sourceTree = ""; }; + 5D450C5E5F9B41A0AEBE227C024A7AC6 /* ToJSON.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ToJSON.swift; path = Sources/ToJSON.swift; sourceTree = ""; }; + 5D682F9FB44B0CB1CEE9C00A2D179CB6 /* Debunce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debunce.swift; path = RxSwift/Observables/Implementations/Debunce.swift; sourceTree = ""; }; + 5E47F90E2A75DDCC895A7244853B7FC0 /* DateFormatterTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DateFormatterTransform.swift; path = Sources/DateFormatterTransform.swift; sourceTree = ""; }; + 5EA7FA1C0B0A98ADC1DB06087AAEC106 /* ObserveOn.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserveOn.swift; path = RxSwift/Observables/Implementations/ObserveOn.swift; sourceTree = ""; }; + 5F191B4432429C10438C009B03B5A496 /* Timeline.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeline.swift; path = Source/Timeline.swift; sourceTree = ""; }; + 5F3F140D286B723FB485A956172A42A0 /* NSDecimalNumberTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSDecimalNumberTransform.swift; path = Sources/NSDecimalNumberTransform.swift; sourceTree = ""; }; + 61092F00EB710652648CC90906B01AAF /* ToArray.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ToArray.swift; path = RxSwift/Observables/Implementations/ToArray.swift; sourceTree = ""; }; + 61C9DB4990674D36715B5F5761C8EF6C /* MoyaProvider+Defaults.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "MoyaProvider+Defaults.swift"; path = "Sources/Moya/MoyaProvider+Defaults.swift"; sourceTree = ""; }; 62384D07F2721B9F6F37280C5563A146 /* Moya-ObjectMapper-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Moya-ObjectMapper-umbrella.h"; sourceTree = ""; }; - 63E612BED0549C8970572E8897E121A4 /* MultipartFormData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartFormData.swift; path = Source/MultipartFormData.swift; sourceTree = ""; }; - 64F6F3D67DCBBFD9C51417546F1841A6 /* Moya.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Moya.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 6578D141AEEDCA4EAA3AC078B461E79B /* CurrentThreadScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CurrentThreadScheduler.swift; path = RxSwift/Schedulers/CurrentThreadScheduler.swift; sourceTree = ""; }; - 669BCDAB25D8D6D723D478C52CF7264E /* EnumOperators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EnumOperators.swift; path = Sources/EnumOperators.swift; sourceTree = ""; }; - 677A6CDF1606DF26FF0A67599748E317 /* Scan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scan.swift; path = RxSwift/Observables/Implementations/Scan.swift; sourceTree = ""; }; - 680E520F20308F6FB20B56126BA3AEDC /* Mappable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Mappable.swift; path = Sources/Mappable.swift; sourceTree = ""; }; - 68A0127ECB278F418AC7D5CA1813A062 /* ObserveOn.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserveOn.swift; path = RxSwift/Observables/Implementations/ObserveOn.swift; sourceTree = ""; }; - 692D604D47D98A8394C607E513BEC011 /* BooleanDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BooleanDisposable.swift; path = RxSwift/Disposables/BooleanDisposable.swift; sourceTree = ""; }; - 69821E9857CF08D602210B053A5A33E5 /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Response.swift; path = Source/Response.swift; sourceTree = ""; }; - 69B0849E7C0F50727891B902D8C5F699 /* Request.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Request.swift; path = Source/Request.swift; sourceTree = ""; }; - 6A451E9548910F54073EADDE912B9EC9 /* ElementAt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ElementAt.swift; path = RxSwift/Observables/Implementations/ElementAt.swift; sourceTree = ""; }; - 6AAB0677B7A6742908524102D7F0C570 /* ToArray.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ToArray.swift; path = RxSwift/Observables/Implementations/ToArray.swift; sourceTree = ""; }; - 6B0D673DD178C61A172861D524D915C0 /* TransformOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransformOf.swift; path = Sources/TransformOf.swift; sourceTree = ""; }; - 6E67F1D9C0E200BBAF400C6622218072 /* BinaryDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryDisposable.swift; path = RxSwift/Disposables/BinaryDisposable.swift; sourceTree = ""; }; - 7088982D0FCFB15202E57716D6CA9335 /* AnonymousInvocable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousInvocable.swift; path = RxSwift/Schedulers/Internal/AnonymousInvocable.swift; sourceTree = ""; }; - 712A10695F5EFC41FC3420F2341BEBAF /* RxSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 634FA4438F7C60D8BB286930CD371836 /* DispatchQueueConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DispatchQueueConfiguration.swift; path = RxSwift/Schedulers/Internal/DispatchQueueConfiguration.swift; sourceTree = ""; }; + 64748A7A81045F52F3FD97FCEDEE8E69 /* CombineLatest+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CombineLatest+arity.swift"; path = "RxSwift/Observables/Implementations/CombineLatest+arity.swift"; sourceTree = ""; }; + 64D3656CAE8E196EA113AFCD2A47EA88 /* TailRecursiveSink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TailRecursiveSink.swift; path = RxSwift/Observers/TailRecursiveSink.swift; sourceTree = ""; }; + 64F6F3D67DCBBFD9C51417546F1841A6 /* Moya.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Moya.framework; path = Moya.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 674B4172612AC88059B858A045DBE4F4 /* Sequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sequence.swift; path = RxSwift/Observables/Implementations/Sequence.swift; sourceTree = ""; }; + 67C7192EADD04E94A2F9C30933B3ED8E /* MainScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MainScheduler.swift; path = RxSwift/Schedulers/MainScheduler.swift; sourceTree = ""; }; + 68719B9C4CA94288D3379D7CE2BB4188 /* Optional.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Optional.swift; path = RxSwift/Observables/Implementations/Optional.swift; sourceTree = ""; }; + 68AEA1CEBBDE320EC52D1A6D9B28582F /* SkipUntil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SkipUntil.swift; path = RxSwift/Observables/Implementations/SkipUntil.swift; sourceTree = ""; }; + 69C1B07ECECD96CD241C45F6567048FE /* AnonymousObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousObserver.swift; path = RxSwift/Observers/AnonymousObserver.swift; sourceTree = ""; }; + 69D3A69BDD82332D8BD4A091CD5B3011 /* PublishSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PublishSubject.swift; path = RxSwift/Subjects/PublishSubject.swift; sourceTree = ""; }; + 69E7D389032EF8EA4806DB90704D6489 /* MoyaAvailability.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MoyaAvailability.swift; path = Sources/Moya/MoyaAvailability.swift; sourceTree = ""; }; + 6A2381DAA75A9FC0C537BB57718585F2 /* Amb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Amb.swift; path = RxSwift/Observables/Implementations/Amb.swift; sourceTree = ""; }; + 6C99EA4AE4183FBC164E44EBDFE09383 /* AsyncLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncLock.swift; path = RxSwift/Concurrency/AsyncLock.swift; sourceTree = ""; }; + 6DE169CF3EC8CF672A137318793B3049 /* Producer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Producer.swift; path = RxSwift/Observables/Implementations/Producer.swift; sourceTree = ""; }; + 6F868C186A7528C58E49AAA09CE417C5 /* RxSwift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxSwift.xcconfig; sourceTree = ""; }; + 6FA37D22EF5F7283001917431946D32B /* MultipartFormData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartFormData.swift; path = Sources/Moya/MultipartFormData.swift; sourceTree = ""; }; + 6FA4DDBB103BDF3E520400F90513FF95 /* SingleAsync.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SingleAsync.swift; path = RxSwift/Observables/Implementations/SingleAsync.swift; sourceTree = ""; }; + 7045DB9AEC9AA6E2AA25B6C356E487D2 /* AnonymousObservable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousObservable.swift; path = RxSwift/Observables/Implementations/AnonymousObservable.swift; sourceTree = ""; }; + 712A10695F5EFC41FC3420F2341BEBAF /* RxSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = RxSwift.framework; path = RxSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 715D9CFCF177861EDCAC163486970A86 /* RetryWhen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RetryWhen.swift; path = RxSwift/Observables/Implementations/RetryWhen.swift; sourceTree = ""; }; 71940C1CEB7995DC34CFE54CAF1AEF88 /* Pods-Demo-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Demo-acknowledgements.markdown"; sourceTree = ""; }; - 71D08D69FA332A65278C3CD9FE7C3AC0 /* ShareReplay1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ShareReplay1.swift; path = RxSwift/Observables/Implementations/ShareReplay1.swift; sourceTree = ""; }; - 737536990E1EBEF8235D251A1D90B8F8 /* SubscriptionDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscriptionDisposable.swift; path = RxSwift/Disposables/SubscriptionDisposable.swift; sourceTree = ""; }; - 743D103CEBD3E7A3078B6534C348F205 /* AnonymousDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousDisposable.swift; path = RxSwift/Disposables/AnonymousDisposable.swift; sourceTree = ""; }; - 74E1D911F9F5881749CDA2F365FFFAC6 /* Moya_ObjectMapper.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Moya_ObjectMapper.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 763ED3A040F2558DB962D07D6ECF8E95 /* AnonymousObservable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousObservable.swift; path = RxSwift/Observables/Implementations/AnonymousObservable.swift; sourceTree = ""; }; - 765370C83664BED90363DF7E877FA0DE /* Window.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Window.swift; path = RxSwift/Observables/Implementations/Window.swift; sourceTree = ""; }; + 71962444539FB7396B9D54C106000318 /* SessionDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionDelegate.swift; path = Source/SessionDelegate.swift; sourceTree = ""; }; + 71B15B9B5AB35A6B3D3D24CC2B789E5A /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 71F1C26763A29FEDD112C7EF7459ADE9 /* SubscriptionDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscriptionDisposable.swift; path = RxSwift/Disposables/SubscriptionDisposable.swift; sourceTree = ""; }; + 731440B8AD94B5442A9278E6F08CA215 /* Alamofire-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-prefix.pch"; sourceTree = ""; }; + 7451013B26625E7535EA52144329C4C0 /* DispatchQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Alamofire.swift"; path = "Source/DispatchQueue+Alamofire.swift"; sourceTree = ""; }; + 74E1D911F9F5881749CDA2F365FFFAC6 /* Moya_ObjectMapper.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Moya_ObjectMapper.framework; path = "Moya-ObjectMapper.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 75036CEB82C945FFDE9A3DE4BAACE594 /* NopDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NopDisposable.swift; path = RxSwift/Disposables/NopDisposable.swift; sourceTree = ""; }; 7697FC2B90D6509A8AC3659265DC0FB7 /* RxSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 77236EDA7888184759544EF8250FBD20 /* Delay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Delay.swift; path = RxSwift/Observables/Implementations/Delay.swift; sourceTree = ""; }; + 76C4C2F97381D16535D4BCBD11E19E52 /* Bag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bag.swift; path = Platform/DataStructures/Bag.swift; sourceTree = ""; }; + 77A24139F62337CB68BD2061FB919149 /* InfiniteSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InfiniteSequence.swift; path = Platform/DataStructures/InfiniteSequence.swift; sourceTree = ""; }; + 77D2AA2C7CA768DBD6FDE3CF6B73B9D7 /* WithLatestFrom.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WithLatestFrom.swift; path = RxSwift/Observables/Implementations/WithLatestFrom.swift; sourceTree = ""; }; 78A4128EC1CBD80E45085664E5D7CF4B /* Moya-ObjectMapper.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Moya-ObjectMapper.xcconfig"; sourceTree = ""; }; - 7AD101EF1D295C0361A92180DF06913A /* Sink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sink.swift; path = RxSwift/Observables/Implementations/Sink.swift; sourceTree = ""; }; - 7AEEDFC83D839BF3F8AD090614FE9DEB /* DictionaryTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DictionaryTransform.swift; path = Sources/DictionaryTransform.swift; sourceTree = ""; }; - 7B571E6F835903111F96AF5815961740 /* Disposables.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposables.swift; path = RxSwift/Disposables/Disposables.swift; sourceTree = ""; }; - 7B646D229B56DCCE1D3D48EC35024759 /* Sample.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sample.swift; path = RxSwift/Observables/Implementations/Sample.swift; sourceTree = ""; }; - 7BA3BEEAEEC210EC8CF52DC782F44A81 /* Result.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Result.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 7CC1622A2F8021735A7798AFC29C6CC8 /* VirtualTimeScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VirtualTimeScheduler.swift; path = RxSwift/Schedulers/VirtualTimeScheduler.swift; sourceTree = ""; }; - 7D24D70FE02AAB813A6136DF1888909F /* Throttle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Throttle.swift; path = RxSwift/Observables/Implementations/Throttle.swift; sourceTree = ""; }; - 7E3C6C2C8865CCEBFD728E5CDF40F49E /* ToJSON.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ToJSON.swift; path = Sources/ToJSON.swift; sourceTree = ""; }; - 7F62991516AD442D1EF544FB0C340C45 /* Catch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Catch.swift; path = RxSwift/Observables/Implementations/Catch.swift; sourceTree = ""; }; - 7F669431409AAA8C030D1D26331A13EF /* Observable+Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Concurrency.swift"; path = "RxSwift/Observables/Observable+Concurrency.swift"; sourceTree = ""; }; - 80A76DADFB328445C023CECAF023A171 /* HistoricalSchedulerTimeConverter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HistoricalSchedulerTimeConverter.swift; path = RxSwift/Schedulers/HistoricalSchedulerTimeConverter.swift; sourceTree = ""; }; - 80FF36F62F1FB66870287272E5CC1B97 /* RxSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxSwift-prefix.pch"; sourceTree = ""; }; - 8174689C0128FB1A2765828C69607694 /* Moya.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = Moya.modulemap; sourceTree = ""; }; - 8234279B253A056C0E18E59D7CEECCEB /* Queue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Queue.swift; path = Platform/DataStructures/Queue.swift; sourceTree = ""; }; - 83316EC2719FBA1E3A4A464C78599DBE /* Do.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Do.swift; path = RxSwift/Observables/Implementations/Do.swift; sourceTree = ""; }; - 83BBAA2C2C6A613FD7EDA34482836981 /* ConcurrentMainScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConcurrentMainScheduler.swift; path = RxSwift/Schedulers/ConcurrentMainScheduler.swift; sourceTree = ""; }; - 8483E680808B3FC2110B344A1CA3868A /* SkipUntil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SkipUntil.swift; path = RxSwift/Observables/Implementations/SkipUntil.swift; sourceTree = ""; }; - 85714AB38F31550EF76BA5B89F3D7F75 /* String+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Rx.swift"; path = "RxSwift/Extensions/String+Rx.swift"; sourceTree = ""; }; - 85E6722F5431ABE3125E65805ED90BA6 /* NetworkReachabilityManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkReachabilityManager.swift; path = Source/NetworkReachabilityManager.swift; sourceTree = ""; }; + 7A29990771D7608CE9773CE06B528685 /* ObjectMapper.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ObjectMapper.xcconfig; sourceTree = ""; }; + 7A538DFAFE938B58C4E23FA4DFD66EEE /* MoyaProvider+Internal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "MoyaProvider+Internal.swift"; path = "Sources/Moya/MoyaProvider+Internal.swift"; sourceTree = ""; }; + 7BA3BEEAEEC210EC8CF52DC782F44A81 /* Result.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Result.framework; path = Result.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 7D362A8F81622FFCB3073DDAFE4CEAFE /* ServerTrustPolicy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ServerTrustPolicy.swift; path = Source/ServerTrustPolicy.swift; sourceTree = ""; }; + 7EB810A7843FC8A98A13874105D47EB9 /* SynchronizedSubscribeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedSubscribeType.swift; path = RxSwift/Concurrency/SynchronizedSubscribeType.swift; sourceTree = ""; }; + 7EC85AEDC2E2A82D0CC938F76EA827CF /* NetworkActivityPlugin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkActivityPlugin.swift; path = Sources/Moya/Plugins/NetworkActivityPlugin.swift; sourceTree = ""; }; + 8071DBD5E1EB5ED844540A663EED7050 /* RxMutableBox.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxMutableBox.swift; path = RxSwift/RxMutableBox.swift; sourceTree = ""; }; + 80B617FAF10D272094D9EA70DB29339C /* DistinctUntilChanged.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DistinctUntilChanged.swift; path = RxSwift/Observables/Implementations/DistinctUntilChanged.swift; sourceTree = ""; }; + 85CDE64EE62CEF900BD4C02623FB0357 /* Event.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Event.swift; path = RxSwift/Event.swift; sourceTree = ""; }; 86088A74332B80EF5B44E52CABB7BD0E /* Moya-ObjectMapper-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Moya-ObjectMapper-prefix.pch"; sourceTree = ""; }; - 86D575824CAFF6E1E2E8D5B14DE26DF7 /* Disposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposable.swift; path = RxSwift/Disposable.swift; sourceTree = ""; }; - 88E60639D724B9761813F63397B16290 /* Reduce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reduce.swift; path = RxSwift/Observables/Implementations/Reduce.swift; sourceTree = ""; }; - 88F8A0D5E6A6E1B226C75BD85D4E82AD /* DisposeBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DisposeBase.swift; path = RxSwift/Disposables/DisposeBase.swift; sourceTree = ""; }; - 89D9F620E4E3342D01E3F8F6B7A6A0F7 /* AddRef.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AddRef.swift; path = RxSwift/Observables/Implementations/AddRef.swift; sourceTree = ""; }; - 8B6F8A4FDB90483A21612501676819C4 /* Result-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-prefix.pch"; sourceTree = ""; }; - 8C0AF622277F256B6C8C0CBB8EB9BC8C /* Generate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generate.swift; path = RxSwift/Observables/Implementations/Generate.swift; sourceTree = ""; }; - 8C14D5B460B5AF6DC13F0BA3FC963AC8 /* TransformOperators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransformOperators.swift; path = Sources/TransformOperators.swift; sourceTree = ""; }; - 8C89D416B8B4F645C39F023736766501 /* Just.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Just.swift; path = RxSwift/Observables/Implementations/Just.swift; sourceTree = ""; }; - 8DF48DED21796FAF0F5F7255EC585572 /* Target.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Target.swift; path = Source/Target.swift; sourceTree = ""; }; - 8DFC96E910F5FBA77A2B5DF4BD45E36A /* SingleAsync.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SingleAsync.swift; path = RxSwift/Observables/Implementations/SingleAsync.swift; sourceTree = ""; }; + 862E88AE9C4B8980E93F04C7D2124BEB /* ObserveOnSerialDispatchQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserveOnSerialDispatchQueue.swift; path = RxSwift/Observables/Implementations/ObserveOnSerialDispatchQueue.swift; sourceTree = ""; }; + 88E1A739B153465D5010E227B78A2758 /* AddRef.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AddRef.swift; path = RxSwift/Observables/Implementations/AddRef.swift; sourceTree = ""; }; + 88E827F2C907C8A3D92565881ADB1933 /* Zip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Zip.swift; path = RxSwift/Observables/Implementations/Zip.swift; sourceTree = ""; }; + 88E8B01B6B01D248C1166CF1B25FB931 /* Request.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Request.swift; path = Source/Request.swift; sourceTree = ""; }; + 89EF273707171D752A5D6770AA9C9AAD /* NetworkLoggerPlugin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkLoggerPlugin.swift; path = Sources/Moya/Plugins/NetworkLoggerPlugin.swift; sourceTree = ""; }; + 8AB94B6E05741287909F55056F3983EF /* VirtualTimeScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VirtualTimeScheduler.swift; path = RxSwift/Schedulers/VirtualTimeScheduler.swift; sourceTree = ""; }; + 8B997B9614AACE754B5293B08634BB9A /* Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Zip+arity.swift"; path = "RxSwift/Observables/Implementations/Zip+arity.swift"; sourceTree = ""; }; + 8EF6E875FC80EC938C7AEAEB00A2DC23 /* TakeUntil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeUntil.swift; path = RxSwift/Observables/Implementations/TakeUntil.swift; sourceTree = ""; }; 8F03D4318F25F0CEB39500AE4E751CAD /* Response+ObjectMapper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Response+ObjectMapper.swift"; sourceTree = ""; }; - 91552211187B9CBC599EC7286978FBAB /* TransformType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransformType.swift; path = Sources/TransformType.swift; sourceTree = ""; }; - 9266D1C8F5279E05ABFF0022ED6EFC5F /* MainScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MainScheduler.swift; path = RxSwift/Schedulers/MainScheduler.swift; sourceTree = ""; }; - 92D4D3B7EBD2620ABCD0079B1EC61EB4 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 93F3AEBCBEDE1B6C0A10F4E3FB117DC3 /* RxSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxSwift-dummy.m"; sourceTree = ""; }; + 8F3734CC1B278C567A7496A5B52B3C84 /* Platform.Linux.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Linux.swift; path = Platform/Platform.Linux.swift; sourceTree = ""; }; + 8F5571304ACE632AE592E6F4E5EBB7A6 /* Moya.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Moya.xcconfig; sourceTree = ""; }; + 8FC3E43272FC31C2E7D4D9B952D37ADE /* Buffer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Buffer.swift; path = RxSwift/Observables/Implementations/Buffer.swift; sourceTree = ""; }; + 9139B23888F6BEFACCC081690D2DC260 /* MoyaProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MoyaProvider.swift; path = Sources/Moya/MoyaProvider.swift; sourceTree = ""; }; + 917BD95EED1A3974F00DB0C46DA7701F /* TargetType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TargetType.swift; path = Sources/Moya/TargetType.swift; sourceTree = ""; }; + 920788B5E2EE1D8970BDD7D257B65196 /* Map.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Map.swift; path = RxSwift/Observables/Implementations/Map.swift; sourceTree = ""; }; + 92852A13DA6A40E1C8B7455A6225E012 /* SerialDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SerialDisposable.swift; path = RxSwift/Disposables/SerialDisposable.swift; sourceTree = ""; }; + 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 93C161556808B561A5D23229C71741B4 /* Reduce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reduce.swift; path = RxSwift/Observables/Implementations/Reduce.swift; sourceTree = ""; }; + 93EEA6AFD633C8E47F52B077C2358C4A /* SubscribeOn.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscribeOn.swift; path = RxSwift/Observables/Implementations/SubscribeOn.swift; sourceTree = ""; }; 941085FB48E505ED52FF2DFD9B570A8C /* Result.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Result.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 95947C6546DEF91519F70F806150A677 /* Alamofire-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-umbrella.h"; sourceTree = ""; }; - 966FF218DA45F71C29347D31DCCB9DFE /* Reactive.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reactive.swift; path = RxSwift/Reactive.swift; sourceTree = ""; }; - 968DB905F64DBD4A16C2F9F549E13AFF /* ObjectMapper-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ObjectMapper-dummy.m"; sourceTree = ""; }; - 96D21207A230D7EF0FC0DB8851FA532F /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 978E815E1F80EADC26FC76AA98F070A8 /* Multicast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Multicast.swift; path = RxSwift/Observables/Implementations/Multicast.swift; sourceTree = ""; }; - 9A95D8BDF6F0181FDE6EDA342FDD9415 /* ObserverBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserverBase.swift; path = RxSwift/Observers/ObserverBase.swift; sourceTree = ""; }; - 9B803D1E133A7FD270000551F5FA09F2 /* DataTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DataTransform.swift; path = Sources/DataTransform.swift; sourceTree = ""; }; - 9E1300F711ABFEF20FA39759E1F3F7F9 /* NopDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NopDisposable.swift; path = RxSwift/Disposables/NopDisposable.swift; sourceTree = ""; }; - 9E200A2B90ED4D4E5A994A29B7D7B470 /* RecursiveScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveScheduler.swift; path = RxSwift/Schedulers/RecursiveScheduler.swift; sourceTree = ""; }; - 9FC70E52D2FA8928764FFD5DC3D77B94 /* ScheduledDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledDisposable.swift; path = RxSwift/Disposables/ScheduledDisposable.swift; sourceTree = ""; }; - A0BEDCCF251F23A340822A8B184A8CB7 /* TakeUntil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeUntil.swift; path = RxSwift/Observables/Implementations/TakeUntil.swift; sourceTree = ""; }; - A189B46747857DC85CA0366446C1545A /* Moya-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Moya-prefix.pch"; sourceTree = ""; }; - A1E486EFBD5D10E9226AA32622828830 /* ObservableConvertibleType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObservableConvertibleType.swift; path = RxSwift/ObservableConvertibleType.swift; sourceTree = ""; }; - A1E866A2DF8D85611840907C11179BA6 /* SessionManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionManager.swift; path = Source/SessionManager.swift; sourceTree = ""; }; - A3A928FD5F6B10301588630DB1E2EA23 /* DistinctUntilChanged.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DistinctUntilChanged.swift; path = RxSwift/Observables/Implementations/DistinctUntilChanged.swift; sourceTree = ""; }; - A3C7593C03B2BE33B6B242FAA85A44F2 /* Observable+Debug.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Debug.swift"; path = "RxSwift/Observables/Observable+Debug.swift"; sourceTree = ""; }; - A4EE02E899207BB438EDFDA870AEA555 /* ImmutableMappable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImmutableMappable.swift; path = Sources/ImmutableMappable.swift; sourceTree = ""; }; - A824B54D15011383634670FE8A75B11E /* Plugin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Plugin.swift; path = Source/Plugin.swift; sourceTree = ""; }; - A94804E0EDE96FBDABEE084E9D33EA19 /* Variable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Variable.swift; path = RxSwift/Subjects/Variable.swift; sourceTree = ""; }; - AA91C7CB85FF8AD3B6D74E1C982C64CC /* DispatchQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Alamofire.swift"; path = "Source/DispatchQueue+Alamofire.swift"; sourceTree = ""; }; - AB4109713E01820112B8AA35467E3BCD /* RefCount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RefCount.swift; path = RxSwift/Observables/Implementations/RefCount.swift; sourceTree = ""; }; - ABEB028F66753C38FEE11F13AC36AC8E /* SynchronizedSubscribeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedSubscribeType.swift; path = RxSwift/Concurrency/SynchronizedSubscribeType.swift; sourceTree = ""; }; - AD3004F655F41209090230BA9B29AA2F /* Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Operators.swift; path = Sources/Operators.swift; sourceTree = ""; }; - AEA4D2783331F9F4E8546A96E7A3A595 /* Zip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Zip.swift; path = RxSwift/Observables/Implementations/Zip.swift; sourceTree = ""; }; - AFA4CFED512237BB19DC534CF19A2B1A /* Timeout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeout.swift; path = RxSwift/Observables/Implementations/Timeout.swift; sourceTree = ""; }; - B01F9B9B24C328E91631B6FF3F9DC3C1 /* Debunce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debunce.swift; path = RxSwift/Observables/Implementations/Debunce.swift; sourceTree = ""; }; - B0B492B031ABE11F5A38494876490357 /* Moya-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Moya-dummy.m"; sourceTree = ""; }; - B0ECCA48188F3E39E6256B1D23433117 /* AnyObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyObserver.swift; path = RxSwift/AnyObserver.swift; sourceTree = ""; }; - B1EA4C48C68230183845BD2E39306287 /* TaskDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TaskDelegate.swift; path = Source/TaskDelegate.swift; sourceTree = ""; }; - B2EDCC81F5CDEFE050B2B5315D6677E8 /* Merge.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Merge.swift; path = RxSwift/Observables/Implementations/Merge.swift; sourceTree = ""; }; - B56B071139AA1450C1FE7FE934401147 /* Observable+Single.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Single.swift"; path = "RxSwift/Observables/Observable+Single.swift"; sourceTree = ""; }; - B5A0C0ECE6A06B0007EC66BCAF49B9A8 /* TailRecursiveSink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TailRecursiveSink.swift; path = RxSwift/Observers/TailRecursiveSink.swift; sourceTree = ""; }; - B75FF2855450211C8E2BA157E6CFA621 /* SerialDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SerialDisposable.swift; path = RxSwift/Disposables/SerialDisposable.swift; sourceTree = ""; }; - B7BDF4792909360C5BA5E7D542447CBD /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Source/Result.swift; sourceTree = ""; }; - B86A6A9B770A11A74DD461B27ED464E3 /* Moya-ObjectMapper.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Moya-ObjectMapper.modulemap"; sourceTree = ""; }; - B9F90F4C9698895823A33E7BE767BCF9 /* Observable+StandardSequenceOperators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+StandardSequenceOperators.swift"; path = "RxSwift/Observables/Observable+StandardSequenceOperators.swift"; sourceTree = ""; }; - BA584A5CE6B6E6D3B5A16A3605B8706B /* Moya+Defaults.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Moya+Defaults.swift"; path = "Source/Moya+Defaults.swift"; sourceTree = ""; }; + 947F3CEB646C2E5F5CCC3A694D5DD75E /* InvocableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InvocableType.swift; path = RxSwift/Schedulers/Internal/InvocableType.swift; sourceTree = ""; }; + 96F282656B9E4B0383EF91F723C4A798 /* AFError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AFError.swift; path = Source/AFError.swift; sourceTree = ""; }; + 978EDE2DD1F12CEA3E10E924279A1ACE /* NetworkReachabilityManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkReachabilityManager.swift; path = Source/NetworkReachabilityManager.swift; sourceTree = ""; }; + 97D52C2DC05BB77D2515C8DCABE13305 /* Observable+Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Concurrency.swift"; path = "RxSwift/Observables/Observable+Concurrency.swift"; sourceTree = ""; }; + 984F20EEA8C37B53D1A6C320DA0D7CFF /* SynchronizedDisposeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedDisposeType.swift; path = RxSwift/Concurrency/SynchronizedDisposeType.swift; sourceTree = ""; }; + 9A48EABB4F3EC8436A7099D3AFEF085D /* MapError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MapError.swift; path = Sources/MapError.swift; sourceTree = ""; }; + 9B10F17AD4C03E27E7222AD7463758CE /* Take.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Take.swift; path = RxSwift/Observables/Implementations/Take.swift; sourceTree = ""; }; + 9B6876197C04095F35C106F321ADFEAB /* Result.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = Result.modulemap; sourceTree = ""; }; + 9CC91EE382CF121F0C29CB75012FE1DD /* Cancelable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cancelable.swift; path = RxSwift/Cancelable.swift; sourceTree = ""; }; + 9E137ED6147E92A391DDC1D94C9297BC /* Cancellable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cancellable.swift; path = Sources/Moya/Cancellable.swift; sourceTree = ""; }; + 9E548D95AB751ABC9000C163926E9570 /* ObserverBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserverBase.swift; path = RxSwift/Observers/ObserverBase.swift; sourceTree = ""; }; + 9F5500AF4CC3CDF139446E9CFA68559C /* BinaryDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryDisposable.swift; path = RxSwift/Disposables/BinaryDisposable.swift; sourceTree = ""; }; + 9FC4B4C12479616CA6687F00F9069982 /* DelaySubscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelaySubscription.swift; path = RxSwift/Observables/Implementations/DelaySubscription.swift; sourceTree = ""; }; + A0918EFABAE23E9AF090E038DD183DF5 /* Filter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Filter.swift; path = RxSwift/Observables/Implementations/Filter.swift; sourceTree = ""; }; + A16F293C877B018E0F005ACDA307D54B /* Observable+Multiple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Multiple.swift"; path = "RxSwift/Observables/Observable+Multiple.swift"; sourceTree = ""; }; + A1F6D22E477C5FA9CC327F44D498A22A /* ShareReplay1WhileConnected.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ShareReplay1WhileConnected.swift; path = RxSwift/Observables/Implementations/ShareReplay1WhileConnected.swift; sourceTree = ""; }; + A260C3A8AAD514FA39EBA5BBD70E6EA7 /* CredentialsPlugin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CredentialsPlugin.swift; path = Sources/Moya/Plugins/CredentialsPlugin.swift; sourceTree = ""; }; + A3450ADCD9C95E79F686871FBA9C4F0C /* Throttle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Throttle.swift; path = RxSwift/Observables/Implementations/Throttle.swift; sourceTree = ""; }; + A40CDAFED50C4265CE4576AE4BBEE54E /* ObservableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObservableType.swift; path = RxSwift/ObservableType.swift; sourceTree = ""; }; + A44577780DF188E11DFD37845EF6B62E /* Window.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Window.swift; path = RxSwift/Observables/Implementations/Window.swift; sourceTree = ""; }; + A5C6840CC55A1EC19C830B9C22AFC248 /* Concat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Concat.swift; path = RxSwift/Observables/Implementations/Concat.swift; sourceTree = ""; }; + A5E237840A6609BCF8CEFA4499666778 /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Source/Result.swift; sourceTree = ""; }; + A5E83E8AC358BE6BB4343D3CC7499E2E /* ScheduledDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledDisposable.swift; path = RxSwift/Disposables/ScheduledDisposable.swift; sourceTree = ""; }; + AC8DAE1929C16104D738CBC62676F0B7 /* Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Operators.swift; path = Sources/Operators.swift; sourceTree = ""; }; + AF486863A7DA411F41499E16F35226D3 /* ScheduledItemType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledItemType.swift; path = RxSwift/Schedulers/Internal/ScheduledItemType.swift; sourceTree = ""; }; + AFEC5DE8BE58F48E929605BD25D96137 /* Variable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Variable.swift; path = RxSwift/Subjects/Variable.swift; sourceTree = ""; }; + B00528C01C1D6ECFD1C67595E28A74B8 /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = RxSwift/Observables/Implementations/Error.swift; sourceTree = ""; }; + B3E3A91E43BF5292A07A49980D0E41A5 /* ObjectMapper-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ObjectMapper-dummy.m"; sourceTree = ""; }; + B4FD22803010BDF119A9842011D9D306 /* ObservableType+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableType+Extensions.swift"; path = "RxSwift/ObservableType+Extensions.swift"; sourceTree = ""; }; + B5AA439F5CE72FB6BDCE9D8E7C2FC82F /* ReplaySubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ReplaySubject.swift; path = RxSwift/Subjects/ReplaySubject.swift; sourceTree = ""; }; + B5D915CDA73F10A26D6AE06C3A0E1924 /* Delay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Delay.swift; path = RxSwift/Observables/Implementations/Delay.swift; sourceTree = ""; }; + B68CA09D909C9C35F83F500BE8B2FADB /* Lock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Lock.swift; path = RxSwift/Concurrency/Lock.swift; sourceTree = ""; }; + B6DED1D80CB06760836D2E06C1D5C3DF /* Bag+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bag+Rx.swift"; path = "RxSwift/Extensions/Bag+Rx.swift"; sourceTree = ""; }; + B7B751D95762C8AD8283D675C900BC22 /* ElementAt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ElementAt.swift; path = RxSwift/Observables/Implementations/ElementAt.swift; sourceTree = ""; }; + B86A6A9B770A11A74DD461B27ED464E3 /* Moya-ObjectMapper.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Moya-ObjectMapper.modulemap"; sourceTree = ""; }; + B8A541BA9B0D07920F47DBC32331F9B1 /* SchedulerServices+Emulation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SchedulerServices+Emulation.swift"; path = "RxSwift/Schedulers/SchedulerServices+Emulation.swift"; sourceTree = ""; }; + B907A30DAF740A8B2916C8352A7E5AD9 /* ParameterEncoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoding.swift; path = Source/ParameterEncoding.swift; sourceTree = ""; }; + BA12A73F7506A706DA703C2498E7E8EA /* ObjectMapper.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = ObjectMapper.modulemap; sourceTree = ""; }; + BAD76713B72386E44595A2F2FC00F282 /* ShareReplay1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ShareReplay1.swift; path = RxSwift/Observables/Implementations/ShareReplay1.swift; sourceTree = ""; }; + BB9199241C15F461B5C347D88A56D71D /* Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Alamofire.swift; path = Source/Alamofire.swift; sourceTree = ""; }; + BBEF16A23395E97A20C58604B54E08D7 /* Just.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Just.swift; path = RxSwift/Observables/Implementations/Just.swift; sourceTree = ""; }; BC29AF625DB92BBFD8CCCBB81875E4ED /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - BCD02AA44858E41604142BDA503A46AE /* RxSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxSwift-umbrella.h"; sourceTree = ""; }; - C020B9E1483D96ADFB3212384D8CA0D3 /* DisposeBag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DisposeBag.swift; path = RxSwift/Disposables/DisposeBag.swift; sourceTree = ""; }; - C2049EBE624AE781091E70060F14F0EE /* TakeLast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeLast.swift; path = RxSwift/Observables/Implementations/TakeLast.swift; sourceTree = ""; }; - C210FD9C09AB4A0618D59B9F1E1EDC79 /* Notifications.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Notifications.swift; path = Source/Notifications.swift; sourceTree = ""; }; - C2399D4BBE6DE4672BD743436602FE52 /* Concat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Concat.swift; path = RxSwift/Observables/Implementations/Concat.swift; sourceTree = ""; }; - C2FADBC738031177EAE6D59421B9DE4C /* ObserverType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserverType.swift; path = RxSwift/ObserverType.swift; sourceTree = ""; }; - C3913DDF900024A0656DAD15D1F4935B /* ObservableType+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableType+Extensions.swift"; path = "RxSwift/ObservableType+Extensions.swift"; sourceTree = ""; }; - C3CD06C7A5E5F0064620A9DA78F6C6C3 /* Filter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Filter.swift; path = RxSwift/Observables/Implementations/Filter.swift; sourceTree = ""; }; - C45260FFBC0DE22DBF1202A5EF5B9BCB /* Moya.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Moya.xcconfig; sourceTree = ""; }; - C4F1BC548E917D1E5F81EE6054B391C5 /* CombineLatest+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CombineLatest+arity.swift"; path = "RxSwift/Observables/Implementations/CombineLatest+arity.swift"; sourceTree = ""; }; - C51D5DF0B81B8879BCA4F59466FB2F38 /* Deferred.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deferred.swift; path = RxSwift/Observables/Implementations/Deferred.swift; sourceTree = ""; }; - C566C24EC070D74C925F1C07590FFED9 /* ResultProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResultProtocol.swift; path = Result/ResultProtocol.swift; sourceTree = ""; }; + C483F82BE38A158B5580F5DA493B3C79 /* Sample.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sample.swift; path = RxSwift/Observables/Implementations/Sample.swift; sourceTree = ""; }; C5BC86D40B890A7B0844F888209CA06F /* Pods-Demo-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Demo-dummy.m"; sourceTree = ""; }; - C5D5B10390A9CC05A07780EE391E1566 /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Result/Result.swift; sourceTree = ""; }; - C733C67E4DECB93A1D00B7B45A337596 /* Zip+Collection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Zip+Collection.swift"; path = "RxSwift/Observables/Implementations/Zip+Collection.swift"; sourceTree = ""; }; - C83FABB05297D3EB577CF78F774A43C5 /* Observable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Observable.swift; path = RxSwift/Observable.swift; sourceTree = ""; }; - C893FD2B9EF1C980B19B413C3BAD65EC /* Skip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Skip.swift; path = RxSwift/Observables/Implementations/Skip.swift; sourceTree = ""; }; - C8C769679B846CA420C2245A7C985AC7 /* ObservableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObservableType.swift; path = RxSwift/ObservableType.swift; sourceTree = ""; }; + C62A3925E333894DEA55B1062F2E884F /* Errors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Errors.swift; path = RxSwift/Errors.swift; sourceTree = ""; }; + C79D3097AD6BEB10C3D456EEA1A85F10 /* TakeLast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeLast.swift; path = RxSwift/Observables/Implementations/TakeLast.swift; sourceTree = ""; }; + C81C0B64028E541006FD20D69EC083F2 /* SingleAssignmentDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SingleAssignmentDisposable.swift; path = RxSwift/Disposables/SingleAssignmentDisposable.swift; sourceTree = ""; }; + C8BC764752A616840072FD087879AE40 /* Moya-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Moya-umbrella.h"; sourceTree = ""; }; + C939A8B0D4334725D2DFA8D7DBF49DFF /* RxMoyaProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxMoyaProvider.swift; path = Sources/RxMoya/RxMoyaProvider.swift; sourceTree = ""; }; + C96D0F1965C8DA43E37190CC405E198B /* SchedulerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SchedulerType.swift; path = RxSwift/SchedulerType.swift; sourceTree = ""; }; + C9FCFE119C98031F129D62D90EFB4E9C /* Timeout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeout.swift; path = RxSwift/Observables/Implementations/Timeout.swift; sourceTree = ""; }; CA19694C0AC41D598DE4ABFEB300E619 /* Pods-Demo-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Demo-acknowledgements.plist"; sourceTree = ""; }; - CAB840CAB855A29CD4834DABC37AC594 /* PriorityQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PriorityQueue.swift; path = Platform/DataStructures/PriorityQueue.swift; sourceTree = ""; }; - CB5CF9FFC45B7B3AFC2A14597B9136F9 /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Response.swift; path = Source/Response.swift; sourceTree = ""; }; - CC170997D4327E4845F4A4201D46B991 /* Bag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bag.swift; path = Platform/DataStructures/Bag.swift; sourceTree = ""; }; + CBFCABEC1E18FC0605E7B8CA08E2B68B /* ConcurrentMainScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConcurrentMainScheduler.swift; path = RxSwift/Schedulers/ConcurrentMainScheduler.swift; sourceTree = ""; }; + CBFF4EE4623ADDF5371B3382CBB42AD4 /* ISO8601DateTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ISO8601DateTransform.swift; path = Sources/ISO8601DateTransform.swift; sourceTree = ""; }; CC6A59B0ADA6CB2F51DAE6508E437829 /* Pods-Demo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Demo.debug.xcconfig"; sourceTree = ""; }; - CD5C46D78D03AA241CB0F8B35AB72CAB /* InvocableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InvocableType.swift; path = RxSwift/Schedulers/Internal/InvocableType.swift; sourceTree = ""; }; - D13793A7445AECCA5FEF75FB0D5F27AD /* Take.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Take.swift; path = RxSwift/Observables/Implementations/Take.swift; sourceTree = ""; }; - D147029A6C1D9A66E72613720D291900 /* Result.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Result.xcconfig; sourceTree = ""; }; - D17B2A96F4CE975DB7531C7FEC578C32 /* Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Alamofire.swift; path = Source/Alamofire.swift; sourceTree = ""; }; - D32F1BE7D5619B7C420D65A7F9883141 /* Errors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Errors.swift; path = RxSwift/Errors.swift; sourceTree = ""; }; + CD43ADD20EDC166080D72FDEB83481B7 /* Queue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Queue.swift; path = Platform/DataStructures/Queue.swift; sourceTree = ""; }; + CDC27E1A19AE16FCB7390D6239D3B2E8 /* Result-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-prefix.pch"; sourceTree = ""; }; + CF6FA6A0FBB4A6E3A97049CECE432B2B /* TransformOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransformOf.swift; path = Sources/TransformOf.swift; sourceTree = ""; }; + D03E29FD858C9181FFC117ABC73A9B8D /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + D2791FA20215B2D7BED7B715DF495743 /* Alamofire-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Alamofire-dummy.m"; sourceTree = ""; }; + D2862F6C849E4DD5BA52DF0192209AE8 /* AnonymousInvocable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousInvocable.swift; path = RxSwift/Schedulers/Internal/AnonymousInvocable.swift; sourceTree = ""; }; D443B303EF315755B19810A6928CC875 /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D60937BDF5B1C6AEF4D8794944941DC3 /* MapError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MapError.swift; path = Sources/MapError.swift; sourceTree = ""; }; - D799FC1CF17DB6FD7E5114CA5654CDE2 /* Result-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-umbrella.h"; sourceTree = ""; }; - D7B1DFBB1430B216B213D05B6DF867BC /* SynchronizedOnType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedOnType.swift; path = RxSwift/Concurrency/SynchronizedOnType.swift; sourceTree = ""; }; - D82791D3EDF8FFAAD1535B60FDFA091A /* Timer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timer.swift; path = RxSwift/Observables/Implementations/Timer.swift; sourceTree = ""; }; - D990EC35151E178A9B9D9AAB36DCB189 /* ISO8601DateTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ISO8601DateTransform.swift; path = Sources/ISO8601DateTransform.swift; sourceTree = ""; }; + D89120D1F979FE09D1FAE2545011A477 /* DateTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DateTransform.swift; path = Sources/DateTransform.swift; sourceTree = ""; }; + D990992D5702D3942662D3D6C85C4E3A /* Reactive.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reactive.swift; path = RxSwift/Reactive.swift; sourceTree = ""; }; + DA95A32F9DD59A5D41EC16EA644859D0 /* Result.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Result.xcconfig; sourceTree = ""; }; DAB0701F8F25395B1ED46510ED4B9797 /* Pods-Demo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Demo.release.xcconfig"; sourceTree = ""; }; - DB94102F981B841A1B8233CA4F53CE5C /* DelaySubscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelaySubscription.swift; path = RxSwift/Observables/Implementations/DelaySubscription.swift; sourceTree = ""; }; - DBA357CA387E77BC86F3211BACBB658F /* HexColorTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HexColorTransform.swift; path = Sources/HexColorTransform.swift; sourceTree = ""; }; - DBD606A54419885E3005DD13704A2BA1 /* Observable+Multiple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Multiple.swift"; path = "RxSwift/Observables/Observable+Multiple.swift"; sourceTree = ""; }; - DEF06783E6924B5CEDFF0128E231A618 /* SchedulerServices+Emulation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SchedulerServices+Emulation.swift"; path = "RxSwift/Schedulers/SchedulerServices+Emulation.swift"; sourceTree = ""; }; - DF83A04973753332B1477BA6F0563E0F /* ObserveOnSerialDispatchQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserveOnSerialDispatchQueue.swift; path = RxSwift/Observables/Implementations/ObserveOnSerialDispatchQueue.swift; sourceTree = ""; }; - DFBB929A07AD58B8DF1B62F8CCB9617C /* SkipWhile.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SkipWhile.swift; path = RxSwift/Observables/Implementations/SkipWhile.swift; sourceTree = ""; }; - E0131B672543E9CE53D602C19C1697AB /* Never.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Never.swift; path = RxSwift/Observables/Implementations/Never.swift; sourceTree = ""; }; - E0E71EF992F4A8A524BF571CF34CB514 /* NSDecimalNumberTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSDecimalNumberTransform.swift; path = Sources/NSDecimalNumberTransform.swift; sourceTree = ""; }; - E14ECF7F33F7790AFC3D3D35204F8154 /* SubscribeOn.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscribeOn.swift; path = RxSwift/Observables/Implementations/SubscribeOn.swift; sourceTree = ""; }; - E1BD097F203E07D1C91D2B71F905662E /* ConcurrentDispatchQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConcurrentDispatchQueueScheduler.swift; path = RxSwift/Schedulers/ConcurrentDispatchQueueScheduler.swift; sourceTree = ""; }; - E209731F207152EDDD06BCD4699ECA34 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - E42F75FF7A5EB150246E53D560EADE77 /* Validation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Validation.swift; path = Source/Validation.swift; sourceTree = ""; }; - E464E575CC4DD2E4094EEEB62AE4CB22 /* ParameterEncoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoding.swift; path = Source/ParameterEncoding.swift; sourceTree = ""; }; + DB0872972C7A94960B5A21833E92E3CE /* Deferred.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deferred.swift; path = RxSwift/Observables/Implementations/Deferred.swift; sourceTree = ""; }; + DB4A69318FE1F6625FA4D6E6B04164EE /* Scan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scan.swift; path = RxSwift/Observables/Implementations/Scan.swift; sourceTree = ""; }; + DEB10F56BAE4B04D4A96E38220A78A07 /* Plugin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Plugin.swift; path = Sources/Moya/Plugin.swift; sourceTree = ""; }; + E0FA57D0F7177D2AE0773A8BE97E8354 /* MultipartFormData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartFormData.swift; path = Source/MultipartFormData.swift; sourceTree = ""; }; + E3F288750D27B1D0083671745B15000E /* RxSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxSwift-dummy.m"; sourceTree = ""; }; + E426869E5759ADD4988779647BDC0E15 /* RxSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxSwift-umbrella.h"; sourceTree = ""; }; E4A41A1EFD287ADC8565B46439DFC266 /* Observable+ObjectMapper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Observable+ObjectMapper.swift"; sourceTree = ""; }; + E4B90E99E896E143322847EB48D6B8DF /* Image.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Image.swift; path = Sources/Moya/Image.swift; sourceTree = ""; }; E51B5D4BA11643CC13ABF956AE7470FD /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - E585E58D1BF7DC9954EA14D91C585408 /* Lock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Lock.swift; path = RxSwift/Concurrency/Lock.swift; sourceTree = ""; }; - E64633C4E6807C2068AEA4B67D5E5369 /* RxSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = RxSwift.modulemap; sourceTree = ""; }; + E6831F167F98E32606C2E8D59D1FAD02 /* Observable+StandardSequenceOperators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+StandardSequenceOperators.swift"; path = "RxSwift/Observables/Observable+StandardSequenceOperators.swift"; sourceTree = ""; }; E68F8C86FB3267A3C87983DA9E269889 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - E7DB8A6E1CA6E57C673C24C4AC79CAE3 /* Pods_Demo.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Demo.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E94BD4106506E51E0FF5E80ACA283F76 /* Alamofire.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = Alamofire.modulemap; sourceTree = ""; }; - EAD79FC05D95EEC620BCCE53CC80E43F /* SchedulerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SchedulerType.swift; path = RxSwift/SchedulerType.swift; sourceTree = ""; }; - EB980A2BE8ED20D32DAE2E660982AF34 /* AsyncLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncLock.swift; path = RxSwift/Concurrency/AsyncLock.swift; sourceTree = ""; }; - EC2B4208634CD50BD85406F56272702B /* DispatchQueue+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Extensions.swift"; path = "Platform/DispatchQueue+Extensions.swift"; sourceTree = ""; }; - EEF0A7AF3CF6EB5A48872DA3677F44FF /* Platform.Linux.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Linux.swift; path = Platform/Platform.Linux.swift; sourceTree = ""; }; - EFED71AF76D187D4C32AF28AC98FBEF9 /* Observable+Binding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Binding.swift"; path = "RxSwift/Observables/Observable+Binding.swift"; sourceTree = ""; }; - F01ED9EB93FCF0C2F89A954E364F2157 /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = Source/Error.swift; sourceTree = ""; }; - F02E179A84B8E81C89A46B7D15D34ABD /* SerialDispatchQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SerialDispatchQueueScheduler.swift; path = RxSwift/Schedulers/SerialDispatchQueueScheduler.swift; sourceTree = ""; }; - F2E80B544CDFB7F75E6606E2BC767F3E /* Alamofire-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Alamofire-dummy.m"; sourceTree = ""; }; - F702D3DD5AF99B9AA724DA83132DCAF7 /* Using.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Using.swift; path = RxSwift/Observables/Implementations/Using.swift; sourceTree = ""; }; - F74788E0432E11444B6D00617CE03791 /* Platform.Darwin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Darwin.swift; path = Platform/Platform.Darwin.swift; sourceTree = ""; }; - F8A7E79405CB9B0A6434C5020179CC62 /* Switch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Switch.swift; path = RxSwift/Observables/Implementations/Switch.swift; sourceTree = ""; }; - F950D49AC56971E27529A7C1790A7624 /* Map.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Map.swift; path = RxSwift/Observables/Implementations/Map.swift; sourceTree = ""; }; - FAE8CC80F05AC65A8A0A3805C1209002 /* EnumTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EnumTransform.swift; path = Sources/EnumTransform.swift; sourceTree = ""; }; - FB89276944821E33117018CBF4239B8D /* Cancelable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cancelable.swift; path = RxSwift/Cancelable.swift; sourceTree = ""; }; - FB9EE69A4BF993C07E5224FB397A6B12 /* SessionDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionDelegate.swift; path = Source/SessionDelegate.swift; sourceTree = ""; }; - FBD970BC84C3EACDBC1F96C2513B2207 /* Range.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Range.swift; path = RxSwift/Observables/Implementations/Range.swift; sourceTree = ""; }; - FFD04DC47CC84151E1FF67AF743AA16E /* StartWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StartWith.swift; path = RxSwift/Observables/Implementations/StartWith.swift; sourceTree = ""; }; - FFD67ACF653675C77CC82ABAC5F8EC46 /* Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Zip+arity.swift"; path = "RxSwift/Observables/Implementations/Zip+arity.swift"; sourceTree = ""; }; + E7777954867520AD1455316A78252168 /* BehaviorSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BehaviorSubject.swift; path = RxSwift/Subjects/BehaviorSubject.swift; sourceTree = ""; }; + E7DB8A6E1CA6E57C673C24C4AC79CAE3 /* Pods_Demo.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_Demo.framework; path = "Pods-Demo.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + E8C66AF00D92D79C3F1E635B9070BDB3 /* ImmediateSchedulerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImmediateSchedulerType.swift; path = RxSwift/ImmediateSchedulerType.swift; sourceTree = ""; }; + EA132060BB1F6FB4E6D4C59377702C73 /* TransformOperators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransformOperators.swift; path = Sources/TransformOperators.swift; sourceTree = ""; }; + EC5B462A0E50267C71DB1002D6C530FC /* Disposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposable.swift; path = RxSwift/Disposable.swift; sourceTree = ""; }; + ECB181FAD8207A62867B3764988924D4 /* Catch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Catch.swift; path = RxSwift/Observables/Implementations/Catch.swift; sourceTree = ""; }; + ECBB5858149DB06ECA0C5CE2728E5E9F /* AccessTokenPlugin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AccessTokenPlugin.swift; path = Sources/Moya/Plugins/AccessTokenPlugin.swift; sourceTree = ""; }; + EDBC272BF1B4CF0A7D9EC558A99B0F89 /* SubjectType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubjectType.swift; path = RxSwift/Subjects/SubjectType.swift; sourceTree = ""; }; + EDC7E33A504E74F5BCC1E6BFC277E1BA /* AnyObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyObserver.swift; path = RxSwift/AnyObserver.swift; sourceTree = ""; }; + F00D9ACE9E00E8092E90B935F2B3374C /* ConnectableObservable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConnectableObservable.swift; path = RxSwift/Observables/Implementations/ConnectableObservable.swift; sourceTree = ""; }; + F156469041BAA4EC3DF737346CC92E2A /* Moya-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Moya-dummy.m"; sourceTree = ""; }; + F3C3FFB0A9CD5D3C428E9AA5BD1FB632 /* DisposeBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DisposeBase.swift; path = RxSwift/Disposables/DisposeBase.swift; sourceTree = ""; }; + F5C2A238799AFFBB6B6196978BCACCBD /* Repeat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Repeat.swift; path = RxSwift/Observables/Implementations/Repeat.swift; sourceTree = ""; }; + F96DF554CB89784075D1DF7379A6A90E /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + FC0D95521C8C9574A3B4027F13314C10 /* InvocableScheduledItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InvocableScheduledItem.swift; path = RxSwift/Schedulers/Internal/InvocableScheduledItem.swift; sourceTree = ""; }; + FC222A81F62ED6B9BDABA6B31F09BC86 /* SynchronizedUnsubscribeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedUnsubscribeType.swift; path = RxSwift/Concurrency/SynchronizedUnsubscribeType.swift; sourceTree = ""; }; + FCD65F39B39F370CF739B0E95EB57D29 /* Zip+Collection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Zip+Collection.swift"; path = "RxSwift/Observables/Implementations/Zip+Collection.swift"; sourceTree = ""; }; + FD6AD3323A5D6AC0D1E6C3BBF73B4ECC /* HexColorTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HexColorTransform.swift; path = Sources/HexColorTransform.swift; sourceTree = ""; }; + FE28CCC1592625D20D052E0212B27A6C /* DataTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DataTransform.swift; path = Sources/DataTransform.swift; sourceTree = ""; }; + FEE7E61E827BD52FF874DCCF2B372B71 /* PriorityQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PriorityQueue.swift; path = Platform/DataStructures/PriorityQueue.swift; sourceTree = ""; }; + FF02AD35E95EA5386D872A8256FA5DF3 /* Disposables.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposables.swift; path = RxSwift/Disposables/Disposables.swift; sourceTree = ""; }; + FFC17F63DEAE230B995CA7CF9ED2BA00 /* SkipWhile.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SkipWhile.swift; path = RxSwift/Observables/Implementations/SkipWhile.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 12EAB380D0B4CA36AF9B7DBEBCD0A469 /* Frameworks */ = { + 310BE1A845E60566CEB579691CC0577A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1F2794B1B027330E0FA71572B2915AF6 /* Foundation.framework in Frameworks */, + E9674E861DAB4BD6475368C1E7F84098 /* Alamofire.framework in Frameworks */, + AC90DF39324E1057B63197FE45341AC1 /* Foundation.framework in Frameworks */, + 000D350E67D30BCA2FBE7F2924993B84 /* Moya.framework in Frameworks */, + 2931270581FC1B6B83757EB3C3CEC760 /* ObjectMapper.framework in Frameworks */, + CE752C436ABC8898B95A66D78CB8191B /* Result.framework in Frameworks */, + 2BBA25B63470ECAF1D6608594313C917 /* RxSwift.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3E82E3789D1A0644EF074A723434C839 /* Frameworks */ = { + 57DAEC1F412B81BA3BAAEE802D25A74A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7A2AAC0B5BB4FBE450E5C967464B66C7 /* Foundation.framework in Frameworks */, + 1D00764CF6D44AAD20FBF135E6721976 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7A5726C4C9C27EAAB8663B88246176F3 /* Frameworks */ = { + 67973A52290871C78259EEE51D1F2353 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - CDEB9FD2DBE72998C21EB65EABEBFA3E /* Foundation.framework in Frameworks */, + 18235B4CDF8BED426D20EA5A24A55AFE /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 82049F829696FC10F9CD87B938431C36 /* Frameworks */ = { + 7461D75CE31FF097019200761D02C39F /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - AA4C7CD03A7CF610965D759B73E5D440 /* Alamofire.framework in Frameworks */, - E8A61F19A3A86546876E627E25977E37 /* Foundation.framework in Frameworks */, - 19E5CA9428996C553288DF32C38D4C6B /* Moya.framework in Frameworks */, - AF7183BE6B737DD8BD29A2D0F49B6FEB /* ObjectMapper.framework in Frameworks */, - DF3BCDE11D48D1452F3207FAF42D19D1 /* Result.framework in Frameworks */, - 4D3DF9462F17AD81D8220D7865231F96 /* RxSwift.framework in Frameworks */, + CA4D15B078B3BD4B91C7849F16E040E1 /* Alamofire.framework in Frameworks */, + 1B49968381587E76C8067F62F5FA1085 /* Foundation.framework in Frameworks */, + 59AF979FCB40524EC2764D656321A30E /* Result.framework in Frameworks */, + 11523975ADA09CD9D08AE04D8DA8DD4D /* RxSwift.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 94620FC15DA10F6AD6CAC225E3CAD170 /* Frameworks */ = { + 99195E4207764744AEC07ECCBCD550EB /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 73689E8F548D5FF1BD7080C4CE486AA2 /* Foundation.framework in Frameworks */, + A04BFC558D69E7DBB68023C80A9CFE4E /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - B1729F851F648EC60EE93CDB3C8BAEAD /* Frameworks */ = { + A397AB7EACC1CD58B601DC46D742CC25 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C9F90C2C178321C30D5145422B636837 /* Foundation.framework in Frameworks */, + 8F8F4F2402BFEDB0013438F114C65074 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - C855735B8839EE9C32874731EF4DB56A /* Frameworks */ = { + CACE9679738C523492B99E07550C1CA9 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 62C3A17A3662DA62210469EFB72CF7E4 /* Alamofire.framework in Frameworks */, - 07AF68616EB1DEBFCA38A3AC8305561B /* Foundation.framework in Frameworks */, - 924D29418923A19E1BEA86D1F3E0519F /* Result.framework in Frameworks */, - D314EB06059037EE8D85B9983A3B0FE4 /* RxSwift.framework in Frameworks */, + 0ED61723CDE26126601F65727397C352 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -693,6 +703,7 @@ children = ( 1995208C8B8C0486ECCBB40E7E39045E /* RxSwift */, ); + name = Source; path = Source; sourceTree = ""; }; @@ -701,199 +712,202 @@ children = ( E4A41A1EFD287ADC8565B46439DFC266 /* Observable+ObjectMapper.swift */, ); + name = RxSwift; path = RxSwift; sourceTree = ""; }; - 1B69AE029462AB330D6C645E827BE555 /* Source */ = { + 1AC3102705E93B2C8EF9401326E0432E /* Moya */ = { isa = PBXGroup; children = ( - 8F03D4318F25F0CEB39500AE4E751CAD /* Response+ObjectMapper.swift */, + 2036CC6DF7ED6B7804A2889ADBC48374 /* Core */, + 9A37F5B7C0B70C2456CAF1A0BBC88F9C /* RxSwift */, + 685FDE7FA8431CFD36CFA0627E118003 /* Support Files */, ); - path = Source; + name = Moya; + path = Moya; sourceTree = ""; }; - 1B9BC41E4943549B494126E91FA6F5BD /* Moya */ = { + 1B69AE029462AB330D6C645E827BE555 /* Source */ = { isa = PBXGroup; children = ( - 5F00435BE1400AF1C33B79CD22AE625E /* Core */, - 58EA22F363A0592976635E4913275232 /* RxSwift */, - 57969F7EA836F93B5C5B20C84E75B1B0 /* Support Files */, + 8F03D4318F25F0CEB39500AE4E751CAD /* Response+ObjectMapper.swift */, ); - path = Moya; + name = Source; + path = Source; sourceTree = ""; }; - 35B1193275AB3E48E99302585172BA47 /* Development Pods */ = { + 1EF293D850BB560310B274C165607855 /* Support Files */ = { isa = PBXGroup; children = ( - E72A724B57ABE13EFA3E36D7F3E2C193 /* Moya-ObjectMapper */, + F96DF554CB89784075D1DF7379A6A90E /* Info.plist */, + 9B6876197C04095F35C106F321ADFEAB /* Result.modulemap */, + DA95A32F9DD59A5D41EC16EA644859D0 /* Result.xcconfig */, + 0BDBFF369BF78CD38C31AA9803E20EB6 /* Result-dummy.m */, + CDC27E1A19AE16FCB7390D6239D3B2E8 /* Result-prefix.pch */, + 1D248015D58C51966F7B60D8E9BDEB00 /* Result-umbrella.h */, ); - name = "Development Pods"; + name = "Support Files"; + path = "../Target Support Files/Result"; sourceTree = ""; }; - 439C1970038273E327AD68795DBC9575 /* Frameworks */ = { + 2036CC6DF7ED6B7804A2889ADBC48374 /* Core */ = { isa = PBXGroup; children = ( - D443B303EF315755B19810A6928CC875 /* Alamofire.framework */, - 16A860D8F4BF07CDAABA319C5E5658A4 /* Moya.framework */, - 2B87CCF9A5173095B333FB06CA24E143 /* ObjectMapper.framework */, - 941085FB48E505ED52FF2DFD9B570A8C /* Result.framework */, - 7697FC2B90D6509A8AC3659265DC0FB7 /* RxSwift.framework */, - 4E9B102318E9EDC90E59279C5DC73C90 /* iOS */, + ECBB5858149DB06ECA0C5CE2728E5E9F /* AccessTokenPlugin.swift */, + 9E137ED6147E92A391DDC1D94C9297BC /* Cancellable.swift */, + A260C3A8AAD514FA39EBA5BBD70E6EA7 /* CredentialsPlugin.swift */, + 271CA26D8D3C3C84410F5EA450476FD2 /* Endpoint.swift */, + E4B90E99E896E143322847EB48D6B8DF /* Image.swift */, + 1220547CC505BA4F136BD046D50F69C7 /* Moya+Alamofire.swift */, + 69E7D389032EF8EA4806DB90704D6489 /* MoyaAvailability.swift */, + 4C58EF452ACF846DAB9978B4DA04CC1A /* MoyaError.swift */, + 9139B23888F6BEFACCC081690D2DC260 /* MoyaProvider.swift */, + 61C9DB4990674D36715B5F5761C8EF6C /* MoyaProvider+Defaults.swift */, + 7A538DFAFE938B58C4E23FA4DFD66EEE /* MoyaProvider+Internal.swift */, + 6FA37D22EF5F7283001917431946D32B /* MultipartFormData.swift */, + 32B9457BE438B121850721D244913F87 /* MultiTarget.swift */, + 7EC85AEDC2E2A82D0CC938F76EA827CF /* NetworkActivityPlugin.swift */, + 89EF273707171D752A5D6770AA9C9AAD /* NetworkLoggerPlugin.swift */, + DEB10F56BAE4B04D4A96E38220A78A07 /* Plugin.swift */, + 32041DD6BF48DBB13B4D4CF9DBBD433C /* Response.swift */, + 917BD95EED1A3974F00DB0C46DA7701F /* TargetType.swift */, ); - name = Frameworks; + name = Core; sourceTree = ""; }; - 4875CBC1E35B92851BAA7AC63D58D6F7 /* Support Files */ = { + 31320467E6D47CA01CF7AB64555BE01B /* Support Files */ = { isa = PBXGroup; children = ( - 96D21207A230D7EF0FC0DB8851FA532F /* Info.plist */, - 533482C8D168CAD7C5CF9A098A9E4E49 /* ObjectMapper.modulemap */, - 12BBF3F9FD009E9873977420F9F42D44 /* ObjectMapper.xcconfig */, - 968DB905F64DBD4A16C2F9F549E13AFF /* ObjectMapper-dummy.m */, - 4533DB32467A7B49E5B82017B169A043 /* ObjectMapper-prefix.pch */, - 5965EA337A05A3DA12F7F446FD61CBDF /* ObjectMapper-umbrella.h */, + 3120F5E86BA1965D7737BFF38589972B /* Info.plist */, + BA12A73F7506A706DA703C2498E7E8EA /* ObjectMapper.modulemap */, + 7A29990771D7608CE9773CE06B528685 /* ObjectMapper.xcconfig */, + B3E3A91E43BF5292A07A49980D0E41A5 /* ObjectMapper-dummy.m */, + 2356199D1A4139FC6A35FC34DF807D79 /* ObjectMapper-prefix.pch */, + 39549D208996BE5DB18D8F937CEAAF5E /* ObjectMapper-umbrella.h */, ); name = "Support Files"; path = "../Target Support Files/ObjectMapper"; sourceTree = ""; }; - 4E9B102318E9EDC90E59279C5DC73C90 /* iOS */ = { + 35B1193275AB3E48E99302585172BA47 /* Development Pods */ = { isa = PBXGroup; children = ( - BC29AF625DB92BBFD8CCCBB81875E4ED /* Foundation.framework */, + E72A724B57ABE13EFA3E36D7F3E2C193 /* Moya-ObjectMapper */, ); - name = iOS; + name = "Development Pods"; sourceTree = ""; }; - 57969F7EA836F93B5C5B20C84E75B1B0 /* Support Files */ = { + 3614B890D95324C563CCF526167F0039 /* Result */ = { isa = PBXGroup; children = ( - E209731F207152EDDD06BCD4699ECA34 /* Info.plist */, - 8174689C0128FB1A2765828C69607694 /* Moya.modulemap */, - C45260FFBC0DE22DBF1202A5EF5B9BCB /* Moya.xcconfig */, - B0B492B031ABE11F5A38494876490357 /* Moya-dummy.m */, - A189B46747857DC85CA0366446C1545A /* Moya-prefix.pch */, - 518B31EDA76F5C8EE98FDB17B11A7F52 /* Moya-umbrella.h */, + 361570831305600A477D74275FD47A1C /* Result.swift */, + 43539D4FCD3C1BB11FB42D58DDD7B124 /* ResultProtocol.swift */, + 1EF293D850BB560310B274C165607855 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/Moya"; + name = Result; + path = Result; sourceTree = ""; }; - 58EA22F363A0592976635E4913275232 /* RxSwift */ = { + 3B02125E346C43F76AE0F67066824AF5 /* Support Files */ = { isa = PBXGroup; children = ( - 546F6C15EE44555782FC5844FE837AF8 /* Moya+RxSwift.swift */, - 1E45E9314AF405B91BA42433AC880F81 /* Observable+Moya.swift */, + D03E29FD858C9181FFC117ABC73A9B8D /* Info.plist */, + 03D56CE2D96AFC4183E10A4B6E4A7528 /* RxSwift.modulemap */, + 6F868C186A7528C58E49AAA09CE417C5 /* RxSwift.xcconfig */, + E3F288750D27B1D0083671745B15000E /* RxSwift-dummy.m */, + 21F75E0389416036BEAAA33A967B5A7D /* RxSwift-prefix.pch */, + E426869E5759ADD4988779647BDC0E15 /* RxSwift-umbrella.h */, ); - name = RxSwift; + name = "Support Files"; + path = "../Target Support Files/RxSwift"; sourceTree = ""; }; - 5A7C9F4C488514A6D1C9B47C38D95EDA /* ObjectMapper */ = { + 439C1970038273E327AD68795DBC9575 /* Frameworks */ = { isa = PBXGroup; children = ( - 415ED9634B34CA1B5A42BB78F3942615 /* CustomDateFormatTransform.swift */, - 9B803D1E133A7FD270000551F5FA09F2 /* DataTransform.swift */, - 131C8888FF2AAD8BDA9FF777B1FF25B1 /* DateFormatterTransform.swift */, - 0E2A56194AF99209A01661A9492B6605 /* DateTransform.swift */, - 7AEEDFC83D839BF3F8AD090614FE9DEB /* DictionaryTransform.swift */, - 669BCDAB25D8D6D723D478C52CF7264E /* EnumOperators.swift */, - FAE8CC80F05AC65A8A0A3805C1209002 /* EnumTransform.swift */, - 0230015CAF85247AE4467B0ED711D0B4 /* FromJSON.swift */, - DBA357CA387E77BC86F3211BACBB658F /* HexColorTransform.swift */, - A4EE02E899207BB438EDFDA870AEA555 /* ImmutableMappable.swift */, - D990EC35151E178A9B9D9AAB36DCB189 /* ISO8601DateTransform.swift */, - 328F20E5B058707C1FF9B85B99F69253 /* Map.swift */, - D60937BDF5B1C6AEF4D8794944941DC3 /* MapError.swift */, - 680E520F20308F6FB20B56126BA3AEDC /* Mappable.swift */, - 34701DA9E60EA2E69BEF943B3D7461E0 /* Mapper.swift */, - E0E71EF992F4A8A524BF571CF34CB514 /* NSDecimalNumberTransform.swift */, - AD3004F655F41209090230BA9B29AA2F /* Operators.swift */, - 7E3C6C2C8865CCEBFD728E5CDF40F49E /* ToJSON.swift */, - 6B0D673DD178C61A172861D524D915C0 /* TransformOf.swift */, - 8C14D5B460B5AF6DC13F0BA3FC963AC8 /* TransformOperators.swift */, - 91552211187B9CBC599EC7286978FBAB /* TransformType.swift */, - 2D51099E12209F1971A9EB259281F38D /* URLTransform.swift */, - 4875CBC1E35B92851BAA7AC63D58D6F7 /* Support Files */, + D443B303EF315755B19810A6928CC875 /* Alamofire.framework */, + 16A860D8F4BF07CDAABA319C5E5658A4 /* Moya.framework */, + 2B87CCF9A5173095B333FB06CA24E143 /* ObjectMapper.framework */, + 941085FB48E505ED52FF2DFD9B570A8C /* Result.framework */, + 7697FC2B90D6509A8AC3659265DC0FB7 /* RxSwift.framework */, + 4E9B102318E9EDC90E59279C5DC73C90 /* iOS */, ); - path = ObjectMapper; + name = Frameworks; sourceTree = ""; }; - 5F00435BE1400AF1C33B79CD22AE625E /* Core */ = { + 4E9B102318E9EDC90E59279C5DC73C90 /* iOS */ = { isa = PBXGroup; children = ( - 4E003DCCA94A4BFF856DAD724FE03789 /* Cancellable.swift */, - 3A77F36A4D0549443CDC49CFE1911400 /* CredentialsPlugin.swift */, - 40A1DEA2BDE0FC75B1CD4F978F8283C7 /* Endpoint.swift */, - F01ED9EB93FCF0C2F89A954E364F2157 /* Error.swift */, - 4D8655848F42A407507C4F2DD299FA28 /* Image.swift */, - 174F74364889D5858C445F74709748BC /* Moya.swift */, - 4B5553CF57282D077981EE90BD7F082F /* Moya+Alamofire.swift */, - BA584A5CE6B6E6D3B5A16A3605B8706B /* Moya+Defaults.swift */, - 07204AFA1A99267D790CF67DDCB99384 /* Moya+Internal.swift */, - 3BCCD7FA7BBFA725A1B34B170FA8B6C1 /* NetworkActivityPlugin.swift */, - 518239385B0F3CDEAC6A932263828A61 /* NetworkLoggerPlugin.swift */, - A824B54D15011383634670FE8A75B11E /* Plugin.swift */, - 69821E9857CF08D602210B053A5A33E5 /* Response.swift */, - 8DF48DED21796FAF0F5F7255EC585572 /* Target.swift */, + BC29AF625DB92BBFD8CCCBB81875E4ED /* Foundation.framework */, ); - name = Core; + name = iOS; sourceTree = ""; }; - 652CF12B0565BC5A5C151A0594CB0F7F /* Result */ = { + 5B2F7CEE080521432416529B7337565B /* ObjectMapper */ = { isa = PBXGroup; children = ( - C5D5B10390A9CC05A07780EE391E1566 /* Result.swift */, - C566C24EC070D74C925F1C07590FFED9 /* ResultProtocol.swift */, - 9281A5ED991D394AF9FFD7D983CA9E8A /* Support Files */, + 2F9A63CF003A40C8AADFBB44654A575C /* CustomDateFormatTransform.swift */, + FE28CCC1592625D20D052E0212B27A6C /* DataTransform.swift */, + 5E47F90E2A75DDCC895A7244853B7FC0 /* DateFormatterTransform.swift */, + D89120D1F979FE09D1FAE2545011A477 /* DateTransform.swift */, + 4DB61447B6851CE8306807572E4A1832 /* DictionaryTransform.swift */, + 3F6037D2E43B7425871BB04035C13F34 /* EnumOperators.swift */, + 51B5632D20C70495048E3BA568D07C1D /* EnumTransform.swift */, + 22A1B59552BC8E77EDAC2FE05F244FC8 /* FromJSON.swift */, + FD6AD3323A5D6AC0D1E6C3BBF73B4ECC /* HexColorTransform.swift */, + 1785506F242E020A8CD350EA4B98B82A /* ImmutableMappable.swift */, + CBFF4EE4623ADDF5371B3382CBB42AD4 /* ISO8601DateTransform.swift */, + 18386C3048D72D7A7A145BB2986C929D /* Map.swift */, + 9A48EABB4F3EC8436A7099D3AFEF085D /* MapError.swift */, + 5BE8B8BE4871228992D62C5C44B5C733 /* Mappable.swift */, + 23B48C813B2402F3AD9FF052EC9919ED /* Mapper.swift */, + 5F3F140D286B723FB485A956172A42A0 /* NSDecimalNumberTransform.swift */, + AC8DAE1929C16104D738CBC62676F0B7 /* Operators.swift */, + 5D450C5E5F9B41A0AEBE227C024A7AC6 /* ToJSON.swift */, + CF6FA6A0FBB4A6E3A97049CECE432B2B /* TransformOf.swift */, + EA132060BB1F6FB4E6D4C59377702C73 /* TransformOperators.swift */, + 510C6B1526EE5616B82A0B9CDA9D74A2 /* TransformType.swift */, + 0C465902838FEEAAB473FEB6674FBE84 /* URLTransform.swift */, + 31320467E6D47CA01CF7AB64555BE01B /* Support Files */, ); - path = Result; + name = ObjectMapper; + path = ObjectMapper; sourceTree = ""; }; - 69C0B033B4660EDB0050106B63CD4B0A /* Support Files */ = { + 685FDE7FA8431CFD36CFA0627E118003 /* Support Files */ = { isa = PBXGroup; children = ( - 14D7ABA7021CFE536F5D046517AB72CE /* Info.plist */, - E64633C4E6807C2068AEA4B67D5E5369 /* RxSwift.modulemap */, - 2600FCD8359D9DE2BC0D50ACFD77BA94 /* RxSwift.xcconfig */, - 93F3AEBCBEDE1B6C0A10F4E3FB117DC3 /* RxSwift-dummy.m */, - 80FF36F62F1FB66870287272E5CC1B97 /* RxSwift-prefix.pch */, - BCD02AA44858E41604142BDA503A46AE /* RxSwift-umbrella.h */, + 4559DF21973D0C71586E9FE24A006291 /* Info.plist */, + 4226AF2FBA3F1AC805C4C7DCC02EBCAF /* Moya.modulemap */, + 8F5571304ACE632AE592E6F4E5EBB7A6 /* Moya.xcconfig */, + F156469041BAA4EC3DF737346CC92E2A /* Moya-dummy.m */, + 405EBA50E5D87E17AF8290BA8CA222E6 /* Moya-prefix.pch */, + C8BC764752A616840072FD087879AE40 /* Moya-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/RxSwift"; + path = "../Target Support Files/Moya"; sourceTree = ""; }; - 6CB8CA75B3A522288D249BBE7C3BDE2C /* Alamofire */ = { + 6F2351C272926D3E0225FEFC2F9C5D1F /* Targets Support Files */ = { isa = PBXGroup; children = ( - 363E0FA126F5FC6EC2A9234F8B32D1E2 /* AFError.swift */, - D17B2A96F4CE975DB7531C7FEC578C32 /* Alamofire.swift */, - AA91C7CB85FF8AD3B6D74E1C982C64CC /* DispatchQueue+Alamofire.swift */, - 63E612BED0549C8970572E8897E121A4 /* MultipartFormData.swift */, - 85E6722F5431ABE3125E65805ED90BA6 /* NetworkReachabilityManager.swift */, - C210FD9C09AB4A0618D59B9F1E1EDC79 /* Notifications.swift */, - E464E575CC4DD2E4094EEEB62AE4CB22 /* ParameterEncoding.swift */, - 69B0849E7C0F50727891B902D8C5F699 /* Request.swift */, - CB5CF9FFC45B7B3AFC2A14597B9136F9 /* Response.swift */, - 2C056C8037BAE328084785A74A578844 /* ResponseSerialization.swift */, - B7BDF4792909360C5BA5E7D542447CBD /* Result.swift */, - 265046C808A2B7508D2A3BE8BD777FF5 /* ServerTrustPolicy.swift */, - FB9EE69A4BF993C07E5224FB397A6B12 /* SessionDelegate.swift */, - A1E866A2DF8D85611840907C11179BA6 /* SessionManager.swift */, - B1EA4C48C68230183845BD2E39306287 /* TaskDelegate.swift */, - 087AC567FFD070A05DEBFE4D81FF615E /* Timeline.swift */, - E42F75FF7A5EB150246E53D560EADE77 /* Validation.swift */, - 9FA6146FA9506589CEBE5BBA5ABDF1A7 /* Support Files */, + ECC58720C5754A079F9A150E40E2FCDD /* Pods-Demo */, ); - path = Alamofire; + name = "Targets Support Files"; sourceTree = ""; }; - 6F2351C272926D3E0225FEFC2F9C5D1F /* Targets Support Files */ = { + 78F1D61B6903E86B53CBB7F91B4C3A3B /* Support Files */ = { isa = PBXGroup; children = ( - ECC58720C5754A079F9A150E40E2FCDD /* Pods-Demo */, + 5A0D36985AC87CD0536DA703F462D2F5 /* Alamofire.modulemap */, + 421BB20E82DD7178053343477617A10C /* Alamofire.xcconfig */, + D2791FA20215B2D7BED7B715DF495743 /* Alamofire-dummy.m */, + 731440B8AD94B5442A9278E6F08CA215 /* Alamofire-prefix.pch */, + 200362AE0EEA5FB575BA356B40ACAB23 /* Alamofire-umbrella.h */, + 71B15B9B5AB35A6B3D3D24CC2B789E5A /* Info.plist */, ); - name = "Targets Support Files"; + name = "Support Files"; + path = "../Target Support Files/Alamofire"; sourceTree = ""; }; 7DB346D0F39D3F0E887471402A8071AB = { @@ -902,209 +916,218 @@ 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, 35B1193275AB3E48E99302585172BA47 /* Development Pods */, 439C1970038273E327AD68795DBC9575 /* Frameworks */, - E5B544CCC6FD544FF24FC90990B57C66 /* Pods */, + C2AC228D4B140E303DCEEB15382623FE /* Pods */, F9F72CB2850F29621C1F407FEE5E7F7E /* Products */, 6F2351C272926D3E0225FEFC2F9C5D1F /* Targets Support Files */, ); sourceTree = ""; }; - 91EAE1222F480AD5120EC2E9E378A2D2 /* RxSwift */ = { + 98A89FC49000D297EE97FC5183950416 /* RxSwift */ = { isa = PBXGroup; children = ( - 89D9F620E4E3342D01E3F8F6B7A6A0F7 /* AddRef.swift */, - 31B83646CFA2AE2F71AE2424520E7478 /* Amb.swift */, - 743D103CEBD3E7A3078B6534C348F205 /* AnonymousDisposable.swift */, - 7088982D0FCFB15202E57716D6CA9335 /* AnonymousInvocable.swift */, - 763ED3A040F2558DB962D07D6ECF8E95 /* AnonymousObservable.swift */, - 180A6816B6C90770AD259F41901085F3 /* AnonymousObserver.swift */, - B0ECCA48188F3E39E6256B1D23433117 /* AnyObserver.swift */, - EB980A2BE8ED20D32DAE2E660982AF34 /* AsyncLock.swift */, - CC170997D4327E4845F4A4201D46B991 /* Bag.swift */, - 04087A92A3C533959940632B012DB1A0 /* Bag+Rx.swift */, - 622F223D2E030143CBE4F589B0CE0465 /* BehaviorSubject.swift */, - 6E67F1D9C0E200BBAF400C6622218072 /* BinaryDisposable.swift */, - 692D604D47D98A8394C607E513BEC011 /* BooleanDisposable.swift */, - 4E1D98C5E40C84FB0E140297B725D47F /* Buffer.swift */, - FB89276944821E33117018CBF4239B8D /* Cancelable.swift */, - 7F62991516AD442D1EF544FB0C340C45 /* Catch.swift */, - 1198984BD12BC01C2DB2C57751EF8D2E /* CombineLatest.swift */, - C4F1BC548E917D1E5F81EE6054B391C5 /* CombineLatest+arity.swift */, - 12ADCADB6669185BD180B2C3A7C58E95 /* CombineLatest+Collection.swift */, - 4E572F7C5FD56BF320BEAE6F53CC61C0 /* CompositeDisposable.swift */, - C2399D4BBE6DE4672BD743436602FE52 /* Concat.swift */, - E1BD097F203E07D1C91D2B71F905662E /* ConcurrentDispatchQueueScheduler.swift */, - 83BBAA2C2C6A613FD7EDA34482836981 /* ConcurrentMainScheduler.swift */, - 13C1093B247BFE0678E19939ECDA77E3 /* ConnectableObservable.swift */, - 321F3851EEF3814D86D10D901D877663 /* ConnectableObservableType.swift */, - 6578D141AEEDCA4EAA3AC078B461E79B /* CurrentThreadScheduler.swift */, - 178C789BB4D04957A5FC6203D9BE569D /* Debug.swift */, - B01F9B9B24C328E91631B6FF3F9DC3C1 /* Debunce.swift */, - C51D5DF0B81B8879BCA4F59466FB2F38 /* Deferred.swift */, - 77236EDA7888184759544EF8250FBD20 /* Delay.swift */, - DB94102F981B841A1B8233CA4F53CE5C /* DelaySubscription.swift */, - EC2B4208634CD50BD85406F56272702B /* DispatchQueue+Extensions.swift */, - 54DD77A554385833AD9D78DE93E8DAE6 /* DispatchQueueConfiguration.swift */, - 86D575824CAFF6E1E2E8D5B14DE26DF7 /* Disposable.swift */, - 7B571E6F835903111F96AF5815961740 /* Disposables.swift */, - C020B9E1483D96ADFB3212384D8CA0D3 /* DisposeBag.swift */, - 88F8A0D5E6A6E1B226C75BD85D4E82AD /* DisposeBase.swift */, - A3A928FD5F6B10301588630DB1E2EA23 /* DistinctUntilChanged.swift */, - 83316EC2719FBA1E3A4A464C78599DBE /* Do.swift */, - 6A451E9548910F54073EADDE912B9EC9 /* ElementAt.swift */, - 3E0567DF533FC99199CEC63B53F19581 /* Empty.swift */, - 4F8C2009A0BE75F08B0796011B950776 /* Error.swift */, - D32F1BE7D5619B7C420D65A7F9883141 /* Errors.swift */, - 1F0CAE9BA691989D685657E104B2EC52 /* Event.swift */, - C3CD06C7A5E5F0064620A9DA78F6C6C3 /* Filter.swift */, - 8C0AF622277F256B6C8C0CBB8EB9BC8C /* Generate.swift */, - 106ECA30E1F7D0DBD1E6996A6C92CF0F /* HistoricalScheduler.swift */, - 80A76DADFB328445C023CECAF023A171 /* HistoricalSchedulerTimeConverter.swift */, - 3E92444A665EA3A98EFF401EF3564597 /* ImmediateScheduler.swift */, - 4E7E4D23379C80FD1D4630013E045E9D /* ImmediateSchedulerType.swift */, - 39AEE3CC1B7AFE910ABBDCEABA43888F /* InfiniteSequence.swift */, - 20DD270CDE02745A10E7325CE8F2CEFF /* InvocableScheduledItem.swift */, - CD5C46D78D03AA241CB0F8B35AB72CAB /* InvocableType.swift */, - 8C89D416B8B4F645C39F023736766501 /* Just.swift */, - E585E58D1BF7DC9954EA14D91C585408 /* Lock.swift */, - 4E269BDC85ECD7047ADCD5BEF5FE7D37 /* LockOwnerType.swift */, - 9266D1C8F5279E05ABFF0022ED6EFC5F /* MainScheduler.swift */, - F950D49AC56971E27529A7C1790A7624 /* Map.swift */, - B2EDCC81F5CDEFE050B2B5315D6677E8 /* Merge.swift */, - 978E815E1F80EADC26FC76AA98F070A8 /* Multicast.swift */, - E0131B672543E9CE53D602C19C1697AB /* Never.swift */, - 9E1300F711ABFEF20FA39759E1F3F7F9 /* NopDisposable.swift */, - C83FABB05297D3EB577CF78F774A43C5 /* Observable.swift */, - 1685B91B4B2083B1D601FD14D3D34BC2 /* Observable+Aggregate.swift */, - EFED71AF76D187D4C32AF28AC98FBEF9 /* Observable+Binding.swift */, - 7F669431409AAA8C030D1D26331A13EF /* Observable+Concurrency.swift */, - 36605BF9A96C4297EABEEBB0C3050B01 /* Observable+Creation.swift */, - A3C7593C03B2BE33B6B242FAA85A44F2 /* Observable+Debug.swift */, - DBD606A54419885E3005DD13704A2BA1 /* Observable+Multiple.swift */, - B56B071139AA1450C1FE7FE934401147 /* Observable+Single.swift */, - B9F90F4C9698895823A33E7BE767BCF9 /* Observable+StandardSequenceOperators.swift */, - 56E3B5E251CE721C15659C0A8D686E53 /* Observable+Time.swift */, - A1E486EFBD5D10E9226AA32622828830 /* ObservableConvertibleType.swift */, - C8C769679B846CA420C2245A7C985AC7 /* ObservableType.swift */, - C3913DDF900024A0656DAD15D1F4935B /* ObservableType+Extensions.swift */, - 68A0127ECB278F418AC7D5CA1813A062 /* ObserveOn.swift */, - DF83A04973753332B1477BA6F0563E0F /* ObserveOnSerialDispatchQueue.swift */, - 9A95D8BDF6F0181FDE6EDA342FDD9415 /* ObserverBase.swift */, - C2FADBC738031177EAE6D59421B9DE4C /* ObserverType.swift */, - 0A1C1DEEB73FBEFC4DFFED39DE3FE6DD /* OperationQueueScheduler.swift */, - F74788E0432E11444B6D00617CE03791 /* Platform.Darwin.swift */, - EEF0A7AF3CF6EB5A48872DA3677F44FF /* Platform.Linux.swift */, - CAB840CAB855A29CD4834DABC37AC594 /* PriorityQueue.swift */, - 1B80D8330400645BA42A8A201C1C782C /* Producer.swift */, - 3BCED95C2FBBFD5E695850A12F5CBA46 /* PublishSubject.swift */, - 8234279B253A056C0E18E59D7CEECCEB /* Queue.swift */, - FBD970BC84C3EACDBC1F96C2513B2207 /* Range.swift */, - 966FF218DA45F71C29347D31DCCB9DFE /* Reactive.swift */, - 9E200A2B90ED4D4E5A994A29B7D7B470 /* RecursiveScheduler.swift */, - 88E60639D724B9761813F63397B16290 /* Reduce.swift */, - AB4109713E01820112B8AA35467E3BCD /* RefCount.swift */, - 34E209AAE1030DE3C2A482B5E9483ADA /* RefCountDisposable.swift */, - 4C903728B13BD2023859B17C89FF2CA0 /* Repeat.swift */, - 13C85615E85030E1AEEBDB904E1DEB0F /* ReplaySubject.swift */, - 1916F5BF7F9B5AE2A46F8F5C65CA1F8E /* RetryWhen.swift */, - 0ED92947E105E33971F207B3EDFF15E9 /* Rx.swift */, - 544F8DF4384364BF478DC184CB643C27 /* RxMutableBox.swift */, - 7B646D229B56DCCE1D3D48EC35024759 /* Sample.swift */, - 677A6CDF1606DF26FF0A67599748E317 /* Scan.swift */, - 9FC70E52D2FA8928764FFD5DC3D77B94 /* ScheduledDisposable.swift */, - 5DEAA1C61595A036AC9183F30E956F2C /* ScheduledItem.swift */, - 5CDF5F079667F2FE0C4E39FCCAEBF20E /* ScheduledItemType.swift */, - DEF06783E6924B5CEDFF0128E231A618 /* SchedulerServices+Emulation.swift */, - EAD79FC05D95EEC620BCCE53CC80E43F /* SchedulerType.swift */, - 02499690F45A2FCD365176FFA84CBF8C /* Sequence.swift */, - F02E179A84B8E81C89A46B7D15D34ABD /* SerialDispatchQueueScheduler.swift */, - B75FF2855450211C8E2BA157E6CFA621 /* SerialDisposable.swift */, - 71D08D69FA332A65278C3CD9FE7C3AC0 /* ShareReplay1.swift */, - 3F65F82E68DC581C82FCD9A091AC3C5C /* ShareReplay1WhileConnected.swift */, - 2BF9F4843AA1C0265CE5641EB89C0C34 /* SingleAssignmentDisposable.swift */, - 8DFC96E910F5FBA77A2B5DF4BD45E36A /* SingleAsync.swift */, - 7AD101EF1D295C0361A92180DF06913A /* Sink.swift */, - C893FD2B9EF1C980B19B413C3BAD65EC /* Skip.swift */, - 8483E680808B3FC2110B344A1CA3868A /* SkipUntil.swift */, - DFBB929A07AD58B8DF1B62F8CCB9617C /* SkipWhile.swift */, - FFD04DC47CC84151E1FF67AF743AA16E /* StartWith.swift */, - 85714AB38F31550EF76BA5B89F3D7F75 /* String+Rx.swift */, - 51328FB81CE8807E09556087151D4BEF /* SubjectType.swift */, - E14ECF7F33F7790AFC3D3D35204F8154 /* SubscribeOn.swift */, - 737536990E1EBEF8235D251A1D90B8F8 /* SubscriptionDisposable.swift */, - F8A7E79405CB9B0A6434C5020179CC62 /* Switch.swift */, - 47A9F3FBFB80D619E98220D1260C4EC0 /* SynchronizedDisposeType.swift */, - D7B1DFBB1430B216B213D05B6DF867BC /* SynchronizedOnType.swift */, - ABEB028F66753C38FEE11F13AC36AC8E /* SynchronizedSubscribeType.swift */, - 1AD1773F9C42D5618C535CE2223DA748 /* SynchronizedUnsubscribeType.swift */, - B5A0C0ECE6A06B0007EC66BCAF49B9A8 /* TailRecursiveSink.swift */, - D13793A7445AECCA5FEF75FB0D5F27AD /* Take.swift */, - C2049EBE624AE781091E70060F14F0EE /* TakeLast.swift */, - A0BEDCCF251F23A340822A8B184A8CB7 /* TakeUntil.swift */, - 58E6B955858B85E414B9D5E43AD3636D /* TakeWhile.swift */, - 7D24D70FE02AAB813A6136DF1888909F /* Throttle.swift */, - AFA4CFED512237BB19DC534CF19A2B1A /* Timeout.swift */, - D82791D3EDF8FFAAD1535B60FDFA091A /* Timer.swift */, - 6AAB0677B7A6742908524102D7F0C570 /* ToArray.swift */, - F702D3DD5AF99B9AA724DA83132DCAF7 /* Using.swift */, - A94804E0EDE96FBDABEE084E9D33EA19 /* Variable.swift */, - 39CB11F2F06DFB5EA5B0AFE8A52FB34B /* VirtualTimeConverterType.swift */, - 7CC1622A2F8021735A7798AFC29C6CC8 /* VirtualTimeScheduler.swift */, - 765370C83664BED90363DF7E877FA0DE /* Window.swift */, - 5BF4D3D0EF856190B6A7EFDF0F5BF59D /* WithLatestFrom.swift */, - AEA4D2783331F9F4E8546A96E7A3A595 /* Zip.swift */, - FFD67ACF653675C77CC82ABAC5F8EC46 /* Zip+arity.swift */, - C733C67E4DECB93A1D00B7B45A337596 /* Zip+Collection.swift */, - 69C0B033B4660EDB0050106B63CD4B0A /* Support Files */, + 0DB173081F30C6DAB1125FEC2ED97814 /* Source */, ); - path = RxSwift; + name = RxSwift; sourceTree = ""; }; - 9281A5ED991D394AF9FFD7D983CA9E8A /* Support Files */ = { + 9A37F5B7C0B70C2456CAF1A0BBC88F9C /* RxSwift */ = { isa = PBXGroup; children = ( - 42B58BCC246F1CCE3C5BCAA2414E70BE /* Info.plist */, - 44A5BE23A9B1FB43D710B5FF770A9E0A /* Result.modulemap */, - D147029A6C1D9A66E72613720D291900 /* Result.xcconfig */, - 56E06FDCF783E7E9D2B80D339AC8C9B5 /* Result-dummy.m */, - 8B6F8A4FDB90483A21612501676819C4 /* Result-prefix.pch */, - D799FC1CF17DB6FD7E5114CA5654CDE2 /* Result-umbrella.h */, + 2A55B7262F0222A6165E1D4ECC9923E2 /* Observable+Response.swift */, + C939A8B0D4334725D2DFA8D7DBF49DFF /* RxMoyaProvider.swift */, ); - name = "Support Files"; - path = "../Target Support Files/Result"; + name = RxSwift; sourceTree = ""; }; - 98A89FC49000D297EE97FC5183950416 /* RxSwift */ = { + 9C2275CBEF9E7C22E3CE2DA82DB340C4 /* RxSwift */ = { isa = PBXGroup; children = ( - 0DB173081F30C6DAB1125FEC2ED97814 /* Source */, + 88E1A739B153465D5010E227B78A2758 /* AddRef.swift */, + 6A2381DAA75A9FC0C537BB57718585F2 /* Amb.swift */, + 3DE09CEF30354F7FA242FB21BC1110A6 /* AnonymousDisposable.swift */, + D2862F6C849E4DD5BA52DF0192209AE8 /* AnonymousInvocable.swift */, + 7045DB9AEC9AA6E2AA25B6C356E487D2 /* AnonymousObservable.swift */, + 69C1B07ECECD96CD241C45F6567048FE /* AnonymousObserver.swift */, + EDC7E33A504E74F5BCC1E6BFC277E1BA /* AnyObserver.swift */, + 6C99EA4AE4183FBC164E44EBDFE09383 /* AsyncLock.swift */, + 76C4C2F97381D16535D4BCBD11E19E52 /* Bag.swift */, + B6DED1D80CB06760836D2E06C1D5C3DF /* Bag+Rx.swift */, + E7777954867520AD1455316A78252168 /* BehaviorSubject.swift */, + 9F5500AF4CC3CDF139446E9CFA68559C /* BinaryDisposable.swift */, + 28976B353FB56B4894142CBE75C57AEA /* BooleanDisposable.swift */, + 8FC3E43272FC31C2E7D4D9B952D37ADE /* Buffer.swift */, + 9CC91EE382CF121F0C29CB75012FE1DD /* Cancelable.swift */, + ECB181FAD8207A62867B3764988924D4 /* Catch.swift */, + 0E0993D947FE3864F3CFD8844488F194 /* CombineLatest.swift */, + 64748A7A81045F52F3FD97FCEDEE8E69 /* CombineLatest+arity.swift */, + 0DA8B6B7ED23DCA10C9D43FBD5D04240 /* CombineLatest+Collection.swift */, + 0C5730EB7898ECD85E81A56C334ACFCB /* CompositeDisposable.swift */, + A5C6840CC55A1EC19C830B9C22AFC248 /* Concat.swift */, + 299994517FBD0C7B6D5C8DF176CCEDBC /* ConcurrentDispatchQueueScheduler.swift */, + CBFCABEC1E18FC0605E7B8CA08E2B68B /* ConcurrentMainScheduler.swift */, + F00D9ACE9E00E8092E90B935F2B3374C /* ConnectableObservable.swift */, + 491E9F51BBA345ED15BC8791407DBFD2 /* ConnectableObservableType.swift */, + 41589DB22693FE13CD4B1D3356AED4A5 /* CurrentThreadScheduler.swift */, + 4A49E0AC5C4D91F53CBE30EA21C9A55F /* Debug.swift */, + 5D682F9FB44B0CB1CEE9C00A2D179CB6 /* Debunce.swift */, + DB0872972C7A94960B5A21833E92E3CE /* Deferred.swift */, + B5D915CDA73F10A26D6AE06C3A0E1924 /* Delay.swift */, + 9FC4B4C12479616CA6687F00F9069982 /* DelaySubscription.swift */, + 1EBE756789908655CF02C6614C8CD996 /* DispatchQueue+Extensions.swift */, + 634FA4438F7C60D8BB286930CD371836 /* DispatchQueueConfiguration.swift */, + EC5B462A0E50267C71DB1002D6C530FC /* Disposable.swift */, + FF02AD35E95EA5386D872A8256FA5DF3 /* Disposables.swift */, + 16A5EA828C208BFD24CD2F5FAEF1F487 /* DisposeBag.swift */, + F3C3FFB0A9CD5D3C428E9AA5BD1FB632 /* DisposeBase.swift */, + 80B617FAF10D272094D9EA70DB29339C /* DistinctUntilChanged.swift */, + 54279F3D573AF7F58CD73D54BCE2A1B7 /* Do.swift */, + B7B751D95762C8AD8283D675C900BC22 /* ElementAt.swift */, + 1A6DF84308BCA3C3751D4ABC551E3E91 /* Empty.swift */, + B00528C01C1D6ECFD1C67595E28A74B8 /* Error.swift */, + C62A3925E333894DEA55B1062F2E884F /* Errors.swift */, + 85CDE64EE62CEF900BD4C02623FB0357 /* Event.swift */, + A0918EFABAE23E9AF090E038DD183DF5 /* Filter.swift */, + 075728ECE5DF455D2ABDA1D6632BBA8E /* Generate.swift */, + 185D79F89F2853FAA167F36844346006 /* HistoricalScheduler.swift */, + 089D1180CC7B6D68576B1C11E21827E5 /* HistoricalSchedulerTimeConverter.swift */, + 1AB30791C65EA80A438E8F29CDF1FAEF /* ImmediateScheduler.swift */, + E8C66AF00D92D79C3F1E635B9070BDB3 /* ImmediateSchedulerType.swift */, + 77A24139F62337CB68BD2061FB919149 /* InfiniteSequence.swift */, + FC0D95521C8C9574A3B4027F13314C10 /* InvocableScheduledItem.swift */, + 947F3CEB646C2E5F5CCC3A694D5DD75E /* InvocableType.swift */, + BBEF16A23395E97A20C58604B54E08D7 /* Just.swift */, + B68CA09D909C9C35F83F500BE8B2FADB /* Lock.swift */, + 311B7CACA12919D0E7AEB0ABDF39D0E7 /* LockOwnerType.swift */, + 67C7192EADD04E94A2F9C30933B3ED8E /* MainScheduler.swift */, + 920788B5E2EE1D8970BDD7D257B65196 /* Map.swift */, + 47E7E16CA916E78F44293D0199FD2A34 /* Merge.swift */, + 30244BB08DFF1FFB1A855D1B04F6831C /* Multicast.swift */, + 448FA2149E14A0A308243A4D173D029D /* Never.swift */, + 75036CEB82C945FFDE9A3DE4BAACE594 /* NopDisposable.swift */, + 23FB27E435E934D4E0927DC9C8B671C7 /* Observable.swift */, + 461821E4E05F78ED12628F398488B489 /* Observable+Aggregate.swift */, + 303053D6DE6735DDC4B30D3BD13868E4 /* Observable+Binding.swift */, + 97D52C2DC05BB77D2515C8DCABE13305 /* Observable+Concurrency.swift */, + 059F5B56C073FBF3FF48ADA6AD697291 /* Observable+Creation.swift */, + 27A987A9BE5A61C93BDB44F06226EC10 /* Observable+Debug.swift */, + A16F293C877B018E0F005ACDA307D54B /* Observable+Multiple.swift */, + 52BF64F17BC3A6B2E4C8A45EDCFCB771 /* Observable+Single.swift */, + E6831F167F98E32606C2E8D59D1FAD02 /* Observable+StandardSequenceOperators.swift */, + 2A4DB0D7E8F0EF0D4872EEB2EE3ED0BD /* Observable+Time.swift */, + 44C280A30EC8358FFFE53301CB9D0F95 /* ObservableConvertibleType.swift */, + A40CDAFED50C4265CE4576AE4BBEE54E /* ObservableType.swift */, + B4FD22803010BDF119A9842011D9D306 /* ObservableType+Extensions.swift */, + 5EA7FA1C0B0A98ADC1DB06087AAEC106 /* ObserveOn.swift */, + 862E88AE9C4B8980E93F04C7D2124BEB /* ObserveOnSerialDispatchQueue.swift */, + 9E548D95AB751ABC9000C163926E9570 /* ObserverBase.swift */, + 0D2993A7926C61330398C69F13B51578 /* ObserverType.swift */, + 4B1F66BF8478CB1D1FD5E2BA23DE8010 /* OperationQueueScheduler.swift */, + 68719B9C4CA94288D3379D7CE2BB4188 /* Optional.swift */, + 2C3836EA1EEDCFB91F53ADEEF5003CEE /* Platform.Darwin.swift */, + 8F3734CC1B278C567A7496A5B52B3C84 /* Platform.Linux.swift */, + FEE7E61E827BD52FF874DCCF2B372B71 /* PriorityQueue.swift */, + 6DE169CF3EC8CF672A137318793B3049 /* Producer.swift */, + 69D3A69BDD82332D8BD4A091CD5B3011 /* PublishSubject.swift */, + CD43ADD20EDC166080D72FDEB83481B7 /* Queue.swift */, + 0EE0E5592D4ED38DE9331753EE50A1C1 /* Range.swift */, + D990992D5702D3942662D3D6C85C4E3A /* Reactive.swift */, + 410240AB4EBC053F20EA5B707DE02929 /* RecursiveScheduler.swift */, + 93C161556808B561A5D23229C71741B4 /* Reduce.swift */, + 17AF486587BDC230E21727D32AB90050 /* RefCount.swift */, + 4AEBF06E49CBEDA5D99587C770DB8E12 /* RefCountDisposable.swift */, + F5C2A238799AFFBB6B6196978BCACCBD /* Repeat.swift */, + B5AA439F5CE72FB6BDCE9D8E7C2FC82F /* ReplaySubject.swift */, + 715D9CFCF177861EDCAC163486970A86 /* RetryWhen.swift */, + 35ECDE3319D5F2CC72045284CB631A4C /* Rx.swift */, + 8071DBD5E1EB5ED844540A663EED7050 /* RxMutableBox.swift */, + C483F82BE38A158B5580F5DA493B3C79 /* Sample.swift */, + DB4A69318FE1F6625FA4D6E6B04164EE /* Scan.swift */, + A5E83E8AC358BE6BB4343D3CC7499E2E /* ScheduledDisposable.swift */, + 16ABD36957DB33978B84837FCFF192EF /* ScheduledItem.swift */, + AF486863A7DA411F41499E16F35226D3 /* ScheduledItemType.swift */, + B8A541BA9B0D07920F47DBC32331F9B1 /* SchedulerServices+Emulation.swift */, + C96D0F1965C8DA43E37190CC405E198B /* SchedulerType.swift */, + 674B4172612AC88059B858A045DBE4F4 /* Sequence.swift */, + 33F1D7943C3EC5C7B763A513FAA5C3A1 /* SerialDispatchQueueScheduler.swift */, + 92852A13DA6A40E1C8B7455A6225E012 /* SerialDisposable.swift */, + BAD76713B72386E44595A2F2FC00F282 /* ShareReplay1.swift */, + A1F6D22E477C5FA9CC327F44D498A22A /* ShareReplay1WhileConnected.swift */, + C81C0B64028E541006FD20D69EC083F2 /* SingleAssignmentDisposable.swift */, + 6FA4DDBB103BDF3E520400F90513FF95 /* SingleAsync.swift */, + 4602D9199D4A5DEB41516E524E997DAD /* Sink.swift */, + 430F3F0982E452C25A47A720CB2E1388 /* Skip.swift */, + 68AEA1CEBBDE320EC52D1A6D9B28582F /* SkipUntil.swift */, + FFC17F63DEAE230B995CA7CF9ED2BA00 /* SkipWhile.swift */, + 4E23852FF71CC0DEB9FE2F21989906A6 /* StartWith.swift */, + 1EC70881CC62B2BAD0142F4F4862FF18 /* String+Rx.swift */, + EDBC272BF1B4CF0A7D9EC558A99B0F89 /* SubjectType.swift */, + 93EEA6AFD633C8E47F52B077C2358C4A /* SubscribeOn.swift */, + 71F1C26763A29FEDD112C7EF7459ADE9 /* SubscriptionDisposable.swift */, + 3CA45F6FEED5CF280F9217401D3246A8 /* Switch.swift */, + 984F20EEA8C37B53D1A6C320DA0D7CFF /* SynchronizedDisposeType.swift */, + 48D71B2E2D88FA4AE2BFE6A2E69806AB /* SynchronizedOnType.swift */, + 7EB810A7843FC8A98A13874105D47EB9 /* SynchronizedSubscribeType.swift */, + FC222A81F62ED6B9BDABA6B31F09BC86 /* SynchronizedUnsubscribeType.swift */, + 64D3656CAE8E196EA113AFCD2A47EA88 /* TailRecursiveSink.swift */, + 9B10F17AD4C03E27E7222AD7463758CE /* Take.swift */, + C79D3097AD6BEB10C3D456EEA1A85F10 /* TakeLast.swift */, + 8EF6E875FC80EC938C7AEAEB00A2DC23 /* TakeUntil.swift */, + 531EFA1FAC84D2B0E2FE9D212524D61D /* TakeWhile.swift */, + A3450ADCD9C95E79F686871FBA9C4F0C /* Throttle.swift */, + C9FCFE119C98031F129D62D90EFB4E9C /* Timeout.swift */, + 45AF2D9C476254EC89300079A8F74F0E /* Timer.swift */, + 61092F00EB710652648CC90906B01AAF /* ToArray.swift */, + 001A01A9BBAAF985C4C2CCAC56EEF5E8 /* Using.swift */, + AFEC5DE8BE58F48E929605BD25D96137 /* Variable.swift */, + 59EDF2A162910D8D2C38684F084BDB12 /* VirtualTimeConverterType.swift */, + 8AB94B6E05741287909F55056F3983EF /* VirtualTimeScheduler.swift */, + A44577780DF188E11DFD37845EF6B62E /* Window.swift */, + 77D2AA2C7CA768DBD6FDE3CF6B73B9D7 /* WithLatestFrom.swift */, + 88E827F2C907C8A3D92565881ADB1933 /* Zip.swift */, + 8B997B9614AACE754B5293B08634BB9A /* Zip+arity.swift */, + FCD65F39B39F370CF739B0E95EB57D29 /* Zip+Collection.swift */, + 3B02125E346C43F76AE0F67066824AF5 /* Support Files */, ); name = RxSwift; + path = RxSwift; sourceTree = ""; }; - 9FA6146FA9506589CEBE5BBA5ABDF1A7 /* Support Files */ = { + C2AC228D4B140E303DCEEB15382623FE /* Pods */ = { isa = PBXGroup; children = ( - E94BD4106506E51E0FF5E80ACA283F76 /* Alamofire.modulemap */, - 19BD42BD53ED7DEFE9E5F3D28585F7AA /* Alamofire.xcconfig */, - F2E80B544CDFB7F75E6606E2BC767F3E /* Alamofire-dummy.m */, - 1B672F0311073576317450388570D23D /* Alamofire-prefix.pch */, - 95947C6546DEF91519F70F806150A677 /* Alamofire-umbrella.h */, - 92D4D3B7EBD2620ABCD0079B1EC61EB4 /* Info.plist */, + D4119E393B8330F31B0D35DFAE3FDB47 /* Alamofire */, + 1AC3102705E93B2C8EF9401326E0432E /* Moya */, + 5B2F7CEE080521432416529B7337565B /* ObjectMapper */, + 3614B890D95324C563CCF526167F0039 /* Result */, + 9C2275CBEF9E7C22E3CE2DA82DB340C4 /* RxSwift */, ); - name = "Support Files"; - path = "../Target Support Files/Alamofire"; + name = Pods; sourceTree = ""; }; - E5B544CCC6FD544FF24FC90990B57C66 /* Pods */ = { + D4119E393B8330F31B0D35DFAE3FDB47 /* Alamofire */ = { isa = PBXGroup; children = ( - 6CB8CA75B3A522288D249BBE7C3BDE2C /* Alamofire */, - 1B9BC41E4943549B494126E91FA6F5BD /* Moya */, - 5A7C9F4C488514A6D1C9B47C38D95EDA /* ObjectMapper */, - 652CF12B0565BC5A5C151A0594CB0F7F /* Result */, - 91EAE1222F480AD5120EC2E9E378A2D2 /* RxSwift */, + 96F282656B9E4B0383EF91F723C4A798 /* AFError.swift */, + BB9199241C15F461B5C347D88A56D71D /* Alamofire.swift */, + 7451013B26625E7535EA52144329C4C0 /* DispatchQueue+Alamofire.swift */, + E0FA57D0F7177D2AE0773A8BE97E8354 /* MultipartFormData.swift */, + 978EDE2DD1F12CEA3E10E924279A1ACE /* NetworkReachabilityManager.swift */, + 247511870F098D8E8ED8F764D35EE74C /* Notifications.swift */, + B907A30DAF740A8B2916C8352A7E5AD9 /* ParameterEncoding.swift */, + 88E8B01B6B01D248C1166CF1B25FB931 /* Request.swift */, + 19D4B894754A534A322784A0E693E4D6 /* Response.swift */, + 33AF1B747B75DC6AD72EA5E400438C04 /* ResponseSerialization.swift */, + A5E237840A6609BCF8CEFA4499666778 /* Result.swift */, + 7D362A8F81622FFCB3073DDAFE4CEAFE /* ServerTrustPolicy.swift */, + 71962444539FB7396B9D54C106000318 /* SessionDelegate.swift */, + 31294E4650CEF2D1C4941007BA3ADF8D /* SessionManager.swift */, + 41FB9335C48981A47F5DED449C2FC293 /* TaskDelegate.swift */, + 5F191B4432429C10438C009B03B5A496 /* Timeline.swift */, + 474826AAFDEC0E7F21EA49108DBDA9E5 /* Validation.swift */, + 78F1D61B6903E86B53CBB7F91B4C3A3B /* Support Files */, ); - name = Pods; + name = Alamofire; + path = Alamofire; sourceTree = ""; }; E72A724B57ABE13EFA3E36D7F3E2C193 /* Moya-ObjectMapper */ = { @@ -1161,154 +1184,154 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 0C5C1DB9DBE53D407783F4C2649AD8AF /* Headers */ = { + 0F840852823E46F2990D05F7A1871DEC /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 20878C47280017E2EEAAC8F944403C5B /* ObjectMapper-umbrella.h in Headers */, + 7269E1153109D9A90359F3B4CDFF9AC3 /* RxSwift-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 1035576DBC7B5258A4748EE851EA403B /* Headers */ = { + 18A07B835FCA2D596DDA279B34C60713 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - FA657C5D33C7D4A7A3E05EA015BF9739 /* RxSwift-umbrella.h in Headers */, + FC5075412755DDFAF3BBE70DACFAB357 /* Result-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3CA6B357841A9676E078764BCAB8F127 /* Headers */ = { + 21B47F15F90EEBBC3CC8C10C71C90A8B /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 89EA97FE056EEA1825AB576D65A87C34 /* Moya-ObjectMapper-umbrella.h in Headers */, + A24DAB3DED238E00758C268E995B7E73 /* Moya-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 4208230BA9A79CB4898564526254436D /* Headers */ = { + 650FE484FC73065432C2356FF5B244E6 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - C0D5C712CB93EB5501E6E5D141965430 /* Result-umbrella.h in Headers */, + 9701EFB020B3EB64920A7D6D2A6BC667 /* Pods-Demo-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - AFF1860EA10693C0638E5964A4A27C2E /* Headers */ = { + 83A1DF9D7474CFB521E8C3036F7E31C0 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - D7D8B3C62E3508D60565415C581ECA91 /* Pods-Demo-umbrella.h in Headers */, + C8647B547B0AA650F2FD380DB4E13D6D /* Moya-ObjectMapper-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - BE31826303FC8BB925C86FADD512546B /* Headers */ = { + 8D9E6122EE97FD52CD98930DD2F3471F /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 22638D18CF046E33F6F629DA650F553C /* Moya-umbrella.h in Headers */, + 481E2BFCD8DDC1B26812081041152FDA /* ObjectMapper-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - EFDF3B631BBB965A372347705CA14854 /* Headers */ = { + B4002B6E97835FDCCAA5963EFE09A3E0 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 9469DF81ECB494E84675969B5E13374C /* Alamofire-umbrella.h in Headers */, + 1B9EDEDC964E6B08F78920B4F4B9DB84 /* Alamofire-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 2ED02EC9E5EE712D362F31DA0BCE0538 /* Moya-ObjectMapper */ = { + 2A6D0851BA24DD25864CB23A3A83B9CC /* Moya */ = { isa = PBXNativeTarget; - buildConfigurationList = 6624C22CC8CAFE1A367676BF4481C633 /* Build configuration list for PBXNativeTarget "Moya-ObjectMapper" */; + buildConfigurationList = 55498414C06D636BD5A964403C0608F5 /* Build configuration list for PBXNativeTarget "Moya" */; buildPhases = ( - 4A8283A1A5007E16D347B5A04E954C64 /* Sources */, - 82049F829696FC10F9CD87B938431C36 /* Frameworks */, - 3CA6B357841A9676E078764BCAB8F127 /* Headers */, + 67467CBD1F09727991BB579C830B7EA6 /* Sources */, + 7461D75CE31FF097019200761D02C39F /* Frameworks */, + 21B47F15F90EEBBC3CC8C10C71C90A8B /* Headers */, ); buildRules = ( ); dependencies = ( - 08CCBD998FFC79CC2C86CDFE8CF712BB /* PBXTargetDependency */, - 10FBD13D71CAEF57BB67158925ABE0C1 /* PBXTargetDependency */, - 42D1C63F28ECB911F9716C9E6A8A5C2D /* PBXTargetDependency */, - 559B01BA2E10236A0FCF88311558F326 /* PBXTargetDependency */, - 787B6BDFB9BF23BFF3E6465570322400 /* PBXTargetDependency */, + 304A51463AA62541C01678DE43BFA33F /* PBXTargetDependency */, + E66D42EB5428919F199BABB1E4C6F37C /* PBXTargetDependency */, + F0BB9F4D747704B79CF8A3BA2EE0569F /* PBXTargetDependency */, ); - name = "Moya-ObjectMapper"; - productName = "Moya-ObjectMapper"; - productReference = 74E1D911F9F5881749CDA2F365FFFAC6 /* Moya_ObjectMapper.framework */; + name = Moya; + productName = Moya; + productReference = 64F6F3D67DCBBFD9C51417546F1841A6 /* Moya.framework */; productType = "com.apple.product-type.framework"; }; - 367711885BCB5A6183AAF7BB1F8F10D8 /* Pods-Demo */ = { + 421F6BEF92744C4CA9E5F012EC4C5C8F /* ObjectMapper */ = { isa = PBXNativeTarget; - buildConfigurationList = BCE611428E5580997AB2DD028A487DEE /* Build configuration list for PBXNativeTarget "Pods-Demo" */; + buildConfigurationList = 87F2C5A63CCA45E4DAD04FD5F0F3B408 /* Build configuration list for PBXNativeTarget "ObjectMapper" */; buildPhases = ( - AD13050C6824A5DB5564BBD96BEED5DD /* Sources */, - 3E82E3789D1A0644EF074A723434C839 /* Frameworks */, - AFF1860EA10693C0638E5964A4A27C2E /* Headers */, + B3E3EF9C543FB899A54CA7BD029B8E17 /* Sources */, + 57DAEC1F412B81BA3BAAEE802D25A74A /* Frameworks */, + 8D9E6122EE97FD52CD98930DD2F3471F /* Headers */, ); buildRules = ( ); dependencies = ( - B2376C5AB7EA41DF64C35A543F25BDFC /* PBXTargetDependency */, - 61CC4CC88E4CF6074B497265A29420D6 /* PBXTargetDependency */, - 81129349CB57741E529FF3767B97FFA4 /* PBXTargetDependency */, - 85F95C642F42F62C71EB8F7D173E8719 /* PBXTargetDependency */, - 85649B8F39F7778039126CB879BB0709 /* PBXTargetDependency */, - 82FB608E84955C5A0AAB876E5FAA9C03 /* PBXTargetDependency */, ); - name = "Pods-Demo"; - productName = "Pods-Demo"; - productReference = E7DB8A6E1CA6E57C673C24C4AC79CAE3 /* Pods_Demo.framework */; + name = ObjectMapper; + productName = ObjectMapper; + productReference = 42B9037B64668A5DE610FCC3F18B39C5 /* ObjectMapper.framework */; productType = "com.apple.product-type.framework"; }; - 38D33A40D89A678EA3AFCCA7D5EFFDF1 /* ObjectMapper */ = { + 49C6564B2E2D0A1604946BAD65772E21 /* Moya-ObjectMapper */ = { isa = PBXNativeTarget; - buildConfigurationList = 9C8087FE6155DA42BEE6C1679BF0981D /* Build configuration list for PBXNativeTarget "ObjectMapper" */; + buildConfigurationList = 04DCCDCD98BFA3F8C4E09C4D68686DEF /* Build configuration list for PBXNativeTarget "Moya-ObjectMapper" */; buildPhases = ( - 52F53A89B4E476DA0ED5065090A2B267 /* Sources */, - 7A5726C4C9C27EAAB8663B88246176F3 /* Frameworks */, - 0C5C1DB9DBE53D407783F4C2649AD8AF /* Headers */, + 7AB99F41614F9B803CDBCB2B2975D3C5 /* Sources */, + 310BE1A845E60566CEB579691CC0577A /* Frameworks */, + 83A1DF9D7474CFB521E8C3036F7E31C0 /* Headers */, ); buildRules = ( ); dependencies = ( + 63F4E4961A235E6097C1B4890BD80733 /* PBXTargetDependency */, + 60E025535DE828762DEF1025B460FC8A /* PBXTargetDependency */, + C46C0FBEB937D4E7BDA5BE25A905EA46 /* PBXTargetDependency */, + 3DB431781F676F74809E5FBE7D6CA3A0 /* PBXTargetDependency */, + E71B0B664B1ACD03021C58C78F19421B /* PBXTargetDependency */, ); - name = ObjectMapper; - productName = ObjectMapper; - productReference = 42B9037B64668A5DE610FCC3F18B39C5 /* ObjectMapper.framework */; + name = "Moya-ObjectMapper"; + productName = "Moya-ObjectMapper"; + productReference = 74E1D911F9F5881749CDA2F365FFFAC6 /* Moya_ObjectMapper.framework */; productType = "com.apple.product-type.framework"; }; - 477129E5F1C34767720355B372594326 /* Moya */ = { + 8877E08ADA63ED416CDAD570805E542C /* Pods-Demo */ = { isa = PBXNativeTarget; - buildConfigurationList = 1E02F1E050A322B2389951889422BF03 /* Build configuration list for PBXNativeTarget "Moya" */; + buildConfigurationList = FC86D0FB9B9BC3EDC784978B82192B26 /* Build configuration list for PBXNativeTarget "Pods-Demo" */; buildPhases = ( - 9AB19F8C337490FEF7E36AF2EBDDF4C8 /* Sources */, - C855735B8839EE9C32874731EF4DB56A /* Frameworks */, - BE31826303FC8BB925C86FADD512546B /* Headers */, + 187102A71F311BE6F5C3DBCD6FFEAD89 /* Sources */, + CACE9679738C523492B99E07550C1CA9 /* Frameworks */, + 650FE484FC73065432C2356FF5B244E6 /* Headers */, ); buildRules = ( ); dependencies = ( - BCE17403ED108F4BF5335E322F449AB9 /* PBXTargetDependency */, - F3ED996550EE916BAE84D609EF23E8F8 /* PBXTargetDependency */, - 479DB1F378B0363A99732B7144288E40 /* PBXTargetDependency */, + 5016FB89549450F6D8BECD6F498E920A /* PBXTargetDependency */, + 0966EEB7D7BBBB2171382E743EC11DB2 /* PBXTargetDependency */, + A44BC6C967AF8FDD38BA09C0533B38D1 /* PBXTargetDependency */, + 0896172A4E39B66EEE123CAE1124A792 /* PBXTargetDependency */, + B08E59184B1009B64FE0895690C984D7 /* PBXTargetDependency */, + 44C6FACC27EBDE1CF853476AFB1E5540 /* PBXTargetDependency */, ); - name = Moya; - productName = Moya; - productReference = 64F6F3D67DCBBFD9C51417546F1841A6 /* Moya.framework */; + name = "Pods-Demo"; + productName = "Pods-Demo"; + productReference = E7DB8A6E1CA6E57C673C24C4AC79CAE3 /* Pods_Demo.framework */; productType = "com.apple.product-type.framework"; }; - 79C040AFDDCE1BCBF6D8B5EB0B85887F /* Alamofire */ = { + 88E9EC28B8B46C3631E6B242B50F4442 /* Alamofire */ = { isa = PBXNativeTarget; - buildConfigurationList = 3CFB42910790CF0BDBCCEBAACD6B9367 /* Build configuration list for PBXNativeTarget "Alamofire" */; + buildConfigurationList = 419E5D95491847CD79841B971A8A3277 /* Build configuration list for PBXNativeTarget "Alamofire" */; buildPhases = ( - 120C4E824DDCCA024C170A491FF221A5 /* Sources */, - B1729F851F648EC60EE93CDB3C8BAEAD /* Frameworks */, - EFDF3B631BBB965A372347705CA14854 /* Headers */, + 32B9974868188C4803318E36329C87FE /* Sources */, + 99195E4207764744AEC07ECCBCD550EB /* Frameworks */, + B4002B6E97835FDCCAA5963EFE09A3E0 /* Headers */, ); buildRules = ( ); @@ -1319,38 +1342,38 @@ productReference = 458E8181BA8E5F0826DA11AFBFE8F017 /* Alamofire.framework */; productType = "com.apple.product-type.framework"; }; - AA691A34C2489F4467C1F13FA615D956 /* Result */ = { + C419A9BCC9AACDC44A26B80764B6B554 /* RxSwift */ = { isa = PBXNativeTarget; - buildConfigurationList = 846A32DD1BC97828E7DA53616FEBA01D /* Build configuration list for PBXNativeTarget "Result" */; + buildConfigurationList = 823C0DFC675B00046AAA3DB1E22E7778 /* Build configuration list for PBXNativeTarget "RxSwift" */; buildPhases = ( - 3612A76960E3ADE49F53B1DAC5FE5FB5 /* Sources */, - 12EAB380D0B4CA36AF9B7DBEBCD0A469 /* Frameworks */, - 4208230BA9A79CB4898564526254436D /* Headers */, + 078258CA6A0AC512DA7F3551B803C064 /* Sources */, + 67973A52290871C78259EEE51D1F2353 /* Frameworks */, + 0F840852823E46F2990D05F7A1871DEC /* Headers */, ); buildRules = ( ); dependencies = ( ); - name = Result; - productName = Result; - productReference = 7BA3BEEAEEC210EC8CF52DC782F44A81 /* Result.framework */; + name = RxSwift; + productName = RxSwift; + productReference = 712A10695F5EFC41FC3420F2341BEBAF /* RxSwift.framework */; productType = "com.apple.product-type.framework"; }; - FC4D2B698B3E2F7F2F9B719F47713C41 /* RxSwift */ = { + EFDB85DF4827734B35E8A46720ACAEE0 /* Result */ = { isa = PBXNativeTarget; - buildConfigurationList = A21ED0713E9BC36FC583AACBC7F43CB5 /* Build configuration list for PBXNativeTarget "RxSwift" */; + buildConfigurationList = C01316BC6E3841F3B09491831731F213 /* Build configuration list for PBXNativeTarget "Result" */; buildPhases = ( - 7971ADED80905AED1A1150CD190385D0 /* Sources */, - 94620FC15DA10F6AD6CAC225E3CAD170 /* Frameworks */, - 1035576DBC7B5258A4748EE851EA403B /* Headers */, + CBCCE006462499F6127948ACF97EF490 /* Sources */, + A397AB7EACC1CD58B601DC46D742CC25 /* Frameworks */, + 18A07B835FCA2D596DDA279B34C60713 /* Headers */, ); buildRules = ( ); dependencies = ( ); - name = RxSwift; - productName = RxSwift; - productReference = 712A10695F5EFC41FC3420F2341BEBAF /* RxSwift.framework */; + name = Result; + productName = Result; + productReference = 7BA3BEEAEEC210EC8CF52DC782F44A81 /* Result.framework */; productType = "com.apple.product-type.framework"; }; /* End PBXNativeTarget section */ @@ -1374,402 +1397,406 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 79C040AFDDCE1BCBF6D8B5EB0B85887F /* Alamofire */, - 477129E5F1C34767720355B372594326 /* Moya */, - 2ED02EC9E5EE712D362F31DA0BCE0538 /* Moya-ObjectMapper */, - 38D33A40D89A678EA3AFCCA7D5EFFDF1 /* ObjectMapper */, - 367711885BCB5A6183AAF7BB1F8F10D8 /* Pods-Demo */, - AA691A34C2489F4467C1F13FA615D956 /* Result */, - FC4D2B698B3E2F7F2F9B719F47713C41 /* RxSwift */, + 88E9EC28B8B46C3631E6B242B50F4442 /* Alamofire */, + 2A6D0851BA24DD25864CB23A3A83B9CC /* Moya */, + 49C6564B2E2D0A1604946BAD65772E21 /* Moya-ObjectMapper */, + 421F6BEF92744C4CA9E5F012EC4C5C8F /* ObjectMapper */, + 8877E08ADA63ED416CDAD570805E542C /* Pods-Demo */, + EFDB85DF4827734B35E8A46720ACAEE0 /* Result */, + C419A9BCC9AACDC44A26B80764B6B554 /* RxSwift */, ); }; /* End PBXProject section */ /* Begin PBXSourcesBuildPhase section */ - 120C4E824DDCCA024C170A491FF221A5 /* Sources */ = { + 078258CA6A0AC512DA7F3551B803C064 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 62143065F94E53F437DCE5D7A998D66D /* AFError.swift in Sources */, - 8D463A0A4C65C02FDD5211F0F3C6F8B8 /* Alamofire-dummy.m in Sources */, - 7CA5A9BA5246FDA8227233E310029392 /* Alamofire.swift in Sources */, - E2A1C34237B4E928E5F85C097F4C2551 /* DispatchQueue+Alamofire.swift in Sources */, - C7A3408350643ADE1018826C766EE356 /* MultipartFormData.swift in Sources */, - E59BF19C0AFA68B741552319FC478C7B /* NetworkReachabilityManager.swift in Sources */, - 0C1B4E9FFB8B81E8833A3BAD537B1990 /* Notifications.swift in Sources */, - AF158CAAF4DD319009AFC855DC995D90 /* ParameterEncoding.swift in Sources */, - 12118C354EFA36292F82A8D0CFCE45B2 /* Request.swift in Sources */, - 86ED08F33B7D357932A9AB743E9D9EA7 /* Response.swift in Sources */, - B8154C96802336E5DDA5CEE97C3180A0 /* ResponseSerialization.swift in Sources */, - DF1BBF94997A2F4248B42B25EA919EC2 /* Result.swift in Sources */, - C0AEA97E7684DDAD56998C0AE198A433 /* ServerTrustPolicy.swift in Sources */, - 907AB123FBC8BC9340D5B7350CE828DF /* SessionDelegate.swift in Sources */, - A79AC30123B0C2177D67F6ED6A1B3215 /* SessionManager.swift in Sources */, - E1F583CB4A68A928CD197250AA752926 /* TaskDelegate.swift in Sources */, - 3982B850C43B41BA6D25F440F0412E9B /* Timeline.swift in Sources */, - FFFDD494EE6D1B83DDAF5F2721F685A6 /* Validation.swift in Sources */, + 881511F18347A071F3D5582D84BF4FE0 /* AddRef.swift in Sources */, + 284357F5C45E01457F554A55E14EE79B /* Amb.swift in Sources */, + 82B35B13CC497879A9CDEFAF27D1E8D8 /* AnonymousDisposable.swift in Sources */, + 88B81D5FB7D13E7E9D68314908CEA1DD /* AnonymousInvocable.swift in Sources */, + B812515DC38D8BDF48A318BE0255349F /* AnonymousObservable.swift in Sources */, + 8BD4076C8BDEB990EEE63A3F182E5068 /* AnonymousObserver.swift in Sources */, + 236F2A023C984AE1EC9315EC771CB2E1 /* AnyObserver.swift in Sources */, + 2393100E72FDBD8B2B10766D2C86E2C3 /* AsyncLock.swift in Sources */, + 7195B3AE87C39C6A13396C2169CC5B59 /* Bag+Rx.swift in Sources */, + 39F022A0A95DB31730DA4B61381735E1 /* Bag.swift in Sources */, + 2F9748181475FA8DD8397BD700CCA1F5 /* BehaviorSubject.swift in Sources */, + FEC550CD63834BE17F7C23FCC2623A22 /* BinaryDisposable.swift in Sources */, + 67D302BC92ECA4F825AB0A90A9B42C4D /* BooleanDisposable.swift in Sources */, + C5E17E1F3E9BA19E5D6F1B348C28F4B9 /* Buffer.swift in Sources */, + B79EA446C81D7E8DC2D8F00DBD155D4A /* Cancelable.swift in Sources */, + 1A3CF66B9BE42E4BF4F8E9E406640F7D /* Catch.swift in Sources */, + 2C38971D46C8B20D6A8AD11462D65EFF /* CombineLatest+arity.swift in Sources */, + 255D3602F77B00B7E3E3450C6EEE7DDF /* CombineLatest+Collection.swift in Sources */, + 2AD2BF8C149BA2AF30ECB8DE4EF9195F /* CombineLatest.swift in Sources */, + 6D75799224123C0AF6E76E85B95504F0 /* CompositeDisposable.swift in Sources */, + BDA48D5B2155B3F81B8C4D26F64DC8E6 /* Concat.swift in Sources */, + 6D7CAECF25C31701D23F5A8FFEF6834D /* ConcurrentDispatchQueueScheduler.swift in Sources */, + 418FA6B30D8C8590BDADB68DB9CB90D4 /* ConcurrentMainScheduler.swift in Sources */, + F515A676FBE19E2E6FF4FC2E027E7A73 /* ConnectableObservable.swift in Sources */, + D18AF0E13B1C9C0185AF6CAF1B1EB398 /* ConnectableObservableType.swift in Sources */, + 85680829F357777C470C561CFB2AC7D5 /* CurrentThreadScheduler.swift in Sources */, + BB1C904265CAB0AF90C22765F76A4CCC /* Debug.swift in Sources */, + 50EA6C139EF3CF23DC6FFB638AD61FF0 /* Debunce.swift in Sources */, + F73187BEA0CBBA86A583249952AC9BA1 /* Deferred.swift in Sources */, + 9190E7A65D704AB6C9A1D76F74A81B2C /* Delay.swift in Sources */, + 576A25F7839B1CA4C912550B215CEE74 /* DelaySubscription.swift in Sources */, + 12466B1C36B0B76424D6FC59972F7540 /* DispatchQueue+Extensions.swift in Sources */, + A63D559F104B052E6635C16E2F120225 /* DispatchQueueConfiguration.swift in Sources */, + 8929780AA920696D8E82424093990F2C /* Disposable.swift in Sources */, + A26131E02CC23D893C6D867BA8EA140E /* Disposables.swift in Sources */, + 533821E00A7618B1C54E68D2FCED26FB /* DisposeBag.swift in Sources */, + 69499A1C8D9B30C590CEEE45CDEBF915 /* DisposeBase.swift in Sources */, + C9506FC5BB311015E959E3C9CC25CAFF /* DistinctUntilChanged.swift in Sources */, + B0989FAE22DBC3BB0C3930ED56532FC0 /* Do.swift in Sources */, + C6157895583AC820683CACF190B04F5A /* ElementAt.swift in Sources */, + 9BABE397916C652AF0D6F5EEB3F53C20 /* Empty.swift in Sources */, + A2FC2A75AE09CD4EE95A0891ED878B2A /* Error.swift in Sources */, + B5C297054808E61CA8F05CD246D91CDC /* Errors.swift in Sources */, + 8C8B88BFA206E4EFCEC5FE3E2581FE14 /* Event.swift in Sources */, + 169B9C32B019370D00948F32FBA9F616 /* Filter.swift in Sources */, + 377408FCECFC816F2602F1AFFD833377 /* Generate.swift in Sources */, + EFE52344BD25C370CB7487B85CB93A0B /* HistoricalScheduler.swift in Sources */, + B0E8FB83845152C5A317B7EC56604409 /* HistoricalSchedulerTimeConverter.swift in Sources */, + 2AD5E81B80B7CFB134C80CD8327C0A03 /* ImmediateScheduler.swift in Sources */, + 052E83F4BEC355B7ED8637E68294D5E4 /* ImmediateSchedulerType.swift in Sources */, + D6937604775DE4B6E383EEE748F086DE /* InfiniteSequence.swift in Sources */, + B687EC65B43E0ADB8802A153BD75FEDA /* InvocableScheduledItem.swift in Sources */, + 4115B9A043DE968A00D88A5271CA0D20 /* InvocableType.swift in Sources */, + D0E9ACD33593A247E3917A6E0320A40B /* Just.swift in Sources */, + 98872FD5C8EB5AF7141598B353D817D1 /* Lock.swift in Sources */, + AFF28E2D0FF46B22E10CF2A8B6137616 /* LockOwnerType.swift in Sources */, + AC344B74518DFDC497775715DF4BA9B7 /* MainScheduler.swift in Sources */, + B482BDC30506CA18C751FEADD50FEA77 /* Map.swift in Sources */, + 5CAFB3CFEBCC0184C3BCA509F453DD18 /* Merge.swift in Sources */, + 8DC2935FFB2308F1AAAE0DF648612BE5 /* Multicast.swift in Sources */, + CB6D00182C820C7D1C2B4D7B655836C1 /* Never.swift in Sources */, + 0C8293302F7392A9D1C115637A00F985 /* NopDisposable.swift in Sources */, + 6C4D599CF8228B9A123716CF219148AF /* Observable+Aggregate.swift in Sources */, + 3B0F42A33ECA1F1274639F7F776740CF /* Observable+Binding.swift in Sources */, + F70E4E828BBCB8F3C44A317DE2F3917F /* Observable+Concurrency.swift in Sources */, + F848F6B849AC676138C7653FC32F51A1 /* Observable+Creation.swift in Sources */, + 610B5A8F62698CCA4F325454B9311856 /* Observable+Debug.swift in Sources */, + 486DB8A94F18B9EF802381989C4D5412 /* Observable+Multiple.swift in Sources */, + CBA1D186FB1C0B4FC6ED2376A931485E /* Observable+Single.swift in Sources */, + D8A343DC2A3BE2487B6B986B92CD4172 /* Observable+StandardSequenceOperators.swift in Sources */, + 092A4AAD97C8EC6D33F8A4AB6480407C /* Observable+Time.swift in Sources */, + DE132A60E6F220C78A1BDB4E64507B4F /* Observable.swift in Sources */, + 788074D18632C32076F8AAF0B806E2F6 /* ObservableConvertibleType.swift in Sources */, + 689C35E8DCB4EB06678E5556F743FB8D /* ObservableType+Extensions.swift in Sources */, + 51CD367B53F177B2870D5D5475983762 /* ObservableType.swift in Sources */, + 4BB4D022DED1BF063077B35720C94B1C /* ObserveOn.swift in Sources */, + D929FAADF7CB5A921BE947EABBC8A512 /* ObserveOnSerialDispatchQueue.swift in Sources */, + AF2CB94FBE957E724EC882BE3383883C /* ObserverBase.swift in Sources */, + 89588BED18CC06249EC3184E393A8987 /* ObserverType.swift in Sources */, + DB182BA719341AD5264E1E99BF3CD755 /* OperationQueueScheduler.swift in Sources */, + CA54EB6A4C8747EE3AA917B1DBBE25E8 /* Optional.swift in Sources */, + 3CAD64CE8DE4953602095AE384152F93 /* Platform.Darwin.swift in Sources */, + 8AB760A19482FCDE3000802DE1C1ACAD /* Platform.Linux.swift in Sources */, + 90453C40C38513917E693FE5D0E16C0C /* PriorityQueue.swift in Sources */, + 201245623CBE34F06B584B7A36C3A5AF /* Producer.swift in Sources */, + 59A734DE29B9DD54273684DE2E4B9D68 /* PublishSubject.swift in Sources */, + DCB35A5A589C72D2491A290020898BF5 /* Queue.swift in Sources */, + E681F32257FFC3C5EF5DBBF091550888 /* Range.swift in Sources */, + C583AC60835DD84F0AF9759B12FB5B3C /* Reactive.swift in Sources */, + 835EFEC73B71A2C116860CA63915216C /* RecursiveScheduler.swift in Sources */, + C77DB0AB6C1839A949D3C2A04C7E5564 /* Reduce.swift in Sources */, + DB52980EE134EC32EBD4DA40E24AB6CE /* RefCount.swift in Sources */, + 0E58868FFFC23E3381E295DA1425DECF /* RefCountDisposable.swift in Sources */, + 569C183969B37231DFF11DD1FA7973A4 /* Repeat.swift in Sources */, + 88F7DC4FEA5522AF30B0FE7FA54D225A /* ReplaySubject.swift in Sources */, + 9E99B87DE08011358D8BD46E7D7E1876 /* RetryWhen.swift in Sources */, + C23E0A28EE008081F068D79EBB1D0DC8 /* Rx.swift in Sources */, + DED5F7CF1B8DDFF95F456610BA0043D7 /* RxMutableBox.swift in Sources */, + 90184FE11B09DCD0FE643B7DD36C5C42 /* RxSwift-dummy.m in Sources */, + 15EB903709D5884DC8A0684AF225F089 /* Sample.swift in Sources */, + EC3A2C26D5DE26417E77811F334ACC4B /* Scan.swift in Sources */, + 0F67ECF49889688EDBA28ABDFA1611CE /* ScheduledDisposable.swift in Sources */, + 82807E0490107948355D8C2DC354802A /* ScheduledItem.swift in Sources */, + 9EDF6B5E3D4DBD0AA6B43B7D7E21F49F /* ScheduledItemType.swift in Sources */, + 394D8681888D14CE4AD351A43AAAC7D6 /* SchedulerServices+Emulation.swift in Sources */, + 95EEA795908B9E5AEC2B4B2B7FF0DE91 /* SchedulerType.swift in Sources */, + FCCFBB4240AA0F369C1845E29021B3C9 /* Sequence.swift in Sources */, + B0A24E03FFAAEB71AFB24DF7C648F28B /* SerialDispatchQueueScheduler.swift in Sources */, + CEAB10DA650956236D26930477EDF4BE /* SerialDisposable.swift in Sources */, + 49973D6DC3A7FDD2445BF8658741DCEE /* ShareReplay1.swift in Sources */, + 27B1F5F83B2E26D0A8ED31965C09DAEA /* ShareReplay1WhileConnected.swift in Sources */, + AA1C8E23CC19BE9B82E8FBAC7ECA5237 /* SingleAssignmentDisposable.swift in Sources */, + 18994B191D6E0405B98A9D0C23D9FF9A /* SingleAsync.swift in Sources */, + F7CFD722703CA5D7CCFC13A754BD6DCD /* Sink.swift in Sources */, + 037A3F2379D0121AED74BBD0B930060F /* Skip.swift in Sources */, + 923B83B0141C2CFBA0E3E5EA4D7D6EFB /* SkipUntil.swift in Sources */, + 90E3B80A225DCA56526D6A3AC9E1A4C9 /* SkipWhile.swift in Sources */, + 7BEE4987E99DC5ECD89A68EE02D0DD96 /* StartWith.swift in Sources */, + AA1444851EE7FFDEB7DF7DEB13D654DC /* String+Rx.swift in Sources */, + 85A51D987014268175C505C097BFEE2B /* SubjectType.swift in Sources */, + D90145725D5D8C403490396E6C5B5944 /* SubscribeOn.swift in Sources */, + B913598FB3FD3306D1254DE644EAFF56 /* SubscriptionDisposable.swift in Sources */, + EF1517A6D94EEF43608B044258B28F41 /* Switch.swift in Sources */, + AD065FAF8E3E16F23EAEDC7A919B2D63 /* SynchronizedDisposeType.swift in Sources */, + BD957B3FA3ED8780F7C4F8540495898B /* SynchronizedOnType.swift in Sources */, + 39928029D8CF4D19BD4BDB7CCF81B80D /* SynchronizedSubscribeType.swift in Sources */, + E31C1B6590C2FD19A3DFC8F4AE54DA44 /* SynchronizedUnsubscribeType.swift in Sources */, + 31AF8464DA00A4B64E1DDAE758BC5BC9 /* TailRecursiveSink.swift in Sources */, + 74358299C22E8812951B25E05FC7536A /* Take.swift in Sources */, + 28B1F739E9FA772B1FB5E9FA625F87A8 /* TakeLast.swift in Sources */, + E167BF197D45C0533DFD5987CA042640 /* TakeUntil.swift in Sources */, + B9997F46D23483D11A9343D55E60C783 /* TakeWhile.swift in Sources */, + 1430788942C2BF846A2BB3E409296A0E /* Throttle.swift in Sources */, + C8063C99F0D0898DE966C79C7F408EA1 /* Timeout.swift in Sources */, + FF71E0A4A25997386D3EC3A57B37D9BA /* Timer.swift in Sources */, + 4123F56D3EC8768B0545E4B82EBCCC6F /* ToArray.swift in Sources */, + 775301C8444678EF9565E7C51D054227 /* Using.swift in Sources */, + 4FF37EF0768E5B47DC3D7FADE9B4294C /* Variable.swift in Sources */, + C9A17642EE542D2FB49394D3F347C6C5 /* VirtualTimeConverterType.swift in Sources */, + 0678FD3597DBF260953CD39B56032BD1 /* VirtualTimeScheduler.swift in Sources */, + F853B139BD1F19416B874B2FDAF7E89F /* Window.swift in Sources */, + CB79D91EDC2EEED47FED602244DAC69D /* WithLatestFrom.swift in Sources */, + 9E36224767ADC138A32608A0DAD5234B /* Zip+arity.swift in Sources */, + 22EF6CD69A2F5545FE783E8418AE341E /* Zip+Collection.swift in Sources */, + 767703F3CDF33AF4D212CA11D0080087 /* Zip.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3612A76960E3ADE49F53B1DAC5FE5FB5 /* Sources */ = { + 187102A71F311BE6F5C3DBCD6FFEAD89 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 437EEEDFFDC51FF0A26A484B256B563E /* Result-dummy.m in Sources */, - A53071FE389A48FCED0AD57972F4550E /* Result.swift in Sources */, - AD8E8822E56C63F3800346D943EAC903 /* ResultProtocol.swift in Sources */, + 75FC8E65A81FA6F5312FBF3CA7CA0279 /* Pods-Demo-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 4A8283A1A5007E16D347B5A04E954C64 /* Sources */ = { + 32B9974868188C4803318E36329C87FE /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - CC8BF60C1F3E9C701E3856846963FD8E /* Moya-ObjectMapper-dummy.m in Sources */, - 66B26727B50F5C28E1C27F12ACB1A651 /* Observable+ObjectMapper.swift in Sources */, - 02C263C49FB42F2C4B10957985787315 /* Response+ObjectMapper.swift in Sources */, + 9ED2BB2981896E0A39EFA365503F58CE /* AFError.swift in Sources */, + A9EEEA7477981DEEBC72432DE9990A4B /* Alamofire-dummy.m in Sources */, + F8B3D3092ED0417E8CDF32033F6122F5 /* Alamofire.swift in Sources */, + 61200D01A1855D7920CEF835C8BE00B0 /* DispatchQueue+Alamofire.swift in Sources */, + B65FCF589DA398C3EFE0128064E510EC /* MultipartFormData.swift in Sources */, + A2A6F71B727312BD45CC7A4AAD7B0AB7 /* NetworkReachabilityManager.swift in Sources */, + EFD264FC408EBF3BA2528E70B08DDD94 /* Notifications.swift in Sources */, + BE5C67A07E289FE1F9BE27335B159997 /* ParameterEncoding.swift in Sources */, + 5387216E723A3C68E851CA15573CDD71 /* Request.swift in Sources */, + CB6D60925223897FFA2662667DF83E8A /* Response.swift in Sources */, + F6BECD98B97CBFEBE2C96F0E9E72A6C0 /* ResponseSerialization.swift in Sources */, + 7D8CC01E8C9EFFF9F4D65406CDE0AB66 /* Result.swift in Sources */, + 62F65AD8DC4F0F9610F4B8B4738EC094 /* ServerTrustPolicy.swift in Sources */, + 7B5FE28C7EA4122B0598738E54DBEBD8 /* SessionDelegate.swift in Sources */, + AE1EF48399533730D0066E04B22CA2D6 /* SessionManager.swift in Sources */, + 3626B94094672CB1C9DEA32B9F9502E1 /* TaskDelegate.swift in Sources */, + 10EB23E9ECC4B33E16933BB1EA560B6A /* Timeline.swift in Sources */, + BBEFE2F9CEB73DC7BD97FFA66A0D9D4F /* Validation.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 52F53A89B4E476DA0ED5065090A2B267 /* Sources */ = { + 67467CBD1F09727991BB579C830B7EA6 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 4D603F5AF29E1403FC2EDA9EC21CF7BD /* CustomDateFormatTransform.swift in Sources */, - 866F39A174B38FED899D3E00FEAE0213 /* DataTransform.swift in Sources */, - D5E07FCBC4E612836FDAB8EC36C82BFF /* DateFormatterTransform.swift in Sources */, - B57855AB1364EAC1FBDE76EE64612932 /* DateTransform.swift in Sources */, - 837A76B0506ECACA3681FF00C34C45E3 /* DictionaryTransform.swift in Sources */, - 411CC6D5A3968796009360A35C70A89A /* EnumOperators.swift in Sources */, - E9065C36B96B8370E928409ECF058488 /* EnumTransform.swift in Sources */, - 34D09D14A28B19624E8626740B818525 /* FromJSON.swift in Sources */, - 69739E9D013CB7091CFA2B65079315B7 /* HexColorTransform.swift in Sources */, - B22350343D935721C0DA66E388FD59E3 /* ImmutableMappable.swift in Sources */, - AFEB3C1B98E01AC2D0689DB7C674724D /* ISO8601DateTransform.swift in Sources */, - 5D52584FB309C4156F84370E28B6832B /* Map.swift in Sources */, - A1CCA1A331AFBC5438E92665293A86FF /* MapError.swift in Sources */, - 660784D87BBD6B79D8799B77E2909941 /* Mappable.swift in Sources */, - CA1993C8C9CE288FA3BB373F8EC41F92 /* Mapper.swift in Sources */, - CCC08EC234138480A39C9593214A30C0 /* NSDecimalNumberTransform.swift in Sources */, - F6AF59843AD25AA794CCC74AEBD29A02 /* ObjectMapper-dummy.m in Sources */, - E86A08F36C5C3F73640263FD0B16C78C /* Operators.swift in Sources */, - 2EB226EA6628C12154F30B78B61EC472 /* ToJSON.swift in Sources */, - 4C03436ED1176B4C0011D45DAFABC47D /* TransformOf.swift in Sources */, - 5781E31B398ECB9D397370D70AD1F593 /* TransformOperators.swift in Sources */, - 9D39C61EEA1C21CB9779985DCECFD771 /* TransformType.swift in Sources */, - 86D34172E78790ACF929D01B145CFE6A /* URLTransform.swift in Sources */, + D11FDF5AA69D08B83E8718C717957AF0 /* AccessTokenPlugin.swift in Sources */, + E63D94CF23960E905978B3DAE95125D7 /* Cancellable.swift in Sources */, + EF16CC75D347186F4DD61A34DB325829 /* CredentialsPlugin.swift in Sources */, + 8B5A74BFA2A85B41F5C9100055B9C428 /* Endpoint.swift in Sources */, + 6A02A5C5446ECB184384F6904ECC6004 /* Image.swift in Sources */, + B801D52816DF0D0326D2A87867513367 /* Moya+Alamofire.swift in Sources */, + D3A1BD21F5AA4FA25B799B68B54063E5 /* Moya-dummy.m in Sources */, + BF6631BC5DAE90CD147EBEF561C4DB87 /* MoyaAvailability.swift in Sources */, + 98ECF94F6E7F84B56FB762B98FA919F3 /* MoyaError.swift in Sources */, + 7F7D7D024F022010916E550B7632E680 /* MoyaProvider+Defaults.swift in Sources */, + 7086C1435AE7A37F93956ECDE2F45AB2 /* MoyaProvider+Internal.swift in Sources */, + D3C6B770C7598E9C1C3B9854136893F3 /* MoyaProvider.swift in Sources */, + F2E82F7E4AADB73AD627E1558470034B /* MultipartFormData.swift in Sources */, + 7A1A37147E8BA262F5B3EFA0DBD6E531 /* MultiTarget.swift in Sources */, + 84BB5EBA0C08C28C5E83D6CA263A362B /* NetworkActivityPlugin.swift in Sources */, + ABB66F2AFFF577587F84A0FFDB8EF4D0 /* NetworkLoggerPlugin.swift in Sources */, + F3DF171DAA677F58667F4B082DEB57DB /* Observable+Response.swift in Sources */, + 2E28CD026DEB6B00E52C1A833343249B /* Plugin.swift in Sources */, + ED63927DE90D567408593796F02C51BE /* Response.swift in Sources */, + 3E56DB4136E625DCA0B4F278CE147D6B /* RxMoyaProvider.swift in Sources */, + 8C550DC81B578A597EA4E4E75E3C5997 /* TargetType.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7971ADED80905AED1A1150CD190385D0 /* Sources */ = { + 7AB99F41614F9B803CDBCB2B2975D3C5 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 8572FD1E32D1F42DB0CFBA869ABABC9D /* AddRef.swift in Sources */, - 0E80E80CAEF068BDA434C85904A0B473 /* Amb.swift in Sources */, - 26781D50415853DEC16511326D087707 /* AnonymousDisposable.swift in Sources */, - 305CBA9EA6E3F4CB1FF50617EBABD5CA /* AnonymousInvocable.swift in Sources */, - 8031EE3219084273874FFC6943079B3D /* AnonymousObservable.swift in Sources */, - CC05EFD60AFF0C32DFCA72CABB40888F /* AnonymousObserver.swift in Sources */, - 93E9BFB56062B0A090E3AC163CE4AF46 /* AnyObserver.swift in Sources */, - 302F4DEB6E2F94613ABF0DBA9A499532 /* AsyncLock.swift in Sources */, - 5FA0526FA6EFF0A30AD4E655125DE665 /* Bag+Rx.swift in Sources */, - D0C31F0C69D96FBE6D9AD1B1E6867D53 /* Bag.swift in Sources */, - 1683F407F1A141B75E09041A4103DB22 /* BehaviorSubject.swift in Sources */, - 20A5B6A2EACC0492D7A7442D6A717489 /* BinaryDisposable.swift in Sources */, - F0FDFFEB23746AF959F3DA7520E499BB /* BooleanDisposable.swift in Sources */, - 4C2847C9943622ABF69EB7AF6F5930A3 /* Buffer.swift in Sources */, - 562C135D387527450FFEAA5C505FD397 /* Cancelable.swift in Sources */, - 4481E1FD85DD99E155847680791FA876 /* Catch.swift in Sources */, - E37BCA339A246A745CF781AB2ECAE47C /* CombineLatest+arity.swift in Sources */, - 3E9C6A412C72D26AF3AFBD3FC2C8358A /* CombineLatest+Collection.swift in Sources */, - 3272CED6877CDBB6CC3282BF44FEB165 /* CombineLatest.swift in Sources */, - 7B71940E1D69DE2F0E2EFE7471E678E7 /* CompositeDisposable.swift in Sources */, - 509B8C07D6E3E1CA6F3F27737736517D /* Concat.swift in Sources */, - CC4B9A3664BB912A968AD008A4A46630 /* ConcurrentDispatchQueueScheduler.swift in Sources */, - D8EB2106351D6AEEE5453AFD63CFFE1D /* ConcurrentMainScheduler.swift in Sources */, - 5D4D6E3563AF6D1B473C4D2076558039 /* ConnectableObservable.swift in Sources */, - F157F4CEBD837A127890A992B303BD85 /* ConnectableObservableType.swift in Sources */, - F168CFB3A2859BEADDC9A28C6EDBB2AD /* CurrentThreadScheduler.swift in Sources */, - 655CD4B358C02A7003D04460259E0F39 /* Debug.swift in Sources */, - CED5EED1872DB25E6F9DAF07432AE786 /* Debunce.swift in Sources */, - 80D629EAAB8A6A545AED086C78826C7F /* Deferred.swift in Sources */, - 09D88B77B7A4E84DEFAB163D9F9BEA3C /* Delay.swift in Sources */, - BB4A242E5A2A340E8910F99ACA93183E /* DelaySubscription.swift in Sources */, - 447957312A386B60ECCCA1121D739FD1 /* DispatchQueue+Extensions.swift in Sources */, - F2FEF6A5AFD50D9FAAB9E88035542DE6 /* DispatchQueueConfiguration.swift in Sources */, - DDFCCADA428DE423B1C89A9995E1F400 /* Disposable.swift in Sources */, - E495D2A9B856FE4B6AA816FF641C73F4 /* Disposables.swift in Sources */, - BE13D0F2AC4D08F1CE7619A1097EF381 /* DisposeBag.swift in Sources */, - 2A21AC09DD3F9CD08C59F3B032F1A8EA /* DisposeBase.swift in Sources */, - E5F8545F2D5AC99715537D694D23B8DC /* DistinctUntilChanged.swift in Sources */, - 15F9C020CFE2B8FAD8BA6E5ED85E4F8C /* Do.swift in Sources */, - CC40B46C0C87F6A47502527237FAE28C /* ElementAt.swift in Sources */, - 4763EA56A472A37C94CF3888879E9F73 /* Empty.swift in Sources */, - 623D33CBB5DC3633AA596F1EA740166B /* Error.swift in Sources */, - 73D924BFFE6643345752129D759982BF /* Errors.swift in Sources */, - 63F88DE00C1040C283D10FFCB738CC1B /* Event.swift in Sources */, - 315D2411851A3391E759367C3BFC36F6 /* Filter.swift in Sources */, - CDFF77083BDF7E9B9313D29C50BA93B9 /* Generate.swift in Sources */, - 248DF910EF848AB91FB1AA3381B3644B /* HistoricalScheduler.swift in Sources */, - 96AC3EACDCD70FD226BA170FE9CE1AC4 /* HistoricalSchedulerTimeConverter.swift in Sources */, - 9941530E1EE513B7D1279FD9B2CD5DAE /* ImmediateScheduler.swift in Sources */, - F0C58755C38A7C7D21518953D2C67D3E /* ImmediateSchedulerType.swift in Sources */, - 6E952F2CE342D596F66A302E944F908C /* InfiniteSequence.swift in Sources */, - 55BBCE6AFF5D99269F9F3B920F1CD8B7 /* InvocableScheduledItem.swift in Sources */, - 646ED9CAE0B3B96122AE967950E86BBF /* InvocableType.swift in Sources */, - 08C5F1D0596022A2A066A8AACC0E68AF /* Just.swift in Sources */, - B077A29D9EEF2652CAC14B5133A9F223 /* Lock.swift in Sources */, - 6A2076BF682893A2F556AE712DA9A948 /* LockOwnerType.swift in Sources */, - D0DD9B6F2C0E607070EA9CDB9C666F33 /* MainScheduler.swift in Sources */, - A18A45EA400814E966ED78A3DB539C3E /* Map.swift in Sources */, - D6C5CCB6AD66398A7921527D2E569C2D /* Merge.swift in Sources */, - 7E17747758769512D2B0AD34C943BDE6 /* Multicast.swift in Sources */, - 2300B759B4961F3A9B232B6DDD041C20 /* Never.swift in Sources */, - 68A8E3CCB9E9E6E820A593A09989D0E0 /* NopDisposable.swift in Sources */, - 8A84775175BC4CB518DE6ECD023E98C3 /* Observable+Aggregate.swift in Sources */, - A2D9C287D81FBB250DE44089F9483DDE /* Observable+Binding.swift in Sources */, - 461DD5C39F77C9E06257829D8D251539 /* Observable+Concurrency.swift in Sources */, - CBF4494F78C8557D89F3262C6F41960D /* Observable+Creation.swift in Sources */, - DDD947B035948B3AEE3DE9B4CCF523BA /* Observable+Debug.swift in Sources */, - 012E5388EE5D07B103A42590CD1B145F /* Observable+Multiple.swift in Sources */, - ED7EB68B2CB9DF6053A97BC818C53338 /* Observable+Single.swift in Sources */, - CCF5896933A092F5C08A4F9AD3BD02D2 /* Observable+StandardSequenceOperators.swift in Sources */, - 0B5E609FB4823ABBB04E4DC9233C16A8 /* Observable+Time.swift in Sources */, - A301AE5639E40F725A440E77C414DC81 /* Observable.swift in Sources */, - 4AD21EA5CD62779A4E9644BBF05E4F3A /* ObservableConvertibleType.swift in Sources */, - 9B5C9163CE88709DF28BB6392C12AEF2 /* ObservableType+Extensions.swift in Sources */, - 34380DC74A760EA12BCC4F902DFAE4FE /* ObservableType.swift in Sources */, - 6F6CFE53B1AD2574EA40B0D59DC8B143 /* ObserveOn.swift in Sources */, - 9489F9362035C671C229B8D187670516 /* ObserveOnSerialDispatchQueue.swift in Sources */, - 95C71C30C041380B2DF15CCD9D2D5C31 /* ObserverBase.swift in Sources */, - 7FFAB349DD7E3B7A63A948B4D705730D /* ObserverType.swift in Sources */, - FDF365204F48E48B4B31F4CAC23F5531 /* OperationQueueScheduler.swift in Sources */, - 0F245421E461934A8BAA6ECD0DA6D815 /* Platform.Darwin.swift in Sources */, - 8BF65EB23231F58C5E1AD619853C692F /* Platform.Linux.swift in Sources */, - E86EB999AE2B74ADEB22F53028AF04A5 /* PriorityQueue.swift in Sources */, - 68E7A2A9A159067676E1D15A8F39D4E7 /* Producer.swift in Sources */, - F84635CC919AB1F5111282696528E7F7 /* PublishSubject.swift in Sources */, - 9908C6D403F1051E583F1F57CD236FB9 /* Queue.swift in Sources */, - C82EA9533EA5E54DCEA77CB6FB2255FE /* Range.swift in Sources */, - A1A8C9F024E9820DD1B8DE5583622EDA /* Reactive.swift in Sources */, - C5DB9336D6B9ACEB98CC428A7D920EF6 /* RecursiveScheduler.swift in Sources */, - B4FBDBD83A4A7A8E134071C244AAD6C3 /* Reduce.swift in Sources */, - 122D023E7179CFF13528667077065CAA /* RefCount.swift in Sources */, - 4606BE7AB667A79659399FA6F522A851 /* RefCountDisposable.swift in Sources */, - AC5E94A00173B54F1BCC56BDAED71F58 /* Repeat.swift in Sources */, - 2168774ED6926A15567C7B5906136CD6 /* ReplaySubject.swift in Sources */, - 3F9108ED64D1164A5361AA889BA431D8 /* RetryWhen.swift in Sources */, - F8F938D7135A9EEBC4160150C50A5497 /* Rx.swift in Sources */, - 8ED130FE4FF61E2C0AA076B4CCB0285E /* RxMutableBox.swift in Sources */, - 72DCE1AE092A8946AD2983EFF1A3F5B8 /* RxSwift-dummy.m in Sources */, - FC9586C31D70E55D5EAFF8DB1AAD861C /* Sample.swift in Sources */, - FA0E0AABAFB2FFD00B1FB7C2315F6B33 /* Scan.swift in Sources */, - 5FC316BD7006CA03EC409D6C459249A5 /* ScheduledDisposable.swift in Sources */, - B2208D8F7A1CEE9A5EFB71BFB33CAF8B /* ScheduledItem.swift in Sources */, - 141470456EB64F1635045AC26333CAAD /* ScheduledItemType.swift in Sources */, - 4568F287003AAEC940747B4965ECF0CA /* SchedulerServices+Emulation.swift in Sources */, - 282EB901DF306C809D6EA7C08079DD86 /* SchedulerType.swift in Sources */, - 51D4ECB495B23E3DF3EC9C9D7D00475D /* Sequence.swift in Sources */, - 88B04061E06E6EECDFE90017DE140074 /* SerialDispatchQueueScheduler.swift in Sources */, - D4B3A6E5BA99A3A97943E11C542A852A /* SerialDisposable.swift in Sources */, - 8137EAE06E13B09AA1C1F1DFFD7EA388 /* ShareReplay1.swift in Sources */, - AE4807A029D88C540234DCFC7410B58A /* ShareReplay1WhileConnected.swift in Sources */, - 8A917B19B965049C3F82EC71C9C0E2CC /* SingleAssignmentDisposable.swift in Sources */, - F5BB757C6054FFBF800B2F14ECA8D1A9 /* SingleAsync.swift in Sources */, - 1DEF171D086E525BFFF4D45F72736918 /* Sink.swift in Sources */, - FA9642E1D8DB2BA0F865C4D324907407 /* Skip.swift in Sources */, - ED47B1B137503D99DDC13C8CAF5C0268 /* SkipUntil.swift in Sources */, - C09BF81B6F8839943FF348472EC688DC /* SkipWhile.swift in Sources */, - 7EDA369FFC97B0BA8A312FAB59B910E5 /* StartWith.swift in Sources */, - D277B20C5EAE8B50258251A5483D7F11 /* String+Rx.swift in Sources */, - 177700BF3E12C11ECF115BE2867D1746 /* SubjectType.swift in Sources */, - 5405CE1D1BB48B18CBF2924D3C921F89 /* SubscribeOn.swift in Sources */, - A28473CA774D3B2940BA3678C0077FA3 /* SubscriptionDisposable.swift in Sources */, - 73D54E2D482D92587583B0341B2EF460 /* Switch.swift in Sources */, - CBC4665073146957976B548F5C89E841 /* SynchronizedDisposeType.swift in Sources */, - 8EB3B62627597B29E32236F87742F1FE /* SynchronizedOnType.swift in Sources */, - 1DBD12F72C504465E000AB67AE51B10A /* SynchronizedSubscribeType.swift in Sources */, - A0037879CDCD22AE579494E7B3A4836A /* SynchronizedUnsubscribeType.swift in Sources */, - FCCFC5E0D0573569B47DAA45C1B9A3BD /* TailRecursiveSink.swift in Sources */, - 3B67B53CD53C72EF885394339B50F000 /* Take.swift in Sources */, - E8103957FE4A4CB97EA5A84D5410D18D /* TakeLast.swift in Sources */, - 8D073B703DAA3129C92F879F5A4ADB42 /* TakeUntil.swift in Sources */, - 8378B87CD9CDBB24B1714275D70C4740 /* TakeWhile.swift in Sources */, - E1592291714B58B5688097B6D54C83FF /* Throttle.swift in Sources */, - 45596CB86A67D2394F9C66C55281825D /* Timeout.swift in Sources */, - 049F7F48386284274646843658AECF03 /* Timer.swift in Sources */, - 699B293506BC025BB6085379B7BA7312 /* ToArray.swift in Sources */, - 65F29A3102AC883192405B27A9AFEEBE /* Using.swift in Sources */, - 5A6F7D0BF2A213EBE56FAC31E7D1969A /* Variable.swift in Sources */, - 73E804981CAF3D0BBADBD51E378EA54D /* VirtualTimeConverterType.swift in Sources */, - 1109E0373A21FB5E85FC64D061869CD1 /* VirtualTimeScheduler.swift in Sources */, - 9F0E8BF031DBF118421CBD9699768647 /* Window.swift in Sources */, - 8F8A8E58046B5F50C9FFB871AAD3561F /* WithLatestFrom.swift in Sources */, - 0F1AF643BD2588D190595575587C2E01 /* Zip+arity.swift in Sources */, - C80F85F161591386F961A262B5EE6B9A /* Zip+Collection.swift in Sources */, - 2EF975533CFBE4AFF9EC7EB56A1774DC /* Zip.swift in Sources */, + 39346FCED48D5C12D52942507E916C90 /* Moya-ObjectMapper-dummy.m in Sources */, + 8AF174F050E51E32AF95469FD8910010 /* Observable+ObjectMapper.swift in Sources */, + 61B9FA99D3933D39E66F9FF40164623F /* Response+ObjectMapper.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9AB19F8C337490FEF7E36AF2EBDDF4C8 /* Sources */ = { + B3E3EF9C543FB899A54CA7BD029B8E17 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - E49C4BEB22C7F0BE3E9353F9F8261E70 /* Cancellable.swift in Sources */, - A5E55DA094740DFF52ECAD698FC5C393 /* CredentialsPlugin.swift in Sources */, - 8B8C0199F1ABB9F1DDA2FF0EA5A8BF2C /* Endpoint.swift in Sources */, - AFA4BD20B55EF1E7590F2F97040E521C /* Error.swift in Sources */, - FC576773D56CDF27F3D87AB116FDADDB /* Image.swift in Sources */, - C9BDACD98BB98B196BDE2BDB5EF24820 /* Moya+Alamofire.swift in Sources */, - 329A8E860AB6DE654C99C8FDA858F6AE /* Moya+Defaults.swift in Sources */, - 6C3BC5E0FFD6B36C5FBCA74196E4F0FE /* Moya+Internal.swift in Sources */, - 7D035D6804784CF84F2C71980CFDF30A /* Moya+RxSwift.swift in Sources */, - 7208E8FC5017DD97F9D9CAD69D29476F /* Moya-dummy.m in Sources */, - 70C07ACB5A30FB61232B15B9199EB681 /* Moya.swift in Sources */, - 8C539BFEC89BAE4F5A61EB7980D3D617 /* NetworkActivityPlugin.swift in Sources */, - B9CDB531EC5067F6B3FE54646662C6BF /* NetworkLoggerPlugin.swift in Sources */, - CFDEC4B4AF2EE267D40536352F203948 /* Observable+Moya.swift in Sources */, - 6F129FFC87325F1F4F551C40B6EA817E /* Plugin.swift in Sources */, - 6DF4A76EE7676A387467FDBDC2F054A7 /* Response.swift in Sources */, - 91218D51BF22E0527E82A2930B44CD03 /* Target.swift in Sources */, + 4345F7C1BBC91E422BFF2072B46439FB /* CustomDateFormatTransform.swift in Sources */, + C3D7F06A52A874E2ED3BD55C2D787AFF /* DataTransform.swift in Sources */, + 325B960E62F7010212051F7E0BEB6E62 /* DateFormatterTransform.swift in Sources */, + 09354E270838A56FD7642187735A76FE /* DateTransform.swift in Sources */, + 06027F179F20A1071B460733DA236DD5 /* DictionaryTransform.swift in Sources */, + B49D79979E508F034CE730222B8F427A /* EnumOperators.swift in Sources */, + 280028559377CFDA7606FC6C0BAE3AD8 /* EnumTransform.swift in Sources */, + BEB24D0C614DC6F397D09A5DBAC8E671 /* FromJSON.swift in Sources */, + FF67F4BEBA601632CDD416B1EB234C79 /* HexColorTransform.swift in Sources */, + 9AC88EF98E545D49357BC9FF42FBA76E /* ImmutableMappable.swift in Sources */, + DA55B320A88A0391F8CF0CD69951390A /* ISO8601DateTransform.swift in Sources */, + 4CED49B3966E3A974B64ECB2A6391888 /* Map.swift in Sources */, + D13731A27C500184957DCB28157AB704 /* MapError.swift in Sources */, + 848F143EC43E8F37698BA94BE6C1DEB5 /* Mappable.swift in Sources */, + 3EE18FF42280B017F0C684006C09658F /* Mapper.swift in Sources */, + 3ADCE45AEB02D4FEB3C20C471FD7CE45 /* NSDecimalNumberTransform.swift in Sources */, + AF914BEF7C1AC77D01D4CAC182592E7C /* ObjectMapper-dummy.m in Sources */, + 96C3008BC96B32B76D8FE6BFB57A69BE /* Operators.swift in Sources */, + 88FCA119D1613899C27FE208C8D4F2B3 /* ToJSON.swift in Sources */, + 6B7F973AA044BD69BBF11FF98A1D72AC /* TransformOf.swift in Sources */, + FBD621E160C7E441A8940DF19E8C1F56 /* TransformOperators.swift in Sources */, + 82EEB128BDAF202BA152CEF5181F9D1C /* TransformType.swift in Sources */, + 03692C857DEC1964D84C28CD543E7066 /* URLTransform.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - AD13050C6824A5DB5564BBD96BEED5DD /* Sources */ = { + CBCCE006462499F6127948ACF97EF490 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - B6FB9EEEE556E93238AAECEA9448671D /* Pods-Demo-dummy.m in Sources */, + 374051E6F49A7295C8F1112894850901 /* Result-dummy.m in Sources */, + 85CB137AADC3D775F639748E4A303415 /* Result.swift in Sources */, + 32D18A277CA084098022CBBDFC7D1C0F /* ResultProtocol.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 08CCBD998FFC79CC2C86CDFE8CF712BB /* PBXTargetDependency */ = { + 0896172A4E39B66EEE123CAE1124A792 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Alamofire; - target = 79C040AFDDCE1BCBF6D8B5EB0B85887F /* Alamofire */; - targetProxy = 2911E6FCDF46CD5B6883BF69024D7BB0 /* PBXContainerItemProxy */; + name = ObjectMapper; + target = 421F6BEF92744C4CA9E5F012EC4C5C8F /* ObjectMapper */; + targetProxy = 7E295E22CA5CAC345532DF47CADAE8EA /* PBXContainerItemProxy */; }; - 10FBD13D71CAEF57BB67158925ABE0C1 /* PBXTargetDependency */ = { + 0966EEB7D7BBBB2171382E743EC11DB2 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Moya; - target = 477129E5F1C34767720355B372594326 /* Moya */; - targetProxy = 55813FA45DB2C172E0FE3CDA0149C37B /* PBXContainerItemProxy */; + target = 2A6D0851BA24DD25864CB23A3A83B9CC /* Moya */; + targetProxy = C5B2FDD1C7D0714C981FAA527CA63027 /* PBXContainerItemProxy */; }; - 42D1C63F28ECB911F9716C9E6A8A5C2D /* PBXTargetDependency */ = { + 304A51463AA62541C01678DE43BFA33F /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = ObjectMapper; - target = 38D33A40D89A678EA3AFCCA7D5EFFDF1 /* ObjectMapper */; - targetProxy = A5D41D1E818B7D40A53956E884FF957F /* PBXContainerItemProxy */; + name = Alamofire; + target = 88E9EC28B8B46C3631E6B242B50F4442 /* Alamofire */; + targetProxy = 448CBA2B5AAF3C314D4E4B32B447453F /* PBXContainerItemProxy */; + }; + 3DB431781F676F74809E5FBE7D6CA3A0 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Result; + target = EFDB85DF4827734B35E8A46720ACAEE0 /* Result */; + targetProxy = A1AF79BA4FFB31FAEFB631D90EA93418 /* PBXContainerItemProxy */; }; - 479DB1F378B0363A99732B7144288E40 /* PBXTargetDependency */ = { + 44C6FACC27EBDE1CF853476AFB1E5540 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = RxSwift; - target = FC4D2B698B3E2F7F2F9B719F47713C41 /* RxSwift */; - targetProxy = 37729F922264B4C581C2DB5CEDEAB2DE /* PBXContainerItemProxy */; + target = C419A9BCC9AACDC44A26B80764B6B554 /* RxSwift */; + targetProxy = D4D369F3E79C27EA7752DBEACC034F00 /* PBXContainerItemProxy */; }; - 559B01BA2E10236A0FCF88311558F326 /* PBXTargetDependency */ = { + 5016FB89549450F6D8BECD6F498E920A /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Result; - target = AA691A34C2489F4467C1F13FA615D956 /* Result */; - targetProxy = 749E481454EE9D895177910AF420159F /* PBXContainerItemProxy */; + name = Alamofire; + target = 88E9EC28B8B46C3631E6B242B50F4442 /* Alamofire */; + targetProxy = 2FCB5E9BBEB9FEA8F764DD24E1B328EA /* PBXContainerItemProxy */; }; - 61CC4CC88E4CF6074B497265A29420D6 /* PBXTargetDependency */ = { + 60E025535DE828762DEF1025B460FC8A /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Moya; - target = 477129E5F1C34767720355B372594326 /* Moya */; - targetProxy = 4644D7FE0D5460AE808081B0D0093549 /* PBXContainerItemProxy */; + target = 2A6D0851BA24DD25864CB23A3A83B9CC /* Moya */; + targetProxy = D7002BCB9BC9247E198B9809447F6EF6 /* PBXContainerItemProxy */; }; - 787B6BDFB9BF23BFF3E6465570322400 /* PBXTargetDependency */ = { + 63F4E4961A235E6097C1B4890BD80733 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = RxSwift; - target = FC4D2B698B3E2F7F2F9B719F47713C41 /* RxSwift */; - targetProxy = 597BD482E73BA0C56E7F3DBE70AD50DC /* PBXContainerItemProxy */; + name = Alamofire; + target = 88E9EC28B8B46C3631E6B242B50F4442 /* Alamofire */; + targetProxy = 563430843E61782275D71EED528CBEFF /* PBXContainerItemProxy */; }; - 81129349CB57741E529FF3767B97FFA4 /* PBXTargetDependency */ = { + A44BC6C967AF8FDD38BA09C0533B38D1 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "Moya-ObjectMapper"; - target = 2ED02EC9E5EE712D362F31DA0BCE0538 /* Moya-ObjectMapper */; - targetProxy = 1F69A68CCFD8A393D4DBE76C151CE07C /* PBXContainerItemProxy */; + target = 49C6564B2E2D0A1604946BAD65772E21 /* Moya-ObjectMapper */; + targetProxy = DB9F2D9BCF03D2D690ABC2C1540B4367 /* PBXContainerItemProxy */; }; - 82FB608E84955C5A0AAB876E5FAA9C03 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = RxSwift; - target = FC4D2B698B3E2F7F2F9B719F47713C41 /* RxSwift */; - targetProxy = C6C70B57949658A32F964846C82FCCAD /* PBXContainerItemProxy */; - }; - 85649B8F39F7778039126CB879BB0709 /* PBXTargetDependency */ = { + B08E59184B1009B64FE0895690C984D7 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Result; - target = AA691A34C2489F4467C1F13FA615D956 /* Result */; - targetProxy = C5C190A36883ADC8FAFF5C5C6C73D354 /* PBXContainerItemProxy */; + target = EFDB85DF4827734B35E8A46720ACAEE0 /* Result */; + targetProxy = 172BFED3498D5C686525F100B519327F /* PBXContainerItemProxy */; }; - 85F95C642F42F62C71EB8F7D173E8719 /* PBXTargetDependency */ = { + C46C0FBEB937D4E7BDA5BE25A905EA46 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = ObjectMapper; - target = 38D33A40D89A678EA3AFCCA7D5EFFDF1 /* ObjectMapper */; - targetProxy = EA4300586589D264D14CAA422AB05727 /* PBXContainerItemProxy */; + target = 421F6BEF92744C4CA9E5F012EC4C5C8F /* ObjectMapper */; + targetProxy = 6E912DC97156EABFDE2C4B6EF06784DF /* PBXContainerItemProxy */; }; - B2376C5AB7EA41DF64C35A543F25BDFC /* PBXTargetDependency */ = { + E66D42EB5428919F199BABB1E4C6F37C /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Alamofire; - target = 79C040AFDDCE1BCBF6D8B5EB0B85887F /* Alamofire */; - targetProxy = 4D866A4C350EFC11209FAD2A32E86F2D /* PBXContainerItemProxy */; + name = Result; + target = EFDB85DF4827734B35E8A46720ACAEE0 /* Result */; + targetProxy = 5C018009CFFB83E9435346DF3A9FFD0D /* PBXContainerItemProxy */; }; - BCE17403ED108F4BF5335E322F449AB9 /* PBXTargetDependency */ = { + E71B0B664B1ACD03021C58C78F19421B /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Alamofire; - target = 79C040AFDDCE1BCBF6D8B5EB0B85887F /* Alamofire */; - targetProxy = 3F7E44F7029003AA45126B701F38073D /* PBXContainerItemProxy */; + name = RxSwift; + target = C419A9BCC9AACDC44A26B80764B6B554 /* RxSwift */; + targetProxy = E8E16664D5BFAA9326D20B666C748F50 /* PBXContainerItemProxy */; }; - F3ED996550EE916BAE84D609EF23E8F8 /* PBXTargetDependency */ = { + F0BB9F4D747704B79CF8A3BA2EE0569F /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Result; - target = AA691A34C2489F4467C1F13FA615D956 /* Result */; - targetProxy = 2C82D9EDB14351F4CB54D95B232A6052 /* PBXContainerItemProxy */; + name = RxSwift; + target = C419A9BCC9AACDC44A26B80764B6B554 /* RxSwift */; + targetProxy = 8FAC931D00AB3A674FF42918D2F7109F /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 013D312D5603C4D3DF5FEF9A9ED84FF4 /* Debug */ = { + 0105E95059DC7D914EE728380201A0BB /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 12BBF3F9FD009E9873977420F9F42D44 /* ObjectMapper.xcconfig */; + baseConfigurationReference = 6F868C186A7528C58E49AAA09CE417C5 /* RxSwift.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/ObjectMapper/ObjectMapper-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/ObjectMapper/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/RxSwift/RxSwift-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/RxSwift/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/ObjectMapper/ObjectMapper.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = ObjectMapper; + MODULEMAP_FILE = "Target Support Files/RxSwift/RxSwift.modulemap"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_NAME = RxSwift; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 2833C5D758C730B6A1A9685F745375D3 /* Debug */ = { + 0846747F48797E2E5D20795EB9797102 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C45260FFBC0DE22DBF1202A5EF5B9BCB /* Moya.xcconfig */; + baseConfigurationReference = CC6A59B0ADA6CB2F51DAE6508E437829 /* Pods-Demo.debug.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1782,174 +1809,134 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/Moya/Moya-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Moya/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-Demo/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Moya/Moya.modulemap"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-Demo/Pods-Demo.modulemap"; MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = Moya; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = Pods_Demo; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 40127D24CA92ECC1C3757D193E155674 /* Debug */ = { + 0A29B6F510198AF64EFD762EF6FA97A5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D147029A6C1D9A66E72613720D291900 /* Result.xcconfig */; + baseConfigurationReference = 421BB20E82DD7178053343477617A10C /* Alamofire.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/Result/Result-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Result/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Alamofire/Alamofire-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Alamofire/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Result/Result.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = Result; + MODULEMAP_FILE = "Target Support Files/Alamofire/Alamofire.modulemap"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_NAME = Alamofire; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 4C9F61B4E62E2AF25799E26D7F40DD22 /* Release */ = { + 18CE3A9514DE5309012D26338C9CCBAA /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 78A4128EC1CBD80E45085664E5D7CF4B /* Moya-ObjectMapper.xcconfig */; + baseConfigurationReference = DA95A32F9DD59A5D41EC16EA644859D0 /* Result.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/Moya-ObjectMapper/Moya-ObjectMapper-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Moya-ObjectMapper/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Result/Result-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Result/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Moya-ObjectMapper/Moya-ObjectMapper.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = Moya_ObjectMapper; + MODULEMAP_FILE = "Target Support Files/Result/Result.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_NAME = Result; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 55530F89E02BBBAFF997D1DA06AA39B5 /* Release */ = { + 22D1335CE6968074A157FBF2E5514FE2 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D147029A6C1D9A66E72613720D291900 /* Result.xcconfig */; + baseConfigurationReference = 8F5571304ACE632AE592E6F4E5EBB7A6 /* Moya.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/Result/Result-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Result/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Moya/Moya-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Moya/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Result/Result.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = Result; + MODULEMAP_FILE = "Target Support Files/Moya/Moya.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_NAME = Moya; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; - }; - 59B042A655B7C20CBAB90E385BF4E4C7 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGNING_REQUIRED = NO; - COPY_PHASE_STRIP = NO; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_DEBUG=1", - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - ONLY_ACTIVE_ARCH = YES; - PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; - STRIP_INSTALLED_PRODUCT = NO; - SYMROOT = "${SRCROOT}/../build"; - }; name = Debug; }; - 5B907AD6D259DE05891D7AEF7C0D9361 /* Debug */ = { + 2449B02C3394F5813139D62FAFB7F262 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CC6A59B0ADA6CB2F51DAE6508E437829 /* Pods-Demo.debug.xcconfig */; + baseConfigurationReference = DAB0701F8F25395B1ED46510ED4B9797 /* Pods-Demo.release.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; @@ -1962,7 +1949,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; MODULEMAP_FILE = "Target Support Files/Pods-Demo/Pods-Demo.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; + MTL_ENABLE_DEBUG_INFO = NO; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; @@ -1970,16 +1957,15 @@ PRODUCT_NAME = Pods_Demo; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 6C1341BCE95B749703FA75D21E7CD031 /* Release */ = { + 2665E7676BD062E54B6924F01BA9B617 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 12BBF3F9FD009E9873977420F9F42D44 /* ObjectMapper.xcconfig */; + baseConfigurationReference = DA95A32F9DD59A5D41EC16EA644859D0 /* Result.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1992,14 +1978,14 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/ObjectMapper/ObjectMapper-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/ObjectMapper/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Result/Result-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Result/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/ObjectMapper/ObjectMapper.modulemap"; + MODULEMAP_FILE = "Target Support Files/Result/Result.modulemap"; MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = ObjectMapper; + PRODUCT_NAME = Result; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_VERSION = 3.0; @@ -2009,42 +1995,41 @@ }; name = Release; }; - 7F93EF234CD87F7448472375CC1EFA96 /* Debug */ = { + 3C111DD46E693429FF48D344367B8235 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 19BD42BD53ED7DEFE9E5F3D28585F7AA /* Alamofire.xcconfig */; + baseConfigurationReference = 7A29990771D7608CE9773CE06B528685 /* ObjectMapper.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/Alamofire/Alamofire-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Alamofire/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/ObjectMapper/ObjectMapper-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/ObjectMapper/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Alamofire/Alamofire.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = Alamofire; + MODULEMAP_FILE = "Target Support Files/ObjectMapper/ObjectMapper.modulemap"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_NAME = ObjectMapper; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 853A5CD978E316FD85CE6C9E8A79E470 /* Release */ = { + 4972B5769ABEF0347A863954882857D2 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2600FCD8359D9DE2BC0D50ACFD77BA94 /* RxSwift.xcconfig */; + baseConfigurationReference = 78A4128EC1CBD80E45085664E5D7CF4B /* Moya-ObjectMapper.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -2057,14 +2042,14 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/RxSwift/RxSwift-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/RxSwift/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Moya-ObjectMapper/Moya-ObjectMapper-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Moya-ObjectMapper/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/RxSwift/RxSwift.modulemap"; + MODULEMAP_FILE = "Target Support Files/Moya-ObjectMapper/Moya-ObjectMapper.modulemap"; MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = RxSwift; + PRODUCT_NAME = Moya_ObjectMapper; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_VERSION = 3.0; @@ -2074,42 +2059,53 @@ }; name = Release; }; - 937ABD6887B30BF18E8CFA825AFA2FA5 /* Debug */ = { + 59B042A655B7C20CBAB90E385BF4E4C7 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2600FCD8359D9DE2BC0D50ACFD77BA94 /* RxSwift.xcconfig */; buildSettings = { - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/RxSwift/RxSwift-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/RxSwift/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/RxSwift/RxSwift.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = RxSwift; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGNING_REQUIRED = NO; + COPY_PHASE_STRIP = NO; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_DEBUG=1", + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + ONLY_ACTIVE_ARCH = YES; + PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; + STRIP_INSTALLED_PRODUCT = NO; + SYMROOT = "${SRCROOT}/../build"; }; name = Debug; }; - 94997964B03B6835DFCEBDBB5E1445B9 /* Release */ = { + 84CDC80FB0C422BA65B62F0147CD3818 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DAB0701F8F25395B1ED46510ED4B9797 /* Pods-Demo.release.xcconfig */; + baseConfigurationReference = 8F5571304ACE632AE592E6F4E5EBB7A6 /* Moya.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -2122,57 +2118,55 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Target Support Files/Pods-Demo/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Moya/Moya-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Moya/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-Demo/Pods-Demo.modulemap"; + MODULEMAP_FILE = "Target Support Files/Moya/Moya.modulemap"; MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_Demo; + PRODUCT_NAME = Moya; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Release; }; - 9EFD62985833A3F20A28862D27057D37 /* Release */ = { + A8C65D7DCDC22026A85288A376E04B97 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C45260FFBC0DE22DBF1202A5EF5B9BCB /* Moya.xcconfig */; + baseConfigurationReference = 6F868C186A7528C58E49AAA09CE417C5 /* RxSwift.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/Moya/Moya-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Moya/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/RxSwift/RxSwift-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/RxSwift/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Moya/Moya.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = Moya; + MODULEMAP_FILE = "Target Support Files/RxSwift/RxSwift.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_NAME = RxSwift; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; B7324857C38B065FEB1EEE3105C2367A /* Release */ = { isa = XCBuildConfiguration; @@ -2214,15 +2208,48 @@ }; name = Release; }; - DDA5A606A0B7062DEA5E47CD9FA65A3D /* Release */ = { + D8531D535CEDBB80608E7E6C7E7E5E04 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 19BD42BD53ED7DEFE9E5F3D28585F7AA /* Alamofire.xcconfig */; + baseConfigurationReference = 78A4128EC1CBD80E45085664E5D7CF4B /* Moya-ObjectMapper.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEBUG_INFORMATION_FORMAT = dwarf; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREFIX_HEADER = "Target Support Files/Moya-ObjectMapper/Moya-ObjectMapper-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Moya-ObjectMapper/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Moya-ObjectMapper/Moya-ObjectMapper.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_NAME = Moya_ObjectMapper; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 3.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + F383079BFBF927813EA3613CFB679FDE /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 421BB20E82DD7178053343477617A10C /* Alamofire.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; @@ -2232,23 +2259,24 @@ GCC_PREFIX_HEADER = "Target Support Files/Alamofire/Alamofire-prefix.pch"; INFOPLIST_FILE = "Target Support Files/Alamofire/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MODULEMAP_FILE = "Target Support Files/Alamofire/Alamofire.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; + MTL_ENABLE_DEBUG_INFO = YES; PRODUCT_NAME = Alamofire; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - F593A80407DA0F3B264F742F83BEEAEF /* Debug */ = { + FBB99EA485CA74B81A0DA85FF4B2BA9E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 78A4128EC1CBD80E45085664E5D7CF4B /* Moya-ObjectMapper.xcconfig */; + baseConfigurationReference = 7A29990771D7608CE9773CE06B528685 /* ObjectMapper.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -2261,14 +2289,14 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/Moya-ObjectMapper/Moya-ObjectMapper-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Moya-ObjectMapper/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/ObjectMapper/ObjectMapper-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/ObjectMapper/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Moya-ObjectMapper/Moya-ObjectMapper.modulemap"; + MODULEMAP_FILE = "Target Support Files/ObjectMapper/ObjectMapper.modulemap"; MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = Moya_ObjectMapper; + PRODUCT_NAME = ObjectMapper; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -2282,11 +2310,11 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 1E02F1E050A322B2389951889422BF03 /* Build configuration list for PBXNativeTarget "Moya" */ = { + 04DCCDCD98BFA3F8C4E09C4D68686DEF /* Build configuration list for PBXNativeTarget "Moya-ObjectMapper" */ = { isa = XCConfigurationList; buildConfigurations = ( - 2833C5D758C730B6A1A9685F745375D3 /* Debug */, - 9EFD62985833A3F20A28862D27057D37 /* Release */, + D8531D535CEDBB80608E7E6C7E7E5E04 /* Debug */, + 4972B5769ABEF0347A863954882857D2 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -2300,56 +2328,56 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3CFB42910790CF0BDBCCEBAACD6B9367 /* Build configuration list for PBXNativeTarget "Alamofire" */ = { + 419E5D95491847CD79841B971A8A3277 /* Build configuration list for PBXNativeTarget "Alamofire" */ = { isa = XCConfigurationList; buildConfigurations = ( - 7F93EF234CD87F7448472375CC1EFA96 /* Debug */, - DDA5A606A0B7062DEA5E47CD9FA65A3D /* Release */, + F383079BFBF927813EA3613CFB679FDE /* Debug */, + 0A29B6F510198AF64EFD762EF6FA97A5 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 6624C22CC8CAFE1A367676BF4481C633 /* Build configuration list for PBXNativeTarget "Moya-ObjectMapper" */ = { + 55498414C06D636BD5A964403C0608F5 /* Build configuration list for PBXNativeTarget "Moya" */ = { isa = XCConfigurationList; buildConfigurations = ( - F593A80407DA0F3B264F742F83BEEAEF /* Debug */, - 4C9F61B4E62E2AF25799E26D7F40DD22 /* Release */, + 22D1335CE6968074A157FBF2E5514FE2 /* Debug */, + 84CDC80FB0C422BA65B62F0147CD3818 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 846A32DD1BC97828E7DA53616FEBA01D /* Build configuration list for PBXNativeTarget "Result" */ = { + 823C0DFC675B00046AAA3DB1E22E7778 /* Build configuration list for PBXNativeTarget "RxSwift" */ = { isa = XCConfigurationList; buildConfigurations = ( - 40127D24CA92ECC1C3757D193E155674 /* Debug */, - 55530F89E02BBBAFF997D1DA06AA39B5 /* Release */, + A8C65D7DCDC22026A85288A376E04B97 /* Debug */, + 0105E95059DC7D914EE728380201A0BB /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 9C8087FE6155DA42BEE6C1679BF0981D /* Build configuration list for PBXNativeTarget "ObjectMapper" */ = { + 87F2C5A63CCA45E4DAD04FD5F0F3B408 /* Build configuration list for PBXNativeTarget "ObjectMapper" */ = { isa = XCConfigurationList; buildConfigurations = ( - 013D312D5603C4D3DF5FEF9A9ED84FF4 /* Debug */, - 6C1341BCE95B749703FA75D21E7CD031 /* Release */, + FBB99EA485CA74B81A0DA85FF4B2BA9E /* Debug */, + 3C111DD46E693429FF48D344367B8235 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A21ED0713E9BC36FC583AACBC7F43CB5 /* Build configuration list for PBXNativeTarget "RxSwift" */ = { + C01316BC6E3841F3B09491831731F213 /* Build configuration list for PBXNativeTarget "Result" */ = { isa = XCConfigurationList; buildConfigurations = ( - 937ABD6887B30BF18E8CFA825AFA2FA5 /* Debug */, - 853A5CD978E316FD85CE6C9E8A79E470 /* Release */, + 18CE3A9514DE5309012D26338C9CCBAA /* Debug */, + 2665E7676BD062E54B6924F01BA9B617 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - BCE611428E5580997AB2DD028A487DEE /* Build configuration list for PBXNativeTarget "Pods-Demo" */ = { + FC86D0FB9B9BC3EDC784978B82192B26 /* Build configuration list for PBXNativeTarget "Pods-Demo" */ = { isa = XCConfigurationList; buildConfigurations = ( - 5B907AD6D259DE05891D7AEF7C0D9361 /* Debug */, - 94997964B03B6835DFCEBDBB5E1445B9 /* Release */, + 0846747F48797E2E5D20795EB9797102 /* Debug */, + 2449B02C3394F5813139D62FAFB7F262 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Sample/Pods/Result/README.md b/Sample/Pods/Result/README.md index f566178c..7343ade2 100644 --- a/Sample/Pods/Result/README.md +++ b/Sample/Pods/Result/README.md @@ -7,7 +7,7 @@ This is a Swift µframework providing `Result`. -`Result` values are either successful (wrapping `Value`) or failed (wrapping `Error`). This is similar to Swift’s native `Optional` type: `Success` is like `Some`, and `Failure` is like `None` except with an associated `ErrorType` value. The addition of an associated `ErrorType` allows errors to be passed along for logging or displaying to the user. +`Result` values are either successful (wrapping `Value`) or failed (wrapping `Error`). This is similar to Swift’s native `Optional` type: `success` is like `some`, and `failure` is like `none` except with an associated `Error` value. The addition of an associated `Error` allows errors to be passed along for logging or displaying to the user. Using this µframework instead of rolling your own `Result` type allows you to easily interface with other frameworks that also use `Result`. @@ -16,41 +16,41 @@ Using this µframework instead of rolling your own `Result` type allows you to e Use `Result` whenever an operation has the possibility of failure. Consider the following example of a function that tries to extract a `String` for a given key from a JSON `Dictionary`. ```swift -typealias JSONObject = [String:AnyObject] +typealias JSONObject = [String: Any] -enum JSONError : ErrorType { - case NoSuchKey(String) - case TypeMismatch +enum JSONError: Error { + case noSuchKey(String) + case typeMismatch } func stringForKey(json: JSONObject, key: String) -> Result { guard let value = json[key] else { - return .Failure(.NoSuchKey(key)) + return .failure(.noSuchKey(key)) } if let value = value as? String { - return .Success(value) + return .success(value) } else { - return .Failure(.TypeMismatch) + return .failure(.typeMismatch) } } ``` -This function provides a more robust wrapper around the default subscripting provided by `Dictionary`. Rather than return `AnyObject?`, it returns a `Result` that either contains the `String` value for the given key, or an `ErrorType` detailing what went wrong. +This function provides a more robust wrapper around the default subscripting provided by `Dictionary`. Rather than return `Any?`, it returns a `Result` that either contains the `String` value for the given key, or an `ErrorType` detailing what went wrong. One simple way to handle a `Result` is to deconstruct it using a `switch` statement. ```swift switch stringForKey(json, key: "email") { -case let .Success(email): +case let .success(email): print("The email is \(email)") -case let .Failure(JSONError.NoSuchKey(key)): +case let .failure(.noSuchKey(key)): print("\(key) is not a valid key") -case .Failure(JSONError.TypeMismatch): +case .failure(.typeMismatch): print("Didn't have the right type") } ``` @@ -61,7 +61,7 @@ Other methods available for processing `Result` are detailed in the [API documen ## Result vs. Throws -Swift 2.0 introduces error handling via throwing and catching `ErrorType`. `Result` accomplishes the same goal by encapsulating the result instead of hijacking control flow. The `Result` abstraction enables powerful functionality such as `map` and `flatMap`, making `Result` more composable than `throw`. +Swift 2.0 introduces error handling via throwing and catching `Error`. `Result` accomplishes the same goal by encapsulating the result instead of hijacking control flow. The `Result` abstraction enables powerful functionality such as `map` and `flatMap`, making `Result` more composable than `throw`. Since dealing with APIs that throw is common, you can convert such functions into a `Result` by using the `materialize` method. Conversely, a `Result` can be used to throw an error by calling `dematerialize`. @@ -69,14 +69,14 @@ Since dealing with APIs that throw is common, you can convert such functions int `map` and `flatMap` operate the same as `Optional.map` and `Optional.flatMap` except they apply to `Result`. -`map` transforms a `Result` into a `Result` of a new type. It does this by taking a function that transforms the `Value` type into a new value. This transformation is only applied in the case of a `Success`. In the case of a `Failure`, the associated error is re-wrapped in the new `Result`. +`map` transforms a `Result` into a `Result` of a new type. It does this by taking a function that transforms the `Value` type into a new value. This transformation is only applied in the case of a `success`. In the case of a `failure`, the associated error is re-wrapped in the new `Result`. ```swift // transforms a Result to a Result let idResult = intForKey(json, key:"id").map { id in String(id) } ``` -Here, the final result is either the id as a `String`, or carries over the `.Failure` from the previous result. +Here, the final result is either the id as a `String`, or carries over the `failure` from the previous result. `flatMap` is similar to `map` in that in transforms the `Result` into another `Result`. However, the function passed into `flatMap` must return a `Result`. @@ -84,7 +84,30 @@ An in depth discussion of `map` and `flatMap` is beyond the scope of this docume ## Integration +### Carthage + 1. Add this repository as a submodule and/or [add it to your Cartfile](https://github.com/Carthage/Carthage/blob/master/Documentation/Artifacts.md#cartfile) if you’re using [carthage](https://github.com/Carthage/Carthage/) to manage your dependencies. 2. Drag `Result.xcodeproj` into your project or workspace. 3. Link your target against `Result.framework`. 4. Application targets should ensure that the framework gets copied into their application bundle. (Framework targets should instead require the application linking them to include Result.) + +### Cocoapods + +```ruby +pod 'Result', '~> 3.0.0' +``` + +### Swift Package Manager + +```swift +import PackageDescription + +let package = Package( + name: "MyProject", + targets: [], + dependencies: [ + .Package(url: "https://github.com/antitypical/Result.git", + majorVersion: 3) + ] +) +``` diff --git a/Sample/Pods/Result/Result/Result.swift b/Sample/Pods/Result/Result/Result.swift index e8c7adb1..a9f2bbec 100644 --- a/Sample/Pods/Result/Result/Result.swift +++ b/Sample/Pods/Result/Result/Result.swift @@ -17,7 +17,7 @@ public enum Result: ResultProtocol, CustomStringConvertib self = .failure(error) } - /// Constructs a result from an Optional, failing with `Error` if `nil`. + /// Constructs a result from an `Optional`, failing with `Error` if `nil`. public init(_ value: T?, failWith: @autoclosure () -> Error) { self = value.map(Result.success) ?? .failure(failWith()) } @@ -38,7 +38,7 @@ public enum Result: ResultProtocol, CustomStringConvertib // MARK: Deconstruction - /// Returns the value from `Success` Results or `throw`s the error. + /// Returns the value from `success` Results or `throw`s the error. public func dematerialize() throws -> T { switch self { case let .success(value): @@ -50,7 +50,7 @@ public enum Result: ResultProtocol, CustomStringConvertib /// Case analysis for Result. /// - /// Returns the value produced by applying `ifFailure` to `Failure` Results, or `ifSuccess` to `Success` Results. + /// Returns the value produced by applying `ifFailure` to `failure` Results, or `ifSuccess` to `success` Results. public func analysis(ifSuccess: (T) -> Result, ifFailure: (Error) -> Result) -> Result { switch self { case let .success(value): @@ -108,10 +108,24 @@ public enum Result: ResultProtocol, CustomStringConvertib // MARK: - Derive result from failable closure +public func materialize(_ f: () throws -> T) -> Result { + return materialize(try f()) +} + +public func materialize(_ f: @autoclosure () throws -> T) -> Result { + do { + return .success(try f()) + } catch { + return .failure(AnyError(error)) + } +} + +@available(*, deprecated, message: "Use the overload which returns `Result` instead") public func materialize(_ f: () throws -> T) -> Result { return materialize(try f()) } +@available(*, deprecated, message: "Use the overload which returns `Result` instead") public func materialize(_ f: @autoclosure () throws -> T) -> Result { do { return .success(try f()) @@ -124,17 +138,17 @@ public func materialize(_ f: @autoclosure () throws -> T) -> Result(_ function: String = #function, file: String = #file, line: Int = #line, `try`: (NSErrorPointer) -> T?) -> Result { var error: NSError? return `try`(&error).map(Result.success) ?? .failure(error ?? Result.error(function: function, file: file, line: line)) } -/// Constructs a Result with the result of calling `try` with an error pointer. +/// Constructs a `Result` with the result of calling `try` with an error pointer. /// /// This is convenient for wrapping Cocoa API which returns a `Bool` + an error, by reference. e.g.: /// @@ -160,14 +174,45 @@ extension NSError: ErrorProtocolConvertible { } } -// MARK: - +// MARK: - Errors /// An “error” that is impossible to construct. /// /// This can be used to describe `Result`s where failures will never /// be generated. For example, `Result` describes a result that -/// contains an `Int`eger and is guaranteed never to be a `Failure`. -public enum NoError: Swift.Error { } +/// contains an `Int`eger and is guaranteed never to be a `failure`. +public enum NoError: Swift.Error, Equatable { + public static func ==(lhs: NoError, rhs: NoError) -> Bool { + return true + } +} + +/// A type-erased error which wraps an arbitrary error instance. This should be +/// useful for generic contexts. +public struct AnyError: Swift.Error { + /// The underlying error. + public let error: Swift.Error + + public init(_ error: Swift.Error) { + if let anyError = error as? AnyError { + self = anyError + } else { + self.error = error + } + } +} + +extension AnyError: ErrorProtocolConvertible { + public static func error(from error: Error) -> AnyError { + return AnyError(error) + } +} + +extension AnyError: CustomStringConvertible { + public var description: String { + return String(describing: error) + } +} // MARK: - migration support extension Result { diff --git a/Sample/Pods/RxSwift/README.md b/Sample/Pods/RxSwift/README.md index a5749ca1..c80e3515 100644 --- a/Sample/Pods/RxSwift/README.md +++ b/Sample/Pods/RxSwift/README.md @@ -78,7 +78,7 @@ KVO observing, async operations and streams are all unified under [abstraction o
-let searchResults = searchBar.rx.text
+let searchResults = searchBar.rx.text.orEmpty
     .throttle(0.3, scheduler: MainScheduler.instance)
     .distinctUntilChanged()
     .flatMapLatest { query -> Observable<[Repository]> in
diff --git a/Sample/Pods/RxSwift/RxSwift/Concurrency/Lock.swift b/Sample/Pods/RxSwift/RxSwift/Concurrency/Lock.swift
index 4a0c1cd8..78ec4427 100644
--- a/Sample/Pods/RxSwift/RxSwift/Concurrency/Lock.swift
+++ b/Sample/Pods/RxSwift/RxSwift/Concurrency/Lock.swift
@@ -17,16 +17,19 @@ protocol Lock {
 typealias SpinLock = NSRecursiveLock
 
 extension NSRecursiveLock : Lock {
+    @inline(__always)
     func performLocked(_ action: () -> Void) {
         lock(); defer { unlock() }
         action()
     }
 
+    @inline(__always)
     func calculateLocked(_ action: () -> T) -> T {
         lock(); defer { unlock() }
         return action()
     }
 
+    @inline(__always)
     func calculateLockedOrFail(_ action: () throws -> T) throws -> T {
         lock(); defer { unlock() }
         let result = try action()
diff --git a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Amb.swift b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Amb.swift
index f880354c..698747dc 100644
--- a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Amb.swift
+++ b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Amb.swift
@@ -14,10 +14,10 @@ enum AmbState {
     case right
 }
 
-class AmbObserver : ObserverType where O.E == ElementType {
-    typealias Element = ElementType
-    typealias Parent = AmbSink
-    typealias This = AmbObserver
+class AmbObserver : ObserverType {
+    typealias Element = O.E
+    typealias Parent = AmbSink
+    typealias This = AmbObserver
     typealias Sink = (This, Event) -> Void
     
     fileprivate let _parent: Parent
@@ -48,9 +48,10 @@ class AmbObserver : ObserverType where O.E == Elem
     }
 }
 
-class AmbSink : Sink where O.E == ElementType {
+class AmbSink : Sink {
+    typealias ElementType = O.E
     typealias Parent = Amb
-    typealias AmbObserverType = AmbObserver
+    typealias AmbObserverType = AmbObserver
 
     private let _parent: Parent
     
diff --git a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/CombineLatest+Collection.swift b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/CombineLatest+Collection.swift
index 713a6531..fea66e23 100644
--- a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/CombineLatest+Collection.swift
+++ b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/CombineLatest+Collection.swift
@@ -8,8 +8,9 @@
 
 import Foundation
 
-class CombineLatestCollectionTypeSink
-    : Sink where C.Iterator.Element : ObservableConvertibleType, O.E == R {
+class CombineLatestCollectionTypeSink
+    : Sink where C.Iterator.Element : ObservableConvertibleType {
+    typealias R = O.E
     typealias Parent = CombineLatestCollectionType
     typealias SourceElement = C.Iterator.Element.E
     
diff --git a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Delay.swift b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Delay.swift
index 1697692e..37f6a2f0 100644
--- a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Delay.swift
+++ b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Delay.swift
@@ -8,9 +8,9 @@
 
 import Foundation
 
-class DelaySink
+class DelaySink
     : Sink
-    , ObserverType where O.E == ElementType {
+    , ObserverType {
     typealias E = O.E
     typealias Source = Observable
     typealias DisposeKey = Bag.KeyType
diff --git a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/DelaySubscription.swift b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/DelaySubscription.swift
index d7abf206..20207d29 100644
--- a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/DelaySubscription.swift
+++ b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/DelaySubscription.swift
@@ -8,11 +8,10 @@
 
 import Foundation
 
-class DelaySubscriptionSink
-    : Sink
-    , ObserverType where O.E == ElementType {
-    typealias Parent = DelaySubscription
+class DelaySubscriptionSink
+    : Sink, ObserverType {
     typealias E = O.E
+    typealias Parent = DelaySubscription
     
     private let _parent: Parent
     
diff --git a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/ElementAt.swift b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/ElementAt.swift
index 62b55871..0c103a73 100644
--- a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/ElementAt.swift
+++ b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/ElementAt.swift
@@ -9,7 +9,8 @@
 import Foundation
 
 
-class ElementAtSink : Sink, ObserverType where O.E == SourceType {
+class ElementAtSink : Sink, ObserverType {
+    typealias SourceType = O.E
     typealias Parent = ElementAt
     
     let _parent: Parent
diff --git a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Optional.swift b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Optional.swift
new file mode 100644
index 00000000..b05f7ea7
--- /dev/null
+++ b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Optional.swift
@@ -0,0 +1,68 @@
+//
+//  Optional.swift
+//  RxSwift
+//
+//  Created by tarunon on 2016/12/13.
+//  Copyright © 2016 Krunoslav Zaher. All rights reserved.
+//
+
+import Foundation
+
+class ObservableOptionalScheduledSink : Sink {
+    typealias E = O.E
+    typealias Parent = ObservableOptionalScheduled
+
+    private let _parent: Parent
+
+    init(parent: Parent, observer: O, cancel: Cancelable) {
+        _parent = parent
+        super.init(observer: observer, cancel: cancel)
+    }
+
+    func run() -> Disposable {
+        return _parent._scheduler.schedule(_parent._optional) { (optional: E?) -> Disposable in
+            if let next = optional {
+                self.forwardOn(.next(next))
+                return self._parent._scheduler.schedule(()) { _ in
+                    self.forwardOn(.completed)
+                    return Disposables.create()
+                }
+            } else {
+                self.forwardOn(.completed)
+                return Disposables.create()
+            }
+        }
+    }
+}
+
+class ObservableOptionalScheduled : Producer {
+    fileprivate let _optional: E?
+    fileprivate let _scheduler: ImmediateSchedulerType
+
+    init(optional: E?, scheduler: ImmediateSchedulerType) {
+        _optional = optional
+        _scheduler = scheduler
+    }
+
+    override func run(_ observer: O, cancel: Cancelable) -> (sink: Disposable, subscription: Disposable) where O.E == E {
+        let sink = ObservableOptionalScheduledSink(parent: self, observer: observer, cancel: cancel)
+        let subscription = sink.run()
+        return (sink: sink, subscription: subscription)
+    }
+}
+
+class ObservableOptional: Producer {
+    private let _optional: E?
+    
+    init(optional: E?) {
+        _optional = optional
+    }
+    
+    override func subscribe(_ observer: O) -> Disposable where O.E == E {
+        if let element = _optional {
+            observer.on(.next(element))
+        }
+        observer.on(.completed)
+        return Disposables.create()
+    }
+}
diff --git a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Sample.swift b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Sample.swift
index 7190bfb7..107dfec5 100644
--- a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Sample.swift
+++ b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Sample.swift
@@ -8,10 +8,10 @@
 
 import Foundation
 
-class SamplerSink
+class SamplerSink
     : ObserverType
     , LockOwnerType
-    , SynchronizedOnType where O.E == ElementType {
+    , SynchronizedOnType {
     typealias E = SampleType
     
     typealias Parent = SampleSequenceSink
@@ -34,10 +34,7 @@ class SamplerSink
         switch event {
         case .next:
             if let element = _parent._element {
-                if _parent._parent._onlyNew {
-                    _parent._element = nil
-                }
-                
+                _parent._element = nil
                 _parent.forwardOn(.next(element))
             }
 
@@ -113,12 +110,10 @@ class SampleSequenceSink
 class Sample : Producer {
     fileprivate let _source: Observable
     fileprivate let _sampler: Observable
-    fileprivate let _onlyNew: Bool
 
-    init(source: Observable, sampler: Observable, onlyNew: Bool) {
+    init(source: Observable, sampler: Observable) {
         _source = source
         _sampler = sampler
-        _onlyNew = onlyNew
     }
     
     override func run(_ observer: O, cancel: Cancelable) -> (sink: Disposable, subscription: Disposable) where O.E == Element {
diff --git a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Scan.swift b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Scan.swift
index dbb9173a..e381ae3d 100644
--- a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Scan.swift
+++ b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Scan.swift
@@ -8,7 +8,8 @@
 
 import Foundation
 
-class ScanSink : Sink, ObserverType where O.E == Accumulate {
+class ScanSink : Sink, ObserverType {
+    typealias Accumulate = O.E
     typealias Parent = Scan
     typealias E = ElementType
     
diff --git a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/SingleAsync.swift b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/SingleAsync.swift
index e0316fd3..988677d9 100644
--- a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/SingleAsync.swift
+++ b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/SingleAsync.swift
@@ -8,7 +8,8 @@
 
 import Foundation
 
-class SingleAsyncSink : Sink, ObserverType where O.E == ElementType {
+class SingleAsyncSink : Sink, ObserverType {
+    typealias ElementType = O.E
     typealias Parent = SingleAsync
     typealias E = ElementType
     
diff --git a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Skip.swift b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Skip.swift
index 95252c49..66d4165f 100644
--- a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Skip.swift
+++ b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Skip.swift
@@ -10,9 +10,9 @@ import Foundation
 
 // count version
 
-class SkipCountSink : Sink, ObserverType where O.E == ElementType {
-    typealias Parent = SkipCount
-    typealias Element = ElementType
+class SkipCountSink : Sink, ObserverType {
+    typealias Element = O.E
+    typealias Parent = SkipCount
     
     let parent: Parent
     
diff --git a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/SkipUntil.swift b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/SkipUntil.swift
index 8217730b..d7c4c735 100644
--- a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/SkipUntil.swift
+++ b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/SkipUntil.swift
@@ -8,11 +8,11 @@
 
 import Foundation
 
-class SkipUntilSinkOther
+class SkipUntilSinkOther
     : ObserverType
     , LockOwnerType
-    , SynchronizedOnType where O.E == ElementType {
-    typealias Parent = SkipUntilSink
+    , SynchronizedOnType {
+    typealias Parent = SkipUntilSink
     typealias E = Other
     
     fileprivate let _parent: Parent
@@ -56,12 +56,12 @@ class SkipUntilSinkOther
 }
 
 
-class SkipUntilSink
+class SkipUntilSink
     : Sink
     , ObserverType
     , LockOwnerType
-    , SynchronizedOnType where O.E == ElementType {
-    typealias E = ElementType
+    , SynchronizedOnType {
+    typealias E = O.E
     typealias Parent = SkipUntil
     
     let _lock = NSRecursiveLock()
diff --git a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/SkipWhile.swift b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/SkipWhile.swift
index 4f5610aa..a6c16654 100644
--- a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/SkipWhile.swift
+++ b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/SkipWhile.swift
@@ -6,10 +6,10 @@
 //  Copyright © 2015 Krunoslav Zaher. All rights reserved.
 //
 
-class SkipWhileSink : Sink, ObserverType where O.E == ElementType {
+class SkipWhileSink : Sink, ObserverType {
 
-    typealias Parent = SkipWhile
-    typealias Element = ElementType
+    typealias Element = O.E
+    typealias Parent = SkipWhile
 
     fileprivate let _parent: Parent
     fileprivate var _running = false
@@ -42,10 +42,10 @@ class SkipWhileSink : Sink, ObserverType where
     }
 }
 
-class SkipWhileSinkWithIndex : Sink, ObserverType where O.E == ElementType {
+class SkipWhileSinkWithIndex : Sink, ObserverType {
 
-    typealias Parent = SkipWhile
-    typealias Element = ElementType
+    typealias Element = O.E
+    typealias Parent = SkipWhile
 
     fileprivate let _parent: Parent
     fileprivate var _index = 0
diff --git a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Take.swift b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Take.swift
index d1c1e18c..9ff6c78f 100644
--- a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Take.swift
+++ b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Take.swift
@@ -10,9 +10,9 @@ import Foundation
 
 // count version
 
-class TakeCountSink : Sink, ObserverType where O.E == ElementType {
-    typealias Parent = TakeCount
-    typealias E = ElementType
+class TakeCountSink : Sink, ObserverType {
+    typealias E = O.E
+    typealias Parent = TakeCount
     
     private let _parent: Parent
     
diff --git a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/TakeLast.swift b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/TakeLast.swift
index 7a414796..4159d094 100644
--- a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/TakeLast.swift
+++ b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/TakeLast.swift
@@ -9,17 +9,17 @@
 import Foundation
 
 
-class TakeLastSink : Sink, ObserverType where O.E == ElementType {
-    typealias Parent = TakeLast
-    typealias E = ElementType
+class TakeLastSink : Sink, ObserverType {
+    typealias E = O.E
+    typealias Parent = TakeLast
     
     private let _parent: Parent
     
-    private var _elements: Queue
+    private var _elements: Queue
     
     init(parent: Parent, observer: O, cancel: Cancelable) {
         _parent = parent
-        _elements = Queue(capacity: parent._count + 1)
+        _elements = Queue(capacity: parent._count + 1)
         super.init(observer: observer, cancel: cancel)
     }
     
diff --git a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/TakeUntil.swift b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/TakeUntil.swift
index 0769e8a5..18bbd557 100644
--- a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/TakeUntil.swift
+++ b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/TakeUntil.swift
@@ -8,11 +8,11 @@
 
 import Foundation
 
-class TakeUntilSinkOther
+class TakeUntilSinkOther
     : ObserverType
     , LockOwnerType
-    , SynchronizedOnType where O.E == ElementType {
-    typealias Parent = TakeUntilSink
+    , SynchronizedOnType {
+    typealias Parent = TakeUntilSink
     typealias E = Other
     
     fileprivate let _parent: Parent
@@ -55,12 +55,12 @@ class TakeUntilSinkOther
 #endif
 }
 
-class TakeUntilSink
+class TakeUntilSink
     : Sink
     , LockOwnerType
     , ObserverType
-    , SynchronizedOnType where O.E == ElementType {
-    typealias E = ElementType
+    , SynchronizedOnType {
+    typealias E = O.E
     typealias Parent = TakeUntil
     
     fileprivate let _parent: Parent
diff --git a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/TakeWhile.swift b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/TakeWhile.swift
index 259bc250..a5a0651b 100644
--- a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/TakeWhile.swift
+++ b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/TakeWhile.swift
@@ -8,11 +8,11 @@
 
 import Foundation
 
-class TakeWhileSink
+class TakeWhileSink
     : Sink
-    , ObserverType where O.E == ElementType {
-    typealias Parent = TakeWhile
-    typealias Element = ElementType
+    , ObserverType {
+    typealias Element = O.E
+    typealias Parent = TakeWhile
 
     fileprivate let _parent: Parent
 
@@ -52,11 +52,11 @@ class TakeWhileSink
     
 }
 
-class TakeWhileSinkWithIndex
+class TakeWhileSinkWithIndex
     : Sink
-    , ObserverType where O.E == ElementType {
-    typealias Parent = TakeWhile
-    typealias Element = ElementType
+    , ObserverType {
+    typealias Element = O.E
+    typealias Parent = TakeWhile
     
     fileprivate let _parent: Parent
     
diff --git a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Timeout.swift b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Timeout.swift
index f354ccfe..bf5d31fb 100644
--- a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Timeout.swift
+++ b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Timeout.swift
@@ -8,8 +8,8 @@
 
 import Foundation
 
-class TimeoutSink: Sink, LockOwnerType, ObserverType where O.E == ElementType {
-    typealias E = ElementType
+class TimeoutSink: Sink, LockOwnerType, ObserverType {
+    typealias E = O.E
     typealias Parent = Timeout
     
     private let _parent: Parent
diff --git a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Timer.swift b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Timer.swift
index 7c2df2c3..1b557196 100644
--- a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Timer.swift
+++ b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Timer.swift
@@ -37,10 +37,11 @@ class TimerOneOffSink : Sink where O.E : SignedInteger {
     }
     
     func run() -> Disposable {
-        return _parent._scheduler.scheduleRelative((), dueTime: _parent._dueTime) { (_) -> Disposable in
+        return _parent._scheduler.scheduleRelative(self, dueTime: _parent._dueTime) { (`self`) -> Disposable in
             self.forwardOn(.next(0))
             self.forwardOn(.completed)
-            
+            self.dispose()
+
             return Disposables.create()
         }
     }
diff --git a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Using.swift b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Using.swift
index f0a860a7..19b6e007 100644
--- a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Using.swift
+++ b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Using.swift
@@ -8,10 +8,9 @@
 
 import Foundation
 
-class UsingSink : Sink, ObserverType where O.E == SourceType {
-
+class UsingSink : Sink, ObserverType {
+    typealias SourceType = O.E
     typealias Parent = Using
-    typealias E = O.E
 
     private let _parent: Parent
     
@@ -40,7 +39,7 @@ class UsingSink : Sink
         }
     }
     
-    func on(_ event: Event) {
+    func on(_ event: Event) {
         switch event {
         case let .next(value):
             forwardOn(.next(value))
diff --git a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/WithLatestFrom.swift b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/WithLatestFrom.swift
index 53cf2d94..c10bf69d 100644
--- a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/WithLatestFrom.swift
+++ b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/WithLatestFrom.swift
@@ -8,12 +8,12 @@
 
 import Foundation
 
-class WithLatestFromSink
+class WithLatestFromSink
     : Sink
     , ObserverType
     , LockOwnerType
-    , SynchronizedOnType where O.E == ResultType {
-
+    , SynchronizedOnType {
+    typealias ResultType = O.E
     typealias Parent = WithLatestFrom
     typealias E = FirstType
     
@@ -64,12 +64,13 @@ class WithLatestFromSink
     }
 }
 
-class WithLatestFromSecond
+class WithLatestFromSecond
     : ObserverType
     , LockOwnerType
-    , SynchronizedOnType where O.E == ResultType {
+    , SynchronizedOnType {
     
-    typealias Parent = WithLatestFromSink
+    typealias ResultType = O.E
+    typealias Parent = WithLatestFromSink
     typealias E = SecondType
     
     private let _parent: Parent
diff --git a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Zip+Collection.swift b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Zip+Collection.swift
index fcd79787..60474fd5 100644
--- a/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Zip+Collection.swift
+++ b/Sample/Pods/RxSwift/RxSwift/Observables/Implementations/Zip+Collection.swift
@@ -8,8 +8,9 @@
 
 import Foundation
 
-class ZipCollectionTypeSink
-    : Sink where C.Iterator.Element : ObservableConvertibleType, O.E == R {
+class ZipCollectionTypeSink
+    : Sink where C.Iterator.Element : ObservableConvertibleType {
+    typealias R = O.E
     typealias Parent = ZipCollectionType
     typealias SourceElement = C.Iterator.Element.E
     
diff --git a/Sample/Pods/RxSwift/RxSwift/Observables/Observable+Creation.swift b/Sample/Pods/RxSwift/RxSwift/Observables/Observable+Creation.swift
index 87de7fff..2f3987b3 100644
--- a/Sample/Pods/RxSwift/RxSwift/Observables/Observable+Creation.swift
+++ b/Sample/Pods/RxSwift/RxSwift/Observables/Observable+Creation.swift
@@ -200,4 +200,29 @@ extension Observable {
     public static func from(_ sequence: S, scheduler: ImmediateSchedulerType = CurrentThreadScheduler.instance) -> Observable where S.Iterator.Element == E {
         return ObservableSequence(elements: sequence, scheduler: scheduler)
     }
+    
+    /**
+     Converts a optional to an observable sequence.
+     
+     - seealso: [from operator on reactivex.io](http://reactivex.io/documentation/operators/from.html)
+     
+     - parameter optional: Optional element in the resulting observable sequence.
+     - returns: An observable sequence containing the wrapped value or not from given optional.
+     */
+    public static func from(_ optional: E?) -> Observable {
+        return ObservableOptional(optional: optional)
+    }
+    
+    /**
+     Converts a optional to an observable sequence.
+     
+     - seealso: [from operator on reactivex.io](http://reactivex.io/documentation/operators/from.html)
+     
+     - parameter optional: Optional element in the resulting observable sequence.
+     - parameter: Scheduler to send the optional element on.
+     - returns: An observable sequence containing the wrapped value or not from given optional.
+     */
+    public static func from(_ optional: E?, scheduler: ImmediateSchedulerType) -> Observable {
+        return ObservableOptionalScheduled(optional: optional, scheduler: scheduler)
+    }
 }
diff --git a/Sample/Pods/RxSwift/RxSwift/Observables/Observable+Time.swift b/Sample/Pods/RxSwift/RxSwift/Observables/Observable+Time.swift
index 7eb9232b..b4b86c72 100644
--- a/Sample/Pods/RxSwift/RxSwift/Observables/Observable+Time.swift
+++ b/Sample/Pods/RxSwift/RxSwift/Observables/Observable+Time.swift
@@ -61,7 +61,7 @@ extension ObservableType {
     */
     public func sample(_ sampler: O)
         -> Observable {
-        return Sample(source: self.asObservable(), sampler: sampler.asObservable(), onlyNew: true)
+        return Sample(source: self.asObservable(), sampler: sampler.asObservable())
     }
 }
 
diff --git a/Sample/Pods/RxSwift/RxSwift/Schedulers/RecursiveScheduler.swift b/Sample/Pods/RxSwift/RxSwift/Schedulers/RecursiveScheduler.swift
index 6ff0f2bd..fd9992bb 100644
--- a/Sample/Pods/RxSwift/RxSwift/Schedulers/RecursiveScheduler.swift
+++ b/Sample/Pods/RxSwift/RxSwift/Schedulers/RecursiveScheduler.swift
@@ -8,8 +8,15 @@
 
 import Foundation
 
+fileprivate enum ScheduleState {
+    case initial
+    case added(CompositeDisposable.DisposeKey)
+    case done
+}
+
 /// Type erased recursive scheduler.
 class AnyRecursiveScheduler {
+    
     typealias Action =  (State, AnyRecursiveScheduler) -> Void
 
     private let _lock = NSRecursiveLock()
@@ -32,11 +39,8 @@ class AnyRecursiveScheduler {
     - parameter dueTime: Relative time after which to execute the recursive action.
     */
     func schedule(_ state: State, dueTime: RxTimeInterval) {
+        var scheduleState: ScheduleState = .initial
 
-        var isAdded = false
-        var isDone = false
-        
-        var removeKey: CompositeDisposable.DisposeKey? = nil
         let d = _scheduler.scheduleRelative(state, dueTime: dueTime) { (state) -> Disposable in
             // best effort
             if self._group.isDisposed {
@@ -44,13 +48,17 @@ class AnyRecursiveScheduler {
             }
             
             let action = self._lock.calculateLocked { () -> Action? in
-                if isAdded {
-                    self._group.remove(for: removeKey!)
+                switch scheduleState {
+                case let .added(removeKey):
+                    self._group.remove(for: removeKey)
+                case .initial:
+                    break
+                case .done:
+                    break
                 }
-                else {
-                    isDone = true
-                }
-                
+
+                scheduleState = .done
+
                 return self._action
             }
             
@@ -62,9 +70,20 @@ class AnyRecursiveScheduler {
         }
             
         _lock.performLocked {
-            if !isDone {
-                removeKey = _group.insert(d)
-                isAdded = true
+            switch scheduleState {
+            case .added:
+                rxFatalError("Invalid state")
+                break
+            case .initial:
+                if let removeKey = _group.insert(d) {
+                    scheduleState = .added(removeKey)
+                }
+                else {
+                    scheduleState = .done
+                }
+                break
+            case .done:
+                break
             }
         }
     }
@@ -73,11 +92,8 @@ class AnyRecursiveScheduler {
     ///
     /// - parameter state: State passed to the action to be executed.
     func schedule(_ state: State) {
-            
-        var isAdded = false
-        var isDone = false
-        
-        var removeKey: CompositeDisposable.DisposeKey? = nil
+        var scheduleState: ScheduleState = .initial
+
         let d = _scheduler.schedule(state) { (state) -> Disposable in
             // best effort
             if self._group.isDisposed {
@@ -85,12 +101,16 @@ class AnyRecursiveScheduler {
             }
             
             let action = self._lock.calculateLocked { () -> Action? in
-                if isAdded {
-                    self._group.remove(for: removeKey!)
-                }
-                else {
-                    isDone = true
+                switch scheduleState {
+                case let .added(removeKey):
+                    self._group.remove(for: removeKey)
+                case .initial:
+                    break
+                case .done:
+                    break
                 }
+
+                scheduleState = .done
                 
                 return self._action
             }
@@ -103,9 +123,20 @@ class AnyRecursiveScheduler {
         }
         
         _lock.performLocked {
-            if !isDone {
-                removeKey = _group.insert(d)
-                isAdded = true
+            switch scheduleState {
+            case .added:
+                rxFatalError("Invalid state")
+                break
+            case .initial:
+                if let removeKey = _group.insert(d) {
+                    scheduleState = .added(removeKey)
+                }
+                else {
+                    scheduleState = .done
+                }
+                break
+            case .done:
+                break
             }
         }
     }
@@ -139,11 +170,8 @@ class RecursiveImmediateScheduler {
     ///
     /// - parameter state: State passed to the action to be executed.
     func schedule(_ state: State) {
+        var scheduleState: ScheduleState = .initial
 
-        var isAdded = false
-        var isDone = false
-        
-        var removeKey: CompositeDisposable.DisposeKey? = nil
         let d = _scheduler.schedule(state) { (state) -> Disposable in
             // best effort
             if self._group.isDisposed {
@@ -151,13 +179,17 @@ class RecursiveImmediateScheduler {
             }
             
             let action = self._lock.calculateLocked { () -> Action? in
-                if isAdded {
-                    self._group.remove(for: removeKey!)
+                switch scheduleState {
+                case let .added(removeKey):
+                    self._group.remove(for: removeKey)
+                case .initial:
+                    break
+                case .done:
+                    break
                 }
-                else {
-                    isDone = true
-                }
-                
+
+                scheduleState = .done
+
                 return self._action
             }
             
@@ -169,9 +201,20 @@ class RecursiveImmediateScheduler {
         }
         
         _lock.performLocked {
-            if !isDone {
-                removeKey = _group.insert(d)
-                isAdded = true
+            switch scheduleState {
+            case .added:
+                rxFatalError("Invalid state")
+                break
+            case .initial:
+                if let removeKey = _group.insert(d) {
+                    scheduleState = .added(removeKey)
+                }
+                else {
+                    scheduleState = .done
+                }
+                break
+            case .done:
+                break
             }
         }
     }
diff --git a/Sample/Pods/Target Support Files/Alamofire/Alamofire-prefix.pch b/Sample/Pods/Target Support Files/Alamofire/Alamofire-prefix.pch
index aa992a4a..beb2a244 100644
--- a/Sample/Pods/Target Support Files/Alamofire/Alamofire-prefix.pch	
+++ b/Sample/Pods/Target Support Files/Alamofire/Alamofire-prefix.pch	
@@ -1,4 +1,12 @@
 #ifdef __OBJC__
 #import 
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
 #endif
 
diff --git a/Sample/Pods/Target Support Files/Alamofire/Alamofire-umbrella.h b/Sample/Pods/Target Support Files/Alamofire/Alamofire-umbrella.h
index 02327b85..00014e3c 100644
--- a/Sample/Pods/Target Support Files/Alamofire/Alamofire-umbrella.h	
+++ b/Sample/Pods/Target Support Files/Alamofire/Alamofire-umbrella.h	
@@ -1,5 +1,13 @@
 #ifdef __OBJC__
 #import 
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
 #endif
 
 
diff --git a/Sample/Pods/Target Support Files/Alamofire/Alamofire.xcconfig b/Sample/Pods/Target Support Files/Alamofire/Alamofire.xcconfig
index 772ef0b2..619e5f4a 100644
--- a/Sample/Pods/Target Support Files/Alamofire/Alamofire.xcconfig	
+++ b/Sample/Pods/Target Support Files/Alamofire/Alamofire.xcconfig	
@@ -5,5 +5,6 @@ OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
 PODS_BUILD_DIR = $BUILD_DIR
 PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
 PODS_ROOT = ${SRCROOT}
+PODS_TARGET_SRCROOT = ${PODS_ROOT}/Alamofire
 PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
 SKIP_INSTALL = YES
diff --git a/Sample/Pods/Target Support Files/Alamofire/Info.plist b/Sample/Pods/Target Support Files/Alamofire/Info.plist
index b672cd74..6631be71 100644
--- a/Sample/Pods/Target Support Files/Alamofire/Info.plist	
+++ b/Sample/Pods/Target Support Files/Alamofire/Info.plist	
@@ -15,7 +15,7 @@
   CFBundlePackageType
   FMWK
   CFBundleShortVersionString
-  4.0.1
+  4.2.0
   CFBundleSignature
   ????
   CFBundleVersion
diff --git a/Sample/Pods/Target Support Files/Moya-ObjectMapper/Info.plist b/Sample/Pods/Target Support Files/Moya-ObjectMapper/Info.plist
index 7f71fffc..d135faf1 100644
--- a/Sample/Pods/Target Support Files/Moya-ObjectMapper/Info.plist	
+++ b/Sample/Pods/Target Support Files/Moya-ObjectMapper/Info.plist	
@@ -15,7 +15,7 @@
   CFBundlePackageType
   FMWK
   CFBundleShortVersionString
-  2.1.0
+  2.3.0
   CFBundleSignature
   ????
   CFBundleVersion
diff --git a/Sample/Pods/Target Support Files/Moya-ObjectMapper/Moya-ObjectMapper-prefix.pch b/Sample/Pods/Target Support Files/Moya-ObjectMapper/Moya-ObjectMapper-prefix.pch
index aa992a4a..beb2a244 100644
--- a/Sample/Pods/Target Support Files/Moya-ObjectMapper/Moya-ObjectMapper-prefix.pch	
+++ b/Sample/Pods/Target Support Files/Moya-ObjectMapper/Moya-ObjectMapper-prefix.pch	
@@ -1,4 +1,12 @@
 #ifdef __OBJC__
 #import 
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
 #endif
 
diff --git a/Sample/Pods/Target Support Files/Moya-ObjectMapper/Moya-ObjectMapper-umbrella.h b/Sample/Pods/Target Support Files/Moya-ObjectMapper/Moya-ObjectMapper-umbrella.h
index 01ec2245..46f7b3fe 100644
--- a/Sample/Pods/Target Support Files/Moya-ObjectMapper/Moya-ObjectMapper-umbrella.h	
+++ b/Sample/Pods/Target Support Files/Moya-ObjectMapper/Moya-ObjectMapper-umbrella.h	
@@ -1,5 +1,13 @@
 #ifdef __OBJC__
 #import 
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
 #endif
 
 
diff --git a/Sample/Pods/Target Support Files/Moya-ObjectMapper/Moya-ObjectMapper.xcconfig b/Sample/Pods/Target Support Files/Moya-ObjectMapper/Moya-ObjectMapper.xcconfig
index 7f8080b0..04ea5819 100644
--- a/Sample/Pods/Target Support Files/Moya-ObjectMapper/Moya-ObjectMapper.xcconfig	
+++ b/Sample/Pods/Target Support Files/Moya-ObjectMapper/Moya-ObjectMapper.xcconfig	
@@ -7,5 +7,6 @@ OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
 PODS_BUILD_DIR = $BUILD_DIR
 PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
 PODS_ROOT = ${SRCROOT}
+PODS_TARGET_SRCROOT = ${PODS_ROOT}/../..
 PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
 SKIP_INSTALL = YES
diff --git a/Sample/Pods/Target Support Files/Moya/Moya-prefix.pch b/Sample/Pods/Target Support Files/Moya/Moya-prefix.pch
index aa992a4a..beb2a244 100644
--- a/Sample/Pods/Target Support Files/Moya/Moya-prefix.pch	
+++ b/Sample/Pods/Target Support Files/Moya/Moya-prefix.pch	
@@ -1,4 +1,12 @@
 #ifdef __OBJC__
 #import 
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
 #endif
 
diff --git a/Sample/Pods/Target Support Files/Moya/Moya-umbrella.h b/Sample/Pods/Target Support Files/Moya/Moya-umbrella.h
index a6562e48..8d810473 100644
--- a/Sample/Pods/Target Support Files/Moya/Moya-umbrella.h	
+++ b/Sample/Pods/Target Support Files/Moya/Moya-umbrella.h	
@@ -1,5 +1,13 @@
 #ifdef __OBJC__
 #import 
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
 #endif
 
 
diff --git a/Sample/Pods/Target Support Files/Moya/Moya.xcconfig b/Sample/Pods/Target Support Files/Moya/Moya.xcconfig
index 5165d86f..26c97355 100644
--- a/Sample/Pods/Target Support Files/Moya/Moya.xcconfig	
+++ b/Sample/Pods/Target Support Files/Moya/Moya.xcconfig	
@@ -7,5 +7,6 @@ OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
 PODS_BUILD_DIR = $BUILD_DIR
 PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
 PODS_ROOT = ${SRCROOT}
+PODS_TARGET_SRCROOT = ${PODS_ROOT}/Moya
 PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
 SKIP_INSTALL = YES
diff --git a/Sample/Pods/Target Support Files/ObjectMapper/Info.plist b/Sample/Pods/Target Support Files/ObjectMapper/Info.plist
index 0816e960..7c537956 100644
--- a/Sample/Pods/Target Support Files/ObjectMapper/Info.plist	
+++ b/Sample/Pods/Target Support Files/ObjectMapper/Info.plist	
@@ -15,7 +15,7 @@
   CFBundlePackageType
   FMWK
   CFBundleShortVersionString
-  2.2.1
+  2.2.2
   CFBundleSignature
   ????
   CFBundleVersion
diff --git a/Sample/Pods/Target Support Files/ObjectMapper/ObjectMapper-prefix.pch b/Sample/Pods/Target Support Files/ObjectMapper/ObjectMapper-prefix.pch
index aa992a4a..beb2a244 100644
--- a/Sample/Pods/Target Support Files/ObjectMapper/ObjectMapper-prefix.pch	
+++ b/Sample/Pods/Target Support Files/ObjectMapper/ObjectMapper-prefix.pch	
@@ -1,4 +1,12 @@
 #ifdef __OBJC__
 #import 
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
 #endif
 
diff --git a/Sample/Pods/Target Support Files/ObjectMapper/ObjectMapper-umbrella.h b/Sample/Pods/Target Support Files/ObjectMapper/ObjectMapper-umbrella.h
index 21eb4a05..e993e402 100644
--- a/Sample/Pods/Target Support Files/ObjectMapper/ObjectMapper-umbrella.h	
+++ b/Sample/Pods/Target Support Files/ObjectMapper/ObjectMapper-umbrella.h	
@@ -1,5 +1,13 @@
 #ifdef __OBJC__
 #import 
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
 #endif
 
 
diff --git a/Sample/Pods/Target Support Files/ObjectMapper/ObjectMapper.xcconfig b/Sample/Pods/Target Support Files/ObjectMapper/ObjectMapper.xcconfig
index f9a19589..c2b8915f 100644
--- a/Sample/Pods/Target Support Files/ObjectMapper/ObjectMapper.xcconfig	
+++ b/Sample/Pods/Target Support Files/ObjectMapper/ObjectMapper.xcconfig	
@@ -5,6 +5,7 @@ OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
 PODS_BUILD_DIR = $BUILD_DIR
 PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
 PODS_ROOT = ${SRCROOT}
+PODS_TARGET_SRCROOT = ${PODS_ROOT}/ObjectMapper
 PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
 SKIP_INSTALL = YES
 SWIFT_VERSION = 3.0
diff --git a/Sample/Pods/Target Support Files/Pods-Demo/Pods-Demo-acknowledgements.markdown b/Sample/Pods/Target Support Files/Pods-Demo/Pods-Demo-acknowledgements.markdown
index 1f8f9956..33337e29 100644
--- a/Sample/Pods/Target Support Files/Pods-Demo/Pods-Demo-acknowledgements.markdown	
+++ b/Sample/Pods/Target Support Files/Pods-Demo/Pods-Demo-acknowledgements.markdown	
@@ -28,7 +28,7 @@ THE SOFTWARE.
 
 The MIT License (MIT)
 
-Copyright (c) 2016 Artsy, Ash Furrow
+Copyright (c) 2017 Artsy, Ash Furrow
 
 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/Sample/Pods/Target Support Files/Pods-Demo/Pods-Demo-acknowledgements.plist b/Sample/Pods/Target Support Files/Pods-Demo/Pods-Demo-acknowledgements.plist
index 2823a046..06ec5d4f 100644
--- a/Sample/Pods/Target Support Files/Pods-Demo/Pods-Demo-acknowledgements.plist	
+++ b/Sample/Pods/Target Support Files/Pods-Demo/Pods-Demo-acknowledgements.plist	
@@ -45,7 +45,7 @@ THE SOFTWARE.
 			FooterText
 			The MIT License (MIT)
 
-Copyright (c) 2016 Artsy, Ash Furrow
+Copyright (c) 2017 Artsy, Ash Furrow
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
@@ -155,7 +155,7 @@ SOFTWARE.
 		
 			FooterText
 			**The MIT License**
-**Copyright © 2015 Krunoslav Zaher**
+**Copyright © 2015 Krunoslav Zaher**
 **All rights reserved.**
 
 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
diff --git a/Sample/Pods/Target Support Files/Pods-Demo/Pods-Demo-frameworks.sh b/Sample/Pods/Target Support Files/Pods-Demo/Pods-Demo-frameworks.sh
index f803accd..3ab8ab7e 100755
--- a/Sample/Pods/Target Support Files/Pods-Demo/Pods-Demo-frameworks.sh	
+++ b/Sample/Pods/Target Support Files/Pods-Demo/Pods-Demo-frameworks.sh	
@@ -59,8 +59,13 @@ code_sign_if_enabled() {
   if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
     # Use the current code_sign_identitiy
     echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
-    echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements \"$1\""
-    /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements "$1"
+    local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements '$1'"
+
+    if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
+      code_sign_cmd="$code_sign_cmd &"
+    fi
+    echo "$code_sign_cmd"
+    eval "$code_sign_cmd"
   fi
 }
 
@@ -99,3 +104,6 @@ if [[ "$CONFIGURATION" == "Release" ]]; then
   install_framework "$BUILT_PRODUCTS_DIR/Result/Result.framework"
   install_framework "$BUILT_PRODUCTS_DIR/RxSwift/RxSwift.framework"
 fi
+if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
+  wait
+fi
diff --git a/Sample/Pods/Target Support Files/Pods-Demo/Pods-Demo-resources.sh b/Sample/Pods/Target Support Files/Pods-Demo/Pods-Demo-resources.sh
index 25e9d377..4602c68a 100755
--- a/Sample/Pods/Target Support Files/Pods-Demo/Pods-Demo-resources.sh	
+++ b/Sample/Pods/Target Support Files/Pods-Demo/Pods-Demo-resources.sh	
@@ -18,6 +18,9 @@ case "${TARGETED_DEVICE_FAMILY}" in
   2)
     TARGET_DEVICE_ARGS="--target-device ipad"
     ;;
+  3)
+    TARGET_DEVICE_ARGS="--target-device tv"
+    ;;
   *)
     TARGET_DEVICE_ARGS="--target-device mac"
     ;;
diff --git a/Sample/Pods/Target Support Files/Pods-Demo/Pods-Demo-umbrella.h b/Sample/Pods/Target Support Files/Pods-Demo/Pods-Demo-umbrella.h
index 354852dc..6ccb7f7e 100644
--- a/Sample/Pods/Target Support Files/Pods-Demo/Pods-Demo-umbrella.h	
+++ b/Sample/Pods/Target Support Files/Pods-Demo/Pods-Demo-umbrella.h	
@@ -1,5 +1,13 @@
 #ifdef __OBJC__
 #import 
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
 #endif
 
 
diff --git a/Sample/Pods/Target Support Files/Pods-Demo/Pods-Demo.debug.xcconfig b/Sample/Pods/Target Support Files/Pods-Demo/Pods-Demo.debug.xcconfig
index 1d206afb..f6d584d1 100644
--- a/Sample/Pods/Target Support Files/Pods-Demo/Pods-Demo.debug.xcconfig	
+++ b/Sample/Pods/Target Support Files/Pods-Demo/Pods-Demo.debug.xcconfig	
@@ -1,5 +1,4 @@
 ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
-EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
 FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/Moya" "$PODS_CONFIGURATION_BUILD_DIR/Moya-ObjectMapper" "$PODS_CONFIGURATION_BUILD_DIR/ObjectMapper" "$PODS_CONFIGURATION_BUILD_DIR/Result" "$PODS_CONFIGURATION_BUILD_DIR/RxSwift"
 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
diff --git a/Sample/Pods/Target Support Files/Pods-Demo/Pods-Demo.release.xcconfig b/Sample/Pods/Target Support Files/Pods-Demo/Pods-Demo.release.xcconfig
index 1d206afb..f6d584d1 100644
--- a/Sample/Pods/Target Support Files/Pods-Demo/Pods-Demo.release.xcconfig	
+++ b/Sample/Pods/Target Support Files/Pods-Demo/Pods-Demo.release.xcconfig	
@@ -1,5 +1,4 @@
 ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
-EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
 FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/Moya" "$PODS_CONFIGURATION_BUILD_DIR/Moya-ObjectMapper" "$PODS_CONFIGURATION_BUILD_DIR/ObjectMapper" "$PODS_CONFIGURATION_BUILD_DIR/Result" "$PODS_CONFIGURATION_BUILD_DIR/RxSwift"
 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
diff --git a/Sample/Pods/Target Support Files/Result/Info.plist b/Sample/Pods/Target Support Files/Result/Info.plist
index 45226757..90db36aa 100644
--- a/Sample/Pods/Target Support Files/Result/Info.plist	
+++ b/Sample/Pods/Target Support Files/Result/Info.plist	
@@ -15,7 +15,7 @@
   CFBundlePackageType
   FMWK
   CFBundleShortVersionString
-  3.0.0
+  3.1.0
   CFBundleSignature
   ????
   CFBundleVersion
diff --git a/Sample/Pods/Target Support Files/Result/Result-prefix.pch b/Sample/Pods/Target Support Files/Result/Result-prefix.pch
index aa992a4a..beb2a244 100644
--- a/Sample/Pods/Target Support Files/Result/Result-prefix.pch	
+++ b/Sample/Pods/Target Support Files/Result/Result-prefix.pch	
@@ -1,4 +1,12 @@
 #ifdef __OBJC__
 #import 
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
 #endif
 
diff --git a/Sample/Pods/Target Support Files/Result/Result-umbrella.h b/Sample/Pods/Target Support Files/Result/Result-umbrella.h
index 413c4339..25f5eb12 100644
--- a/Sample/Pods/Target Support Files/Result/Result-umbrella.h	
+++ b/Sample/Pods/Target Support Files/Result/Result-umbrella.h	
@@ -1,5 +1,13 @@
 #ifdef __OBJC__
 #import 
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
 #endif
 
 
diff --git a/Sample/Pods/Target Support Files/Result/Result.xcconfig b/Sample/Pods/Target Support Files/Result/Result.xcconfig
index 071fa9a2..318aec24 100644
--- a/Sample/Pods/Target Support Files/Result/Result.xcconfig	
+++ b/Sample/Pods/Target Support Files/Result/Result.xcconfig	
@@ -5,6 +5,7 @@ OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
 PODS_BUILD_DIR = $BUILD_DIR
 PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
 PODS_ROOT = ${SRCROOT}
+PODS_TARGET_SRCROOT = ${PODS_ROOT}/Result
 PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
 SKIP_INSTALL = YES
 SWIFT_VERSION = 3.0
diff --git a/Sample/Pods/Target Support Files/RxSwift/Info.plist b/Sample/Pods/Target Support Files/RxSwift/Info.plist
index b0b461e3..90db36aa 100644
--- a/Sample/Pods/Target Support Files/RxSwift/Info.plist	
+++ b/Sample/Pods/Target Support Files/RxSwift/Info.plist	
@@ -15,7 +15,7 @@
   CFBundlePackageType
   FMWK
   CFBundleShortVersionString
-  3.0.1
+  3.1.0
   CFBundleSignature
   ????
   CFBundleVersion
diff --git a/Sample/Pods/Target Support Files/RxSwift/RxSwift-prefix.pch b/Sample/Pods/Target Support Files/RxSwift/RxSwift-prefix.pch
index aa992a4a..beb2a244 100644
--- a/Sample/Pods/Target Support Files/RxSwift/RxSwift-prefix.pch	
+++ b/Sample/Pods/Target Support Files/RxSwift/RxSwift-prefix.pch	
@@ -1,4 +1,12 @@
 #ifdef __OBJC__
 #import 
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
 #endif
 
diff --git a/Sample/Pods/Target Support Files/RxSwift/RxSwift-umbrella.h b/Sample/Pods/Target Support Files/RxSwift/RxSwift-umbrella.h
index 91c9282a..9a272119 100644
--- a/Sample/Pods/Target Support Files/RxSwift/RxSwift-umbrella.h	
+++ b/Sample/Pods/Target Support Files/RxSwift/RxSwift-umbrella.h	
@@ -1,5 +1,13 @@
 #ifdef __OBJC__
 #import 
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
 #endif
 
 
diff --git a/Sample/Pods/Target Support Files/RxSwift/RxSwift.xcconfig b/Sample/Pods/Target Support Files/RxSwift/RxSwift.xcconfig
index 3307fdc9..8b032edd 100644
--- a/Sample/Pods/Target Support Files/RxSwift/RxSwift.xcconfig	
+++ b/Sample/Pods/Target Support Files/RxSwift/RxSwift.xcconfig	
@@ -5,5 +5,6 @@ OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
 PODS_BUILD_DIR = $BUILD_DIR
 PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
 PODS_ROOT = ${SRCROOT}
+PODS_TARGET_SRCROOT = ${PODS_ROOT}/RxSwift
 PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
 SKIP_INSTALL = YES