0001    // This file is autogenerated. Take a look at `Preprocessor` target in RxSwift project 
0002    //
0003    //  Zip+arity.swift
0004    //  RxSwift
0005    //
0006    //  Created by Krunoslav Zaher on 5/23/15.
0007    //  Copyright © 2015 Krunoslav Zaher. All rights reserved.
0008    //
0009    
0010    import Foundation
0011    
0012    
0013    
0014    // 2
0015    
0016    extension Observable {
0017        /**
0018        Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
0019    
0020        - seealso: [zip operator on reactivex.io](http://reactivex.io/documentation/operators/zip.html)
0021    
0022        - parameter resultSelector: Function to invoke for each series of elements at corresponding indexes in the sources.
0023        - returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
0024        */
0025        @warn_unused_result(message="http://git.io/rxs.uo")
0026        public static func zip<O1: ObservableType, O2: ObservableType>
0027            (source1: O1, _ source2: O2, resultSelector: (O1.E, O2.E) throws -> E)
0028            -> Observable<E> {
0029            return Zip2(
0030                source1: source1.asObservable(), source2: source2.asObservable(),
0031                resultSelector: resultSelector
0032            )
0033        }
0034    }
0035    
0036    class ZipSink2_
Zip+arity.swift:99
        let sink = ZipSink2_(parent: self, observer: observer)
<E1
Zip+arity.swift:38
    typealias Parent = Zip2<E1, E2, R>
Zip+arity.swift:42
    var _values1: Queue<E1> = Queue(capacity: 2)
, E2
Zip+arity.swift:38
    typealias Parent = Zip2<E1, E2, R>
Zip+arity.swift:43
    var _values2: Queue<E2> = Queue(capacity: 2)
, O
Zip+arity.swift:36
class ZipSink2_<E1, E2, O: ObserverType> : ZipSink<O> {
Zip+arity.swift:37
    typealias R = O.E
Zip+arity.swift:45
    init(parent: Parent, observer: O) {
: ObserverType> : ZipSink<O> { 0037 typealias R
Zip+arity.swift:38
    typealias Parent = Zip2<E1, E2, R>
Zip+arity.swift:78
    override func getResult() throws -> R {
= O.E 0038 typealias Parent
Zip+arity.swift:40
    let _parent: Parent
Zip+arity.swift:45
    init(parent: Parent, observer: O) {
= Zip2<E1, E2, R> 0039 0040 let _parent
Zip+arity.swift:46
        _parent = parent
Zip+arity.swift:69
        subscription1.disposable = _parent.source1.subscribe(observer1)
Zip+arity.swift:70
        subscription2.disposable = _parent.source2.subscribe(observer2)
Zip+arity.swift:79
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!)
: Parent 0041 0042 var _values1
Zip+arity.swift:52
        case 0: return _values1.count > 0
Zip+arity.swift:66
        let observer1 = ZipObserver(lock: _lock, parent: self, index: 0, setNextValue: { self._values1.enqueue($0) }, this: subscription1)
Zip+arity.swift:79
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!)
: Queue<E1> = Queue(capacity: 2) 0043 var _values2
Zip+arity.swift:53
        case 1: return _values2.count > 0
Zip+arity.swift:67
        let observer2 = ZipObserver(lock: _lock, parent: self, index: 1, setNextValue: { self._values2.enqueue($0) }, this: subscription2)
Zip+arity.swift:79
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!)
: Queue<E2> = Queue(capacity: 2) 0044 0045 init
Zip+arity.swift:99
        let sink = ZipSink2_(parent: self, observer: observer)
(parent: Parent, observer: O) { 0046 _parent = parent 0047 super.init(arity: 2, observer: observer) 0048 } 0049 0050 override func hasElements(index: Int) -> Bool { 0051 switch (index) { 0052 case 0: return _values1.count > 0 0053 case 1: return _values2.count > 0 0054 0055 default: 0056 rxFatalError("Unhandled case (Function)") 0057 } 0058 0059 return false 0060 } 0061 0062 func run
Zip+arity.swift:100
        sink.disposable = sink.run()
() -> Disposable { 0063 let subscription1 = SingleAssignmentDisposable() 0064 let subscription2 = SingleAssignmentDisposable() 0065 0066 let observer1 = ZipObserver(lock: _lock, parent: self, index: 0, setNextValue: { self._values1.enqueue($0) }, this: subscription1) 0067 let observer2 = ZipObserver(lock: _lock, parent: self, index: 1, setNextValue: { self._values2.enqueue($0) }, this: subscription2) 0068 0069 subscription1.disposable = _parent.source1.subscribe(observer1) 0070 subscription2.disposable = _parent.source2.subscribe(observer2) 0071 0072 return CompositeDisposable(disposables: [ 0073 subscription1, 0074 subscription2 0075 ]) 0076 } 0077 0078 override func getResult() throws -> R { 0079 return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!) 0080 } 0081 } 0082 0083 class Zip2
Zip+arity.swift:29
        return Zip2(
Zip+arity.swift:38
    typealias Parent = Zip2<E1, E2, R>
<E1
Zip+arity.swift:84
    typealias ResultSelector = (E1, E2) throws -> R
Zip+arity.swift:86
    let source1: Observable<E1>
Zip+arity.swift:91
    init(source1: Observable<E1>, source2: Observable<E2>, resultSelector: ResultSelector) {
, E2
Zip+arity.swift:84
    typealias ResultSelector = (E1, E2) throws -> R
Zip+arity.swift:87
    let source2: Observable<E2>
Zip+arity.swift:91
    init(source1: Observable<E1>, source2: Observable<E2>, resultSelector: ResultSelector) {
, R
Zip+arity.swift:83
class Zip2<E1, E2, R> : Producer<R> {
Zip+arity.swift:84
    typealias ResultSelector = (E1, E2) throws -> R
Zip+arity.swift:98
    override func run<O: ObserverType where O.E == R>(observer: O) -> Disposable {
> : Producer<R> { 0084 typealias ResultSelector
Zip+arity.swift:89
    let _resultSelector: ResultSelector
Zip+arity.swift:91
    init(source1: Observable<E1>, source2: Observable<E2>, resultSelector: ResultSelector) {
= (E1, E2) throws -> R 0085 0086 let source1
Zip+arity.swift:69
        subscription1.disposable = _parent.source1.subscribe(observer1)
Zip+arity.swift:92
        self.source1 = source1
: Observable<E1> 0087 let source2
Zip+arity.swift:70
        subscription2.disposable = _parent.source2.subscribe(observer2)
Zip+arity.swift:93
        self.source2 = source2
: Observable<E2> 0088 0089 let _resultSelector
Zip+arity.swift:79
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!)
Zip+arity.swift:95
        _resultSelector = resultSelector
: ResultSelector 0090 0091 init
Zip+arity.swift:29
        return Zip2(
(source1: Observable<E1>, source2: Observable<E2>, resultSelector: ResultSelector) { 0092 self.source1 = source1 0093 self.source2 = source2 0094 0095 _resultSelector = resultSelector 0096 } 0097 0098 override func run<O: ObserverType where O.E == R>(observer: O) -> Disposable { 0099 let sink = ZipSink2_(parent: self, observer: observer) 0100 sink.disposable = sink.run() 0101 return sink 0102 } 0103 } 0104 0105 0106 0107 // 3 0108 0109 extension Observable { 0110 /** 0111 Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. 0112 0113 - seealso: [zip operator on reactivex.io](http://reactivex.io/documentation/operators/zip.html) 0114 0115 - parameter resultSelector: Function to invoke for each series of elements at corresponding indexes in the sources. 0116 - returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function. 0117 */ 0118 @warn_unused_result(message="http://git.io/rxs.uo") 0119 public static func zip<O1: ObservableType, O2: ObservableType, O3: ObservableType> 0120 (source1: O1, _ source2: O2, _ source3: O3, resultSelector: (O1.E, O2.E, O3.E) throws -> E) 0121 -> Observable<E> { 0122 return Zip3( 0123 source1: source1.asObservable(), source2: source2.asObservable(), source3: source3.asObservable(), 0124 resultSelector: resultSelector 0125 ) 0126 } 0127 } 0128 0129 class ZipSink3_
Zip+arity.swift:200
        let sink = ZipSink3_(parent: self, observer: observer)
<E1
Zip+arity.swift:131
    typealias Parent = Zip3<E1, E2, E3, R>
Zip+arity.swift:135
    var _values1: Queue<E1> = Queue(capacity: 2)
, E2
Zip+arity.swift:131
    typealias Parent = Zip3<E1, E2, E3, R>
Zip+arity.swift:136
    var _values2: Queue<E2> = Queue(capacity: 2)
, E3
Zip+arity.swift:131
    typealias Parent = Zip3<E1, E2, E3, R>
Zip+arity.swift:137
    var _values3: Queue<E3> = Queue(capacity: 2)
, O
Zip+arity.swift:129
class ZipSink3_<E1, E2, E3, O: ObserverType> : ZipSink<O> {
Zip+arity.swift:130
    typealias R = O.E
Zip+arity.swift:139
    init(parent: Parent, observer: O) {
: ObserverType> : ZipSink<O> { 0130 typealias R
Zip+arity.swift:131
    typealias Parent = Zip3<E1, E2, E3, R>
Zip+arity.swift:177
    override func getResult() throws -> R {
= O.E 0131 typealias Parent
Zip+arity.swift:133
    let _parent: Parent
Zip+arity.swift:139
    init(parent: Parent, observer: O) {
= Zip3<E1, E2, E3, R> 0132 0133 let _parent
Zip+arity.swift:140
        _parent = parent
Zip+arity.swift:166
        subscription1.disposable = _parent.source1.subscribe(observer1)
Zip+arity.swift:167
        subscription2.disposable = _parent.source2.subscribe(observer2)
Zip+arity.swift:168
        subscription3.disposable = _parent.source3.subscribe(observer3)
Zip+arity.swift:178
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!)
: Parent 0134 0135 var _values1
Zip+arity.swift:146
        case 0: return _values1.count > 0
Zip+arity.swift:162
        let observer1 = ZipObserver(lock: _lock, parent: self, index: 0, setNextValue: { self._values1.enqueue($0) }, this: subscription1)
Zip+arity.swift:178
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!)
: Queue<E1> = Queue(capacity: 2) 0136 var _values2
Zip+arity.swift:147
        case 1: return _values2.count > 0
Zip+arity.swift:163
        let observer2 = ZipObserver(lock: _lock, parent: self, index: 1, setNextValue: { self._values2.enqueue($0) }, this: subscription2)
Zip+arity.swift:178
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!)
: Queue<E2> = Queue(capacity: 2) 0137 var _values3
Zip+arity.swift:148
        case 2: return _values3.count > 0
Zip+arity.swift:164
        let observer3 = ZipObserver(lock: _lock, parent: self, index: 2, setNextValue: { self._values3.enqueue($0) }, this: subscription3)
Zip+arity.swift:178
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!)
: Queue<E3> = Queue(capacity: 2) 0138 0139 init
Zip+arity.swift:200
        let sink = ZipSink3_(parent: self, observer: observer)
(parent: Parent, observer: O) { 0140 _parent = parent 0141 super.init(arity: 3, observer: observer) 0142 } 0143 0144 override func hasElements(index: Int) -> Bool { 0145 switch (index) { 0146 case 0: return _values1.count > 0 0147 case 1: return _values2.count > 0 0148 case 2: return _values3.count > 0 0149 0150 default: 0151 rxFatalError("Unhandled case (Function)") 0152 } 0153 0154 return false 0155 } 0156 0157 func run
Zip+arity.swift:201
        sink.disposable = sink.run()
() -> Disposable { 0158 let subscription1 = SingleAssignmentDisposable() 0159 let subscription2 = SingleAssignmentDisposable() 0160 let subscription3 = SingleAssignmentDisposable() 0161 0162 let observer1 = ZipObserver(lock: _lock, parent: self, index: 0, setNextValue: { self._values1.enqueue($0) }, this: subscription1) 0163 let observer2 = ZipObserver(lock: _lock, parent: self, index: 1, setNextValue: { self._values2.enqueue($0) }, this: subscription2) 0164 let observer3 = ZipObserver(lock: _lock, parent: self, index: 2, setNextValue: { self._values3.enqueue($0) }, this: subscription3) 0165 0166 subscription1.disposable = _parent.source1.subscribe(observer1) 0167 subscription2.disposable = _parent.source2.subscribe(observer2) 0168 subscription3.disposable = _parent.source3.subscribe(observer3) 0169 0170 return CompositeDisposable(disposables: [ 0171 subscription1, 0172 subscription2, 0173 subscription3 0174 ]) 0175 } 0176 0177 override func getResult() throws -> R { 0178 return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!) 0179 } 0180 } 0181 0182 class Zip3
Zip+arity.swift:122
        return Zip3(
Zip+arity.swift:131
    typealias Parent = Zip3<E1, E2, E3, R>
<E1
Zip+arity.swift:183
    typealias ResultSelector = (E1, E2, E3) throws -> R
Zip+arity.swift:185
    let source1: Observable<E1>
Zip+arity.swift:191
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, resultSelector: ResultSelector) {
, E2
Zip+arity.swift:183
    typealias ResultSelector = (E1, E2, E3) throws -> R
Zip+arity.swift:186
    let source2: Observable<E2>
Zip+arity.swift:191
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, resultSelector: ResultSelector) {
, E3
Zip+arity.swift:183
    typealias ResultSelector = (E1, E2, E3) throws -> R
Zip+arity.swift:187
    let source3: Observable<E3>
Zip+arity.swift:191
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, resultSelector: ResultSelector) {
, R
Zip+arity.swift:182
class Zip3<E1, E2, E3, R> : Producer<R> {
Zip+arity.swift:183
    typealias ResultSelector = (E1, E2, E3) throws -> R
Zip+arity.swift:199
    override func run<O: ObserverType where O.E == R>(observer: O) -> Disposable {
> : Producer<R> { 0183 typealias ResultSelector
Zip+arity.swift:189
    let _resultSelector: ResultSelector
Zip+arity.swift:191
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, resultSelector: ResultSelector) {
= (E1, E2, E3) throws -> R 0184 0185 let source1
Zip+arity.swift:166
        subscription1.disposable = _parent.source1.subscribe(observer1)
Zip+arity.swift:192
        self.source1 = source1
: Observable<E1> 0186 let source2
Zip+arity.swift:167
        subscription2.disposable = _parent.source2.subscribe(observer2)
Zip+arity.swift:193
        self.source2 = source2
: Observable<E2> 0187 let source3
Zip+arity.swift:168
        subscription3.disposable = _parent.source3.subscribe(observer3)
Zip+arity.swift:194
        self.source3 = source3
: Observable<E3> 0188 0189 let _resultSelector
Zip+arity.swift:178
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!)
Zip+arity.swift:196
        _resultSelector = resultSelector
: ResultSelector 0190 0191 init
Zip+arity.swift:122
        return Zip3(
(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, resultSelector: ResultSelector) { 0192 self.source1 = source1 0193 self.source2 = source2 0194 self.source3 = source3 0195 0196 _resultSelector = resultSelector 0197 } 0198 0199 override func run<O: ObserverType where O.E == R>(observer: O) -> Disposable { 0200 let sink = ZipSink3_(parent: self, observer: observer) 0201 sink.disposable = sink.run() 0202 return sink 0203 } 0204 } 0205 0206 0207 0208 // 4 0209 0210 extension Observable { 0211 /** 0212 Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. 0213 0214 - seealso: [zip operator on reactivex.io](http://reactivex.io/documentation/operators/zip.html) 0215 0216 - parameter resultSelector: Function to invoke for each series of elements at corresponding indexes in the sources. 0217 - returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function. 0218 */ 0219 @warn_unused_result(message="http://git.io/rxs.uo") 0220 public static func zip<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType> 0221 (source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, resultSelector: (O1.E, O2.E, O3.E, O4.E) throws -> E) 0222 -> Observable<E> { 0223 return Zip4( 0224 source1: source1.asObservable(), source2: source2.asObservable(), source3: source3.asObservable(), source4: source4.asObservable(), 0225 resultSelector: resultSelector 0226 ) 0227 } 0228 } 0229 0230 class ZipSink4_
Zip+arity.swift:309
        let sink = ZipSink4_(parent: self, observer: observer)
<E1
Zip+arity.swift:232
    typealias Parent = Zip4<E1, E2, E3, E4, R>
Zip+arity.swift:236
    var _values1: Queue<E1> = Queue(capacity: 2)
, E2
Zip+arity.swift:232
    typealias Parent = Zip4<E1, E2, E3, E4, R>
Zip+arity.swift:237
    var _values2: Queue<E2> = Queue(capacity: 2)
, E3
Zip+arity.swift:232
    typealias Parent = Zip4<E1, E2, E3, E4, R>
Zip+arity.swift:238
    var _values3: Queue<E3> = Queue(capacity: 2)
, E4
Zip+arity.swift:232
    typealias Parent = Zip4<E1, E2, E3, E4, R>
Zip+arity.swift:239
    var _values4: Queue<E4> = Queue(capacity: 2)
, O
Zip+arity.swift:230
class ZipSink4_<E1, E2, E3, E4, O: ObserverType> : ZipSink<O> {
Zip+arity.swift:231
    typealias R = O.E
Zip+arity.swift:241
    init(parent: Parent, observer: O) {
: ObserverType> : ZipSink<O> { 0231 typealias R
Zip+arity.swift:232
    typealias Parent = Zip4<E1, E2, E3, E4, R>
Zip+arity.swift:284
    override func getResult() throws -> R {
= O.E 0232 typealias Parent
Zip+arity.swift:234
    let _parent: Parent
Zip+arity.swift:241
    init(parent: Parent, observer: O) {
= Zip4<E1, E2, E3, E4, R> 0233 0234 let _parent
Zip+arity.swift:242
        _parent = parent
Zip+arity.swift:271
        subscription1.disposable = _parent.source1.subscribe(observer1)
Zip+arity.swift:272
        subscription2.disposable = _parent.source2.subscribe(observer2)
Zip+arity.swift:273
        subscription3.disposable = _parent.source3.subscribe(observer3)
Zip+arity.swift:274
        subscription4.disposable = _parent.source4.subscribe(observer4)
Zip+arity.swift:285
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!)
: Parent 0235 0236 var _values1
Zip+arity.swift:248
        case 0: return _values1.count > 0
Zip+arity.swift:266
        let observer1 = ZipObserver(lock: _lock, parent: self, index: 0, setNextValue: { self._values1.enqueue($0) }, this: subscription1)
Zip+arity.swift:285
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!)
: Queue<E1> = Queue(capacity: 2) 0237 var _values2
Zip+arity.swift:249
        case 1: return _values2.count > 0
Zip+arity.swift:267
        let observer2 = ZipObserver(lock: _lock, parent: self, index: 1, setNextValue: { self._values2.enqueue($0) }, this: subscription2)
Zip+arity.swift:285
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!)
: Queue<E2> = Queue(capacity: 2) 0238 var _values3
Zip+arity.swift:250
        case 2: return _values3.count > 0
Zip+arity.swift:268
        let observer3 = ZipObserver(lock: _lock, parent: self, index: 2, setNextValue: { self._values3.enqueue($0) }, this: subscription3)
Zip+arity.swift:285
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!)
: Queue<E3> = Queue(capacity: 2) 0239 var _values4
Zip+arity.swift:251
        case 3: return _values4.count > 0
Zip+arity.swift:269
        let observer4 = ZipObserver(lock: _lock, parent: self, index: 3, setNextValue: { self._values4.enqueue($0) }, this: subscription4)
Zip+arity.swift:285
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!)
: Queue<E4> = Queue(capacity: 2) 0240 0241 init
Zip+arity.swift:309
        let sink = ZipSink4_(parent: self, observer: observer)
(parent: Parent, observer: O) { 0242 _parent = parent 0243 super.init(arity: 4, observer: observer) 0244 } 0245 0246 override func hasElements(index: Int) -> Bool { 0247 switch (index) { 0248 case 0: return _values1.count > 0 0249 case 1: return _values2.count > 0 0250 case 2: return _values3.count > 0 0251 case 3: return _values4.count > 0 0252 0253 default: 0254 rxFatalError("Unhandled case (Function)") 0255 } 0256 0257 return false 0258 } 0259 0260 func run
Zip+arity.swift:310
        sink.disposable = sink.run()
() -> Disposable { 0261 let subscription1 = SingleAssignmentDisposable() 0262 let subscription2 = SingleAssignmentDisposable() 0263 let subscription3 = SingleAssignmentDisposable() 0264 let subscription4 = SingleAssignmentDisposable() 0265 0266 let observer1 = ZipObserver(lock: _lock, parent: self, index: 0, setNextValue: { self._values1.enqueue($0) }, this: subscription1) 0267 let observer2 = ZipObserver(lock: _lock, parent: self, index: 1, setNextValue: { self._values2.enqueue($0) }, this: subscription2) 0268 let observer3 = ZipObserver(lock: _lock, parent: self, index: 2, setNextValue: { self._values3.enqueue($0) }, this: subscription3) 0269 let observer4 = ZipObserver(lock: _lock, parent: self, index: 3, setNextValue: { self._values4.enqueue($0) }, this: subscription4) 0270 0271 subscription1.disposable = _parent.source1.subscribe(observer1) 0272 subscription2.disposable = _parent.source2.subscribe(observer2) 0273 subscription3.disposable = _parent.source3.subscribe(observer3) 0274 subscription4.disposable = _parent.source4.subscribe(observer4) 0275 0276 return CompositeDisposable(disposables: [ 0277 subscription1, 0278 subscription2, 0279 subscription3, 0280 subscription4 0281 ]) 0282 } 0283 0284 override func getResult() throws -> R { 0285 return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!) 0286 } 0287 } 0288 0289 class Zip4
Zip+arity.swift:223
        return Zip4(
Zip+arity.swift:232
    typealias Parent = Zip4<E1, E2, E3, E4, R>
<E1
Zip+arity.swift:290
    typealias ResultSelector = (E1, E2, E3, E4) throws -> R
Zip+arity.swift:292
    let source1: Observable<E1>
Zip+arity.swift:299
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, resultSelector: ResultSelector) {
, E2
Zip+arity.swift:290
    typealias ResultSelector = (E1, E2, E3, E4) throws -> R
Zip+arity.swift:293
    let source2: Observable<E2>
Zip+arity.swift:299
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, resultSelector: ResultSelector) {
, E3
Zip+arity.swift:290
    typealias ResultSelector = (E1, E2, E3, E4) throws -> R
Zip+arity.swift:294
    let source3: Observable<E3>
Zip+arity.swift:299
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, resultSelector: ResultSelector) {
, E4
Zip+arity.swift:290
    typealias ResultSelector = (E1, E2, E3, E4) throws -> R
Zip+arity.swift:295
    let source4: Observable<E4>
Zip+arity.swift:299
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, resultSelector: ResultSelector) {
, R
Zip+arity.swift:289
class Zip4<E1, E2, E3, E4, R> : Producer<R> {
Zip+arity.swift:290
    typealias ResultSelector = (E1, E2, E3, E4) throws -> R
Zip+arity.swift:308
    override func run<O: ObserverType where O.E == R>(observer: O) -> Disposable {
> : Producer<R> { 0290 typealias ResultSelector
Zip+arity.swift:297
    let _resultSelector: ResultSelector
Zip+arity.swift:299
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, resultSelector: ResultSelector) {
= (E1, E2, E3, E4) throws -> R 0291 0292 let source1
Zip+arity.swift:271
        subscription1.disposable = _parent.source1.subscribe(observer1)
Zip+arity.swift:300
        self.source1 = source1
: Observable<E1> 0293 let source2
Zip+arity.swift:272
        subscription2.disposable = _parent.source2.subscribe(observer2)
Zip+arity.swift:301
        self.source2 = source2
: Observable<E2> 0294 let source3
Zip+arity.swift:273
        subscription3.disposable = _parent.source3.subscribe(observer3)
Zip+arity.swift:302
        self.source3 = source3
: Observable<E3> 0295 let source4
Zip+arity.swift:274
        subscription4.disposable = _parent.source4.subscribe(observer4)
Zip+arity.swift:303
        self.source4 = source4
: Observable<E4> 0296 0297 let _resultSelector
Zip+arity.swift:285
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!)
Zip+arity.swift:305
        _resultSelector = resultSelector
: ResultSelector 0298 0299 init
Zip+arity.swift:223
        return Zip4(
(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, resultSelector: ResultSelector) { 0300 self.source1 = source1 0301 self.source2 = source2 0302 self.source3 = source3 0303 self.source4 = source4 0304 0305 _resultSelector = resultSelector 0306 } 0307 0308 override func run<O: ObserverType where O.E == R>(observer: O) -> Disposable { 0309 let sink = ZipSink4_(parent: self, observer: observer) 0310 sink.disposable = sink.run() 0311 return sink 0312 } 0313 } 0314 0315 0316 0317 // 5 0318 0319 extension Observable { 0320 /** 0321 Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. 0322 0323 - seealso: [zip operator on reactivex.io](http://reactivex.io/documentation/operators/zip.html) 0324 0325 - parameter resultSelector: Function to invoke for each series of elements at corresponding indexes in the sources. 0326 - returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function. 0327 */ 0328 @warn_unused_result(message="http://git.io/rxs.uo") 0329 public static func zip<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType, O5: ObservableType> 0330 (source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E) throws -> E) 0331 -> Observable<E> { 0332 return Zip5( 0333 source1: source1.asObservable(), source2: source2.asObservable(), source3: source3.asObservable(), source4: source4.asObservable(), source5: source5.asObservable(), 0334 resultSelector: resultSelector 0335 ) 0336 } 0337 } 0338 0339 class ZipSink5_
Zip+arity.swift:426
        let sink = ZipSink5_(parent: self, observer: observer)
<E1
Zip+arity.swift:341
    typealias Parent = Zip5<E1, E2, E3, E4, E5, R>
Zip+arity.swift:345
    var _values1: Queue<E1> = Queue(capacity: 2)
, E2
Zip+arity.swift:341
    typealias Parent = Zip5<E1, E2, E3, E4, E5, R>
Zip+arity.swift:346
    var _values2: Queue<E2> = Queue(capacity: 2)
, E3
Zip+arity.swift:341
    typealias Parent = Zip5<E1, E2, E3, E4, E5, R>
Zip+arity.swift:347
    var _values3: Queue<E3> = Queue(capacity: 2)
, E4
Zip+arity.swift:341
    typealias Parent = Zip5<E1, E2, E3, E4, E5, R>
Zip+arity.swift:348
    var _values4: Queue<E4> = Queue(capacity: 2)
, E5
Zip+arity.swift:341
    typealias Parent = Zip5<E1, E2, E3, E4, E5, R>
Zip+arity.swift:349
    var _values5: Queue<E5> = Queue(capacity: 2)
, O
Zip+arity.swift:339
class ZipSink5_<E1, E2, E3, E4, E5, O: ObserverType> : ZipSink<O> {
Zip+arity.swift:340
    typealias R = O.E
Zip+arity.swift:351
    init(parent: Parent, observer: O) {
: ObserverType> : ZipSink<O> { 0340 typealias R
Zip+arity.swift:341
    typealias Parent = Zip5<E1, E2, E3, E4, E5, R>
Zip+arity.swift:399
    override func getResult() throws -> R {
= O.E 0341 typealias Parent
Zip+arity.swift:343
    let _parent: Parent
Zip+arity.swift:351
    init(parent: Parent, observer: O) {
= Zip5<E1, E2, E3, E4, E5, R> 0342 0343 let _parent
Zip+arity.swift:352
        _parent = parent
Zip+arity.swift:384
        subscription1.disposable = _parent.source1.subscribe(observer1)
Zip+arity.swift:385
        subscription2.disposable = _parent.source2.subscribe(observer2)
Zip+arity.swift:386
        subscription3.disposable = _parent.source3.subscribe(observer3)
Zip+arity.swift:387
        subscription4.disposable = _parent.source4.subscribe(observer4)
Zip+arity.swift:388
        subscription5.disposable = _parent.source5.subscribe(observer5)
Zip+arity.swift:400
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!)
: Parent 0344 0345 var _values1
Zip+arity.swift:358
        case 0: return _values1.count > 0
Zip+arity.swift:378
        let observer1 = ZipObserver(lock: _lock, parent: self, index: 0, setNextValue: { self._values1.enqueue($0) }, this: subscription1)
Zip+arity.swift:400
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!)
: Queue<E1> = Queue(capacity: 2) 0346 var _values2
Zip+arity.swift:359
        case 1: return _values2.count > 0
Zip+arity.swift:379
        let observer2 = ZipObserver(lock: _lock, parent: self, index: 1, setNextValue: { self._values2.enqueue($0) }, this: subscription2)
Zip+arity.swift:400
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!)
: Queue<E2> = Queue(capacity: 2) 0347 var _values3
Zip+arity.swift:360
        case 2: return _values3.count > 0
Zip+arity.swift:380
        let observer3 = ZipObserver(lock: _lock, parent: self, index: 2, setNextValue: { self._values3.enqueue($0) }, this: subscription3)
Zip+arity.swift:400
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!)
: Queue<E3> = Queue(capacity: 2) 0348 var _values4
Zip+arity.swift:361
        case 3: return _values4.count > 0
Zip+arity.swift:381
        let observer4 = ZipObserver(lock: _lock, parent: self, index: 3, setNextValue: { self._values4.enqueue($0) }, this: subscription4)
Zip+arity.swift:400
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!)
: Queue<E4> = Queue(capacity: 2) 0349 var _values5
Zip+arity.swift:362
        case 4: return _values5.count > 0
Zip+arity.swift:382
        let observer5 = ZipObserver(lock: _lock, parent: self, index: 4, setNextValue: { self._values5.enqueue($0) }, this: subscription5)
Zip+arity.swift:400
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!)
: Queue<E5> = Queue(capacity: 2) 0350 0351 init
Zip+arity.swift:426
        let sink = ZipSink5_(parent: self, observer: observer)
(parent: Parent, observer: O) { 0352 _parent = parent 0353 super.init(arity: 5, observer: observer) 0354 } 0355 0356 override func hasElements(index: Int) -> Bool { 0357 switch (index) { 0358 case 0: return _values1.count > 0 0359 case 1: return _values2.count > 0 0360 case 2: return _values3.count > 0 0361 case 3: return _values4.count > 0 0362 case 4: return _values5.count > 0 0363 0364 default: 0365 rxFatalError("Unhandled case (Function)") 0366 } 0367 0368 return false 0369 } 0370 0371 func run
Zip+arity.swift:427
        sink.disposable = sink.run()
() -> Disposable { 0372 let subscription1 = SingleAssignmentDisposable() 0373 let subscription2 = SingleAssignmentDisposable() 0374 let subscription3 = SingleAssignmentDisposable() 0375 let subscription4 = SingleAssignmentDisposable() 0376 let subscription5 = SingleAssignmentDisposable() 0377 0378 let observer1 = ZipObserver(lock: _lock, parent: self, index: 0, setNextValue: { self._values1.enqueue($0) }, this: subscription1) 0379 let observer2 = ZipObserver(lock: _lock, parent: self, index: 1, setNextValue: { self._values2.enqueue($0) }, this: subscription2) 0380 let observer3 = ZipObserver(lock: _lock, parent: self, index: 2, setNextValue: { self._values3.enqueue($0) }, this: subscription3) 0381 let observer4 = ZipObserver(lock: _lock, parent: self, index: 3, setNextValue: { self._values4.enqueue($0) }, this: subscription4) 0382 let observer5 = ZipObserver(lock: _lock, parent: self, index: 4, setNextValue: { self._values5.enqueue($0) }, this: subscription5) 0383 0384 subscription1.disposable = _parent.source1.subscribe(observer1) 0385 subscription2.disposable = _parent.source2.subscribe(observer2) 0386 subscription3.disposable = _parent.source3.subscribe(observer3) 0387 subscription4.disposable = _parent.source4.subscribe(observer4) 0388 subscription5.disposable = _parent.source5.subscribe(observer5) 0389 0390 return CompositeDisposable(disposables: [ 0391 subscription1, 0392 subscription2, 0393 subscription3, 0394 subscription4, 0395 subscription5 0396 ]) 0397 } 0398 0399 override func getResult() throws -> R { 0400 return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!) 0401 } 0402 } 0403 0404 class Zip5
Zip+arity.swift:332
        return Zip5(
Zip+arity.swift:341
    typealias Parent = Zip5<E1, E2, E3, E4, E5, R>
<E1
Zip+arity.swift:405
    typealias ResultSelector = (E1, E2, E3, E4, E5) throws -> R
Zip+arity.swift:407
    let source1: Observable<E1>
Zip+arity.swift:415
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, resultSelector: ResultSelector) {
, E2
Zip+arity.swift:405
    typealias ResultSelector = (E1, E2, E3, E4, E5) throws -> R
Zip+arity.swift:408
    let source2: Observable<E2>
Zip+arity.swift:415
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, resultSelector: ResultSelector) {
, E3
Zip+arity.swift:405
    typealias ResultSelector = (E1, E2, E3, E4, E5) throws -> R
Zip+arity.swift:409
    let source3: Observable<E3>
Zip+arity.swift:415
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, resultSelector: ResultSelector) {
, E4
Zip+arity.swift:405
    typealias ResultSelector = (E1, E2, E3, E4, E5) throws -> R
Zip+arity.swift:410
    let source4: Observable<E4>
Zip+arity.swift:415
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, resultSelector: ResultSelector) {
, E5
Zip+arity.swift:405
    typealias ResultSelector = (E1, E2, E3, E4, E5) throws -> R
Zip+arity.swift:411
    let source5: Observable<E5>
Zip+arity.swift:415
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, resultSelector: ResultSelector) {
, R
Zip+arity.swift:404
class Zip5<E1, E2, E3, E4, E5, R> : Producer<R> {
Zip+arity.swift:405
    typealias ResultSelector = (E1, E2, E3, E4, E5) throws -> R
Zip+arity.swift:425
    override func run<O: ObserverType where O.E == R>(observer: O) -> Disposable {
> : Producer<R> { 0405 typealias ResultSelector
Zip+arity.swift:413
    let _resultSelector: ResultSelector
Zip+arity.swift:415
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, resultSelector: ResultSelector) {
= (E1, E2, E3, E4, E5) throws -> R 0406 0407 let source1
Zip+arity.swift:384
        subscription1.disposable = _parent.source1.subscribe(observer1)
Zip+arity.swift:416
        self.source1 = source1
: Observable<E1> 0408 let source2
Zip+arity.swift:385
        subscription2.disposable = _parent.source2.subscribe(observer2)
Zip+arity.swift:417
        self.source2 = source2
: Observable<E2> 0409 let source3
Zip+arity.swift:386
        subscription3.disposable = _parent.source3.subscribe(observer3)
Zip+arity.swift:418
        self.source3 = source3
: Observable<E3> 0410 let source4
Zip+arity.swift:387
        subscription4.disposable = _parent.source4.subscribe(observer4)
Zip+arity.swift:419
        self.source4 = source4
: Observable<E4> 0411 let source5
Zip+arity.swift:388
        subscription5.disposable = _parent.source5.subscribe(observer5)
Zip+arity.swift:420
        self.source5 = source5
: Observable<E5> 0412 0413 let _resultSelector
Zip+arity.swift:400
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!)
Zip+arity.swift:422
        _resultSelector = resultSelector
: ResultSelector 0414 0415 init
Zip+arity.swift:332
        return Zip5(
(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, resultSelector: ResultSelector) { 0416 self.source1 = source1 0417 self.source2 = source2 0418 self.source3 = source3 0419 self.source4 = source4 0420 self.source5 = source5 0421 0422 _resultSelector = resultSelector 0423 } 0424 0425 override func run<O: ObserverType where O.E == R>(observer: O) -> Disposable { 0426 let sink = ZipSink5_(parent: self, observer: observer) 0427 sink.disposable = sink.run() 0428 return sink 0429 } 0430 } 0431 0432 0433 0434 // 6 0435 0436 extension Observable { 0437 /** 0438 Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. 0439 0440 - seealso: [zip operator on reactivex.io](http://reactivex.io/documentation/operators/zip.html) 0441 0442 - parameter resultSelector: Function to invoke for each series of elements at corresponding indexes in the sources. 0443 - returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function. 0444 */ 0445 @warn_unused_result(message="http://git.io/rxs.uo") 0446 public static func zip<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType, O5: ObservableType, O6: ObservableType> 0447 (source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E) throws -> E) 0448 -> Observable<E> { 0449 return Zip6( 0450 source1: source1.asObservable(), source2: source2.asObservable(), source3: source3.asObservable(), source4: source4.asObservable(), source5: source5.asObservable(), source6: source6.asObservable(), 0451 resultSelector: resultSelector 0452 ) 0453 } 0454 } 0455 0456 class ZipSink6_
Zip+arity.swift:551
        let sink = ZipSink6_(parent: self, observer: observer)
<E1
Zip+arity.swift:458
    typealias Parent = Zip6<E1, E2, E3, E4, E5, E6, R>
Zip+arity.swift:462
    var _values1: Queue<E1> = Queue(capacity: 2)
, E2
Zip+arity.swift:458
    typealias Parent = Zip6<E1, E2, E3, E4, E5, E6, R>
Zip+arity.swift:463
    var _values2: Queue<E2> = Queue(capacity: 2)
, E3
Zip+arity.swift:458
    typealias Parent = Zip6<E1, E2, E3, E4, E5, E6, R>
Zip+arity.swift:464
    var _values3: Queue<E3> = Queue(capacity: 2)
, E4
Zip+arity.swift:458
    typealias Parent = Zip6<E1, E2, E3, E4, E5, E6, R>
Zip+arity.swift:465
    var _values4: Queue<E4> = Queue(capacity: 2)
, E5
Zip+arity.swift:458
    typealias Parent = Zip6<E1, E2, E3, E4, E5, E6, R>
Zip+arity.swift:466
    var _values5: Queue<E5> = Queue(capacity: 2)
, E6
Zip+arity.swift:458
    typealias Parent = Zip6<E1, E2, E3, E4, E5, E6, R>
Zip+arity.swift:467
    var _values6: Queue<E6> = Queue(capacity: 2)
, O
Zip+arity.swift:456
class ZipSink6_<E1, E2, E3, E4, E5, E6, O: ObserverType> : ZipSink<O> {
Zip+arity.swift:457
    typealias R = O.E
Zip+arity.swift:469
    init(parent: Parent, observer: O) {
: ObserverType> : ZipSink<O> { 0457 typealias R
Zip+arity.swift:458
    typealias Parent = Zip6<E1, E2, E3, E4, E5, E6, R>
Zip+arity.swift:522
    override func getResult() throws -> R {
= O.E 0458 typealias Parent
Zip+arity.swift:460
    let _parent: Parent
Zip+arity.swift:469
    init(parent: Parent, observer: O) {
= Zip6<E1, E2, E3, E4, E5, E6, R> 0459 0460 let _parent
Zip+arity.swift:470
        _parent = parent
Zip+arity.swift:505
        subscription1.disposable = _parent.source1.subscribe(observer1)
Zip+arity.swift:506
        subscription2.disposable = _parent.source2.subscribe(observer2)
Zip+arity.swift:507
        subscription3.disposable = _parent.source3.subscribe(observer3)
Zip+arity.swift:508
        subscription4.disposable = _parent.source4.subscribe(observer4)
Zip+arity.swift:509
        subscription5.disposable = _parent.source5.subscribe(observer5)
Zip+arity.swift:510
        subscription6.disposable = _parent.source6.subscribe(observer6)
Zip+arity.swift:523
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!)
: Parent 0461 0462 var _values1
Zip+arity.swift:476
        case 0: return _values1.count > 0
Zip+arity.swift:498
        let observer1 = ZipObserver(lock: _lock, parent: self, index: 0, setNextValue: { self._values1.enqueue($0) }, this: subscription1)
Zip+arity.swift:523
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!)
: Queue<E1> = Queue(capacity: 2) 0463 var _values2
Zip+arity.swift:477
        case 1: return _values2.count > 0
Zip+arity.swift:499
        let observer2 = ZipObserver(lock: _lock, parent: self, index: 1, setNextValue: { self._values2.enqueue($0) }, this: subscription2)
Zip+arity.swift:523
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!)
: Queue<E2> = Queue(capacity: 2) 0464 var _values3
Zip+arity.swift:478
        case 2: return _values3.count > 0
Zip+arity.swift:500
        let observer3 = ZipObserver(lock: _lock, parent: self, index: 2, setNextValue: { self._values3.enqueue($0) }, this: subscription3)
Zip+arity.swift:523
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!)
: Queue<E3> = Queue(capacity: 2) 0465 var _values4
Zip+arity.swift:479
        case 3: return _values4.count > 0
Zip+arity.swift:501
        let observer4 = ZipObserver(lock: _lock, parent: self, index: 3, setNextValue: { self._values4.enqueue($0) }, this: subscription4)
Zip+arity.swift:523
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!)
: Queue<E4> = Queue(capacity: 2) 0466 var _values5
Zip+arity.swift:480
        case 4: return _values5.count > 0
Zip+arity.swift:502
        let observer5 = ZipObserver(lock: _lock, parent: self, index: 4, setNextValue: { self._values5.enqueue($0) }, this: subscription5)
Zip+arity.swift:523
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!)
: Queue<E5> = Queue(capacity: 2) 0467 var _values6
Zip+arity.swift:481
        case 5: return _values6.count > 0
Zip+arity.swift:503
        let observer6 = ZipObserver(lock: _lock, parent: self, index: 5, setNextValue: { self._values6.enqueue($0) }, this: subscription6)
Zip+arity.swift:523
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!)
: Queue<E6> = Queue(capacity: 2) 0468 0469 init
Zip+arity.swift:551
        let sink = ZipSink6_(parent: self, observer: observer)
(parent: Parent, observer: O) { 0470 _parent = parent 0471 super.init(arity: 6, observer: observer) 0472 } 0473 0474 override func hasElements(index: Int) -> Bool { 0475 switch (index) { 0476 case 0: return _values1.count > 0 0477 case 1: return _values2.count > 0 0478 case 2: return _values3.count > 0 0479 case 3: return _values4.count > 0 0480 case 4: return _values5.count > 0 0481 case 5: return _values6.count > 0 0482 0483 default: 0484 rxFatalError("Unhandled case (Function)") 0485 } 0486 0487 return false 0488 } 0489 0490 func run
Zip+arity.swift:552
        sink.disposable = sink.run()
() -> Disposable { 0491 let subscription1 = SingleAssignmentDisposable() 0492 let subscription2 = SingleAssignmentDisposable() 0493 let subscription3 = SingleAssignmentDisposable() 0494 let subscription4 = SingleAssignmentDisposable() 0495 let subscription5 = SingleAssignmentDisposable() 0496 let subscription6 = SingleAssignmentDisposable() 0497 0498 let observer1 = ZipObserver(lock: _lock, parent: self, index: 0, setNextValue: { self._values1.enqueue($0) }, this: subscription1) 0499 let observer2 = ZipObserver(lock: _lock, parent: self, index: 1, setNextValue: { self._values2.enqueue($0) }, this: subscription2) 0500 let observer3 = ZipObserver(lock: _lock, parent: self, index: 2, setNextValue: { self._values3.enqueue($0) }, this: subscription3) 0501 let observer4 = ZipObserver(lock: _lock, parent: self, index: 3, setNextValue: { self._values4.enqueue($0) }, this: subscription4) 0502 let observer5 = ZipObserver(lock: _lock, parent: self, index: 4, setNextValue: { self._values5.enqueue($0) }, this: subscription5) 0503 let observer6 = ZipObserver(lock: _lock, parent: self, index: 5, setNextValue: { self._values6.enqueue($0) }, this: subscription6) 0504 0505 subscription1.disposable = _parent.source1.subscribe(observer1) 0506 subscription2.disposable = _parent.source2.subscribe(observer2) 0507 subscription3.disposable = _parent.source3.subscribe(observer3) 0508 subscription4.disposable = _parent.source4.subscribe(observer4) 0509 subscription5.disposable = _parent.source5.subscribe(observer5) 0510 subscription6.disposable = _parent.source6.subscribe(observer6) 0511 0512 return CompositeDisposable(disposables: [ 0513 subscription1, 0514 subscription2, 0515 subscription3, 0516 subscription4, 0517 subscription5, 0518 subscription6 0519 ]) 0520 } 0521 0522 override func getResult() throws -> R { 0523 return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!) 0524 } 0525 } 0526 0527 class Zip6
Zip+arity.swift:449
        return Zip6(
Zip+arity.swift:458
    typealias Parent = Zip6<E1, E2, E3, E4, E5, E6, R>
<E1
Zip+arity.swift:528
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6) throws -> R
Zip+arity.swift:530
    let source1: Observable<E1>
Zip+arity.swift:539
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, resultSelector: ResultSelector) {
, E2
Zip+arity.swift:528
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6) throws -> R
Zip+arity.swift:531
    let source2: Observable<E2>
Zip+arity.swift:539
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, resultSelector: ResultSelector) {
, E3
Zip+arity.swift:528
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6) throws -> R
Zip+arity.swift:532
    let source3: Observable<E3>
Zip+arity.swift:539
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, resultSelector: ResultSelector) {
, E4
Zip+arity.swift:528
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6) throws -> R
Zip+arity.swift:533
    let source4: Observable<E4>
Zip+arity.swift:539
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, resultSelector: ResultSelector) {
, E5
Zip+arity.swift:528
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6) throws -> R
Zip+arity.swift:534
    let source5: Observable<E5>
Zip+arity.swift:539
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, resultSelector: ResultSelector) {
, E6
Zip+arity.swift:528
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6) throws -> R
Zip+arity.swift:535
    let source6: Observable<E6>
Zip+arity.swift:539
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, resultSelector: ResultSelector) {
, R
Zip+arity.swift:527
class Zip6<E1, E2, E3, E4, E5, E6, R> : Producer<R> {
Zip+arity.swift:528
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6) throws -> R
Zip+arity.swift:550
    override func run<O: ObserverType where O.E == R>(observer: O) -> Disposable {
> : Producer<R> { 0528 typealias ResultSelector
Zip+arity.swift:537
    let _resultSelector: ResultSelector
Zip+arity.swift:539
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, resultSelector: ResultSelector) {
= (E1, E2, E3, E4, E5, E6) throws -> R 0529 0530 let source1
Zip+arity.swift:505
        subscription1.disposable = _parent.source1.subscribe(observer1)
Zip+arity.swift:540
        self.source1 = source1
: Observable<E1> 0531 let source2
Zip+arity.swift:506
        subscription2.disposable = _parent.source2.subscribe(observer2)
Zip+arity.swift:541
        self.source2 = source2
: Observable<E2> 0532 let source3
Zip+arity.swift:507
        subscription3.disposable = _parent.source3.subscribe(observer3)
Zip+arity.swift:542
        self.source3 = source3
: Observable<E3> 0533 let source4
Zip+arity.swift:508
        subscription4.disposable = _parent.source4.subscribe(observer4)
Zip+arity.swift:543
        self.source4 = source4
: Observable<E4> 0534 let source5
Zip+arity.swift:509
        subscription5.disposable = _parent.source5.subscribe(observer5)
Zip+arity.swift:544
        self.source5 = source5
: Observable<E5> 0535 let source6
Zip+arity.swift:510
        subscription6.disposable = _parent.source6.subscribe(observer6)
Zip+arity.swift:545
        self.source6 = source6
: Observable<E6> 0536 0537 let _resultSelector
Zip+arity.swift:523
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!)
Zip+arity.swift:547
        _resultSelector = resultSelector
: ResultSelector 0538 0539 init
Zip+arity.swift:449
        return Zip6(
(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, resultSelector: ResultSelector) { 0540 self.source1 = source1 0541 self.source2 = source2 0542 self.source3 = source3 0543 self.source4 = source4 0544 self.source5 = source5 0545 self.source6 = source6 0546 0547 _resultSelector = resultSelector 0548 } 0549 0550 override func run<O: ObserverType where O.E == R>(observer: O) -> Disposable { 0551 let sink = ZipSink6_(parent: self, observer: observer) 0552 sink.disposable = sink.run() 0553 return sink 0554 } 0555 } 0556 0557 0558 0559 // 7 0560 0561 extension Observable { 0562 /** 0563 Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. 0564 0565 - seealso: [zip operator on reactivex.io](http://reactivex.io/documentation/operators/zip.html) 0566 0567 - parameter resultSelector: Function to invoke for each series of elements at corresponding indexes in the sources. 0568 - returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function. 0569 */ 0570 @warn_unused_result(message="http://git.io/rxs.uo") 0571 public static func zip<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType, O5: ObservableType, O6: ObservableType, O7: ObservableType> 0572 (source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, _ source7: O7, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E, O7.E) throws -> E) 0573 -> Observable<E> { 0574 return Zip7( 0575 source1: source1.asObservable(), source2: source2.asObservable(), source3: source3.asObservable(), source4: source4.asObservable(), source5: source5.asObservable(), source6: source6.asObservable(), source7: source7.asObservable(), 0576 resultSelector: resultSelector 0577 ) 0578 } 0579 } 0580 0581 class ZipSink7_
Zip+arity.swift:684
        let sink = ZipSink7_(parent: self, observer: observer)
<E1
Zip+arity.swift:583
    typealias Parent = Zip7<E1, E2, E3, E4, E5, E6, E7, R>
Zip+arity.swift:587
    var _values1: Queue<E1> = Queue(capacity: 2)
, E2
Zip+arity.swift:583
    typealias Parent = Zip7<E1, E2, E3, E4, E5, E6, E7, R>
Zip+arity.swift:588
    var _values2: Queue<E2> = Queue(capacity: 2)
, E3
Zip+arity.swift:583
    typealias Parent = Zip7<E1, E2, E3, E4, E5, E6, E7, R>
Zip+arity.swift:589
    var _values3: Queue<E3> = Queue(capacity: 2)
, E4
Zip+arity.swift:583
    typealias Parent = Zip7<E1, E2, E3, E4, E5, E6, E7, R>
Zip+arity.swift:590
    var _values4: Queue<E4> = Queue(capacity: 2)
, E5
Zip+arity.swift:583
    typealias Parent = Zip7<E1, E2, E3, E4, E5, E6, E7, R>
Zip+arity.swift:591
    var _values5: Queue<E5> = Queue(capacity: 2)
, E6
Zip+arity.swift:583
    typealias Parent = Zip7<E1, E2, E3, E4, E5, E6, E7, R>
Zip+arity.swift:592
    var _values6: Queue<E6> = Queue(capacity: 2)
, E7
Zip+arity.swift:583
    typealias Parent = Zip7<E1, E2, E3, E4, E5, E6, E7, R>
Zip+arity.swift:593
    var _values7: Queue<E7> = Queue(capacity: 2)
, O
Zip+arity.swift:581
class ZipSink7_<E1, E2, E3, E4, E5, E6, E7, O: ObserverType> : ZipSink<O> {
Zip+arity.swift:582
    typealias R = O.E
Zip+arity.swift:595
    init(parent: Parent, observer: O) {
: ObserverType> : ZipSink<O> { 0582 typealias R
Zip+arity.swift:583
    typealias Parent = Zip7<E1, E2, E3, E4, E5, E6, E7, R>
Zip+arity.swift:653
    override func getResult() throws -> R {
= O.E 0583 typealias Parent
Zip+arity.swift:585
    let _parent: Parent
Zip+arity.swift:595
    init(parent: Parent, observer: O) {
= Zip7<E1, E2, E3, E4, E5, E6, E7, R> 0584 0585 let _parent
Zip+arity.swift:596
        _parent = parent
Zip+arity.swift:634
        subscription1.disposable = _parent.source1.subscribe(observer1)
Zip+arity.swift:635
        subscription2.disposable = _parent.source2.subscribe(observer2)
Zip+arity.swift:636
        subscription3.disposable = _parent.source3.subscribe(observer3)
Zip+arity.swift:637
        subscription4.disposable = _parent.source4.subscribe(observer4)
Zip+arity.swift:638
        subscription5.disposable = _parent.source5.subscribe(observer5)
Zip+arity.swift:639
        subscription6.disposable = _parent.source6.subscribe(observer6)
Zip+arity.swift:640
        subscription7.disposable = _parent.source7.subscribe(observer7)
Zip+arity.swift:654
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!)
: Parent 0586 0587 var _values1
Zip+arity.swift:602
        case 0: return _values1.count > 0
Zip+arity.swift:626
        let observer1 = ZipObserver(lock: _lock, parent: self, index: 0, setNextValue: { self._values1.enqueue($0) }, this: subscription1)
Zip+arity.swift:654
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!)
: Queue<E1> = Queue(capacity: 2) 0588 var _values2
Zip+arity.swift:603
        case 1: return _values2.count > 0
Zip+arity.swift:627
        let observer2 = ZipObserver(lock: _lock, parent: self, index: 1, setNextValue: { self._values2.enqueue($0) }, this: subscription2)
Zip+arity.swift:654
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!)
: Queue<E2> = Queue(capacity: 2) 0589 var _values3
Zip+arity.swift:604
        case 2: return _values3.count > 0
Zip+arity.swift:628
        let observer3 = ZipObserver(lock: _lock, parent: self, index: 2, setNextValue: { self._values3.enqueue($0) }, this: subscription3)
Zip+arity.swift:654
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!)
: Queue<E3> = Queue(capacity: 2) 0590 var _values4
Zip+arity.swift:605
        case 3: return _values4.count > 0
Zip+arity.swift:629
        let observer4 = ZipObserver(lock: _lock, parent: self, index: 3, setNextValue: { self._values4.enqueue($0) }, this: subscription4)
Zip+arity.swift:654
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!)
: Queue<E4> = Queue(capacity: 2) 0591 var _values5
Zip+arity.swift:606
        case 4: return _values5.count > 0
Zip+arity.swift:630
        let observer5 = ZipObserver(lock: _lock, parent: self, index: 4, setNextValue: { self._values5.enqueue($0) }, this: subscription5)
Zip+arity.swift:654
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!)
: Queue<E5> = Queue(capacity: 2) 0592 var _values6
Zip+arity.swift:607
        case 5: return _values6.count > 0
Zip+arity.swift:631
        let observer6 = ZipObserver(lock: _lock, parent: self, index: 5, setNextValue: { self._values6.enqueue($0) }, this: subscription6)
Zip+arity.swift:654
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!)
: Queue<E6> = Queue(capacity: 2) 0593 var _values7
Zip+arity.swift:608
        case 6: return _values7.count > 0
Zip+arity.swift:632
        let observer7 = ZipObserver(lock: _lock, parent: self, index: 6, setNextValue: { self._values7.enqueue($0) }, this: subscription7)
Zip+arity.swift:654
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!)
: Queue<E7> = Queue(capacity: 2) 0594 0595 init
Zip+arity.swift:684
        let sink = ZipSink7_(parent: self, observer: observer)
(parent: Parent, observer: O) { 0596 _parent = parent 0597 super.init(arity: 7, observer: observer) 0598 } 0599 0600 override func hasElements(index: Int) -> Bool { 0601 switch (index) { 0602 case 0: return _values1.count > 0 0603 case 1: return _values2.count > 0 0604 case 2: return _values3.count > 0 0605 case 3: return _values4.count > 0 0606 case 4: return _values5.count > 0 0607 case 5: return _values6.count > 0 0608 case 6: return _values7.count > 0 0609 0610 default: 0611 rxFatalError("Unhandled case (Function)") 0612 } 0613 0614 return false 0615 } 0616 0617 func run
Zip+arity.swift:685
        sink.disposable = sink.run()
() -> Disposable { 0618 let subscription1 = SingleAssignmentDisposable() 0619 let subscription2 = SingleAssignmentDisposable() 0620 let subscription3 = SingleAssignmentDisposable() 0621 let subscription4 = SingleAssignmentDisposable() 0622 let subscription5 = SingleAssignmentDisposable() 0623 let subscription6 = SingleAssignmentDisposable() 0624 let subscription7 = SingleAssignmentDisposable() 0625 0626 let observer1 = ZipObserver(lock: _lock, parent: self, index: 0, setNextValue: { self._values1.enqueue($0) }, this: subscription1) 0627 let observer2 = ZipObserver(lock: _lock, parent: self, index: 1, setNextValue: { self._values2.enqueue($0) }, this: subscription2) 0628 let observer3 = ZipObserver(lock: _lock, parent: self, index: 2, setNextValue: { self._values3.enqueue($0) }, this: subscription3) 0629 let observer4 = ZipObserver(lock: _lock, parent: self, index: 3, setNextValue: { self._values4.enqueue($0) }, this: subscription4) 0630 let observer5 = ZipObserver(lock: _lock, parent: self, index: 4, setNextValue: { self._values5.enqueue($0) }, this: subscription5) 0631 let observer6 = ZipObserver(lock: _lock, parent: self, index: 5, setNextValue: { self._values6.enqueue($0) }, this: subscription6) 0632 let observer7 = ZipObserver(lock: _lock, parent: self, index: 6, setNextValue: { self._values7.enqueue($0) }, this: subscription7) 0633 0634 subscription1.disposable = _parent.source1.subscribe(observer1) 0635 subscription2.disposable = _parent.source2.subscribe(observer2) 0636 subscription3.disposable = _parent.source3.subscribe(observer3) 0637 subscription4.disposable = _parent.source4.subscribe(observer4) 0638 subscription5.disposable = _parent.source5.subscribe(observer5) 0639 subscription6.disposable = _parent.source6.subscribe(observer6) 0640 subscription7.disposable = _parent.source7.subscribe(observer7) 0641 0642 return CompositeDisposable(disposables: [ 0643 subscription1, 0644 subscription2, 0645 subscription3, 0646 subscription4, 0647 subscription5, 0648 subscription6, 0649 subscription7 0650 ]) 0651 } 0652 0653 override func getResult() throws -> R { 0654 return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!) 0655 } 0656 } 0657 0658 class Zip7
Zip+arity.swift:574
        return Zip7(
Zip+arity.swift:583
    typealias Parent = Zip7<E1, E2, E3, E4, E5, E6, E7, R>
<E1
Zip+arity.swift:659
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7) throws -> R
Zip+arity.swift:661
    let source1: Observable<E1>
Zip+arity.swift:671
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, resultSelector: ResultSelector) {
, E2
Zip+arity.swift:659
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7) throws -> R
Zip+arity.swift:662
    let source2: Observable<E2>
Zip+arity.swift:671
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, resultSelector: ResultSelector) {
, E3
Zip+arity.swift:659
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7) throws -> R
Zip+arity.swift:663
    let source3: Observable<E3>
Zip+arity.swift:671
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, resultSelector: ResultSelector) {
, E4
Zip+arity.swift:659
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7) throws -> R
Zip+arity.swift:664
    let source4: Observable<E4>
Zip+arity.swift:671
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, resultSelector: ResultSelector) {
, E5
Zip+arity.swift:659
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7) throws -> R
Zip+arity.swift:665
    let source5: Observable<E5>
Zip+arity.swift:671
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, resultSelector: ResultSelector) {
, E6
Zip+arity.swift:659
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7) throws -> R
Zip+arity.swift:666
    let source6: Observable<E6>
Zip+arity.swift:671
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, resultSelector: ResultSelector) {
, E7
Zip+arity.swift:659
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7) throws -> R
Zip+arity.swift:667
    let source7: Observable<E7>
Zip+arity.swift:671
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, resultSelector: ResultSelector) {
, R
Zip+arity.swift:658
class Zip7<E1, E2, E3, E4, E5, E6, E7, R> : Producer<R> {
Zip+arity.swift:659
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7) throws -> R
Zip+arity.swift:683
    override func run<O: ObserverType where O.E == R>(observer: O) -> Disposable {
> : Producer<R> { 0659 typealias ResultSelector
Zip+arity.swift:669
    let _resultSelector: ResultSelector
Zip+arity.swift:671
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, resultSelector: ResultSelector) {
= (E1, E2, E3, E4, E5, E6, E7) throws -> R 0660 0661 let source1
Zip+arity.swift:634
        subscription1.disposable = _parent.source1.subscribe(observer1)
Zip+arity.swift:672
        self.source1 = source1
: Observable<E1> 0662 let source2
Zip+arity.swift:635
        subscription2.disposable = _parent.source2.subscribe(observer2)
Zip+arity.swift:673
        self.source2 = source2
: Observable<E2> 0663 let source3
Zip+arity.swift:636
        subscription3.disposable = _parent.source3.subscribe(observer3)
Zip+arity.swift:674
        self.source3 = source3
: Observable<E3> 0664 let source4
Zip+arity.swift:637
        subscription4.disposable = _parent.source4.subscribe(observer4)
Zip+arity.swift:675
        self.source4 = source4
: Observable<E4> 0665 let source5
Zip+arity.swift:638
        subscription5.disposable = _parent.source5.subscribe(observer5)
Zip+arity.swift:676
        self.source5 = source5
: Observable<E5> 0666 let source6
Zip+arity.swift:639
        subscription6.disposable = _parent.source6.subscribe(observer6)
Zip+arity.swift:677
        self.source6 = source6
: Observable<E6> 0667 let source7
Zip+arity.swift:640
        subscription7.disposable = _parent.source7.subscribe(observer7)
Zip+arity.swift:678
        self.source7 = source7
: Observable<E7> 0668 0669 let _resultSelector
Zip+arity.swift:654
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!)
Zip+arity.swift:680
        _resultSelector = resultSelector
: ResultSelector 0670 0671 init
Zip+arity.swift:574
        return Zip7(
(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, resultSelector: ResultSelector) { 0672 self.source1 = source1 0673 self.source2 = source2 0674 self.source3 = source3 0675 self.source4 = source4 0676 self.source5 = source5 0677 self.source6 = source6 0678 self.source7 = source7 0679 0680 _resultSelector = resultSelector 0681 } 0682 0683 override func run<O: ObserverType where O.E == R>(observer: O) -> Disposable { 0684 let sink = ZipSink7_(parent: self, observer: observer) 0685 sink.disposable = sink.run() 0686 return sink 0687 } 0688 } 0689 0690 0691 0692 // 8 0693 0694 extension Observable { 0695 /** 0696 Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. 0697 0698 - seealso: [zip operator on reactivex.io](http://reactivex.io/documentation/operators/zip.html) 0699 0700 - parameter resultSelector: Function to invoke for each series of elements at corresponding indexes in the sources. 0701 - returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function. 0702 */ 0703 @warn_unused_result(message="http://git.io/rxs.uo") 0704 public static func zip<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType, O5: ObservableType, O6: ObservableType, O7: ObservableType, O8: ObservableType> 0705 (source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, _ source7: O7, _ source8: O8, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E, O7.E, O8.E) throws -> E) 0706 -> Observable<E> { 0707 return Zip8( 0708 source1: source1.asObservable(), source2: source2.asObservable(), source3: source3.asObservable(), source4: source4.asObservable(), source5: source5.asObservable(), source6: source6.asObservable(), source7: source7.asObservable(), source8: source8.asObservable(), 0709 resultSelector: resultSelector 0710 ) 0711 } 0712 } 0713 0714 class ZipSink8_
Zip+arity.swift:825
        let sink = ZipSink8_(parent: self, observer: observer)
<E1
Zip+arity.swift:716
    typealias Parent = Zip8<E1, E2, E3, E4, E5, E6, E7, E8, R>
Zip+arity.swift:720
    var _values1: Queue<E1> = Queue(capacity: 2)
, E2
Zip+arity.swift:716
    typealias Parent = Zip8<E1, E2, E3, E4, E5, E6, E7, E8, R>
Zip+arity.swift:721
    var _values2: Queue<E2> = Queue(capacity: 2)
, E3
Zip+arity.swift:716
    typealias Parent = Zip8<E1, E2, E3, E4, E5, E6, E7, E8, R>
Zip+arity.swift:722
    var _values3: Queue<E3> = Queue(capacity: 2)
, E4
Zip+arity.swift:716
    typealias Parent = Zip8<E1, E2, E3, E4, E5, E6, E7, E8, R>
Zip+arity.swift:723
    var _values4: Queue<E4> = Queue(capacity: 2)
, E5
Zip+arity.swift:716
    typealias Parent = Zip8<E1, E2, E3, E4, E5, E6, E7, E8, R>
Zip+arity.swift:724
    var _values5: Queue<E5> = Queue(capacity: 2)
, E6
Zip+arity.swift:716
    typealias Parent = Zip8<E1, E2, E3, E4, E5, E6, E7, E8, R>
Zip+arity.swift:725
    var _values6: Queue<E6> = Queue(capacity: 2)
, E7
Zip+arity.swift:716
    typealias Parent = Zip8<E1, E2, E3, E4, E5, E6, E7, E8, R>
Zip+arity.swift:726
    var _values7: Queue<E7> = Queue(capacity: 2)
, E8
Zip+arity.swift:716
    typealias Parent = Zip8<E1, E2, E3, E4, E5, E6, E7, E8, R>
Zip+arity.swift:727
    var _values8: Queue<E8> = Queue(capacity: 2)
, O
Zip+arity.swift:714
class ZipSink8_<E1, E2, E3, E4, E5, E6, E7, E8, O: ObserverType> : ZipSink<O> {
Zip+arity.swift:715
    typealias R = O.E
Zip+arity.swift:729
    init(parent: Parent, observer: O) {
: ObserverType> : ZipSink<O> { 0715 typealias R
Zip+arity.swift:716
    typealias Parent = Zip8<E1, E2, E3, E4, E5, E6, E7, E8, R>
Zip+arity.swift:792
    override func getResult() throws -> R {
= O.E 0716 typealias Parent
Zip+arity.swift:718
    let _parent: Parent
Zip+arity.swift:729
    init(parent: Parent, observer: O) {
= Zip8<E1, E2, E3, E4, E5, E6, E7, E8, R> 0717 0718 let _parent
Zip+arity.swift:730
        _parent = parent
Zip+arity.swift:771
        subscription1.disposable = _parent.source1.subscribe(observer1)
Zip+arity.swift:772
        subscription2.disposable = _parent.source2.subscribe(observer2)
Zip+arity.swift:773
        subscription3.disposable = _parent.source3.subscribe(observer3)
Zip+arity.swift:774
        subscription4.disposable = _parent.source4.subscribe(observer4)
Zip+arity.swift:775
        subscription5.disposable = _parent.source5.subscribe(observer5)
Zip+arity.swift:776
        subscription6.disposable = _parent.source6.subscribe(observer6)
Zip+arity.swift:777
        subscription7.disposable = _parent.source7.subscribe(observer7)
Zip+arity.swift:778
        subscription8.disposable = _parent.source8.subscribe(observer8)
Zip+arity.swift:793
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!, _values8.dequeue()!)
: Parent 0719 0720 var _values1
Zip+arity.swift:736
        case 0: return _values1.count > 0
Zip+arity.swift:762
        let observer1 = ZipObserver(lock: _lock, parent: self, index: 0, setNextValue: { self._values1.enqueue($0) }, this: subscription1)
Zip+arity.swift:793
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!, _values8.dequeue()!)
: Queue<E1> = Queue(capacity: 2) 0721 var _values2
Zip+arity.swift:737
        case 1: return _values2.count > 0
Zip+arity.swift:763
        let observer2 = ZipObserver(lock: _lock, parent: self, index: 1, setNextValue: { self._values2.enqueue($0) }, this: subscription2)
Zip+arity.swift:793
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!, _values8.dequeue()!)
: Queue<E2> = Queue(capacity: 2) 0722 var _values3
Zip+arity.swift:738
        case 2: return _values3.count > 0
Zip+arity.swift:764
        let observer3 = ZipObserver(lock: _lock, parent: self, index: 2, setNextValue: { self._values3.enqueue($0) }, this: subscription3)
Zip+arity.swift:793
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!, _values8.dequeue()!)
: Queue<E3> = Queue(capacity: 2) 0723 var _values4
Zip+arity.swift:739
        case 3: return _values4.count > 0
Zip+arity.swift:765
        let observer4 = ZipObserver(lock: _lock, parent: self, index: 3, setNextValue: { self._values4.enqueue($0) }, this: subscription4)
Zip+arity.swift:793
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!, _values8.dequeue()!)
: Queue<E4> = Queue(capacity: 2) 0724 var _values5
Zip+arity.swift:740
        case 4: return _values5.count > 0
Zip+arity.swift:766
        let observer5 = ZipObserver(lock: _lock, parent: self, index: 4, setNextValue: { self._values5.enqueue($0) }, this: subscription5)
Zip+arity.swift:793
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!, _values8.dequeue()!)
: Queue<E5> = Queue(capacity: 2) 0725 var _values6
Zip+arity.swift:741
        case 5: return _values6.count > 0
Zip+arity.swift:767
        let observer6 = ZipObserver(lock: _lock, parent: self, index: 5, setNextValue: { self._values6.enqueue($0) }, this: subscription6)
Zip+arity.swift:793
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!, _values8.dequeue()!)
: Queue<E6> = Queue(capacity: 2) 0726 var _values7
Zip+arity.swift:742
        case 6: return _values7.count > 0
Zip+arity.swift:768
        let observer7 = ZipObserver(lock: _lock, parent: self, index: 6, setNextValue: { self._values7.enqueue($0) }, this: subscription7)
Zip+arity.swift:793
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!, _values8.dequeue()!)
: Queue<E7> = Queue(capacity: 2) 0727 var _values8
Zip+arity.swift:743
        case 7: return _values8.count > 0
Zip+arity.swift:769
        let observer8 = ZipObserver(lock: _lock, parent: self, index: 7, setNextValue: { self._values8.enqueue($0) }, this: subscription8)
Zip+arity.swift:793
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!, _values8.dequeue()!)
: Queue<E8> = Queue(capacity: 2) 0728 0729 init
Zip+arity.swift:825
        let sink = ZipSink8_(parent: self, observer: observer)
(parent: Parent, observer: O) { 0730 _parent = parent 0731 super.init(arity: 8, observer: observer) 0732 } 0733 0734 override func hasElements(index: Int) -> Bool { 0735 switch (index) { 0736 case 0: return _values1.count > 0 0737 case 1: return _values2.count > 0 0738 case 2: return _values3.count > 0 0739 case 3: return _values4.count > 0 0740 case 4: return _values5.count > 0 0741 case 5: return _values6.count > 0 0742 case 6: return _values7.count > 0 0743 case 7: return _values8.count > 0 0744 0745 default: 0746 rxFatalError("Unhandled case (Function)") 0747 } 0748 0749 return false 0750 } 0751 0752 func run
Zip+arity.swift:826
        sink.disposable = sink.run()
() -> Disposable { 0753 let subscription1 = SingleAssignmentDisposable() 0754 let subscription2 = SingleAssignmentDisposable() 0755 let subscription3 = SingleAssignmentDisposable() 0756 let subscription4 = SingleAssignmentDisposable() 0757 let subscription5 = SingleAssignmentDisposable() 0758 let subscription6 = SingleAssignmentDisposable() 0759 let subscription7 = SingleAssignmentDisposable() 0760 let subscription8 = SingleAssignmentDisposable() 0761 0762 let observer1 = ZipObserver(lock: _lock, parent: self, index: 0, setNextValue: { self._values1.enqueue($0) }, this: subscription1) 0763 let observer2 = ZipObserver(lock: _lock, parent: self, index: 1, setNextValue: { self._values2.enqueue($0) }, this: subscription2) 0764 let observer3 = ZipObserver(lock: _lock, parent: self, index: 2, setNextValue: { self._values3.enqueue($0) }, this: subscription3) 0765 let observer4 = ZipObserver(lock: _lock, parent: self, index: 3, setNextValue: { self._values4.enqueue($0) }, this: subscription4) 0766 let observer5 = ZipObserver(lock: _lock, parent: self, index: 4, setNextValue: { self._values5.enqueue($0) }, this: subscription5) 0767 let observer6 = ZipObserver(lock: _lock, parent: self, index: 5, setNextValue: { self._values6.enqueue($0) }, this: subscription6) 0768 let observer7 = ZipObserver(lock: _lock, parent: self, index: 6, setNextValue: { self._values7.enqueue($0) }, this: subscription7) 0769 let observer8 = ZipObserver(lock: _lock, parent: self, index: 7, setNextValue: { self._values8.enqueue($0) }, this: subscription8) 0770 0771 subscription1.disposable = _parent.source1.subscribe(observer1) 0772 subscription2.disposable = _parent.source2.subscribe(observer2) 0773 subscription3.disposable = _parent.source3.subscribe(observer3) 0774 subscription4.disposable = _parent.source4.subscribe(observer4) 0775 subscription5.disposable = _parent.source5.subscribe(observer5) 0776 subscription6.disposable = _parent.source6.subscribe(observer6) 0777 subscription7.disposable = _parent.source7.subscribe(observer7) 0778 subscription8.disposable = _parent.source8.subscribe(observer8) 0779 0780 return CompositeDisposable(disposables: [ 0781 subscription1, 0782 subscription2, 0783 subscription3, 0784 subscription4, 0785 subscription5, 0786 subscription6, 0787 subscription7, 0788 subscription8 0789 ]) 0790 } 0791 0792 override func getResult() throws -> R { 0793 return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!, _values8.dequeue()!) 0794 } 0795 } 0796 0797 class Zip8
Zip+arity.swift:707
        return Zip8(
Zip+arity.swift:716
    typealias Parent = Zip8<E1, E2, E3, E4, E5, E6, E7, E8, R>
<E1
Zip+arity.swift:798
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7, E8) throws -> R
Zip+arity.swift:800
    let source1: Observable<E1>
Zip+arity.swift:811
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, source8: Observable<E8>, resultSelector: ResultSelector) {
, E2
Zip+arity.swift:798
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7, E8) throws -> R
Zip+arity.swift:801
    let source2: Observable<E2>
Zip+arity.swift:811
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, source8: Observable<E8>, resultSelector: ResultSelector) {
, E3
Zip+arity.swift:798
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7, E8) throws -> R
Zip+arity.swift:802
    let source3: Observable<E3>
Zip+arity.swift:811
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, source8: Observable<E8>, resultSelector: ResultSelector) {
, E4
Zip+arity.swift:798
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7, E8) throws -> R
Zip+arity.swift:803
    let source4: Observable<E4>
Zip+arity.swift:811
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, source8: Observable<E8>, resultSelector: ResultSelector) {
, E5
Zip+arity.swift:798
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7, E8) throws -> R
Zip+arity.swift:804
    let source5: Observable<E5>
Zip+arity.swift:811
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, source8: Observable<E8>, resultSelector: ResultSelector) {
, E6
Zip+arity.swift:798
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7, E8) throws -> R
Zip+arity.swift:805
    let source6: Observable<E6>
Zip+arity.swift:811
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, source8: Observable<E8>, resultSelector: ResultSelector) {
, E7
Zip+arity.swift:798
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7, E8) throws -> R
Zip+arity.swift:806
    let source7: Observable<E7>
Zip+arity.swift:811
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, source8: Observable<E8>, resultSelector: ResultSelector) {
, E8
Zip+arity.swift:798
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7, E8) throws -> R
Zip+arity.swift:807
    let source8: Observable<E8>
Zip+arity.swift:811
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, source8: Observable<E8>, resultSelector: ResultSelector) {
, R
Zip+arity.swift:797
class Zip8<E1, E2, E3, E4, E5, E6, E7, E8, R> : Producer<R> {
Zip+arity.swift:798
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7, E8) throws -> R
Zip+arity.swift:824
    override func run<O: ObserverType where O.E == R>(observer: O) -> Disposable {
> : Producer<R> { 0798 typealias ResultSelector
Zip+arity.swift:809
    let _resultSelector: ResultSelector
Zip+arity.swift:811
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, source8: Observable<E8>, resultSelector: ResultSelector) {
= (E1, E2, E3, E4, E5, E6, E7, E8) throws -> R 0799 0800 let source1
Zip+arity.swift:771
        subscription1.disposable = _parent.source1.subscribe(observer1)
Zip+arity.swift:812
        self.source1 = source1
: Observable<E1> 0801 let source2
Zip+arity.swift:772
        subscription2.disposable = _parent.source2.subscribe(observer2)
Zip+arity.swift:813
        self.source2 = source2
: Observable<E2> 0802 let source3
Zip+arity.swift:773
        subscription3.disposable = _parent.source3.subscribe(observer3)
Zip+arity.swift:814
        self.source3 = source3
: Observable<E3> 0803 let source4
Zip+arity.swift:774
        subscription4.disposable = _parent.source4.subscribe(observer4)
Zip+arity.swift:815
        self.source4 = source4
: Observable<E4> 0804 let source5
Zip+arity.swift:775
        subscription5.disposable = _parent.source5.subscribe(observer5)
Zip+arity.swift:816
        self.source5 = source5
: Observable<E5> 0805 let source6
Zip+arity.swift:776
        subscription6.disposable = _parent.source6.subscribe(observer6)
Zip+arity.swift:817
        self.source6 = source6
: Observable<E6> 0806 let source7
Zip+arity.swift:777
        subscription7.disposable = _parent.source7.subscribe(observer7)
Zip+arity.swift:818
        self.source7 = source7
: Observable<E7> 0807 let source8
Zip+arity.swift:778
        subscription8.disposable = _parent.source8.subscribe(observer8)
Zip+arity.swift:819
        self.source8 = source8
: Observable<E8> 0808 0809 let _resultSelector
Zip+arity.swift:793
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!, _values8.dequeue()!)
Zip+arity.swift:821
        _resultSelector = resultSelector
: ResultSelector 0810 0811 init
Zip+arity.swift:707
        return Zip8(
(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, source8: Observable<E8>, resultSelector: ResultSelector) { 0812 self.source1 = source1 0813 self.source2 = source2 0814 self.source3 = source3 0815 self.source4 = source4 0816 self.source5 = source5 0817 self.source6 = source6 0818 self.source7 = source7 0819 self.source8 = source8 0820 0821 _resultSelector = resultSelector 0822 } 0823 0824 override func run<O: ObserverType where O.E == R>(observer: O) -> Disposable { 0825 let sink = ZipSink8_(parent: self, observer: observer) 0826 sink.disposable = sink.run() 0827 return sink 0828 } 0829 } 0830 0831