From 9d4df73f6ae97585bdb080ee3fd7e0ff799e2c8d Mon Sep 17 00:00:00 2001 From: Matthew Podwysocki Date: Mon, 1 Feb 2016 12:19:32 -0500 Subject: [PATCH] Fixing generate* --- .gitignore | 1 + .npmignore | 1 + dist/rx.all.compat.js | 19 +- dist/rx.all.compat.map | 2 +- dist/rx.all.compat.min.js | 4 +- dist/rx.all.js | 19 +- dist/rx.all.map | 2 +- dist/rx.all.min.js | 4 +- dist/rx.joinpatterns.js | 2 +- dist/rx.joinpatterns.map | 2 +- dist/rx.joinpatterns.min.js | 2 +- dist/rx.time.js | 17 +- dist/rx.time.map | 2 +- dist/rx.time.min.js | 2 +- .../rx.lite.joinpatterns.compat.js | 2 +- .../rx.lite.joinpatterns.compat.map | 2 +- .../rx.lite.joinpatterns.compat.min.js | 2 +- .../rx.lite.joinpatterns.js | 2 +- .../rx.lite.joinpatterns.map | 2 +- .../rx.lite.joinpatterns.min.js | 2 +- .../rx.lite.time.compat.js | 17 +- .../rx.lite.time.compat.map | 2 +- .../rx.lite.time.compat.min.js | 2 +- modules/rx-lite-time/rx.lite.time.js | 17 +- modules/rx-lite-time/rx.lite.time.map | 2 +- modules/rx-lite-time/rx.lite.time.min.js | 2 +- .../observable/generatewithabsolutetime.js | 10 +- .../observable/generatewithrelativetime.js | 8 +- src/modular/observable/generate.js | 2 +- src/modular/observable/generateabsolute.js | 11 +- src/modular/observable/generaterelative.js | 9 +- src/modular/rx.lite.js | 5 + src/modular/test/toset.js | 1 + src/modular/test/when.js | 848 ++++++++++++++++++ tests/observable/generatewithabsolutetime.js | 2 +- tests/observable/generatewithrelativetime.js | 2 +- 36 files changed, 941 insertions(+), 90 deletions(-) create mode 100644 src/modular/test/when.js diff --git a/.gitignore b/.gitignore index dca33c7a9..996f77c92 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ .DS_Store node_modules npm-debug.log +.vscode/ diff --git a/.npmignore b/.npmignore index 455b61402..41d44841a 100644 --- a/.npmignore +++ b/.npmignore @@ -2,6 +2,7 @@ node_modules/ modules/ .npm-debug.log .nuget/ +.vscode/ nuget/ doc/ examples/ diff --git a/dist/rx.all.compat.js b/dist/rx.all.compat.js index 87939c2f4..8f1ecc09f 100644 --- a/dist/rx.all.compat.js +++ b/dist/rx.all.compat.js @@ -9644,7 +9644,7 @@ Observable.fromNodeCallback = function (fn, ctx, selector) { })); } } catch (e) { - observableThrow(e).subscribe(o); + return observableThrow(e).subscribe(o); } var group = new CompositeDisposable(); externalSubscriptions.forEach(function (joinObserver) { @@ -10519,7 +10519,7 @@ Observable.fromNodeCallback = function (fn, ctx, selector) { } function scheduleRecursive(state, recurse) { - state.hasResult && state.o.onNext(state.newState); + state.hasResult && state.o.onNext(state.result); if (state.first) { state.first = false; @@ -10530,8 +10530,8 @@ Observable.fromNodeCallback = function (fn, ctx, selector) { state.hasResult = tryCatch(state.self._cndFn)(state.newState); if (state.hasResult === errorObj) { return state.o.onError(state.hasResult.e); } if (state.hasResult) { - var result = tryCatch(state.self._resFn)(state.newState); - if (result === errorObj) { return state.o.onError(result.e); } + state.result = tryCatch(state.self._resFn)(state.newState); + if (state.result === errorObj) { return state.o.onError(state.result.e); } var time = tryCatch(state.self._timeFn)(state.newState); if (time === errorObj) { return state.o.onError(time.e); } recurse(state, time); @@ -10546,7 +10546,7 @@ Observable.fromNodeCallback = function (fn, ctx, selector) { self: this, newState: this._state, first: true, - hasValue: false + hasResult: false }; return this._s.scheduleRecursiveFuture(state, new Date(this._s.now()), scheduleRecursive); }; @@ -10591,7 +10591,7 @@ Observable.fromNodeCallback = function (fn, ctx, selector) { } function scheduleRecursive(state, recurse) { - state.hasResult && state.o.onNext(state.newState); + state.hasResult && state.o.onNext(state.result); if (state.first) { state.first = false; @@ -10599,11 +10599,12 @@ Observable.fromNodeCallback = function (fn, ctx, selector) { state.newState = tryCatch(state.self._itrFn)(state.newState); if (state.newState === errorObj) { return state.o.onError(state.newState.e); } } + state.hasResult = tryCatch(state.self._cndFn)(state.newState); if (state.hasResult === errorObj) { return state.o.onError(state.hasResult.e); } if (state.hasResult) { - var result = tryCatch(state.self._resFn)(state.newState); - if (result === errorObj) { return state.o.onError(result.e); } + state.result = tryCatch(state.self._resFn)(state.newState); + if (state.result === errorObj) { return state.o.onError(state.result.e); } var time = tryCatch(state.self._timeFn)(state.newState); if (time === errorObj) { return state.o.onError(time.e); } recurse(state, time); @@ -10618,7 +10619,7 @@ Observable.fromNodeCallback = function (fn, ctx, selector) { self: this, newState: this._state, first: true, - hasValue: false + hasResult: false }; return this._s.scheduleRecursiveFuture(state, 0, scheduleRecursive); }; diff --git a/dist/rx.all.compat.map b/dist/rx.all.compat.map index cf8a5ecf3..5615c4d0a 100644 --- a/dist/rx.all.compat.map +++ b/dist/rx.all.compat.map @@ -1 +1 @@ -{"version":3,"file":"rx.all.compat.min.js","sources":["rx.all.compat.js"],"names":["undefined","checkGlobal","value","Object","cloneArray","arr","len","length","a","Array","i","tryCatcherGen","tryCatchTarget","apply","this","arguments","e","errorObj","thrower","makeStackTraceLong","error","observable","hasStacks","stack","indexOf","STACK_JUMP_SEPARATOR","stacks","o","source","unshift","concatedStacks","join","filterStackString","stackString","lines","split","desiredLines","line","isInternalFrame","isNodeFrame","push","stackLine","fileNameAndLineNumber","getFileNameAndLineNumber","fileName","lineNumber","rFileName","rStartingLine","rEndingLine","captureLine","Error","firstLine","attempt1","exec","Number","attempt2","attempt3","equalObjects","object","other","equalFunc","isLoose","stackA","stackB","objProps","keys","objLength","othProps","othLength","key","index","hasOwnProperty","call","skipCtor","result","objValue","othValue","objCtor","constructor","othCtor","equalByTag","tag","boolTag","dateTag","errorTag","name","message","numberTag","regexpTag","stringTag","isObjectLike","isLength","MAX_SAFE_INTEGER","isTypedArray","typedArrayTags","objToString","arraySome","array","predicate","equalArrays","arrLength","arrValue","baseIsEqualDeep","objIsArr","isArray","othIsArr","objTag","arrayTag","othTag","argsTag","objectTag","objIsObj","isHostObject","othIsObj","isSameTag","objIsWrapped","othIsWrapped","pop","baseIsEqual","isObject","arrayInitialize","count","factory","IndexedItem","id","ScheduledDisposable","scheduler","disposable","isDisposed","scheduleItem","s","self","dispose","IsDisposedDisposable","state","_s","StringIterable","StringIterator","_l","_i","ArrayIterable","_a","ArrayIterator","toLength","numberIsFinite","root","isFinite","getIterable","it","$iterator$","TypeError","sign","number","isNaN","Math","floor","abs","maxSafeInteger","observableOf","isScheduler","currentThreadScheduler","FromArrayObservable","RepeatSink","observer","parent","amb","p","c","falseFactory","argumentsToArray","args","emptyArrayFactory","asObservable","subscribe","toArray","x","notEmpty","arrayIndexOfComparer","item","comparer","HashSet","set","plucker","currentProp","firstOnly","EmptyError","findValue","thisArg","yieldIndex","callback","bindCallback","AnonymousObservable","FindValueObserver","toObservable","obj","Observable","isObservable","isPromise","fromPromise","isGeneratorFunction","isGenerator","spawn","isFunction","thunkToObservable","isArrayLike","isIterable","arrayToObservable","objectToObservable","from","concatMap","Rx","just","defer","results","observables","map","next","forkJoin","fn","err","res","onError","onNext","onCompleted","ctor","displayName","prototype","val","createCbObservable","ctx","selector","AsyncSubject","createCbHandler","tryCatch","createNodeObservable","createNodeHandler","isNodeList","el","StaticNodeList","NodeList","toString","ListenDisposable","n","_e","_n","_fn","addEventListener","createEventListener","eventName","handler","disposables","CompositeDisposable","elemToString","add","combineLatestSource","subject","resultSelector","values","hasValue","hasValueAll","every","identity","isDone","BinaryDisposable","observableWindowWithOpenings","windowOpenings","windowClosingSelector","groupJoin","observableEmpty","_","win","observableWindowWithBoundaries","windowBoundaries","Subject","d","r","RefCountDisposable","addRef","observableFromPromise","w","observableWindowWithClosingSelector","createWindowClose","windowClose","m1","SingleAssignmentDisposable","m","setDisposable","take","noop","SerialDisposable","enumerableWhile","condition","WhileEnumerable","Pattern","patterns","Plan","expression","handleOnError","handleOnNext","planCreateObserver","externalSubscriptions","entry","get","JoinObserver","ActivePlan","joinObserverArray","joinObservers","Map","joinObserver","_observableTimer","dueTime","TimerObservable","observableTimerDateAndPeriod","period","normalizeTime","scheduleRecursiveFuture","now","Date","getTime","observableTimerTimeSpanAndPeriod","schedulePeriodic","observableDefer","observableDelayRelative","subscription","active","cancelable","exception","q","running","materialize","timestamp","notification","shouldRun","kind","recurseDueTime","shouldRecurse","shift","accept","max","observableDelayAbsolute","delayWithSelector","subscriptionDelay","delayDurationSelector","subDelay","start","delay","delays","remove","done","atEnd","debounceWithSelector","durationSelector","throttle","currentid","timeoutWithSelector","firstTimeout","timeoutDurationSelector","observableNever","observableThrow","TimeoutError","setTimer","timeout","timerWins","switched","myId","timer","oWins","original","defaultScheduler","createTimer","scheduleFuture","transformForObserver","@@transducer/init","@@transducer/step","obs","input","@@transducer/result","OnNextPredicate","OnErrorPredicate","MockPromise","messages","subscriptions","observers","innerNotification","scheduleAbsolute","time","slice","j","jLen","disposableEmpty","objectTypes","function","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","freeSelf","freeWindow","window","moduleExports","thisGlobal","Function","internals","config","Promise","helpers","defaultNow","defaultComparer","y","isEqual","defaultSubComparer","defaultError","defaultKeySerializer","then","isFn","longStackSupport","arrayClass","funcClass","stringClass","forEach","T","k","O","kValue","boxedString","splitString","fun","thisp","filter","t","arg","searchElement","Infinity","propertyIsEnumerable","hasDontEnumBug","prop","dontEnumsLength","dontEnums","create","Temp","hasOwn","Properties","Element","attachEvent","addMethod","Window","HTMLDocument","ready","interval","document","body","clearInterval","dispatchEvent","CustomEvent","type","listener","target","listeners","_c1_listeners","typeListeners","event","documentElement","scrollLeft","scrollTop","currentTarget","pageX","clientX","pageY","clientY","preventDefault","bubbledKeyCode","keyCode","ctrlKey","defaultPrevented","returnValue","modified","stopImmediatePropagation","immediatePropagation","cancelBubble","stopPropagation","relatedTarget","fromElement","srcElement","timeStamp","charCode","keyChar","String","fromCharCode","copiedEvent","typeListenerCache","typeListenersCache","concat","typeListener","ii","splice","detachEvent","fireEvent","setInterval","params","bubbles","detail","createEvent","initCustomEvent","createEventObject","initEvent","ObjectDisposedError","ArgumentOutOfRangeError","NotSupportedError","NotImplementedError","notImplemented","notSupported","Symbol","iterator","Set","doneEnumerator","func","argCount","collection","funcTag","mapTag","setTag","weakMapTag","arrayBufferTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","objectProto","pow","inherits","child","__","addProperties","sources","idx","ln","xs","getDisposable","compareTo","PriorityQueue","capacity","items","priorityProto","isHigherPriority","left","right","percolate","temp","heapify","first","peek","removeAt","dequeue","enqueue","CompositeDisposablePrototype","shouldDispose","currentDisposables","Disposable","action","disposableCreate","empty","isDisposable","checkDisposed","disposableFixup","_fixup","current","old","second","_first","_second","old1","old2","NAryDisposable","_disposables","InnerDisposable","isInnerDisposed","underlyingDisposable","isPrimaryDisposed","schedule","ScheduledItem","invoke","invokeCore","isCancelled","Scheduler","schedulerProto","dt","normalize","_scheduleFuture","timeSpan","invokeRecImmediate","pair","innerAction","state2","scheduleWork","state3","isAdded","group","invokeRecDate","dueTime1","scheduleRecursive","catchError","CatchScheduler","scheduleMethod","clearMethod","SchedulePeriodicRecursive","createTick","command","recurse","_period","_action","_state","_cancel","_scheduler","ImmediateScheduler","__super__","immediateScheduler","immediate","CurrentThreadScheduler","runTrampoline","queue","si","scheduleRequired","currentThread","localTimer","localSetTimeout","localClearTimeout","setTimeout","clearTimeout","WScript","Sleep","runTask","handle","currentlyRunning","task","tasksByHandle","postMessageSupported","postMessage","importScripts","isAsync","oldHandler","onmessage","nextHandle","reNative","RegExp","replace","setImmediate","test","process","nextTick","MSG_PREFIX","random","onGlobalPostMessage","data","substring","MessageChannel","channel","port1","port2","createElement","scriptElement","onreadystatechange","parentNode","removeChild","appendChild","DefaultScheduler","scheduleAction","ClearDisposable","_id","LocalClearDisposable","async","_handler","_recursiveOriginal","_recursiveWrapper","_wrap","_clone","_getRecursiveWrapper","wrapper","failed","state1","Notification","_accept","_acceptObserver","observerOrOnNext","OnNextNotification","OnErrorNotification","OnCompletedNotification","notificationCreateOnNext","createOnNext","notificationCreateOnError","createOnError","notificationCreateOnCompleted","createOnCompleted","Observer","toNotifier","asObserver","AnonymousObserver","checked","CheckedObserver","observerCreate","fromNotifier","cb","notifyOn","ObserveOnObserver","makeSafe","AnonymousSafeObserver","_onNext","_onError","_onCompleted","observableProto","AbstractObserver","isStopped","completed","fail","_observer","CheckedObserverPrototype","checkAccess","ScheduledObserver","isAcquired","hasFaulted","enqueueNext","enqueueError","enqueueCompleted","work","ensureActive","isOwner","cancel","makeSubscribe","oldOnError","oldSubscribe","_subscribe","oOrOnNext","subscribeOnNext","subscribeOnError","subscribeOnCompleted","ObservableBase","fixSubscriber","subscriber","ado","sub","subscribeCore","AutoDetachObserver","FlatMapObservable","InnerObserver","_wrapResult","i2","Enumerable","ConcatEnumerableObservable","currentItem","currentValue","_recurse","CatchErrorObservable","lastError","catchErrorWhen","notificationHandler","exceptions","notifier","handled","notificationDisposable","outer","inner","exn","ex","RepeatEnumerable","v","RepeatEnumerator","l","enumerableRepeat","repeat","repeatCount","OfEnumerable","OfEnumerator","enumerableOf","of","ObserveOnObservable","observeOn","SubscribeOnObservable","subscribeOn","FromPromiseObservable","_p","scheduleNext","scheduleError","sad","promise","toPromise","promiseCtor","resolve","reject","ToArrayObservable","Defer","_f","observableFactory","EmptyObservable","EmptySink","sink","run","EMPTY_OBSERVABLE","FromObservable","iterable","_iterable","createScheduleMethod","list","charAt","observableFrom","mapFn","mapper","_args","observableFromArray","fromArray","GenerateObservable","cndFn","itrFn","resFn","_initialState","_cndFn","_itrFn","_resFn","newState","hasResult","generate","initialState","iterate","ofWithScheduler","NeverObservable","NEVER_OBSERVABLE","never","PairsObservable","_o","_keys","pairs","RangeObservable","rangeCount","loopRecursive","range","RepeatObservable","JustObservable","_value","ThrowObservable","_error","UsingObservable","obsFn","_obsFn","resource","using","resourceFactory","rightSource","leftSource","choiceL","choice","leftChoice","rightSubscription","choiceR","rightChoice","leftSubscription","leftSubscribe","rightSubscribe","acc","CatchObservable","d1","CatchObserver","handlerOrSecond","observableCatch","combineLatest","CombineLatestObservable","_params","_cb","CombineLatestObserver","notTheSame","observableConcat","ConcatObserver","ConcatObservable","_sources","concatAll","merge","MergeObservable","maxConcurrent","g","MergeObserver","activeCount","handleSubscribe","innerSource","maxConcurrentOrOther","observableMerge","mergeAll","MergeAllObservable","MergeAllObserver","CompositeError","errors","innerErrors","MergeDelayErrorObservable","MergeDelayErrorObserver","_group","setCompletion","_inner","mergeDelayError","onErrorResumeNext","OnErrorResumeNextObservable","pos","OnErrorResumeNextObserver","cancellable","SkipUntilObservable","_open","SkipUntilSourceObserver","SkipUntilOtherObserver","_r","skipUntil","SwitchObservable","SwitchObserver","stopped","latest","hasLatest","switchLatest","TakeUntilObservable","TakeUntilObserver","takeUntil","WithLatestFromObservable","_ss","WithLatestFromOtherObserver","outerSad","WithLatestFromSourceObserver","allValues","withLatestFrom","ZipObservable","ZipObserver","_q","_d","shiftEach","queuedValues","zip","ZipIterableObservable","ZipIterableObserver","zipIterable","bufferWithCount","skip","windowWithCount","flatMap","DematerializeObservable","DematerializeObserver","dematerialize","DistinctUntilChangedObservable","keyFn","DistinctUntilChangedObserver","hasCurrentKey","currentKey","comparerEquals","distinctUntilChanged","TapObservable","_oN","_oE","_oC","tap","doAction","doOnNext","tapOnNext","doOnError","tapOnError","doOnCompleted","tapOnCompleted","FinallyObservable","FinallyDisposable","IgnoreElementsObservable","ignoreElements","MaterializeObservable","MaterializeObserver","retry","retryCount","retryWhen","ScanObservable","accumulator","hasSeed","seed","ScanObserver","_hs","_ha","_hv","scan","SkipLastObservable","_c","SkipLastObserver","skipLast","startWith","TakeLastObserver","takeLast","TakeLastBufferObserver","takeLastBuffer","createWindow","refCountDisposable","flatMapConcat","concatMapObserver","selectConcatObserver","onNextFunc","onErrorFunc","onCompletedFunc","DefaultIfEmptyObserver","defaultIfEmpty","defaultValue","retValue","DistinctObservable","cmpFn","_keyFn","_cmpFn","DistinctObserver","_h","distinct","keySelector","groupBy","elementSelector","groupByUntil","groupDisposable","handleError","fireNewMapEntry","writer","GroupedObservable","durationGroup","duration","md","element","MapObservable","innerMap","internalMap","select","selectorFn","pluck","selectMany","flatMapObserver","selectManyObserver","flatMapLatest","SkipObservable","_count","SkipObserver","SkipWhileObservable","SkipWhileObserver","skipWhile","TakeObservable","TakeObserver","TakeWhileObservable","TakeWhileObserver","takeWhile","FilterObservable","innerPredicate","internalFilter","shouldYield","where","ExtremaByObservable","_k","ExtremaByObserver","_v","comparison","ReduceObservable","ReduceObserver","reduce","SomeObservable","SomeObserver","Boolean","some","IsEmptyObservable","IsEmptyObserver","isEmpty","EveryObservable","EveryObserver","IncludesObservable","elem","_elem","IncludesObserver","b","includes","fromIndex","CountObservable","CountObserver","IndexOfObservable","IndexOfObserver","SumObservable","SumObserver","sum","minBy","min","maxBy","AverageObservable","AverageObserver","_t","average","sequenceEqual","donel","doner","ql","qr","subscription1","equal","subscription2","ElementAtObservable","ElementAtObserver","elementAt","SingleObserver","_obj","single","FirstObservable","FirstObserver","LastObservable","LastObserver","last","_y","find","findIndex","ToSetObservable","ToSetObserver","toSet","ToMapObservable","ToMapObserver","_m","toMap","SliceObservable","_b","SliceObserver","begin","end","LastIndexOfObservable","LastIndexOfObserver","lastIndexOf","wrap","createObservable","__generatorFunction__","gen","processGenerator","ret","context","observableToAsync","toAsync","fromCallback","fromNodeCallback","removeEventListener","useNativeEvents","EventObservable","_el","createHandler","fromEvent","addListener","fromEventPattern","h","removeListener","on","off","publish","refCount","EventPatternObservable","del","_add","_del","EventPatternDisposable","_ret","addHandler","removeHandler","startAsync","functionAsync","PausableObservable","pauser","controller","conn","connection","pausable","connect","pause","resume","PausableBufferedObservable","drainQueue","previousShouldFire","shouldFire","pausableBuffered","ControlledObservable","enableQueue","ControlledSubject","multicast","request","numberOfItems","requestedCount","requestedDisposable","hasFailed","hasCompleted","disposeCurrentRequest","_processRequest","remaining","controlled","StopAndWaitObservable","StopAndWaitObserver","__sub__","scheduleDisposable","innerScheduleMethod","stopAndWait","WindowedObservable","windowSize","WindowedObserver","received","windowed","pipe","dest","onDrain","write","emit","_isStdio","MulticastObservable","fn1","fn2","_fn1","_fn2","connectable","subjectOrSubjectSelector","ConnectableObservable","share","publishLast","publishValue","initialValueOrSelector","initialValue","BehaviorSubject","shareValue","replay","bufferSize","ReplaySubject","shareReplay","InnerSubscription","RefCountObservable","_connectableSubscription","_connection","_source","_subject","ConnectDisposable","singleInstance","getObservable","hasObservable","leftDurationSelector","rightDurationSelector","leftDone","rightDone","leftId","rightId","leftMap","rightMap","size","buffer","windowOpeningsOrClosingSelector","PairwiseObservable","PairwiseObserver","_hp","pairwise","partition","letBind","thenSource","elseSourceOrScheduler","forIn","observableWhileDo","whileDo","doWhile","defaultSourceOrScheduler","ExpandObservable","ExpandObserver","_ensureActive","_m1","expand","ForkJoinObservable","finished","hasResults","ForkJoinObserver","subs","_subs","manySelect","extend","chain","curr","ChainObservable","head","tail","_values","and","thenDo","activate","deactivate","errHandler","activePlan","jlen","removeActivePlan","addActivePlan","match","hasValues","firstValues","isCompleted","activePlans","JoinObserverPrototype","when","plans","outObserver","_dt","observableinterval","periodOrScheduler","firstArg","DebounceObservable","DebounceObserver","currentId","debounce","windowWithTime","timeShiftOrScheduler","timeShift","isSpan","isShift","timerD","nextSpan","nextShift","newTotalTime","ts","totalTime","windowWithTimeOrCount","windowId","newId","newWindow","bufferWithTime","bufferWithTimeOrCount","TimeIntervalObservable","TimeIntervalObserver","span","timeInterval","TimestampObservable","TimestampObserver","SampleObservable","sampler","_sampler","sourceSubscription","SampleSourceObserver","SamplerObserver","_handleMessage","sample","intervalOrSampler","GenerateAbsoluteObservable","timeFn","_timeFn","generateWithAbsoluteTime","timeSelector","GenerateRelativeObservable","generateWithRelativeTime","DelaySubscription","delaySubscription","SkipLastWithTimeObservable","SkipLastWithTimeObserver","skipLastWithTime","TakeLastWithTimeObservable","TakeLastWithTimeObserver","takeLastWithTime","takeLastBufferWithTime","TakeWithTimeObservable","takeWithTime","SkipWithTimeObservable","SkipWithTimeObserver","skipWithTime","SkipUntilWithTimeObservable","startTime","_st","SkipUntilWithTimeObserver","skipUntilWithTime","takeUntilWithTime","endTime","windowDuration","RangeError","lastOnNext","SwitchFirstObservable","hasCurrent","SwitchFirstObserver","switchFirst","flatMapFirst","selectManyFirst","flatMapWithMaxConcurrent","limit","TransduceObserver","xform","_xform","transduce","transducer","VirtualTimeScheduler","initialClock","clock","isEnabled","VirtualTimeSchedulerPrototype","toAbsoluteTime","toRelativeTime","scheduleRelative","runAt","getNext","stop","advanceTo","dueToClock","advanceBy","sleep","HistoricalScheduler","cmp","HistoricalSchedulerProto","absolute","relative","equals","ReactiveTest","created","subscribed","disposed","ticks","Recorded","Subscription","unsubscribe","MAX_VALUE","MockDisposable","disposes","MockObserver","MockObserverPrototype","onResolved","onRejected","newPromise","HotObservable","ColdObservable","TestScheduler","baseComparer","startScheduler","createFn","settings","createObserver","createHotObservable","createColdObservable","createResolvedPromise","createRejectedPromise","reason","__subscribe","AutoDetachObserverPrototype","UnderlyingObservable","u","_u","underlyingObservable","mergedDisposable","hasError","hasObservers","os","AnonymousSubject","getValue","createRemovableDisposable","so","_trim","Pauser","define","amd"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"rx.all.compat.min.js","sources":["rx.all.compat.js"],"names":["undefined","checkGlobal","value","Object","cloneArray","arr","len","length","a","Array","i","tryCatcherGen","tryCatchTarget","apply","this","arguments","e","errorObj","thrower","makeStackTraceLong","error","observable","hasStacks","stack","indexOf","STACK_JUMP_SEPARATOR","stacks","o","source","unshift","concatedStacks","join","filterStackString","stackString","lines","split","desiredLines","line","isInternalFrame","isNodeFrame","push","stackLine","fileNameAndLineNumber","getFileNameAndLineNumber","fileName","lineNumber","rFileName","rStartingLine","rEndingLine","captureLine","Error","firstLine","attempt1","exec","Number","attempt2","attempt3","equalObjects","object","other","equalFunc","isLoose","stackA","stackB","objProps","keys","objLength","othProps","othLength","key","index","hasOwnProperty","call","skipCtor","result","objValue","othValue","objCtor","constructor","othCtor","equalByTag","tag","boolTag","dateTag","errorTag","name","message","numberTag","regexpTag","stringTag","isObjectLike","isLength","MAX_SAFE_INTEGER","isTypedArray","typedArrayTags","objToString","arraySome","array","predicate","equalArrays","arrLength","arrValue","baseIsEqualDeep","objIsArr","isArray","othIsArr","objTag","arrayTag","othTag","argsTag","objectTag","objIsObj","isHostObject","othIsObj","isSameTag","objIsWrapped","othIsWrapped","pop","baseIsEqual","isObject","arrayInitialize","count","factory","IndexedItem","id","ScheduledDisposable","scheduler","disposable","isDisposed","scheduleItem","s","self","dispose","IsDisposedDisposable","state","_s","StringIterable","StringIterator","_l","_i","ArrayIterable","_a","ArrayIterator","toLength","numberIsFinite","root","isFinite","getIterable","it","$iterator$","TypeError","sign","number","isNaN","Math","floor","abs","maxSafeInteger","observableOf","isScheduler","currentThreadScheduler","FromArrayObservable","RepeatSink","observer","parent","amb","p","c","falseFactory","argumentsToArray","args","emptyArrayFactory","asObservable","subscribe","toArray","x","notEmpty","arrayIndexOfComparer","item","comparer","HashSet","set","plucker","currentProp","firstOnly","EmptyError","findValue","thisArg","yieldIndex","callback","bindCallback","AnonymousObservable","FindValueObserver","toObservable","obj","Observable","isObservable","isPromise","fromPromise","isGeneratorFunction","isGenerator","spawn","isFunction","thunkToObservable","isArrayLike","isIterable","arrayToObservable","objectToObservable","from","concatMap","Rx","just","defer","results","observables","map","next","forkJoin","fn","err","res","onError","onNext","onCompleted","ctor","displayName","prototype","val","createCbObservable","ctx","selector","AsyncSubject","createCbHandler","tryCatch","createNodeObservable","createNodeHandler","isNodeList","el","StaticNodeList","NodeList","toString","ListenDisposable","n","_e","_n","_fn","addEventListener","createEventListener","eventName","handler","disposables","CompositeDisposable","elemToString","add","combineLatestSource","subject","resultSelector","values","hasValue","hasValueAll","every","identity","isDone","BinaryDisposable","observableWindowWithOpenings","windowOpenings","windowClosingSelector","groupJoin","observableEmpty","_","win","observableWindowWithBoundaries","windowBoundaries","Subject","d","r","RefCountDisposable","addRef","observableFromPromise","w","observableWindowWithClosingSelector","createWindowClose","windowClose","m1","SingleAssignmentDisposable","m","setDisposable","take","noop","SerialDisposable","enumerableWhile","condition","WhileEnumerable","Pattern","patterns","Plan","expression","handleOnError","handleOnNext","planCreateObserver","externalSubscriptions","entry","get","JoinObserver","ActivePlan","joinObserverArray","joinObservers","Map","joinObserver","_observableTimer","dueTime","TimerObservable","observableTimerDateAndPeriod","period","normalizeTime","scheduleRecursiveFuture","now","Date","getTime","observableTimerTimeSpanAndPeriod","schedulePeriodic","observableDefer","observableDelayRelative","subscription","active","cancelable","exception","q","running","materialize","timestamp","notification","shouldRun","kind","recurseDueTime","shouldRecurse","shift","accept","max","observableDelayAbsolute","delayWithSelector","subscriptionDelay","delayDurationSelector","subDelay","start","delay","delays","remove","done","atEnd","debounceWithSelector","durationSelector","throttle","currentid","timeoutWithSelector","firstTimeout","timeoutDurationSelector","observableNever","observableThrow","TimeoutError","setTimer","timeout","timerWins","switched","myId","timer","oWins","original","defaultScheduler","createTimer","scheduleFuture","transformForObserver","@@transducer/init","@@transducer/step","obs","input","@@transducer/result","OnNextPredicate","OnErrorPredicate","MockPromise","messages","subscriptions","observers","innerNotification","scheduleAbsolute","time","slice","j","jLen","disposableEmpty","objectTypes","function","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","freeSelf","freeWindow","window","moduleExports","thisGlobal","Function","internals","config","Promise","helpers","defaultNow","defaultComparer","y","isEqual","defaultSubComparer","defaultError","defaultKeySerializer","then","isFn","longStackSupport","arrayClass","funcClass","stringClass","forEach","T","k","O","kValue","boxedString","splitString","fun","thisp","filter","t","arg","searchElement","Infinity","propertyIsEnumerable","hasDontEnumBug","prop","dontEnumsLength","dontEnums","create","Temp","hasOwn","Properties","Element","attachEvent","addMethod","Window","HTMLDocument","ready","interval","document","body","clearInterval","dispatchEvent","CustomEvent","type","listener","target","listeners","_c1_listeners","typeListeners","event","documentElement","scrollLeft","scrollTop","currentTarget","pageX","clientX","pageY","clientY","preventDefault","bubbledKeyCode","keyCode","ctrlKey","defaultPrevented","returnValue","modified","stopImmediatePropagation","immediatePropagation","cancelBubble","stopPropagation","relatedTarget","fromElement","srcElement","timeStamp","charCode","keyChar","String","fromCharCode","copiedEvent","typeListenerCache","typeListenersCache","concat","typeListener","ii","splice","detachEvent","fireEvent","setInterval","params","bubbles","detail","createEvent","initCustomEvent","createEventObject","initEvent","ObjectDisposedError","ArgumentOutOfRangeError","NotSupportedError","NotImplementedError","notImplemented","notSupported","Symbol","iterator","Set","doneEnumerator","func","argCount","collection","funcTag","mapTag","setTag","weakMapTag","arrayBufferTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","objectProto","pow","inherits","child","__","addProperties","sources","idx","ln","xs","getDisposable","compareTo","PriorityQueue","capacity","items","priorityProto","isHigherPriority","left","right","percolate","temp","heapify","first","peek","removeAt","dequeue","enqueue","CompositeDisposablePrototype","shouldDispose","currentDisposables","Disposable","action","disposableCreate","empty","isDisposable","checkDisposed","disposableFixup","_fixup","current","old","second","_first","_second","old1","old2","NAryDisposable","_disposables","InnerDisposable","isInnerDisposed","underlyingDisposable","isPrimaryDisposed","schedule","ScheduledItem","invoke","invokeCore","isCancelled","Scheduler","schedulerProto","dt","normalize","_scheduleFuture","timeSpan","invokeRecImmediate","pair","innerAction","state2","scheduleWork","state3","isAdded","group","invokeRecDate","dueTime1","scheduleRecursive","catchError","CatchScheduler","scheduleMethod","clearMethod","SchedulePeriodicRecursive","createTick","command","recurse","_period","_action","_state","_cancel","_scheduler","ImmediateScheduler","__super__","immediateScheduler","immediate","CurrentThreadScheduler","runTrampoline","queue","si","scheduleRequired","currentThread","localTimer","localSetTimeout","localClearTimeout","setTimeout","clearTimeout","WScript","Sleep","runTask","handle","currentlyRunning","task","tasksByHandle","postMessageSupported","postMessage","importScripts","isAsync","oldHandler","onmessage","nextHandle","reNative","RegExp","replace","setImmediate","test","process","nextTick","MSG_PREFIX","random","onGlobalPostMessage","data","substring","MessageChannel","channel","port1","port2","createElement","scriptElement","onreadystatechange","parentNode","removeChild","appendChild","DefaultScheduler","scheduleAction","ClearDisposable","_id","LocalClearDisposable","async","_handler","_recursiveOriginal","_recursiveWrapper","_wrap","_clone","_getRecursiveWrapper","wrapper","failed","state1","Notification","_accept","_acceptObserver","observerOrOnNext","OnNextNotification","OnErrorNotification","OnCompletedNotification","notificationCreateOnNext","createOnNext","notificationCreateOnError","createOnError","notificationCreateOnCompleted","createOnCompleted","Observer","toNotifier","asObserver","AnonymousObserver","checked","CheckedObserver","observerCreate","fromNotifier","cb","notifyOn","ObserveOnObserver","makeSafe","AnonymousSafeObserver","_onNext","_onError","_onCompleted","observableProto","AbstractObserver","isStopped","completed","fail","_observer","CheckedObserverPrototype","checkAccess","ScheduledObserver","isAcquired","hasFaulted","enqueueNext","enqueueError","enqueueCompleted","work","ensureActive","isOwner","cancel","makeSubscribe","oldOnError","oldSubscribe","_subscribe","oOrOnNext","subscribeOnNext","subscribeOnError","subscribeOnCompleted","ObservableBase","fixSubscriber","subscriber","ado","sub","subscribeCore","AutoDetachObserver","FlatMapObservable","InnerObserver","_wrapResult","i2","Enumerable","ConcatEnumerableObservable","currentItem","currentValue","_recurse","CatchErrorObservable","lastError","catchErrorWhen","notificationHandler","exceptions","notifier","handled","notificationDisposable","outer","inner","exn","ex","RepeatEnumerable","v","RepeatEnumerator","l","enumerableRepeat","repeat","repeatCount","OfEnumerable","OfEnumerator","enumerableOf","of","ObserveOnObservable","observeOn","SubscribeOnObservable","subscribeOn","FromPromiseObservable","_p","scheduleNext","scheduleError","sad","promise","toPromise","promiseCtor","resolve","reject","ToArrayObservable","Defer","_f","observableFactory","EmptyObservable","EmptySink","sink","run","EMPTY_OBSERVABLE","FromObservable","iterable","_iterable","createScheduleMethod","list","charAt","observableFrom","mapFn","mapper","_args","observableFromArray","fromArray","GenerateObservable","cndFn","itrFn","resFn","_initialState","_cndFn","_itrFn","_resFn","newState","hasResult","generate","initialState","iterate","ofWithScheduler","NeverObservable","NEVER_OBSERVABLE","never","PairsObservable","_o","_keys","pairs","RangeObservable","rangeCount","loopRecursive","range","RepeatObservable","JustObservable","_value","ThrowObservable","_error","UsingObservable","obsFn","_obsFn","resource","using","resourceFactory","rightSource","leftSource","choiceL","choice","leftChoice","rightSubscription","choiceR","rightChoice","leftSubscription","leftSubscribe","rightSubscribe","acc","CatchObservable","d1","CatchObserver","handlerOrSecond","observableCatch","combineLatest","CombineLatestObservable","_params","_cb","CombineLatestObserver","notTheSame","observableConcat","ConcatObserver","ConcatObservable","_sources","concatAll","merge","MergeObservable","maxConcurrent","g","MergeObserver","activeCount","handleSubscribe","innerSource","maxConcurrentOrOther","observableMerge","mergeAll","MergeAllObservable","MergeAllObserver","CompositeError","errors","innerErrors","MergeDelayErrorObservable","MergeDelayErrorObserver","_group","setCompletion","_inner","mergeDelayError","onErrorResumeNext","OnErrorResumeNextObservable","pos","OnErrorResumeNextObserver","cancellable","SkipUntilObservable","_open","SkipUntilSourceObserver","SkipUntilOtherObserver","_r","skipUntil","SwitchObservable","SwitchObserver","stopped","latest","hasLatest","switchLatest","TakeUntilObservable","TakeUntilObserver","takeUntil","WithLatestFromObservable","_ss","WithLatestFromOtherObserver","outerSad","WithLatestFromSourceObserver","allValues","withLatestFrom","ZipObservable","ZipObserver","_q","_d","shiftEach","queuedValues","zip","ZipIterableObservable","ZipIterableObserver","zipIterable","bufferWithCount","skip","windowWithCount","flatMap","DematerializeObservable","DematerializeObserver","dematerialize","DistinctUntilChangedObservable","keyFn","DistinctUntilChangedObserver","hasCurrentKey","currentKey","comparerEquals","distinctUntilChanged","TapObservable","_oN","_oE","_oC","tap","doAction","doOnNext","tapOnNext","doOnError","tapOnError","doOnCompleted","tapOnCompleted","FinallyObservable","FinallyDisposable","IgnoreElementsObservable","ignoreElements","MaterializeObservable","MaterializeObserver","retry","retryCount","retryWhen","ScanObservable","accumulator","hasSeed","seed","ScanObserver","_hs","_ha","_hv","scan","SkipLastObservable","_c","SkipLastObserver","skipLast","startWith","TakeLastObserver","takeLast","TakeLastBufferObserver","takeLastBuffer","createWindow","refCountDisposable","flatMapConcat","concatMapObserver","selectConcatObserver","onNextFunc","onErrorFunc","onCompletedFunc","DefaultIfEmptyObserver","defaultIfEmpty","defaultValue","retValue","DistinctObservable","cmpFn","_keyFn","_cmpFn","DistinctObserver","_h","distinct","keySelector","groupBy","elementSelector","groupByUntil","groupDisposable","handleError","fireNewMapEntry","writer","GroupedObservable","durationGroup","duration","md","element","MapObservable","innerMap","internalMap","select","selectorFn","pluck","selectMany","flatMapObserver","selectManyObserver","flatMapLatest","SkipObservable","_count","SkipObserver","SkipWhileObservable","SkipWhileObserver","skipWhile","TakeObservable","TakeObserver","TakeWhileObservable","TakeWhileObserver","takeWhile","FilterObservable","innerPredicate","internalFilter","shouldYield","where","ExtremaByObservable","_k","ExtremaByObserver","_v","comparison","ReduceObservable","ReduceObserver","reduce","SomeObservable","SomeObserver","Boolean","some","IsEmptyObservable","IsEmptyObserver","isEmpty","EveryObservable","EveryObserver","IncludesObservable","elem","_elem","IncludesObserver","b","includes","fromIndex","CountObservable","CountObserver","IndexOfObservable","IndexOfObserver","SumObservable","SumObserver","sum","minBy","min","maxBy","AverageObservable","AverageObserver","_t","average","sequenceEqual","donel","doner","ql","qr","subscription1","equal","subscription2","ElementAtObservable","ElementAtObserver","elementAt","SingleObserver","_obj","single","FirstObservable","FirstObserver","LastObservable","LastObserver","last","_y","find","findIndex","ToSetObservable","ToSetObserver","toSet","ToMapObservable","ToMapObserver","_m","toMap","SliceObservable","_b","SliceObserver","begin","end","LastIndexOfObservable","LastIndexOfObserver","lastIndexOf","wrap","createObservable","__generatorFunction__","gen","processGenerator","ret","context","observableToAsync","toAsync","fromCallback","fromNodeCallback","removeEventListener","useNativeEvents","EventObservable","_el","createHandler","fromEvent","addListener","fromEventPattern","h","removeListener","on","off","publish","refCount","EventPatternObservable","del","_add","_del","EventPatternDisposable","_ret","addHandler","removeHandler","startAsync","functionAsync","PausableObservable","pauser","controller","conn","connection","pausable","connect","pause","resume","PausableBufferedObservable","drainQueue","previousShouldFire","shouldFire","pausableBuffered","ControlledObservable","enableQueue","ControlledSubject","multicast","request","numberOfItems","requestedCount","requestedDisposable","hasFailed","hasCompleted","disposeCurrentRequest","_processRequest","remaining","controlled","StopAndWaitObservable","StopAndWaitObserver","__sub__","scheduleDisposable","innerScheduleMethod","stopAndWait","WindowedObservable","windowSize","WindowedObserver","received","windowed","pipe","dest","onDrain","write","emit","_isStdio","MulticastObservable","fn1","fn2","_fn1","_fn2","connectable","subjectOrSubjectSelector","ConnectableObservable","share","publishLast","publishValue","initialValueOrSelector","initialValue","BehaviorSubject","shareValue","replay","bufferSize","ReplaySubject","shareReplay","InnerSubscription","RefCountObservable","_connectableSubscription","_connection","_source","_subject","ConnectDisposable","singleInstance","getObservable","hasObservable","leftDurationSelector","rightDurationSelector","leftDone","rightDone","leftId","rightId","leftMap","rightMap","size","buffer","windowOpeningsOrClosingSelector","PairwiseObservable","PairwiseObserver","_hp","pairwise","partition","letBind","thenSource","elseSourceOrScheduler","forIn","observableWhileDo","whileDo","doWhile","defaultSourceOrScheduler","ExpandObservable","ExpandObserver","_ensureActive","_m1","expand","ForkJoinObservable","finished","hasResults","ForkJoinObserver","subs","_subs","manySelect","extend","chain","curr","ChainObservable","head","tail","_values","and","thenDo","activate","deactivate","errHandler","activePlan","jlen","removeActivePlan","addActivePlan","match","hasValues","firstValues","isCompleted","activePlans","JoinObserverPrototype","when","plans","outObserver","_dt","observableinterval","periodOrScheduler","firstArg","DebounceObservable","DebounceObserver","currentId","debounce","windowWithTime","timeShiftOrScheduler","timeShift","isSpan","isShift","timerD","nextSpan","nextShift","newTotalTime","ts","totalTime","windowWithTimeOrCount","windowId","newId","newWindow","bufferWithTime","bufferWithTimeOrCount","TimeIntervalObservable","TimeIntervalObserver","span","timeInterval","TimestampObservable","TimestampObserver","SampleObservable","sampler","_sampler","sourceSubscription","SampleSourceObserver","SamplerObserver","_handleMessage","sample","intervalOrSampler","GenerateAbsoluteObservable","timeFn","_timeFn","generateWithAbsoluteTime","timeSelector","GenerateRelativeObservable","generateWithRelativeTime","DelaySubscription","delaySubscription","SkipLastWithTimeObservable","SkipLastWithTimeObserver","skipLastWithTime","TakeLastWithTimeObservable","TakeLastWithTimeObserver","takeLastWithTime","takeLastBufferWithTime","TakeWithTimeObservable","takeWithTime","SkipWithTimeObservable","SkipWithTimeObserver","skipWithTime","SkipUntilWithTimeObservable","startTime","_st","SkipUntilWithTimeObserver","skipUntilWithTime","takeUntilWithTime","endTime","windowDuration","RangeError","lastOnNext","SwitchFirstObservable","hasCurrent","SwitchFirstObserver","switchFirst","flatMapFirst","selectManyFirst","flatMapWithMaxConcurrent","limit","TransduceObserver","xform","_xform","transduce","transducer","VirtualTimeScheduler","initialClock","clock","isEnabled","VirtualTimeSchedulerPrototype","toAbsoluteTime","toRelativeTime","scheduleRelative","runAt","getNext","stop","advanceTo","dueToClock","advanceBy","sleep","HistoricalScheduler","cmp","HistoricalSchedulerProto","absolute","relative","equals","ReactiveTest","created","subscribed","disposed","ticks","Recorded","Subscription","unsubscribe","MAX_VALUE","MockDisposable","disposes","MockObserver","MockObserverPrototype","onResolved","onRejected","newPromise","HotObservable","ColdObservable","TestScheduler","baseComparer","startScheduler","createFn","settings","createObserver","createHotObservable","createColdObservable","createResolvedPromise","createRejectedPromise","reason","__subscribe","AutoDetachObserverPrototype","UnderlyingObservable","u","_u","underlyingObservable","mergedDisposable","hasError","hasObservers","os","AnonymousSubject","getValue","createRemovableDisposable","so","_trim","Pauser","define","amd"],"mappings":"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"} \ No newline at end of file diff --git a/dist/rx.all.compat.min.js b/dist/rx.all.compat.min.js index 3dcc9a13e..738ae90eb 100644 --- a/dist/rx.all.compat.min.js +++ b/dist/rx.all.compat.min.js @@ -2,6 +2,6 @@ (function(a){function b(a){return a&&a.Object===Object?a:null}function c(a){for(var b=a.length,c=new Array(b),d=0;b>d;d++)c[d]=a[d];return c}function d(a){return function(){try{return a.apply(this,arguments)}catch(b){return Xa.e=b,Xa}}}function e(a){throw a}function f(a,b){if(Za&&b.stack&&"object"==typeof a&&null!==a&&a.stack&&-1===a.stack.indexOf(bb)){for(var c=[],d=b;d;d=d.source)d.stack&&c.unshift(d.stack);c.unshift(a.stack);var e=c.join("\n"+bb+"\n");a.stack=g(e)}}function g(a){for(var b=a.split("\n"),c=[],d=0,e=b.length;e>d;d++){var f=b[d];h(f)||i(f)||!f||c.push(f)}return c.join("\n")}function h(a){var b=k(a);if(!b)return!1;var c=b[0],d=b[1];return c===_a&&d>=ab&&Jg>=d}function i(a){return-1!==a.indexOf("(module.js:")||-1!==a.indexOf("(node.js:")}function j(){if(Za)try{throw new Error}catch(a){var b=a.stack.split("\n"),c=b[0].indexOf("@")>0?b[1]:b[2],d=k(c);if(!d)return;return _a=d[0],d[1]}}function k(a){var b=/at .+ \((.+):(\d+):(?:\d+)\)$/.exec(a);if(b)return[b[1],Number(b[2])];var c=/at ([^ ]+):(\d+):(?:\d+)$/.exec(a);if(c)return[c[1],Number(c[2])];var d=/.*@(.+):(\d+)$/.exec(a);return d?[d[1],Number(d[2])]:void 0}function l(b,c,d,e,f,g){var h=Xb(b),i=h.length,j=Xb(c),k=j.length;if(i!==k&&!e)return!1;for(var l,m=i;m--;)if(l=h[m],!(e?l in c:Ub.call(c,l)))return!1;for(var n=e;++m-1&&a%1===0&&Wb>=a}function p(a){return n(a)&&o(a.length)&&!!Sb[Vb.call(a)]}function q(a,b){for(var c=-1,d=a.length;++ci))return!1;for(;++hd;d++)c[d]=b();return c}function v(a,b){this.id=a,this.value=b}function w(a,b){this.scheduler=a,this.disposable=b,this.isDisposed=!1}function x(a,b){b.isDisposed||(b.isDisposed=!0,b.disposable.dispose())}function y(a){this._s=a,this.isDisposed=!1}function z(a){this._s=a}function A(a){this._s=a,this._l=a.length,this._i=0}function B(a){this._a=a}function C(a){this._a=a,this._l=G(a),this._i=0}function D(a){return"number"==typeof a&&Na.isFinite(a)}function E(b){var c,d=b[ob];if(!d&&"string"==typeof b)return c=new z(b),c[ob]();if(!d&&b.length!==a)return c=new B(b),c[ob]();if(!d)throw new TypeError("Object is not iterable");return b[ob]()}function F(a){var b=+a;return 0===b?b:isNaN(b)?b:0>b?-1:1}function G(a){var b=+a.length;return isNaN(b)?0:0!==b&&D(b)?(b=F(b)*Math.floor(Math.abs(b)),0>=b?0:b>qd?qd:b):b}function H(a,b){return uc(a)||(a=Bc),new sd(b,a)}function I(a,b){this.observer=a,this.parent=b}function J(a,b){return a.amb(b)}function K(){return!1}function L(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return b}function K(){return!1}function L(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return b}function K(){return!1}function M(){return[]}function K(){return!1}function M(){return[]}function L(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return b}function N(a){return function(b){return a.subscribe(b)}}function O(a){return a.toArray()}function P(a){return a.length>0}function Q(a,b,c){for(var d=0,e=a.length;e>d;d++)if(c(a[d],b))return d;return-1}function R(a){this.comparer=a,this.set=[]}function S(b,c){return function(d){for(var e=d,f=0;c>f;f++){var g=e[b[f]];if("undefined"==typeof g)return a;e=g}return e}}function T(a){if(0===a.length)throw new ib;return a[0]}function U(a,b,c,d){var e=sb(b,c,3);return new Ag(function(b){return a.subscribe(new kf(b,a,e,d))},a)}function V(a){return a?Xc.isObservable(a)?a:Va(a)?Xc.fromPromise(a):$(a)||Z(a)?tf.call(this,a):Wa(a)?Y.call(this,a):rb(a)||qb(a)?W.call(this,a):_(a)?X.call(this,a):a:a}function W(a){return Xc.from(a).concatMap(function(a){return Xc.isObservable(a)||_(a)?V.call(null,a):Oa.Observable.just(a)}).toArray()}function X(b){function c(b,c){d[c]=a,f.push(b.map(function(a){d[c]=a}))}for(var d=new b.constructor,e=Object.keys(b),f=[],g=0,h=e.length;h>g;g++){var i=e[g],j=V.call(this,b[i]);j&&Xc.isObservable(j)?c(j,i):d[i]=b[i]}return Xc.forkJoin.apply(Xc,f).map(function(){return d})}function Y(a){var b=this;return new Ag(function(c){a.call(b,function(){var a=arguments[0],b=arguments[1];if(a)return c.onError(a);if(arguments.length>2){for(var d=[],e=1,f=arguments.length;f>e;e++)d.push(arguments[e]);b=d}c.onNext(b),c.onCompleted()})})}function Z(a){return Wa(a.next)&&Wa(a["throw"])}function $(a){var b=a.constructor;return b?"GeneratorFunction"===b.name||"GeneratorFunction"===b.displayName?!0:Z(b.prototype):!1}function _(a){return Object==a.constructor}function aa(a,b,c,d){var e=new Fg;return d.push(ba(e,b,c)),a.apply(b,d),e.asObservable()}function ba(a,b,c){return function(){for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];if(Wa(c)){if(e=Ya(c).apply(b,e),e===Xa)return a.onError(e.e);a.onNext(e)}else e.length<=1?a.onNext(e[0]):a.onNext(e);a.onCompleted()}}function ca(a,b,c,d){var e=new Fg;return d.push(da(e,b,c)),a.apply(b,d),e.asObservable()}function da(a,b,c){return function(){var d=arguments[0];if(d)return a.onError(d);for(var e=arguments.length,f=[],g=1;e>g;g++)f[g-1]=arguments[g];if(Wa(c)){var f=Ya(c).apply(b,f);if(f===Xa)return a.onError(f.e);a.onNext(f)}else f.length<=1?a.onNext(f[0]):a.onNext(f);a.onCompleted()}}function ea(a){return Na.StaticNodeList?a instanceof Na.StaticNodeList||a instanceof Na.NodeList:"[object NodeList]"===Object.prototype.toString.call(a)}function fa(a,b,c){this._e=a,this._n=b,this._fn=c,this._e.addEventListener(this._n,this._fn,!1),this.isDisposed=!1}function ga(a,b,c){var d=new ec,e=Object.prototype.toString.call(a);if(ea(a)||"[object HTMLCollection]"===e)for(var f=0,g=a.length;g>f;f++)d.add(ga(a.item(f),b,c));else a&&d.add(new fa(a,b,c));return d}function ha(a,b,c){return new Ag(function(d){function e(a,b){if(j[b]=a,g[b]=!0,h||(h=g.every(Qa))){if(f)return d.onError(f);var e=Ya(c).apply(null,j);if(e===Xa)return d.onError(e.e);d.onNext(e)}i&&j[1]&&d.onCompleted()}var f,g=[!1,!1],h=!1,i=!1,j=new Array(2);return new oc(a.subscribe(function(a){e(a,0)},function(a){j[1]?d.onError(a):f=a},function(){i=!0,j[1]&&d.onCompleted()}),b.subscribe(function(a){e(a,1)},function(a){d.onError(a)},function(){i=!0,e(!0,1)}))},a)}function O(a){return a.toArray()}function ia(a,b){return a.groupJoin(this,b,od,function(a,b){return b})}function ja(a){var b=this;return new Ag(function(c){var d=new Eg,e=new ec,f=new qc(e);return c.onNext(bc(d,f)),e.add(b.subscribe(function(a){d.onNext(a)},function(a){d.onError(a),c.onError(a)},function(){d.onCompleted(),c.onCompleted()})),Va(a)&&(a=id(a)),e.add(a.subscribe(function(a){d.onCompleted(),d=new Eg,c.onNext(bc(d,f))},function(a){d.onError(a),c.onError(a)},function(){d.onCompleted(),c.onCompleted()})),f},b)}function ka(a){var b=this;return new Ag(function(c){function d(){var b;try{b=a()}catch(f){return void c.onError(f)}Va(b)&&(b=id(b));var i=new mc;e.setDisposable(i),i.setDisposable(b.take(1).subscribe(Pa,function(a){h.onError(a),c.onError(a)},function(){h.onCompleted(),h=new Eg,c.onNext(bc(h,g)),d()}))}var e=new nc,f=new ec(e),g=new qc(f),h=new Eg;return c.onNext(bc(h,g)),f.add(b.subscribe(function(a){h.onNext(a)},function(a){h.onError(a),c.onError(a)},function(){h.onCompleted(),c.onCompleted()})),d(),g},b)}function la(a,b){return new Kf(a,b)}function L(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return b}function ma(a){this.patterns=a}function na(a,b){this.expression=a,this.selector=b}function oa(a){return function(b){a.onError(b)}}function pa(a,b){return function(){var c=Ya(a.selector).apply(a,arguments);return c===Xa?b.onError(c.e):void b.onNext(c)}}function qa(a,b,c){var d=a.get(b);if(!d){var e=new Sf(b,c);return a.set(b,e),e}return d}function ra(a,b,c){this.joinObserverArray=a,this.onNext=b,this.onCompleted=c,this.joinObservers=new Rf;for(var d=0,e=this.joinObserverArray.length;e>d;d++){var f=this.joinObserverArray[d];this.joinObservers.set(f,f)}}function sa(a,b){return new Tf(a,b)}function ta(a,b,c){return new Ag(function(d){var e=a,f=tc(b);return c.scheduleRecursiveFuture(0,e,function(a,b){if(f>0){var g=c.now();e=new Date(e.getTime()+f),e.getTime()<=g&&(e=new Date(g+f))}d.onNext(a),b(a+1,new Date(e))})})}function ua(a,b,c){return a===b?new Ag(function(a){return c.schedulePeriodic(0,b,function(b){return a.onNext(b),b+1})}):ld(function(){return ta(new Date(c.now()+a),b,c)})}function va(a,b,c){return new Ag(function(d){var e,f=!1,g=new nc,h=null,i=[],j=!1;return e=a.materialize().timestamp(c).subscribe(function(a){var e,k;"E"===a.value.kind?(i=[],i.push(a),h=a.value.error,k=!j):(i.push({value:a.value,timestamp:a.timestamp+b}),k=!f,f=!0),k&&(null!==h?d.onError(h):(e=new mc,g.setDisposable(e),e.setDisposable(c.scheduleRecursiveFuture(null,b,function(a,b){var e,g,k,l;if(null===h){j=!0;do k=null,i.length>0&&i[0].timestamp-c.now()<=0&&(k=i.shift().value),null!==k&&k.accept(d);while(null!==k);l=!1,g=0,i.length>0?(l=!0,g=Math.max(0,i[0].timestamp-c.now())):f=!1,e=h,j=!1,null!==e?d.onError(e):l&&b(null,g)}}))))}),new oc(e,g)},a)}function wa(a,b,c){return ld(function(){return va(a,b-c.now(),c)})}function xa(a,b,c){var d,e;return Wa(b)?e=b:(d=b,e=c),new Ag(function(b){function c(){i.setDisposable(a.subscribe(function(a){var c=Ya(e)(a);if(c===Xa)return b.onError(c.e);var d=new mc;g.add(d),d.setDisposable(c.subscribe(function(){b.onNext(a),g.remove(d),f()},function(a){b.onError(a)},function(){b.onNext(a),g.remove(d),f()}))},function(a){b.onError(a)},function(){h=!0,i.dispose(),f()}))}function f(){h&&0===g.length&&b.onCompleted()}var g=new ec,h=!1,i=new nc;return d?i.setDisposable(d.subscribe(c,function(a){b.onError(a)},c)):c(),new oc(i,g)},this)}function ya(a,b){return new Ag(function(c){var d,e=!1,f=new nc,g=0,h=a.subscribe(function(a){var h=Ya(b)(a);if(h===Xa)return c.onError(h.e);Va(h)&&(h=id(h)),e=!0,d=a,g++;var i=g,j=new mc;f.setDisposable(j),j.setDisposable(h.subscribe(function(){e&&g===i&&c.onNext(d),e=!1,j.dispose()},function(a){c.onError(a)},function(){e&&g===i&&c.onNext(d),e=!1,j.dispose()}))},function(a){f.dispose(),c.onError(a),e=!1,g++},function(){f.dispose(),e&&c.onNext(d),c.onCompleted(),e=!1,g++});return new oc(h,f)},a)}function O(a){return a.toArray()}function O(a){return a.toArray()}function za(a,b,c,d){return Wa(b)&&(d=c,c=b,b=xd()),Xc.isObservable(d)||(d=Dd(new cg)),new Ag(function(e){function f(a){function b(){return l=c===k}var c=k,f=new mc;i.setDisposable(f),f.setDisposable(a.subscribe(function(){b()&&h.setDisposable(d.subscribe(e)),f.dispose()},function(a){b()&&e.onError(a)},function(){b()&&h.setDisposable(d.subscribe(e))}))}function g(){var a=!l;return a&&k++,a}var h=new nc,i=new nc,j=new mc;h.setDisposable(j);var k=0,l=!1;return f(b),j.setDisposable(a.subscribe(function(a){if(g()){e.onNext(a);var b=Ya(c)(a);if(b===Xa)return e.onError(b.e);f(Va(b)?id(b):b)}},function(a){g()&&e.onError(a)},function(){g()&&e.onCompleted()})),new oc(h,i)},a)}function Aa(a,b,c,d){return uc(c)&&(d=c,c=Dd(new cg)),c instanceof Error&&(c=Dd(c)),uc(d)||(d=Gc),Xc.isObservable(c)||(c=Dd(new cg)),new Ag(function(e){function f(){var a=g;k.setDisposable(d.scheduleFuture(null,b,function(){j=g===a,j&&(Va(c)&&(c=id(c)),i.setDisposable(c.subscribe(e)))}))}var g=0,h=new mc,i=new nc,j=!1,k=new nc;return i.setDisposable(h),f(),h.setDisposable(a.subscribe(function(a){j||(g++,e.onNext(a),f())},function(a){j||(g++,e.onError(a))},function(){j||(g++,e.onCompleted())})),new oc(i,k)},a)}function Ba(a){return{"@@transducer/init":function(){return a},"@@transducer/step":function(a,b){return a.onNext(b)},"@@transducer/result":function(a){return a.onCompleted()}}}function Ca(a){this.predicate=a}function Da(a){this.predicate=a}function Ea(a,b){var c=this;this.scheduler=a,this.messages=b,this.subscriptions=[],this.observers=[];for(var d=0,e=this.messages.length;e>d;d++){var f=this.messages[d],g=f.value;!function(b){a.scheduleAbsolute(null,f.time,function(){for(var a=c.observers.slice(0),d=0,e=a.length;e>d;d++)b.accept(a[d]);return ic})}(g)}}var Fa={"function":!0,object:!0},Ga=Fa[typeof exports]&&exports&&!exports.nodeType?exports:null,Ha=Fa[typeof module]&&module&&!module.nodeType?module:null,Ia=b(Ga&&Ha&&"object"==typeof global&&global),Ja=b(Fa[typeof self]&&self),Ka=b(Fa[typeof window]&&window),La=Ha&&Ha.exports===Ga?Ga:null,Ma=b(Fa[typeof this]&&this),Na=Ia||Ka!==(Ma&&Ma.window)&&Ka||Ja||Ma||Function("return this")(),Oa={internals:{},config:{Promise:Na.Promise},helpers:{}},Pa=Oa.helpers.noop=function(){},Qa=Oa.helpers.identity=function(a){return a},Ra=Oa.helpers.defaultNow=function(){return Date.now?Date.now:function(){return+new Date}}(),Sa=Oa.helpers.defaultComparer=function(a,b){return $b(a,b)},Ta=Oa.helpers.defaultSubComparer=function(a,b){return a>b?1:b>a?-1:0},Ua=(Oa.helpers.defaultKeySerializer=function(a){return a.toString()},Oa.helpers.defaultError=function(a){throw a}),Va=Oa.helpers.isPromise=function(a){return!!a&&"function"!=typeof a.subscribe&&"function"==typeof a.then},Wa=Oa.helpers.isFunction=function(){var a=function(a){return"function"==typeof a||!1};return a(/x/)&&(a=function(a){return"function"==typeof a&&"[object Function]"==cb.call(a)}),a}(),Xa={e:{}},Ya=Oa.internals.tryCatch=function(a){if(!Wa(a))throw new TypeError("fn must be a function");return d(a)};Oa.config.longStackSupport=!1;var Za=!1,$a=Ya(function(){throw new Error})();Za=!!$a.e&&!!$a.e.stack;var _a,ab=j(),bb="From previous event:",cb=Object.prototype.toString,db="[object Array]",eb="[object Function]",fb="[object String]";Array.prototype.forEach||(Array.prototype.forEach=function(a,b){var c,d;if(null==this)throw new TypeError(" this is null or not defined");var e=Object(this),f=e.length>>>0;if("function"!=typeof a)throw new TypeError(a+" is not a function");for(arguments.length>1&&(c=b),d=0;f>d;){var g;d in e&&(g=e[d],a.call(c,g,d,e)),d++}});var gb=Object("a"),hb="a"!==gb[0]||!(0 in gb);Array.prototype.every||(Array.prototype.every=function(a){var b=Object(this),c=hb&&cb.call(this)===fb?this.split(""):b,d=c.length>>>0,e=arguments[1];if(cb.call(a)!==eb)throw new TypeError(a+" is not a function");for(var f=0;d>f;f++)if(f in c&&!a.call(e,c[f],f,b))return!1;return!0}),Array.prototype.map||(Array.prototype.map=function(a){var b=Object(this),c=hb&&cb.call(this)===fb?this.split(""):b,d=c.length>>>0,e=new Array(d),f=arguments[1];if(cb.call(a)!==eb)throw new TypeError(a+" is not a function");for(var g=0;d>g;g++)g in c&&(e[g]=a.call(f,c[g],g,b));return e}),Array.prototype.filter||(Array.prototype.filter=function(a){for(var b,c=[],d=new Object(this),e=0,f=d.length>>>0;f>e;e++)b=d[e],e in d&&a.call(arguments[1],b,e,d)&&c.push(b);return c}),Array.isArray||(Array.isArray=function(a){return cb.call(a)===db}),Array.prototype.indexOf||(Array.prototype.indexOf=function(a){var b=Object(this),c=b.length>>>0;if(0===c)return-1;var d=0;if(arguments.length>1&&(d=Number(arguments[1]),d!==d?d=0:0!==d&&d!==1/0&&d!==-(1/0)&&(d=(d>0||-1)*Math.floor(Math.abs(d)))),d>=c)return-1;for(var e=d>=0?d:Math.max(c-Math.abs(d),0);c>e;e++)if(e in b&&b[e]===a)return e;return-1}),Object.prototype.propertyIsEnumerable||(Object.prototype.propertyIsEnumerable=function(a){for(var b in this)if(b===a)return!0;return!1}),Object.keys||(Object.keys=function(){"use strict";var a=Object.prototype.hasOwnProperty,b=!{toString:null}.propertyIsEnumerable("toString");return function(c){if("object"!=typeof c&&("function"!=typeof c||null===c))throw new TypeError("Object.keys called on non-object");var d,e,f=[];for(d in c)a.call(c,d)&&f.push(d);if(b)for(e=0;ub>e;e++)a.call(c,tb[e])&&f.push(tb[e]);return f}}()),"function"!=typeof Object.create&&(Object.create=function(){function a(){}var b=Object.prototype.hasOwnProperty;return function(c){if("object"!=typeof c)throw new TypeError("Object prototype may only be an Object or null");a.prototype=c;var d=new a;if(a.prototype=null,arguments.length>1){var e=Object(arguments[1]);for(var f in e)b.call(e,f)&&(d[f]=e[f])}return d}}()),Na.Element&&Na.Element.prototype.attachEvent&&!Na.Element.prototype.addEventListener&&function(){function a(a,b){Window.prototype[a]=HTMLDocument.prototype[a]=Element.prototype[a]=b}function b(){b.interval&&document.body&&(b.interval=clearInterval(b.interval),document.dispatchEvent(new CustomEvent("DOMContentLoaded")))}a("addEventListener",function(a,b){var c=this,d=c._c1_listeners=c._c1_listeners||{},e=d[a]=d[a]||[];c.attachEvent("on"+a,e.event=function(a){a||(a=Na.event);var b=c.document&&c.document.documentElement||c.documentElement||{scrollLeft:0,scrollTop:0};switch(a.currentTarget=c,a.pageX=a.clientX+b.scrollLeft,a.pageY=a.clientY+b.scrollTop,a.preventDefault=function(){if(a.bubbledKeyCode=a.keyCode,a.ctrlKey)try{a.keyCode=0}catch(a){}a.defaultPrevented=!0,a.returnValue=!1,a.modified=!0,a.returnValue=!1},a.stopImmediatePropagation=function(){k=!1,a.cancelBubble=!0},a.stopPropagation=function(){a.cancelBubble=!0},a.relatedTarget=a.fromElement||null,a.target=a.srcElement||c,a.timeStamp=+new Date,a.type){case"keypress":var d="charCode"in a?a.charCode:a.keyCode;10===d?(d=0,a.keyCode=13):13===d||27===d?d=0:3===d&&(d=99),a.charCode=d,a.keyChar=a.charCode?String.fromCharCode(a.charCode):""}var f={};for(var g in a)f[g]=a[g];for(var h,i=0,j=[].concat(e),k=!0;k&&(h=j[i]);++i)for(var l,m=0;l=e[m];++m)if(l===h){l.call(c,f);break}}),e.push(b)}),a("removeEventListener",function(a,b){for(var c,d=this,e=d._c1_listeners=d._c1_listeners||{},f=e[a]=e[a]||[],g=f.length-1;c=f[g];--g)if(c===b){f.splice(g,1);break}!f.length&&f.event&&d.detachEvent("on"+a,f.event)}),a("dispatchEvent",function(a){var b=this,c=a.type,d=b._c1_listeners=b._c1_listeners||{},e=d[c]=d[c]||[];try{return b.fireEvent("on"+c,a)}catch(f){return e.event&&e.event(a)}}),b.interval=setInterval(b,1),Na.addEventListener("load",b)}(),(!Na.CustomEvent||"object"==typeof Na.CustomEvent)&&function(){function b(b,c){var d;c=c||{bubbles:!1,cancelable:!1,detail:a};try{document.createEvent?(d=document.createEvent("CustomEvent"),d.initCustomEvent(b,c.bubbles,c.cancelable,c.detail)):document.createEventObject&&(d=document.createEventObject())}catch(e){d=document.createEvent("Event"),d.initEvent(b,c.bubbles,c.cancelable),d.detail=c.detail}return d}Na.CustomEvent&&(b.prototype=Na.CustomEvent.prototype),Na.CustomEvent=b}();var ib=Oa.EmptyError=function(){this.message="Sequence contains no elements.",Error.call(this)};ib.prototype=Object.create(Error.prototype),ib.prototype.name="EmptyError";var jb=Oa.ObjectDisposedError=function(){this.message="Object has been disposed",Error.call(this)};jb.prototype=Object.create(Error.prototype),jb.prototype.name="ObjectDisposedError";var kb=Oa.ArgumentOutOfRangeError=function(){this.message="Argument out of range",Error.call(this)};kb.prototype=Object.create(Error.prototype),kb.prototype.name="ArgumentOutOfRangeError";var lb=Oa.NotSupportedError=function(a){this.message=a||"This operation is not supported",Error.call(this)};lb.prototype=Object.create(Error.prototype),lb.prototype.name="NotSupportedError";var mb=Oa.NotImplementedError=function(a){this.message=a||"This operation is not implemented",Error.call(this)};mb.prototype=Object.create(Error.prototype),mb.prototype.name="NotImplementedError";var nb=Oa.helpers.notImplemented=function(){throw new mb},ob=(Oa.helpers.notSupported=function(){throw new lb},"function"==typeof Symbol&&Symbol.iterator||"_es6shim_iterator_");Na.Set&&"function"==typeof(new Na.Set)["@@iterator"]&&(ob="@@iterator");var pb=Oa.doneEnumerator={done:!0,value:a},qb=Oa.helpers.isIterable=function(b){return b&&b[ob]!==a},rb=Oa.helpers.isArrayLike=function(b){return b&&b.length!==a};Oa.helpers.iterator=ob;var sb=Oa.internals.bindCallback=function(a,b,c){if("undefined"==typeof b)return a;switch(c){case 0:return function(){return a.call(b)};case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}},tb=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],ub=tb.length,vb="[object Arguments]",wb="[object Array]",xb="[object Boolean]",yb="[object Date]",zb="[object Error]",Ab="[object Function]",Bb="[object Map]",Cb="[object Number]",Db="[object Object]",Eb="[object RegExp]",Fb="[object Set]",Gb="[object String]",Hb="[object WeakMap]",Ib="[object ArrayBuffer]",Jb="[object Float32Array]",Kb="[object Float64Array]",Lb="[object Int8Array]",Mb="[object Int16Array]",Nb="[object Int32Array]",Ob="[object Uint8Array]",Pb="[object Uint8ClampedArray]",Qb="[object Uint16Array]",Rb="[object Uint32Array]",Sb={};Sb[Jb]=Sb[Kb]=Sb[Lb]=Sb[Mb]=Sb[Nb]=Sb[Ob]=Sb[Pb]=Sb[Qb]=Sb[Rb]=!0,Sb[vb]=Sb[wb]=Sb[Ib]=Sb[xb]=Sb[yb]=Sb[zb]=Sb[Ab]=Sb[Bb]=Sb[Cb]=Sb[Db]=Sb[Eb]=Sb[Fb]=Sb[Gb]=Sb[Hb]=!1;var Tb=Object.prototype,Ub=Tb.hasOwnProperty,Vb=Tb.toString,Wb=Math.pow(2,53)-1,Xb=Object.keys||function(){var a=Object.prototype.hasOwnProperty,b=!{toString:null}.propertyIsEnumerable("toString"),c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],d=c.length;return function(e){if("object"!=typeof e&&("function"!=typeof e||null===e))throw new TypeError("Object.keys called on non-object");var f,g,h=[];for(f in e)a.call(e,f)&&h.push(f);if(b)for(g=0;d>g;g++)a.call(e,c[g])&&h.push(c[g]);return h}}(),_=Oa.internals.isObject=function(a){var b=typeof a;return!!a&&("object"===b||"function"===b)},Yb=function(){try{Object({toString:0}+"")}catch(a){return function(){return!1}}return function(a){return"function"!=typeof a.toString&&"string"==typeof(a+"")}}(),Zb=Array.isArray||function(a){return n(a)&&o(a.length)&&Vb.call(a)===wb},$b=Oa.internals.isEqual=function(a,b){return t(a,b)},_b=({}.hasOwnProperty,Array.prototype.slice,Oa.internals.inherits=function(a,b){function c(){this.constructor=a}c.prototype=b.prototype,a.prototype=new c}),ac=Oa.internals.addProperties=function(a){for(var b=[],c=1,d=arguments.length;d>c;c++)b.push(arguments[c]);for(var e=0,f=b.length;f>e;e++){var g=b[e];for(var h in g)a[h]=g[h]}},bc=Oa.internals.addRef=function(a,b){return new Ag(function(c){return new oc(b.getDisposable(),a.subscribe(c))})};v.prototype.compareTo=function(a){var b=this.value.compareTo(a.value);return 0===b&&(b=this.id-a.id),b};var cc=Oa.internals.PriorityQueue=function(a){this.items=new Array(a),this.length=0},dc=cc.prototype;dc.isHigherPriority=function(a,b){return this.items[a].compareTo(this.items[b])<0},dc.percolate=function(a){if(!(a>=this.length||0>a)){var b=a-1>>1;if(!(0>b||b===a)&&this.isHigherPriority(a,b)){var c=this.items[a];this.items[a]=this.items[b],this.items[b]=c,this.percolate(b)}}},dc.heapify=function(a){if(+a||(a=0),!(a>=this.length||0>a)){var b=2*a+1,c=2*a+2,d=a;if(ba;a++)c[a]=arguments[a];this.disposables=c,this.isDisposed=!1,this.length=c.length},fc=ec.prototype;fc.add=function(a){this.isDisposed?a.dispose():(this.disposables.push(a),this.length++)},fc.remove=function(a){var b=!1;if(!this.isDisposed){var c=this.disposables.indexOf(a);-1!==c&&(b=!0,this.disposables.splice(c,1),this.length--,a.dispose())}return b},fc.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;for(var a=this.disposables.length,b=new Array(a),c=0;a>c;c++)b[c]=this.disposables[c];for(this.disposables=[],this.length=0,c=0;a>c;c++)b[c].dispose()}};var gc=Oa.Disposable=function(a){this.isDisposed=!1,this.action=a||Pa};gc.prototype.dispose=function(){this.isDisposed||(this.action(),this.isDisposed=!0)};var hc=gc.create=function(a){return new gc(a)},ic=gc.empty={dispose:Pa},jc=gc.isDisposable=function(a){return a&&Wa(a.dispose)},kc=gc.checkDisposed=function(a){if(a.isDisposed)throw new jb},lc=gc._fixup=function(a){return jc(a)?a:ic},mc=Oa.SingleAssignmentDisposable=function(){this.isDisposed=!1,this.current=null};mc.prototype.getDisposable=function(){return this.current},mc.prototype.setDisposable=function(a){if(this.current)throw new Error("Disposable has already been assigned");var b=this.isDisposed;!b&&(this.current=a),b&&a&&a.dispose()},mc.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this.current;this.current=null,a&&a.dispose()}};var nc=Oa.SerialDisposable=function(){this.isDisposed=!1,this.current=null};nc.prototype.getDisposable=function(){return this.current},nc.prototype.setDisposable=function(a){var b=this.isDisposed;if(!b){var c=this.current;this.current=a}c&&c.dispose(),b&&a&&a.dispose()},nc.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this.current;this.current=null}a&&a.dispose()};var oc=Oa.BinaryDisposable=function(a,b){this._first=a,this._second=b,this.isDisposed=!1};oc.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this._first;this._first=null,a&&a.dispose();var b=this._second;this._second=null,b&&b.dispose()}};var pc=Oa.NAryDisposable=function(a){this._disposables=a,this.isDisposed=!1};pc.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;for(var a=0,b=this._disposables.length;b>a;a++)this._disposables[a].dispose();this._disposables.length=0}};var qc=Oa.RefCountDisposable=function(){function a(a){this.disposable=a,this.disposable.count++,this.isInnerDisposed=!1}function b(a){this.underlyingDisposable=a,this.isDisposed=!1,this.isPrimaryDisposed=!1,this.count=0}return a.prototype.dispose=function(){this.disposable.isDisposed||this.isInnerDisposed||(this.isInnerDisposed=!0,this.disposable.count--,0===this.disposable.count&&this.disposable.isPrimaryDisposed&&(this.disposable.isDisposed=!0,this.disposable.underlyingDisposable.dispose()))},b.prototype.dispose=function(){this.isDisposed||this.isPrimaryDisposed||(this.isPrimaryDisposed=!0,0===this.count&&(this.isDisposed=!0,this.underlyingDisposable.dispose()))},b.prototype.getDisposable=function(){return this.isDisposed?ic:new a(this)},b}();w.prototype.dispose=function(){this.scheduler.schedule(this,x)};var rc=Oa.internals.ScheduledItem=function(a,b,c,d,e){this.scheduler=a,this.state=b,this.action=c,this.dueTime=d,this.comparer=e||Ta,this.disposable=new mc};rc.prototype.invoke=function(){this.disposable.setDisposable(this.invokeCore())},rc.prototype.compareTo=function(a){return this.comparer(this.dueTime,a.dueTime)},rc.prototype.isCancelled=function(){return this.disposable.isDisposed},rc.prototype.invokeCore=function(){return lc(this.action(this.scheduler,this.state))};var sc=Oa.Scheduler=function(){function a(){}a.isScheduler=function(b){return b instanceof a};var b=a.prototype;return b.schedule=function(a,b){throw new mb},b.scheduleFuture=function(b,c,d){var e=c;return e instanceof Date&&(e-=this.now()),e=a.normalize(e),0===e?this.schedule(b,d):this._scheduleFuture(b,e,d)},b._scheduleFuture=function(a,b,c){throw new mb},a.now=Ra,a.prototype.now=Ra,a.normalize=function(a){return 0>a&&(a=0),a},a}(),tc=sc.normalize,uc=sc.isScheduler;!function(a){function b(a,b){function c(b){function d(a,b){return g?f.remove(i):h=!0,e(b,c),ic}var g=!1,h=!1,i=a.schedule(b,d);h||(f.add(i),g=!0)}var d=b[0],e=b[1],f=new ec;return e(d,c),f}function c(a,b){function c(b,d){function g(a,b){return h?f.remove(j):i=!0,e(b,c),ic}var h=!1,i=!1,j=a.scheduleFuture(b,d,g);i||(f.add(j),h=!0)}var d=b[0],e=b[1],f=new ec;return e(d,c),f}a.scheduleRecursive=function(a,c){return this.schedule([a,c],b)},a.scheduleRecursiveFuture=function(a,b,d){return this.scheduleFuture([a,d],b,c)}}(sc.prototype),function(a){a.schedulePeriodic=function(a,b,c){if("undefined"==typeof Na.setInterval)throw new lb;b=tc(b);var d=a,e=Na.setInterval(function(){d=c(d)},b);return hc(function(){Na.clearInterval(e)})}}(sc.prototype),function(a){a.catchError=a["catch"]=function(a){return new Hc(this,a)}}(sc.prototype);var vc,wc,xc=Oa.internals.SchedulePeriodicRecursive=function(){function a(a){return function(b,c){c(0,a._period);var d=Ya(a._action)(a._state);d===Xa&&(a._cancel.dispose(),e(d.e)),a._state=d}}function b(a,b,c,d){this._scheduler=a,this._state=b,this._period=c,this._action=d}return b.prototype.start=function(){var b=new mc;return this._cancel=b,b.setDisposable(this._scheduler.scheduleRecursiveFuture(0,this._period,a(this))),b},b}(),yc=function(a){function b(){a.call(this)}return _b(b,a),b.prototype.schedule=function(a,b){return lc(b(this,a))},b}(sc),zc=sc.immediate=new yc,Ac=function(a){function b(){for(;d.length>0;){var a=d.dequeue();!a.isCancelled()&&a.invoke()}}function c(){a.call(this)}var d;return _b(c,a),c.prototype.schedule=function(a,c){var f=new rc(this,a,c,this.now());if(d)d.enqueue(f);else{d=new cc(4),d.enqueue(f);var g=Ya(b)();d=null,g===Xa&&e(g.e)}return f.disposable},c.prototype.scheduleRequired=function(){return!d},c}(sc),Bc=sc.currentThread=new Ac,Cc=function(){var a,b=Pa;if(Na.setTimeout)a=Na.setTimeout,b=Na.clearTimeout;else{if(!Na.WScript)throw new lb;a=function(a,b){Na.WScript.Sleep(b),a()}}return{setTimeout:a,clearTimeout:b}}(),Dc=Cc.setTimeout,Ec=Cc.clearTimeout;!function(){function a(b){if(f)Dc(function(){a(b)},0);else{var c=d[b];if(c){f=!0;var g=Ya(c)();wc(b),f=!1,g===Xa&&e(g.e)}}}function b(){if(!Na.postMessage||Na.importScripts)return!1;var a=!1,b=Na.onmessage;return Na.onmessage=function(){a=!0},Na.postMessage("","*"),Na.onmessage=b,a}var c=1,d={},f=!1;wc=function(a){delete d[a]};var g=new RegExp("^"+String(cb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),h="function"==typeof(h=Ia&&La&&Ia.setImmediate)&&!g.test(h)&&h;if(Wa(h))vc=function(b){var e=c++;return d[e]=b,h(function(){a(e)}),e};else if("undefined"!=typeof process&&"[object process]"==={}.toString.call(process))vc=function(b){var e=c++;return d[e]=b,process.nextTick(function(){a(e)}),e};else if(b()){var i="ms.rx.schedule"+Math.random(),j=function(b){"string"==typeof b.data&&b.data.substring(0,i.length)===i&&a(b.data.substring(i.length))};Na.addEventListener("message",j,!1),vc=function(a){var b=c++;return d[b]=a,Na.postMessage(i+b,"*"),b}}else if(Na.MessageChannel){var k=new Na.MessageChannel;k.port1.onmessage=function(b){a(b.data)},vc=function(a){var b=c++;return d[b]=a,k.port2.postMessage(b), b}}else vc="document"in Na&&"onreadystatechange"in Na.document.createElement("script")?function(b){var e=Na.document.createElement("script"),f=c++;return d[f]=b,e.onreadystatechange=function(){a(f),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null},Na.document.documentElement.appendChild(e),f}:function(b){var e=c++;return d[e]=b,Dc(function(){a(e)},0),e}}();var Fc=function(a){function b(){a.call(this)}function c(a,b,c,d){return function(){a.setDisposable(gc._fixup(b(c,d)))}}function d(a){this._id=a,this.isDisposed=!1}function e(a){this._id=a,this.isDisposed=!1}return _b(b,a),d.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,wc(this._id))},e.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,Ec(this._id))},b.prototype.schedule=function(a,b){var e=new mc,f=vc(c(e,b,this,a));return new oc(e,new d(f))},b.prototype._scheduleFuture=function(a,b,d){if(0===b)return this.schedule(a,d);var f=new mc,g=Dc(c(f,d,this,a),b);return new oc(f,new e(g))},b}(sc),Gc=sc["default"]=sc.async=new Fc,Hc=function(a){function b(b,c){this._scheduler=b,this._handler=c,this._recursiveOriginal=null,this._recursiveWrapper=null,a.call(this)}return _b(b,a),b.prototype.schedule=function(a,b){return this._scheduler.schedule(a,this._wrap(b))},b.prototype._scheduleFuture=function(a,b,c){return this._scheduler.schedule(a,b,this._wrap(c))},b.prototype.now=function(){return this._scheduler.now()},b.prototype._clone=function(a){return new b(a,this._handler)},b.prototype._wrap=function(a){var b=this;return function(c,d){var f=Ya(a)(b._getRecursiveWrapper(c),d);return f===Xa?(b._handler(f.e)||e(f.e),ic):lc(f)}},b.prototype._getRecursiveWrapper=function(a){if(this._recursiveOriginal!==a){this._recursiveOriginal=a;var b=this._clone(a);b._recursiveOriginal=a,b._recursiveWrapper=b,this._recursiveWrapper=b}return this._recursiveWrapper},b.prototype.schedulePeriodic=function(a,b,c){var d=this,f=!1,g=new mc;return g.setDisposable(this._scheduler.schedulePeriodic(a,b,function(a){if(f)return null;var b=Ya(c)(a);return b===Xa?(f=!0,d._handler(b.e)||e(b.e),g.dispose(),null):b})),g},b}(sc),Ic=Oa.Notification=function(){function a(){}return a.prototype._accept=function(a,b,c){throw new mb},a.prototype._acceptObserver=function(a,b,c){throw new mb},a.prototype.accept=function(a,b,c){return a&&"object"==typeof a?this._acceptObserver(a):this._accept(a,b,c)},a.prototype.toObservable=function(a){var b=this;return uc(a)||(a=zc),new Ag(function(c){return a.schedule(b,function(a,b){b._acceptObserver(c),"N"===b.kind&&c.onCompleted()})})},a}(),Jc=function(a){function b(a){this.value=a,this.kind="N"}return _b(b,a),b.prototype._accept=function(a){return a(this.value)},b.prototype._acceptObserver=function(a){return a.onNext(this.value)},b.prototype.toString=function(){return"OnNext("+this.value+")"},b}(Ic),Kc=function(a){function b(a){this.error=a,this.kind="E"}return _b(b,a),b.prototype._accept=function(a,b){return b(this.error)},b.prototype._acceptObserver=function(a){return a.onError(this.error)},b.prototype.toString=function(){return"OnError("+this.error+")"},b}(Ic),Lc=function(a){function b(){this.kind="C"}return _b(b,a),b.prototype._accept=function(a,b,c){return c()},b.prototype._acceptObserver=function(a){return a.onCompleted()},b.prototype.toString=function(){return"OnCompleted()"},b}(Ic),Mc=Ic.createOnNext=function(a){return new Jc(a)},Nc=Ic.createOnError=function(a){return new Kc(a)},Oc=Ic.createOnCompleted=function(){return new Lc},Pc=Oa.Observer=function(){};Pc.prototype.toNotifier=function(){var a=this;return function(b){return b.accept(a)}},Pc.prototype.asObserver=function(){var a=this;return new Tc(function(b){a.onNext(b)},function(b){a.onError(b)},function(){a.onCompleted()})},Pc.prototype.checked=function(){return new Uc(this)};var Qc=Pc.create=function(a,b,c){return a||(a=Pa),b||(b=Ua),c||(c=Pa),new Tc(a,b,c)};Pc.fromNotifier=function(a,b){var c=sb(a,b,1);return new Tc(function(a){return c(Mc(a))},function(a){return c(Nc(a))},function(){return c(Oc())})},Pc.prototype.notifyOn=function(a){return new Wc(a,this)},Pc.prototype.makeSafe=function(a){return new AnonymousSafeObserver(this._onNext,this._onError,this._onCompleted,a)};var Rc,Sc=Oa.internals.AbstractObserver=function(a){function b(){this.isStopped=!1}return _b(b,a),b.prototype.next=nb,b.prototype.error=nb,b.prototype.completed=nb,b.prototype.onNext=function(a){!this.isStopped&&this.next(a)},b.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.error(a))},b.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.completed())},b.prototype.dispose=function(){this.isStopped=!0},b.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.error(a),!0)},b}(Pc),Tc=Oa.AnonymousObserver=function(a){function b(b,c,d){a.call(this),this._onNext=b,this._onError=c,this._onCompleted=d}return _b(b,a),b.prototype.next=function(a){this._onNext(a)},b.prototype.error=function(a){this._onError(a)},b.prototype.completed=function(){this._onCompleted()},b}(Sc),Uc=function(a){function b(b){a.call(this),this._observer=b,this._state=0}_b(b,a);var c=b.prototype;return c.onNext=function(a){this.checkAccess();var b=Ya(this._observer.onNext).call(this._observer,a);this._state=0,b===Xa&&e(b.e)},c.onError=function(a){this.checkAccess();var b=Ya(this._observer.onError).call(this._observer,a);this._state=2,b===Xa&&e(b.e)},c.onCompleted=function(){this.checkAccess();var a=Ya(this._observer.onCompleted).call(this._observer);this._state=2,a===Xa&&e(a.e)},c.checkAccess=function(){if(1===this._state)throw new Error("Re-entrancy detected");if(2===this._state)throw new Error("Observer completed");0===this._state&&(this._state=1)},b}(Pc),Vc=Oa.internals.ScheduledObserver=function(a){function b(b,c){a.call(this),this.scheduler=b,this.observer=c,this.isAcquired=!1,this.hasFaulted=!1,this.queue=[],this.disposable=new nc}function c(a,b){return function(){a.onNext(b)}}function d(a,b){return function(){a.onError(b)}}function f(a){return function(){a.onCompleted()}}function g(a,b){var c;if(!(a.queue.length>0))return void(a.isAcquired=!1);c=a.queue.shift();var d=Ya(c)();return d===Xa?(a.queue=[],a.hasFaulted=!0,e(d.e)):void b(a)}return _b(b,a),b.prototype.next=function(a){this.queue.push(c(this.observer,a))},b.prototype.error=function(a){this.queue.push(d(this.observer,a))},b.prototype.completed=function(){this.queue.push(f(this.observer))},b.prototype.ensureActive=function(){var a=!1;!this.hasFaulted&&this.queue.length>0&&(a=!this.isAcquired,this.isAcquired=!0),a&&this.disposable.setDisposable(this.scheduler.scheduleRecursive(this,g))},b.prototype.dispose=function(){a.prototype.dispose.call(this),this.disposable.dispose()},b}(Sc),Wc=function(a){function b(b,c,d){a.call(this,b,c),this._cancel=d}return _b(b,a),b.prototype.next=function(b){a.prototype.next.call(this,b),this.ensureActive()},b.prototype.error=function(b){a.prototype.error.call(this,b),this.ensureActive()},b.prototype.completed=function(){a.prototype.completed.call(this),this.ensureActive()},b.prototype.dispose=function(){a.prototype.dispose.call(this),this._cancel&&this._cancel.dispose(),this._cancel=null},b}(Vc),Xc=Oa.Observable=function(){function a(a,b){return function(c){var d=c.onError;return c.onError=function(b){f(b,a),d.call(c,b)},b.call(a,c)}}function b(){if(Oa.config.longStackSupport&&Za){var b=this._subscribe,c=Ya(e)(new Error).e;this.stack=c.stack.substring(c.stack.indexOf("\n")+1),this._subscribe=a(this,b)}}return Rc=b.prototype,b.isObservable=function(a){return a&&Wa(a.subscribe)},Rc.subscribe=Rc.forEach=function(a,b,c){return this._subscribe("object"==typeof a?a:Qc(a,b,c))},Rc.subscribeOnNext=function(a,b){return this._subscribe(Qc("undefined"!=typeof b?function(c){a.call(b,c)}:a))},Rc.subscribeOnError=function(a,b){return this._subscribe(Qc(null,"undefined"!=typeof b?function(c){a.call(b,c)}:a))},Rc.subscribeOnCompleted=function(a,b){return this._subscribe(Qc(null,null,"undefined"!=typeof b?function(){a.call(b)}:a))},b}(),Yc=Oa.ObservableBase=function(a){function b(a){return a&&Wa(a.dispose)?a:Wa(a)?hc(a):ic}function c(a,c){var d=c[0],f=c[1],g=Ya(f.subscribeCore).call(f,d);g!==Xa||d.fail(Xa.e)||e(Xa.e),d.setDisposable(b(g))}function d(){a.call(this)}return _b(d,a),d.prototype._subscribe=function(a){var b=new Bg(a),d=[b,this];return Bc.scheduleRequired()?Bc.schedule(d,c):c(null,d),b},d.prototype.subscribeCore=nb,d}(Xc),Zc=Oa.FlatMapObservable=function(a){function b(b,c,d,e){this.resultSelector=Wa(d)?d:null,this.selector=sb(Wa(c)?c:function(){return c},e,3),this.source=b,a.call(this)}function c(a,b,c,d){this.i=0,this.selector=b,this.resultSelector=c,this.source=d,this.o=a,Sc.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new c(a,this.selector,this.resultSelector,this))},_b(c,Sc),c.prototype._wrapResult=function(a,b,c){return this.resultSelector?a.map(function(a,d){return this.resultSelector(b,a,c,d)},this):a},c.prototype.next=function(a){var b=this.i++,c=Ya(this.selector)(a,b,this.source);return c===Xa?this.o.onError(c.e):(Va(c)&&(c=id(c)),(rb(c)||qb(c))&&(c=Xc.from(c)),void this.o.onNext(this._wrapResult(c,a,b)))},c.prototype.error=function(a){this.o.onError(a)},c.prototype.completed=function(){this.o.onCompleted()},b}(Yc),$c=Oa.internals.Enumerable=function(){};y.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this._s.isDisposed=!0)};var _c=function(a){function b(b){this.sources=b,a.call(this)}function c(a,b){if(!a.isDisposed){var c=Ya(a.e.next).call(a.e);if(c===Xa)return a.o.onError(c.e);if(c.done)return a.o.onCompleted();var e=c.value;Va(e)&&(e=id(e));var f=new mc;a.subscription.setDisposable(f),f.setDisposable(e.subscribe(new d(a,b)))}}function d(a,b){this._state=a,this._recurse=b,Sc.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){var b=new nc,d={isDisposed:!1,o:a,subscription:b,e:this.sources[ob]()},e=Bc.scheduleRecursive(d,c);return new pc([b,e,new y(d)])},_b(d,Sc),d.prototype.next=function(a){this._state.o.onNext(a)},d.prototype.error=function(a){this._state.o.onError(a)},d.prototype.completed=function(){this._recurse(this._state)},b}(Yc);$c.prototype.concat=function(){return new _c(this)};var ad=function(a){function b(b){this.sources=b,a.call(this)}function c(a,b){if(!a.isDisposed){var c=Ya(a.e.next).call(a.e);if(c===Xa)return a.o.onError(c.e);if(c.done)return null!==a.lastError?a.o.onError(a.lastError):a.o.onCompleted();var e=c.value;Va(e)&&(e=id(e));var f=new mc;a.subscription.setDisposable(f),f.setDisposable(e.subscribe(new d(a,b)))}}function d(a,b){this._state=a,this._recurse=b,Sc.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){var b=new nc,d={isDisposed:!1,e:this.sources[ob](),subscription:b,lastError:null,o:a},e=Bc.scheduleRecursive(d,c);return new pc([b,e,new y(d)])},_b(d,Sc),d.prototype.next=function(a){this._state.o.onNext(a)},d.prototype.error=function(a){this._state.lastError=a,this._recurse(this._state)},d.prototype.completed=function(){this._state.o.onCompleted()},b}(Yc);$c.prototype.catchError=function(){return new ad(this)},$c.prototype.catchErrorWhen=function(a){var b=this;return new Ag(function(c){var d,e=new Eg,f=new Eg,g=a(e),h=g.subscribe(f),i=b[ob](),j={isDisposed:!1},k=new nc,l=Bc.scheduleRecursive(null,function(a,b){if(!j.isDisposed){var g=Ya(i.next).call(i);if(g===Xa)return c.onError(g.e);if(g.done)return void(d?c.onError(d):c.onCompleted());var h=g.value;Va(h)&&(h=id(h));var l=new mc,m=new mc;k.setDisposable(new oc(m,l)),l.setDisposable(h.subscribe(function(a){c.onNext(a)},function(a){m.setDisposable(f.subscribe(b,function(a){c.onError(a)},function(){c.onCompleted()})),e.onNext(a),l.dispose()},function(){c.onCompleted()}))}});return new pc([h,k,l,new y(j)])})};var bd=function(a){function b(a,b){this.v=a,this.c=null==b?-1:b}function c(a){this.v=a.v,this.l=a.c}return _b(b,a),b.prototype[ob]=function(){return new c(this)},c.prototype.next=function(){return 0===this.l?pb:(this.l>0&&this.l--,{done:!1,value:this.v})},b}($c),cd=$c.repeat=function(a,b){return new bd(a,b)},dd=function(a){function b(a,b,c){this.s=a,this.fn=b?sb(b,c,3):null}function c(a){this.i=-1,this.s=a.s,this.l=this.s.length,this.fn=a.fn}return _b(b,a),b.prototype[ob]=function(){return new c(this)},c.prototype.next=function(){return++this.id?(a.onNext(b[d]),e(d+1)):a.onCompleted()}}return _b(b,a),b.prototype.subscribeCore=function(a){return this._scheduler.scheduleRecursive(0,c(a,this._args))},b}(Yc),td=Xc.fromArray=function(a,b){return uc(b)||(b=Bc),new sd(a,b)},ud=function(a){function b(b,c,d,e,f){this._initialState=b,this._cndFn=c,this._itrFn=d,this._resFn=e,this._s=f,a.call(this)}function c(a,b){if(a.first)a.first=!1;else if(a.newState=Ya(a.self._itrFn)(a.newState),a.newState===Xa)return a.o.onError(a.newState.e);var c=Ya(a.self._cndFn)(a.newState);if(c===Xa)return a.o.onError(c.e);if(c){var d=Ya(a.self._resFn)(a.newState);if(d===Xa)return a.o.onError(d.e);a.o.onNext(d),b(a)}else a.o.onCompleted()}return _b(b,a),b.prototype.subscribeCore=function(a){var b={o:a,self:this,first:!0,newState:this._initialState};return this._s.scheduleRecursive(b,c)},b}(Yc);Xc.generate=function(a,b,c,d,e){return uc(e)||(e=Bc),new ud(a,b,c,d,e)},Xc.of=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return new sd(b,Bc)},Xc.ofWithScheduler=function(a){for(var b=arguments.length,c=new Array(b-1),d=1;b>d;d++)c[d-1]=arguments[d];return new sd(c,a)};var vd=function(a){function b(){a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return ic},b}(Yc),wd=new vd,xd=Xc.never=function(){return wd},yd=function(a){function b(b,c){this._o=b,this._keys=Object.keys(b),this._scheduler=c,a.call(this)}function c(a,b,c){return function(d,e){if(dd?(c.onNext(a+d),e(d+1)):c.onCompleted()}}return _b(b,a),b.prototype.subscribeCore=function(a){return this.scheduler.scheduleRecursive(0,c(this.start,this.rangeCount,a))},b}(Yc);Xc.range=function(a,b,c){return uc(c)||(c=Bc),new zd(a,b,c)};var Ad=function(a){function b(b,c,d){this.value=b,this.repeatCount=null==c?-1:c,this.scheduler=d,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){var b=new I(a,this);return b.run()},b}(Yc);I.prototype.run=function(){function a(a,d){return(-1===a||a>0)&&(b.onNext(c),a>0&&a--),0===a?b.onCompleted():void d(a)}var b=this.observer,c=this.parent.value;return this.parent.scheduler.scheduleRecursive(this.parent.repeatCount,a)},Xc.repeat=function(a,b,c){return uc(c)||(c=Bc),new Ad(a,b,c)};var Bd=function(a){function b(b,c){this._value=b,this._scheduler=c,a.call(this)}function c(a,b){var c=b[0],d=b[1];return d.onNext(c),d.onCompleted(),ic}return _b(b,a),b.prototype.subscribeCore=function(a){var b=[this._value,a];return this._scheduler===zc?c(null,b):this._scheduler.schedule(b,c)},b}(Yc),Cd=(Xc["return"]=Xc.just=function(a,b){return uc(b)||(b=zc),new Bd(a,b)},function(a){function b(b,c){this._error=b,this._scheduler=c,a.call(this)}function c(a,b){var c=b[0],d=b[1];return d.onError(c),ic}return _b(b,a),b.prototype.subscribeCore=function(a){var b=[this._error,a];return this._scheduler===zc?c(null,b):this._scheduler.schedule(b,c)},b}(Yc)),Dd=Xc["throw"]=function(a,b){return uc(b)||(b=zc),new Cd(a,b)},Ed=function(a){function b(b,c){this._resFn=b,this._obsFn=c,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){var b=ic,c=Ya(this._resFn)();if(c===Xa)return new oc(Dd(c.e).subscribe(a),b);c&&(b=c);var d=Ya(this._obsFn)(c);return d===Xa?new oc(Dd(d.e).subscribe(a),b):new oc(d.subscribe(a),b)},b}(Yc);Xc.using=function(a,b){return new Ed(a,b)},Rc.amb=function(a){var b=this;return new Ag(function(c){function d(){f||(f=g,j.dispose())}function e(){f||(f=h,i.dispose())}var f,g="L",h="R",i=new mc,j=new mc;Va(a)&&(a=id(a));var k=Qc(function(a){d(),f===g&&c.onNext(a)},function(a){d(),f===g&&c.onError(a)},function(){d(),f===g&&c.onCompleted()}),l=Qc(function(a){e(),f===h&&c.onNext(a)},function(a){e(),f===h&&c.onError(a)},function(){e(),f===h&&c.onCompleted()});return i.setDisposable(b.subscribe(k)),j.setDisposable(a.subscribe(l)),new oc(i,j)})},Xc.amb=function(){var a,b=xd();if(Array.isArray(arguments[0]))a=arguments[0];else{var c=arguments.length;a=new Array(a);for(var d=0;c>d;d++)a[d]=arguments[d]}for(var d=0,c=a.length;c>d;d++)b=J(b,a[d]);return b};var Fd=function(a){function b(b,c){this.source=b,this._fn=c,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){var b=new mc,c=new nc;return c.setDisposable(b),b.setDisposable(this.source.subscribe(new Gd(a,c,this._fn))),c},b}(Yc),Gd=function(a){function b(b,c,d){this._o=b,this._s=c,this._fn=d,a.call(this)}return _b(b,a),b.prototype.next=function(a){this._o.onNext(a)},b.prototype.completed=function(){return this._o.onCompleted()},b.prototype.error=function(a){var b=Ya(this._fn)(a);if(b===Xa)return this._o.onError(b.e);Va(b)&&(b=id(b));var c=new mc;this._s.setDisposable(c),c.setDisposable(b.subscribe(this._o))},b}(Sc);Rc["catch"]=function(a){return Wa(a)?new Fd(this,a):Hd([this,a])};var Hd=Xc["catch"]=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return ed(a).catchError()};Rc.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return Array.isArray(b[0])?b[0].unshift(this):b.unshift(this),Kd.apply(this,b)};var Id=function(a){function b(b,c){this._params=b,this._cb=c,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){for(var b=this._params.length,c=new Array(b),d={hasValue:u(b,K),hasValueAll:!1,isDone:u(b,K),values:new Array(b)},e=0;b>e;e++){var f=this._params[e],g=new mc;c[e]=g,Va(f)&&(f=id(f)),g.setDisposable(f.subscribe(new Jd(a,e,this._cb,d)))}return new pc(c)},b}(Yc),Jd=function(a){function b(b,c,d,e){this._o=b,this._i=c,this._cb=d,this._state=e,a.call(this)}function c(a){return function(b,c){return c!==a}}return _b(b,a),b.prototype.next=function(a){if(this._state.values[this._i]=a,this._state.hasValue[this._i]=!0,this._state.hasValueAll||(this._state.hasValueAll=this._state.hasValue.every(Qa))){var b=Ya(this._cb).apply(null,this._state.values);if(b===Xa)return this._o.onError(b.e);this._o.onNext(b)}else this._state.isDone.filter(c(this._i)).every(Qa)&&this._o.onCompleted()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._state.isDone[this._i]=!0,this._state.isDone.every(Qa)&&this._o.onCompleted()},b}(Sc),Kd=Xc.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=Wa(b[a-1])?b.pop():L;return Array.isArray(b[0])&&(b=b[0]),new Id(b,d)};Rc.concat=function(){for(var a=[],b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return a.unshift(this),Nd.apply(null,a)};var Ld=function(a){function b(b,c){this._s=b,this._fn=c,a.call(this)}return _b(b,a),b.prototype.next=function(a){this._s.o.onNext(a)},b.prototype.error=function(a){this._s.o.onError(a)},b.prototype.completed=function(){this._s.i++,this._fn(this._s)},b}(Sc),Md=function(a){function b(b){this._sources=b,a.call(this)}function c(a,b){if(!a.disposable.isDisposed){if(a.i===a.sources.length)return a.o.onCompleted();var c=a.sources[a.i];Va(c)&&(c=id(c));var d=new mc;a.subscription.setDisposable(d),d.setDisposable(c.subscribe(new Ld(a,b)))}}return _b(b,a),b.prototype.subscribeCore=function(a){var b=new nc,d=hc(Pa),e={o:a,i:0,subscription:b,disposable:d,sources:this._sources},f=zc.scheduleRecursive(e,c);return new pc([b,d,f])},b}(Yc),Nd=Xc.concat=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(arguments.length);for(var b=0,c=arguments.length;c>b;b++)a[b]=arguments[b]}return new Md(a)};Rc.concatAll=function(){return this.merge(1)};var Od=function(a){function b(b,c){this.source=b,this.maxConcurrent=c,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){var b=new ec;return b.add(this.source.subscribe(new Pd(a,this.maxConcurrent,b))),b},b}(Yc),Pd=function(a){function b(b,c,d){this.o=b,this.max=c,this.g=d,this.done=!1,this.q=[],this.activeCount=0,a.call(this)}function c(b,c){this.parent=b,this.sad=c,a.call(this)}return _b(b,a),b.prototype.handleSubscribe=function(a){var b=new mc;this.g.add(b),Va(a)&&(a=id(a)),b.setDisposable(a.subscribe(new c(this,b)))},b.prototype.next=function(a){this.activeCount0?this.parent.handleSubscribe(this.parent.q.shift()):(this.parent.activeCount--,this.parent.done&&0===this.parent.activeCount&&this.parent.o.onCompleted())},b}(Sc);Rc.merge=function(a){return"number"!=typeof a?Qd(this,a):new Od(this,a)};var Qd=Xc.merge=function(){var a,b,c=[],d=arguments.length;if(arguments[0])if(uc(arguments[0]))for(a=arguments[0],b=1;d>b;b++)c.push(arguments[b]);else for(a=zc,b=0;d>b;b++)c.push(arguments[b]);else for(a=zc,b=1;d>b;b++)c.push(arguments[b]);return Array.isArray(c[0])&&(c=c[0]),H(a,c).mergeAll()},Rd=function(a){function b(b){this.source=b,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){var b=new ec,c=new mc;return b.add(c),c.setDisposable(this.source.subscribe(new Sd(a,b))),b},b}(Yc),Sd=function(a){function b(b,c){this.o=b,this.g=c,this.done=!1,a.call(this)}function c(b,c){this.parent=b,this.sad=c,a.call(this)}return _b(b,a),b.prototype.next=function(a){var b=new mc;this.g.add(b),Va(a)&&(a=id(a)),b.setDisposable(a.subscribe(new c(this,b)))},b.prototype.error=function(a){this.o.onError(a)},b.prototype.completed=function(){this.done=!0,1===this.g.length&&this.o.onCompleted()},_b(c,a),c.prototype.next=function(a){this.parent.o.onNext(a)},c.prototype.error=function(a){this.parent.o.onError(a)},c.prototype.completed=function(){this.parent.g.remove(this.sad),this.parent.done&&1===this.parent.g.length&&this.parent.o.onCompleted()},b}(Sc);Rc.mergeAll=function(){return new Rd(this)};var Td=Oa.CompositeError=function(a){this.innerErrors=a,this.message="This contains multiple errors. Check the innerErrors",Error.call(this)};Td.prototype=Object.create(Error.prototype),Td.prototype.name="CompositeError";var Ud=function(a){function b(b){this.source=b,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){var b=new ec,c=new mc,d={isStopped:!1,errors:[],o:a};return b.add(c),c.setDisposable(this.source.subscribe(new Vd(b,d))),b},b}(Yc),Vd=function(a){function b(b,c){this._group=b,this._state=c,a.call(this)}function c(a,b){0===b.length?a.onCompleted():1===b.length?a.onError(b[0]):a.onError(new Td(b))}function d(b,c,d){this._inner=b,this._group=c,this._state=d,a.call(this)}return _b(b,a),b.prototype.next=function(a){var b=new mc;this._group.add(b),Va(a)&&(a=id(a)),b.setDisposable(a.subscribe(new d(b,this._group,this._state)))},b.prototype.error=function(a){this._state.errors.push(a),this._state.isStopped=!0,1===this._group.length&&c(this._state.o,this._state.errors)},b.prototype.completed=function(){this._state.isStopped=!0,1===this._group.length&&c(this._state.o,this._state.errors)},_b(d,a),d.prototype.next=function(a){this._state.o.onNext(a)},d.prototype.error=function(a){this._state.errors.push(a),this._group.remove(this._inner),this._state.isStopped&&1===this._group.length&&c(this._state.o,this._state.errors)},d.prototype.completed=function(){this._group.remove(this._inner),this._state.isStopped&&1===this._group.length&&c(this._state.o,this._state.errors)},b}(Sc);Xc.mergeDelayError=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}var d=H(null,a);return new Ud(d)},Rc.onErrorResumeNext=function(a){if(!a)throw new Error("Second observable is required");return Yd([this,a])};var Wd=function(a){function b(b){this.sources=b,a.call(this)}function c(a,b){if(a.posc;c++)a[c]=arguments[c]}return new Wd(a)},Zd=function(a){function b(b,c){this._s=b,this._o=Va(c)?id(c):c,this._open=!1,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){var b=new mc;b.setDisposable(this._s.subscribe(new $d(a,this))),Va(this._o)&&(this._o=id(this._o));var c=new mc;return c.setDisposable(this._o.subscribe(new _d(a,this,c))),new oc(b,c)},b}(Yc),$d=function(a){function b(b,c){this._o=b,this._p=c,a.call(this)}return _b(b,a),b.prototype.next=function(a){this._p._open&&this._o.onNext(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.onCompleted=function(){this._p._open&&this._o.onCompleted()},b}(Sc),_d=function(a){function b(b,c,d){this._o=b,this._p=c,this._r=d,a.call(this)}return _b(b,a),b.prototype.next=function(){this._p._open=!0,this._r.dispose()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.onCompleted=function(){this._r.dispose()},b}(Sc);Rc.skipUntil=function(a){return new Zd(this,a)};var ae=function(a){function b(b){this.source=b,a.call(this)}function c(a,b){this.o=a,this.inner=b,this.stopped=!1,this.latest=0,this.hasLatest=!1,Sc.call(this)}function d(a,b){this.parent=a,this.id=b,Sc.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){var b=new nc,d=this.source.subscribe(new c(a,b));return new oc(d,b)},_b(c,Sc),c.prototype.next=function(a){var b=new mc,c=++this.latest;this.hasLatest=!0,this.inner.setDisposable(b),Va(a)&&(a=id(a)),b.setDisposable(a.subscribe(new d(this,c)))},c.prototype.error=function(a){this.o.onError(a)},c.prototype.completed=function(){this.stopped=!0,!this.hasLatest&&this.o.onCompleted()},_b(d,Sc),d.prototype.next=function(a){this.parent.latest===this.id&&this.parent.o.onNext(a)},d.prototype.error=function(a){this.parent.latest===this.id&&this.parent.o.onError(a)},d.prototype.completed=function(){this.parent.latest===this.id&&(this.parent.hasLatest=!1,this.parent.stopped&&this.parent.o.onCompleted())},b}(Yc);Rc["switch"]=Rc.switchLatest=function(){return new ae(this)};var be=function(a){function b(b,c){this.source=b,this.other=Va(c)?id(c):c,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return new oc(this.source.subscribe(a),this.other.subscribe(new ce(a)))},b}(Yc),ce=function(a){function b(b){this._o=b,a.call(this)}return _b(b,a),b.prototype.next=function(){this._o.onCompleted()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.onCompleted=Pa,b}(Sc);Rc.takeUntil=function(a){return new be(this,a)};var de=function(a){function b(b,c,d){this._s=b,this._ss=c,this._cb=d,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){for(var b=this._ss.length,c={hasValue:u(b,K),hasValueAll:!1,values:new Array(b)},d=this._ss.length,e=new Array(d+1),f=0;d>f;f++){var g=this._ss[f],h=new mc;Va(g)&&(g=id(g)),h.setDisposable(g.subscribe(new ee(a,f,c))),e[f]=h}var i=new mc;return i.setDisposable(this._s.subscribe(new fe(a,this._cb,c))),e[d]=i,new pc(e)},b}(Yc),ee=function(a){function b(b,c,d){this._o=b,this._i=c,this._state=d,a.call(this)}return _b(b,a),b.prototype.next=function(a){ this._state.values[this._i]=a,this._state.hasValue[this._i]=!0,this._state.hasValueAll=this._state.hasValue.every(Qa)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=Pa,b}(Sc),fe=function(a){function b(b,c,d){this._o=b,this._cb=c,this._state=d,a.call(this)}return _b(b,a),b.prototype.next=function(a){var b=[a].concat(this._state.values);if(this._state.hasValueAll){var c=Ya(this._cb).apply(null,b);return c===Xa?this._o.onError(c.e):void this._o.onNext(c)}},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Sc);Rc.withLatestFrom=function(){if(0===arguments.length)throw new Error("invalid arguments");for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=Wa(b[a-1])?b.pop():L;return Array.isArray(b[0])&&(b=b[0]),new de(this,b,d)};var ge=function(a){function b(b,c){this._s=b,this._cb=c,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){for(var b=this._s.length,c=new Array(b),d=u(b,K),e=u(b,M),f=0;b>f;f++){var g=this._s[f],h=new mc;c[f]=h,Va(g)&&(g=id(g)),h.setDisposable(g.subscribe(new he(a,f,this,e,d)))}return new pc(c)},b}(Yc),he=function(a){function b(b,c,d,e,f){this._o=b,this._i=c,this._p=d,this._q=e,this._d=f,a.call(this)}function c(a){return a.length>0}function d(a){return a.shift()}function e(a){return function(b,c){return c!==a}}return _b(b,a),b.prototype.next=function(a){if(this._q[this._i].push(a),this._q.every(c)){var b=this._q.map(d),f=Ya(this._p._cb).apply(null,b);if(f===Xa)return this._o.onError(f.e);this._o.onNext(f)}else this._d.filter(e(this._i)).every(Qa)&&this._o.onCompleted()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._d[this._i]=!0,this._d.every(Qa)&&this._o.onCompleted()},b}(Sc);Rc.zip=function(){if(0===arguments.length)throw new Error("invalid arguments");for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=Wa(b[a-1])?b.pop():L;Array.isArray(b[0])&&(b=b[0]);var e=this;return b.unshift(e),new ge(b,d)},Xc.zip=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];Array.isArray(b[0])&&(b=Wa(b[1])?b[0].concat(b[1]):b[0]);var d=b.shift();return d.zip.apply(d,b)};var ie=function(a){function b(b,c){this.sources=b,this._cb=c,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){for(var b=this.sources,c=b.length,d=new Array(c),e={q:u(c,M),done:u(c,K),cb:this._cb,o:a},f=0;c>f;f++)!function(a){var c=b[a],f=new mc;(rb(c)||qb(c))&&(c=rd(c)),d[a]=f,f.setDisposable(c.subscribe(new je(e,a)))}(f);return new pc(d)},b}(Yc),je=function(a){function b(b,c){this._s=b,this._i=c,a.call(this)}function c(a){return a.length>0}function d(a){return a.shift()}function e(a){return function(b,c){return c!==a}}return _b(b,a),b.prototype.next=function(a){if(this._s.q[this._i].push(a),this._s.q.every(c)){var b=this._s.q.map(d),f=Ya(this._s.cb).apply(null,b);if(f===Xa)return this._s.o.onError(f.e);this._s.o.onNext(f)}else this._s.done.filter(e(this._i)).every(Qa)&&this._s.o.onCompleted()},b.prototype.error=function(a){this._s.o.onError(a)},b.prototype.completed=function(){this._s.done[this._i]=!0,this._s.done.every(Qa)&&this._s.o.onCompleted()},b}(Sc);Rc.zipIterable=function(){if(0===arguments.length)throw new Error("invalid arguments");for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=Wa(b[a-1])?b.pop():L,e=this;return b.unshift(e),new ie(b,d)},Rc.asObservable=function(){return new Ag(N(this),this)},Rc.bufferWithCount=function(a,b){return"number"!=typeof b&&(b=a),this.windowWithCount(a,b).flatMap(O).filter(P)};var ke=function(a){function b(b){this.source=b,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new le(a))},b}(Yc),le=function(a){function b(b){this._o=b,a.call(this)}return _b(b,a),b.prototype.next=function(a){a.accept(this._o)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Sc);Rc.dematerialize=function(){return new ke(this)};var me=function(a){function b(b,c,d){this.source=b,this.keyFn=c,this.comparer=d,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new ne(a,this.keyFn,this.comparer))},b}(Yc),ne=function(a){function b(b,c,d){this.o=b,this.keyFn=c,this.comparer=d,this.hasCurrentKey=!1,this.currentKey=null,a.call(this)}return _b(b,a),b.prototype.next=function(a){var b,c=a;return Wa(this.keyFn)&&(c=Ya(this.keyFn)(a),c===Xa)?this.o.onError(c.e):this.hasCurrentKey&&(b=Ya(this.comparer)(this.currentKey,c),b===Xa)?this.o.onError(b.e):void(this.hasCurrentKey&&b||(this.hasCurrentKey=!0,this.currentKey=c,this.o.onNext(a)))},b.prototype.error=function(a){this.o.onError(a)},b.prototype.completed=function(){this.o.onCompleted()},b}(Sc);Rc.distinctUntilChanged=function(a,b){return b||(b=Sa),new me(this,a,b)};var oe=function(a){function b(b,c,d,e){this.source=b,this._oN=c,this._oE=d,this._oC=e,a.call(this)}function c(a,b){this.o=a,this.t=!b._oN||Wa(b._oN)?Qc(b._oN||Pa,b._oE||Pa,b._oC||Pa):b._oN,this.isStopped=!1,Sc.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new c(a,this))},_b(c,Sc),c.prototype.next=function(a){var b=Ya(this.t.onNext).call(this.t,a);b===Xa&&this.o.onError(b.e),this.o.onNext(a)},c.prototype.error=function(a){var b=Ya(this.t.onError).call(this.t,a);return b===Xa?this.o.onError(b.e):void this.o.onError(a)},c.prototype.completed=function(){var a=Ya(this.t.onCompleted).call(this.t);return a===Xa?this.o.onError(a.e):void this.o.onCompleted()},b}(Yc);Rc["do"]=Rc.tap=Rc.doAction=function(a,b,c){return new oe(this,a,b,c)},Rc.doOnNext=Rc.tapOnNext=function(a,b){return this.tap("undefined"!=typeof b?function(c){a.call(b,c)}:a)},Rc.doOnError=Rc.tapOnError=function(a,b){return this.tap(Pa,"undefined"!=typeof b?function(c){a.call(b,c)}:a)},Rc.doOnCompleted=Rc.tapOnCompleted=function(a,b){return this.tap(Pa,null,"undefined"!=typeof b?function(){a.call(b)}:a)};var pe=function(a){function b(b,c,d){this.source=b,this._fn=sb(c,d,0),a.call(this)}function c(a,b){this.isDisposed=!1,this._s=a,this._fn=b}return _b(b,a),b.prototype.subscribeCore=function(a){var b=Ya(this.source.subscribe).call(this.source,a);return b===Xa&&(this._fn(),e(b.e)),new c(b,this._fn)},c.prototype.dispose=function(){if(!this.isDisposed){var a=Ya(this._s.dispose).call(this._s);this._fn(),a===Xa&&e(a.e)}},b}(Yc);Rc["finally"]=function(a,b){return new pe(this,a,b)};var qe=function(a){function b(b){this.source=b,a.call(this)}function c(a){this.o=a,this.isStopped=!1}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new c(a))},c.prototype.onNext=Pa,c.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.o.onError(a))},c.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.o.onCompleted())},c.prototype.dispose=function(){this.isStopped=!0},c.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},b}(Yc);Rc.ignoreElements=function(){return new qe(this)};var re=function(a){function b(b,c){this.source=b,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new se(a))},b}(Yc),se=function(a){function b(b){this._o=b,a.call(this)}return _b(b,a),b.prototype.next=function(a){this._o.onNext(Mc(a))},b.prototype.error=function(a){this._o.onNext(Nc(a)),this._o.onCompleted()},b.prototype.completed=function(){this._o.onNext(Oc()),this._o.onCompleted()},b}(Sc);Rc.materialize=function(){return new re(this)},Rc.repeat=function(a){return cd(this,a).concat()},Rc.retry=function(a){return cd(this,a).catchError()},Rc.retryWhen=function(a){return cd(this).catchErrorWhen(a)};var te=function(a){function b(b,c,d,e){this.source=b,this.accumulator=c,this.hasSeed=d,this.seed=e,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new ue(a,this))},b}(Yc),ue=function(a){function b(b,c){this._o=b,this._p=c,this._fn=c.accumulator,this._hs=c.hasSeed,this._s=c.seed,this._ha=!1,this._a=null,this._hv=!1,this._i=0,a.call(this)}return _b(b,a),b.prototype.next=function(a){return!this._hv&&(this._hv=!0),this._ha?this._a=Ya(this._fn)(this._a,a,this._i,this._p):(this._a=this._hs?Ya(this._fn)(this._s,a,this._i,this._p):a,this._ha=!0),this._a===Xa?this._o.onError(this._a.e):(this._o.onNext(this._a),void this._i++)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){!this._hv&&this._hs&&this._o.onNext(this._s),this._o.onCompleted()},b}(Sc);Rc.scan=function(){var a,b=!1,c=arguments[0];return 2===arguments.length&&(b=!0,a=arguments[1]),new te(this,c,b,a)};var ve=function(a){function b(b,c){this.source=b,this._c=c,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new we(a,this._c))},b}(Yc),we=function(a){function b(b,c){this._o=b,this._c=c,this._q=[],a.call(this)}return _b(b,a),b.prototype.next=function(a){this._q.push(a),this._q.length>this._c&&this._o.onNext(this._q.shift())},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Sc);Rc.skipLast=function(a){if(0>a)throw new kb;return new ve(this,a)},Rc.startWith=function(){var a,b=0;arguments.length&&uc(arguments[0])?(a=arguments[0],b=1):a=zc;for(var c=[],d=b,e=arguments.length;e>d;d++)c.push(arguments[d]);return ed([td(c,a),this]).concat()};var xe=function(a){function b(b,c){this._o=b,this._c=c,this._q=[],a.call(this)}return _b(b,a),b.prototype.next=function(a){this._q.push(a),this._q.length>this._c&&this._q.shift()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){for(;this._q.length>0;)this._o.onNext(this._q.shift());this._o.onCompleted()},b}(Sc);Rc.takeLast=function(a){if(0>a)throw new kb;var b=this;return new Ag(function(c){return b.subscribe(new xe(c,a))},b)};var ye=function(a){function b(b,c){this._o=b,this._c=c,this._q=[],a.call(this)}return _b(b,a),b.prototype.next=function(a){this._q.push(a),this._q.length>this._c&&this._q.shift()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(this._q),this._o.onCompleted()},b}(Sc);Rc.takeLastBuffer=function(a){if(0>a)throw new kb;var b=this;return new Ag(function(c){return b.subscribe(new ye(c,a))},b)},Rc.windowWithCount=function(a,b){var c=this;if(+a||(a=0),Math.abs(a)===1/0&&(a=0),0>=a)throw new kb;if(null==b&&(b=a),+b||(b=0),Math.abs(b)===1/0&&(b=0),0>=b)throw new kb;return new Ag(function(d){function e(){var a=new Eg;i.push(a),d.onNext(bc(a,g))}var f=new mc,g=new qc(f),h=0,i=[];return e(),f.setDisposable(c.subscribe(function(c){for(var d=0,f=i.length;f>d;d++)i[d].onNext(c);var g=h-a+1;g>=0&&g%b===0&&i.shift().onCompleted(),++h%b===0&&e()},function(a){for(;i.length>0;)i.shift().onError(a);d.onError(a)},function(){for(;i.length>0;)i.shift().onCompleted();d.onCompleted()})),g},c)},Rc.flatMapConcat=Rc.concatMap=function(a,b,c){return new Zc(this,a,b,c).merge(1)},Rc.concatMapObserver=Rc.selectConcatObserver=function(a,b,c,d){var e=this,f=sb(a,d,2),g=sb(b,d,1),h=sb(c,d,0);return new Ag(function(a){var b=0;return e.subscribe(function(c){var d;try{d=f(c,b++)}catch(e){return void a.onError(e)}Va(d)&&(d=id(d)),a.onNext(d)},function(b){var c;try{c=g(b)}catch(d){return void a.onError(d)}Va(c)&&(c=id(c)),a.onNext(c),a.onCompleted()},function(){var b;try{b=h()}catch(c){return void a.onError(c)}Va(b)&&(b=id(b)),a.onNext(b),a.onCompleted()})},this).concatAll()};var ze=function(a){function b(b,c){this._o=b,this._d=c,this._f=!1,a.call(this)}return _b(b,a),b.prototype.next=function(a){this._f=!0,this._o.onNext(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){!this._f&&this._o.onNext(this._d),this._o.onCompleted()},b}(Sc);Rc.defaultIfEmpty=function(b){var c=this;return b===a&&(b=null),new Ag(function(a){return c.subscribe(new ze(a,b))},c)},R.prototype.push=function(a){var b=-1===Q(this.set,a,this.comparer);return b&&this.set.push(a),b};var Ae=function(a){function b(b,c,d){this.source=b,this._keyFn=c,this._cmpFn=d,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Be(a,this._keyFn,this._cmpFn))},b}(Yc),Be=function(a){function b(b,c,d){this._o=b,this._keyFn=c,this._h=new R(d),a.call(this)}return _b(b,a),b.prototype.next=function(a){var b=a;return Wa(this._keyFn)&&(b=Ya(this._keyFn)(a),b===Xa)?this._o.onError(b.e):void(this._h.push(b)&&this._o.onNext(a))},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Sc);Rc.distinct=function(a,b){return b||(b=Sa),new Ae(this,a,b)},Rc.groupBy=function(a,b){return this.groupByUntil(a,b,xd)},Rc.groupByUntil=function(b,c,d){var e=this;return new Ag(function(f){var g=new Rf,h=new ec,i=new qc(h),j=function(a){return function(b){b.onError(a)}};return h.add(e.subscribe(function(e){var k=Ya(b)(e);if(k===Xa)return g.forEach(j(k.e)),f.onError(k.e);var l=!1,m=g.get(k);if(m===a&&(m=new Eg,g.set(k,m),l=!0),l){var n=new Dg(k,m,i),o=new Dg(k,m),p=Ya(d)(o);if(p===Xa)return g.forEach(j(p.e)),f.onError(p.e);f.onNext(n);var q=new mc;h.add(q),q.setDisposable(p.take(1).subscribe(Pa,function(a){g.forEach(j(a)),f.onError(a)},function(){g["delete"](k)&&m.onCompleted(),h.remove(q)}))}var r=e;return Wa(c)&&(r=Ya(c)(e),r===Xa)?(g.forEach(j(r.e)),f.onError(r.e)):void m.onNext(r)},function(a){g.forEach(j(a)),f.onError(a)},function(){g.forEach(function(a){a.onCompleted()}),f.onCompleted()})),i},e)};var Ce=function(a){function b(b,c,d){this.source=b,this.selector=sb(c,d,3),a.call(this)}function c(a,b){return function(c,d,e){return a.call(this,b.selector(c,d,e),d,e)}}function d(a,b,c){this.o=a,this.selector=b,this.source=c,this.i=0,Sc.call(this)}return _b(b,a),b.prototype.internalMap=function(a,d){return new b(this.source,c(a,this),d)},b.prototype.subscribeCore=function(a){return this.source.subscribe(new d(a,this.selector,this))},_b(d,Sc),d.prototype.next=function(a){var b=Ya(this.selector)(a,this.i++,this.source);return b===Xa?this.o.onError(b.e):void this.o.onNext(b)},d.prototype.error=function(a){this.o.onError(a)},d.prototype.completed=function(){this.o.onCompleted()},b}(Yc);Rc.map=Rc.select=function(a,b){var c="function"==typeof a?a:function(){return a};return this instanceof Ce?this.internalMap(c,b):new Ce(this,c,b)},Rc.pluck=function(){var a=arguments.length,b=new Array(a);if(0===a)throw new Error("List of properties cannot be empty.");for(var c=0;a>c;c++)b[c]=arguments[c];return this.map(S(b,a))},Rc.flatMap=Rc.selectMany=function(a,b,c){return new Zc(this,a,b,c).mergeAll()},Rc.flatMapObserver=Rc.selectManyObserver=function(a,b,c,d){var e=this;return new Ag(function(f){var g=0;return e.subscribe(function(b){var c;try{c=a.call(d,b,g++)}catch(e){return void f.onError(e)}Va(c)&&(c=id(c)),f.onNext(c)},function(a){var c;try{c=b.call(d,a)}catch(e){return void f.onError(e)}Va(c)&&(c=id(c)),f.onNext(c),f.onCompleted()},function(){var a;try{a=c.call(d)}catch(b){return void f.onError(b)}Va(a)&&(a=id(a)),f.onNext(a),f.onCompleted()})},e).mergeAll()},Oa.Observable.prototype.flatMapLatest=function(a,b,c){return new Zc(this,a,b,c).switchLatest()};var De=function(a){function b(b,c){this.source=b,this._count=c,a.call(this)}function c(a,b){this._o=a,this._r=b,Sc.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new c(a,this._count))},_b(c,Sc),c.prototype.next=function(a){this._r<=0?this._o.onNext(a):this._r--},c.prototype.error=function(a){this._o.onError(a)},c.prototype.completed=function(){this._o.onCompleted()},b}(Yc);Rc.skip=function(a){if(0>a)throw new kb;return new De(this,a)};var Ee=function(a){function b(b,c){this.source=b,this._fn=c,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Fe(a,this))},b}(Yc),Fe=function(a){function b(b,c){this._o=b,this._p=c,this._i=0,this._r=!1,a.call(this)}return _b(b,a),b.prototype.next=function(a){if(!this._r){var b=Ya(this._p._fn)(a,this._i++,this._p);if(b===Xa)return this._o.onError(b.e);this._r=!b}this._r&&this._o.onNext(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Sc);Rc.skipWhile=function(a,b){var c=sb(a,b,3);return new Ee(this,c)};var Ge=function(a){function b(b,c){this.source=b,this._count=c,a.call(this)}function c(a,b){this._o=a,this._c=b,this._r=b,Sc.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new c(a,this._count))},_b(c,Sc),c.prototype.next=function(a){this._r-->0&&(this._o.onNext(a),this._r<=0&&this._o.onCompleted())},c.prototype.error=function(a){this._o.onError(a)},c.prototype.completed=function(){this._o.onCompleted()},b}(Yc);Rc.take=function(a,b){if(0>a)throw new kb;return 0===a?od(b):new Ge(this,a)};var He=function(a){function b(b,c){this.source=b,this._fn=c,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Ie(a,this))},b}(Yc),Ie=function(a){function b(b,c){this._o=b,this._p=c,this._i=0,this._r=!0,a.call(this)}return _b(b,a),b.prototype.next=function(a){return this._r&&(this._r=Ya(this._p._fn)(a,this._i++,this._p),this._r===Xa)?this._o.onError(this._r.e):void(this._r?this._o.onNext(a):this._o.onCompleted())},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Sc);Rc.takeWhile=function(a,b){var c=sb(a,b,3);return new He(this,c)};var Je=function(a){function b(b,c,d){this.source=b,this.predicate=sb(c,d,3),a.call(this)}function c(a,b){return function(c,d,e){return b.predicate(c,d,e)&&a.call(this,c,d,e)}}function d(a,b,c){this.o=a,this.predicate=b,this.source=c,this.i=0,Sc.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new d(a,this.predicate,this))},b.prototype.internalFilter=function(a,d){return new b(this.source,c(a,this),d)},_b(d,Sc),d.prototype.next=function(a){var b=Ya(this.predicate)(a,this.i++,this.source);return b===Xa?this.o.onError(b.e):void(b&&this.o.onNext(a))},d.prototype.error=function(a){this.o.onError(a)},d.prototype.completed=function(){this.o.onCompleted()},b}(Yc);Rc.filter=Rc.where=function(a,b){return this instanceof Je?this.internalFilter(a,b):new Je(this,a,b)};var Ke=function(a){function b(b,c,d){this.source=b,this._k=c,this._c=d,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Le(a,this._k,this._c))},b}(Yc),Le=function(a){function b(b,c,d){this._o=b,this._k=c,this._c=d,this._v=null,this._hv=!1,this._l=[],a.call(this)}return _b(b,a),b.prototype.next=function(a){var b=Ya(this._k)(a);if(b===Xa)return this._o.onError(b.e);var c=0;if(this._hv){if(c=Ya(this._c)(b,this._v),c===Xa)return this._o.onError(c.e)}else this._hv=!0,this._v=b;c>0&&(this._v=b,this._l=[]),c>=0&&this._l.push(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(this._l),this._o.onCompleted()},b}(Sc),Me=function(a){function b(b,c,d,e){this.source=b,this.accumulator=c,this.hasSeed=d,this.seed=e,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Ne(a,this))},b}(Yc),Ne=function(a){function b(b,c){this._o=b,this._p=c,this._fn=c.accumulator,this._hs=c.hasSeed,this._s=c.seed,this._ha=!1,this._a=null,this._hv=!1,this._i=0,a.call(this)}return _b(b,a),b.prototype.next=function(a){return!this._hv&&(this._hv=!0),this._ha?this._a=Ya(this._fn)(this._a,a,this._i,this._p):(this._a=this._hs?Ya(this._fn)(this._s,a,this._i,this._p):a,this._ha=!0),this._a===Xa?this._o.onError(this._a.e):void this._i++},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._hv&&this._o.onNext(this._a),!this._hv&&this._hs&&this._o.onNext(this._s),!this._hv&&!this._hs&&this._o.onError(new ib),this._o.onCompleted()},b}(Sc);Rc.reduce=function(){var a,b=!1,c=arguments[0];return 2===arguments.length&&(b=!0,a=arguments[1]),new Me(this,c,b,a)};var Oe=function(a){function b(b,c){this.source=b,this._fn=c,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Pe(a,this._fn,this.source))},b}(Yc),Pe=function(a){function b(b,c,d){this._o=b,this._fn=c,this._s=d,this._i=0,a.call(this)}return _b(b,a),b.prototype.next=function(a){var b=Ya(this._fn)(a,this._i++,this._s);return b===Xa?this._o.onError(b.e):void(Boolean(b)&&(this._o.onNext(!0),this._o.onCompleted()))},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(!1),this._o.onCompleted()},b}(Sc);Rc.some=function(a,b){var c=sb(a,b,3);return new Oe(this,c)};var Qe=function(a){function b(b){this.source=b,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Re(a))},b}(Yc),Re=function(a){function b(b){this._o=b,a.call(this)}return _b(b,a),b.prototype.next=function(){this._o.onNext(!1),this._o.onCompleted()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(!0),this._o.onCompleted()},b}(Sc);Rc.isEmpty=function(){return new Qe(this)};var Se=function(a){function b(b,c){this.source=b,this._fn=c,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Te(a,this._fn,this.source))},b}(Yc),Te=function(a){function b(b,c,d){this._o=b,this._fn=c,this._s=d,this._i=0,a.call(this)}return _b(b,a),b.prototype.next=function(a){var b=Ya(this._fn)(a,this._i++,this._s);return b===Xa?this._o.onError(b.e):void(Boolean(b)||(this._o.onNext(!1),this._o.onCompleted()))},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(!0),this._o.onCompleted()},b}(Sc);Rc.every=function(a,b){var c=sb(a,b,3);return new Se(this,c)};var Ue=function(a){function b(b,c,d){var e=+d||0;Math.abs(e)===1/0&&(e=0),this.source=b,this._elem=c,this._n=e,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this._n<0?(a.onNext(!1),a.onCompleted(),ic):this.source.subscribe(new Ve(a,this._elem,this._n))},b}(Yc),Ve=function(a){function b(b,c,d){this._o=b,this._elem=c,this._n=d,this._i=0,a.call(this)}function c(a,b){return 0===a&&0===b||a===b||isNaN(a)&&isNaN(b)}return _b(b,a),b.prototype.next=function(a){this._i++>=this._n&&c(a,this._elem)&&(this._o.onNext(!0),this._o.onCompleted())},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(!1),this._o.onCompleted()},b}(Sc);Rc.includes=function(a,b){return new Ue(this,a,b)};var We=function(a){function b(b,c){this.source=b,this._fn=c,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Xe(a,this._fn,this.source))},b}(Yc),Xe=function(a){function b(b,c,d){this._o=b,this._fn=c,this._s=d,this._i=0,this._c=0,a.call(this)}return _b(b,a),b.prototype.next=function(a){if(this._fn){var b=Ya(this._fn)(a,this._i++,this._s);if(b===Xa)return this._o.onError(b.e);Boolean(b)&&this._c++}else this._c++},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(this._c),this._o.onCompleted()},b}(Sc);Rc.count=function(a,b){var c=sb(a,b,3);return new We(this,c)};var Ye=function(a){function b(b,c,d){this.source=b,this._e=c,this._n=d,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this._n<0?(a.onNext(-1),a.onCompleted(),ic):this.source.subscribe(new Ze(a,this._e,this._n))},b}(Yc),Ze=function(a){function b(b,c,d){this._o=b,this._e=c,this._n=d,this._i=0,a.call(this)}return _b(b,a),b.prototype.next=function(a){this._i>=this._n&&a===this._e&&(this._o.onNext(this._i),this._o.onCompleted()),this._i++},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(-1),this._o.onCompleted()},b}(Sc);Rc.indexOf=function(a,b){var c=+b||0;return Math.abs(c)===1/0&&(c=0),new Ye(this,a,c)};var $e=function(a){function b(b,c){this.source=b,this._fn=c,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new _e(a,this._fn,this.source))},b}(Yc),_e=function(a){function b(b,c,d){this._o=b,this._fn=c,this._s=d,this._i=0,this._c=0,a.call(this)}return _b(b,a),b.prototype.next=function(a){if(this._fn){var b=Ya(this._fn)(a,this._i++,this._s);if(b===Xa)return this._o.onError(b.e);this._c+=b}else this._c+=a},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(this._c),this._o.onCompleted()},b}(Sc);Rc.sum=function(a,b){var c=sb(a,b,3);return new $e(this,c)},Rc.minBy=function(a,b){return b||(b=Ta),new Ke(this,a,function(a,c){return-1*b(a,c)})},Rc.min=function(a){return this.minBy(Qa,a).map(T)},Rc.maxBy=function(a,b){return b||(b=Ta),new Ke(this,a,b)},Rc.max=function(a){return this.maxBy(Qa,a).map(T)};var af=function(a){function b(b,c){this.source=b,this._fn=c,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new bf(a,this._fn,this.source))},b}(Yc),bf=function(a){function b(b,c,d){this._o=b,this._fn=c,this._s=d,this._c=0,this._t=0,a.call(this)}return _b(b,a),b.prototype.next=function(a){if(this._fn){var b=Ya(this._fn)(a,this._c++,this._s);if(b===Xa)return this._o.onError(b.e);this._t+=b}else this._c++,this._t+=a},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){return 0===this._c?this._o.onError(new ib):(this._o.onNext(this._t/this._c),void this._o.onCompleted())},b}(Sc);Rc.average=function(a,b){var c,d=this;return Wa(a)&&(c=sb(a,b,3)),new af(d,c)},Rc.sequenceEqual=function(a,b){var c=this;return b||(b=Sa),new Ag(function(d){var e=!1,f=!1,g=[],h=[],i=c.subscribe(function(a){if(h.length>0){var c=h.shift(),e=Ya(b)(c,a);if(e===Xa)return d.onError(e.e);e||(d.onNext(!1),d.onCompleted())}else f?(d.onNext(!1),d.onCompleted()):g.push(a)},function(a){d.onError(a)},function(){e=!0,0===g.length&&(h.length>0?(d.onNext(!1),d.onCompleted()):f&&(d.onNext(!0),d.onCompleted()))});(rb(a)||qb(a))&&(a=rd(a)),Va(a)&&(a=id(a));var j=a.subscribe(function(a){if(g.length>0){var c=g.shift(),f=Ya(b)(c,a);if(f===Xa)return d.onError(f.e);f||(d.onNext(!1),d.onCompleted())}else e?(d.onNext(!1),d.onCompleted()):h.push(a)},function(a){d.onError(a)},function(){f=!0,0===h.length&&(g.length>0?(d.onNext(!1),d.onCompleted()):e&&(d.onNext(!0),d.onCompleted()))});return new oc(i,j)},c)};var cf=function(a){function b(b,c,d){this.source=b,this._i=c,this._d=d,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new df(a,this._i,this._d))},b}(Yc),df=function(b){function c(a,c,d){this._o=a,this._i=c,this._d=d,b.call(this)}return _b(c,b),c.prototype.next=function(a){0===this._i--&&(this._o.onNext(a),this._o.onCompleted())},c.prototype.error=function(a){this._o.onError(a)},c.prototype.completed=function(){this._d===a?this._o.onError(new kb):(this._o.onNext(this._d),this._o.onCompleted())},c}(Sc);Rc.elementAt=function(a,b){if(0>a)throw new kb;return new cf(this,a,b)};var ef=function(b){function c(a,c,d){this._o=a,this._obj=c,this._s=d,this._i=0,this._hv=!1,this._v=null,b.call(this)}return _b(c,b),c.prototype.next=function(a){var b=!1;if(this._obj.predicate){var c=Ya(this._obj.predicate)(a,this._i++,this._s);if(c===Xa)return this._o.onError(c.e);Boolean(c)&&(b=!0)}else this._obj.predicate||(b=!0);if(b){if(this._hv)return this._o.onError(new Error("Sequence contains more than one matching element"));this._hv=!0,this._v=a}},c.prototype.error=function(a){this._o.onError(a)},c.prototype.completed=function(){this._hv?(this._o.onNext(this._v),this._o.onCompleted()):this._obj.defaultValue===a?this._o.onError(new ib):(this._o.onNext(this._obj.defaultValue),this._o.onCompleted())},c}(Sc);Rc.single=function(a,b){var c={},d=this;if(c="object"==typeof arguments[0]?arguments[0]:{predicate:arguments[0],thisArg:arguments[1],defaultValue:arguments[2]},Wa(c.predicate)){var e=c.predicate;c.predicate=sb(e,c.thisArg,3)}return new Ag(function(a){return d.subscribe(new ef(a,c,d))},d)};var ff=function(a){function b(b,c){this.source=b,this._obj=c,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new gf(a,this._obj,this.source))},b}(Yc),gf=function(b){function c(a,c,d){this._o=a,this._obj=c,this._s=d,this._i=0,b.call(this)}return _b(c,b),c.prototype.next=function(a){if(this._obj.predicate){var b=Ya(this._obj.predicate)(a,this._i++,this._s);if(b===Xa)return this._o.onError(b.e);Boolean(b)&&(this._o.onNext(a),this._o.onCompleted())}else this._obj.predicate||(this._o.onNext(a),this._o.onCompleted())},c.prototype.error=function(a){this._o.onError(a)},c.prototype.completed=function(){this._obj.defaultValue===a?this._o.onError(new ib):(this._o.onNext(this._obj.defaultValue),this._o.onCompleted())},c}(Sc);Rc.first=function(){var a={};if(a="object"==typeof arguments[0]?arguments[0]:{predicate:arguments[0],thisArg:arguments[1],defaultValue:arguments[2]},Wa(a.predicate)){var b=a.predicate;a.predicate=sb(b,a.thisArg,3)}return new ff(this,a)};var hf=function(a){function b(b,c){this.source=b,this._obj=c,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new jf(a,this._obj,this.source))},b}(Yc),jf=function(b){function c(a,c,d){this._o=a,this._obj=c,this._s=d,this._i=0,this._hv=!1,this._v=null,b.call(this)}return _b(c,b),c.prototype.next=function(a){var b=!1;if(this._obj.predicate){var c=Ya(this._obj.predicate)(a,this._i++,this._s);if(c===Xa)return this._o.onError(c.e);Boolean(c)&&(b=!0)}else this._obj.predicate||(b=!0);b&&(this._hv=!0,this._v=a)},c.prototype.error=function(a){this._o.onError(a)},c.prototype.completed=function(){this._hv?(this._o.onNext(this._v),this._o.onCompleted()):this._obj.defaultValue===a?this._o.onError(new ib):(this._o.onNext(this._obj.defaultValue),this._o.onCompleted())},c}(Sc);Rc.last=function(){var a={};if(a="object"==typeof arguments[0]?arguments[0]:{predicate:arguments[0],thisArg:arguments[1],defaultValue:arguments[2]},Wa(a.predicate)){var b=a.predicate;a.predicate=sb(b,a.thisArg,3)}return new hf(this,a)};var kf=function(a){function b(b,c,d,e){this._o=b,this._s=c,this._cb=d,this._y=e,this._i=0,a.call(this)}return _b(b,a),b.prototype.next=function(a){var b=Ya(this._cb)(a,this._i,this._s);return b===Xa?this._o.onError(b.e):void(b?(this._o.onNext(this._y?this._i:a),this._o.onCompleted()):this._i++)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._y&&this._o.onNext(-1),this._o.onCompleted()},b}(Sc);Rc.find=function(a,b){return U(this,a,b,!1)},Rc.findIndex=function(a,b){return U(this,a,b,!0)};var lf=function(a){function b(b){this.source=b,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new mf(a))},b}(Yc),mf=function(a){function b(b){this._o=b,this._s=new Na.Set,a.call(this)}return _b(b,a),b.prototype.next=function(a){this._s.add(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(this._s),this._o.onCompleted()},b}(Sc);Rc.toSet=function(){if("undefined"==typeof Na.Set)throw new TypeError;return new lf(this)};var nf=function(a){function b(b,c,d){this.source=b,this._k=c,this._e=d,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new of(a,this._k,this._e))},b}(Yc),of=function(a){function b(b,c,d){this._o=b,this._k=c,this._e=d,this._m=new Na.Map,a.call(this)}return _b(b,a),b.prototype.next=function(a){var b=Ya(this._k)(a);if(b===Xa)return this._o.onError(b.e);var c=a;return this._e&&(c=Ya(this._e)(a),c===Xa)?this._o.onError(c.e):void this._m.set(b,c)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(this._m),this._o.onCompleted()},b}(Sc);Rc.toMap=function(a,b){if("undefined"==typeof Na.Map)throw new TypeError;return new nf(this,a,b)};var pf=function(a){function b(b,c,d){this.source=b,this._b=c,this._e=d,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new qf(a,this._b,this._e)); -},b}(Yc),qf=function(a){function b(b,c,d){this._o=b,this._b=c,this._e=d,this._i=0,a.call(this)}return _b(b,a),b.prototype.next=function(a){this._i>=this._b&&(this._e===this._i?this._o.onCompleted():this._o.onNext(a)),this._i++},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Sc);Rc.slice=function(a,b){var c=a||0;if(0>c)throw new Oa.ArgumentOutOfRangeError;if("number"==typeof b&&c>b)throw new Oa.ArgumentOutOfRangeError;return new pf(this,c,b)};var rf=function(a){function b(b,c,d){this.source=b,this._e=c,this._n=d,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this._n<0?(a.onNext(-1),a.onCompleted(),ic):this.source.subscribe(new sf(a,this._e,this._n))},b}(Yc),sf=function(a){function b(b,c,d){this._o=b,this._e=c,this._n=d,this._v=0,this._hv=!1,this._i=0,a.call(this)}return _b(b,a),b.prototype.next=function(a){this._i>=this._n&&a===this._e&&(this._hv=!0,this._v=this._i),this._i++},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._hv?this._o.onNext(this._v):this._o.onNext(-1),this._o.onCompleted()},b}(Sc);Rc.lastIndexOf=function(a,b){var c=+b||0;return Math.abs(c)===1/0&&(c=0),new rf(this,a,c)},Xc.wrap=function(a){function b(){return Xc.spawn.call(this,a.apply(this,arguments))}return b.__generatorFunction__=a,b};var tf=Xc.spawn=function(){for(var a=arguments[0],b=this,c=[],d=1,e=arguments.length;e>d;d++)c.push(arguments[d]);return new Ag(function(d){function e(b){var c=Ya(a.next).call(a,b);return c===Xa?d.onError(c.e):void g(c)}function f(b){var c=Ya(a.next).call(a,b);return c===Xa?d.onError(c.e):void g(c)}function g(a){if(a.done)return d.onNext(a.value),void d.onCompleted();var c=V.call(b,a.value),g=null,i=!1;Xc.isObservable(c)?h.add(c.subscribe(function(a){i=!0,g=a},f,function(){i&&e(g)})):f(new TypeError("type not supported"))}var h=new ec;return Wa(a)&&(a=a.apply(b,c)),a&&Wa(a.next)?(e(),h):(d.onNext(a),d.onCompleted())})};Xc.start=function(a,b,c){return uf(a,b,c)()};var uf=Xc.toAsync=function(a,b,c){return uc(c)||(c=Gc),function(){var d=arguments,e=new Fg;return c.schedule(null,function(){var c;try{c=a.apply(b,d)}catch(f){return void e.onError(f)}e.onNext(c),e.onCompleted()}),e.asObservable()}};Xc.fromCallback=function(a,b,c){return function(){"undefined"==typeof b&&(b=this);for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return aa(a,b,c,e)}},Xc.fromNodeCallback=function(a,b,c){return function(){"undefined"==typeof b&&(b=this);for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return ca(a,b,c,e)}},fa.prototype.dispose=function(){this.isDisposed||(this._e.removeEventListener(this._n,this._fn,!1),this.isDisposed=!0)},Oa.config.useNativeEvents=!1;var vf=function(a){function b(b,c,d){this._el=b,this._n=c,this._fn=d,a.call(this)}function c(a,b){return function(){var c=arguments[0];return Wa(b)&&(c=Ya(b).apply(null,arguments),c===Xa)?a.onError(c.e):void a.onNext(c)}}return _b(b,a),b.prototype.subscribeCore=function(a){return ga(this._el,this._n,c(a,this._fn))},b}(Yc);Xc.fromEvent=function(a,b,c){return a.addListener?xf(function(c){a.addListener(b,c)},function(c){a.removeListener(b,c)},c):Oa.config.useNativeEvents||"function"!=typeof a.on||"function"!=typeof a.off?new vf(a,b,c).publish().refCount():xf(function(c){a.on(b,c)},function(c){a.off(b,c)},c)};var wf=function(a){function b(b,c,d){this._add=b,this._del=c,this._fn=d,a.call(this)}function c(a,b){return function(){var c=arguments[0];return Wa(b)&&(c=Ya(b).apply(null,arguments),c===Xa)?a.onError(c.e):void a.onNext(c)}}function d(a,b,c){this._del=a,this._fn=b,this._ret=c,this.isDisposed=!1}return _b(b,a),b.prototype.subscribeCore=function(a){var b=c(a,this._fn),e=this._add(b);return new d(this._del,b,e)},d.prototype.dispose=function(){this.isDisposed||(Wa(this._del)&&this._del(this._fn,this._ret),this.isDisposed=!0)},b}(Yc),xf=Xc.fromEventPattern=function(a,b,c){return new wf(a,b,c).publish().refCount()};Xc.startAsync=function(a){var b=Ya(a)();return b===Xa?Dd(b.e):id(b)};var yf=function(a){function b(b,c){this.source=b,this.controller=new Eg,c&&c.subscribe?this.pauser=this.controller.merge(c):this.pauser=this.controller,a.call(this)}return _b(b,a),b.prototype._subscribe=function(a){var b=this.source.publish(),c=b.subscribe(a),d=ic,e=this.pauser.distinctUntilChanged().subscribe(function(a){a?d=b.connect():(d.dispose(),d=ic)});return new pc([c,d,e])},b.prototype.pause=function(){this.controller.onNext(!1)},b.prototype.resume=function(){this.controller.onNext(!0)},b}(Xc);Rc.pausable=function(a){return new yf(this,a)};var zf=function(b){function c(a,c){this.source=a,this.controller=new Eg,c&&c.subscribe?this.pauser=this.controller.merge(c):this.pauser=this.controller,b.call(this)}return _b(c,b),c.prototype._subscribe=function(b){function c(){for(;e.length>0;)b.onNext(e.shift())}var d,e=[],f=ha(this.source,this.pauser.startWith(!1).distinctUntilChanged(),function(a,b){return{data:a,shouldFire:b}}).subscribe(function(f){d!==a&&f.shouldFire!==d?(d=f.shouldFire,f.shouldFire&&c()):(d=f.shouldFire,f.shouldFire?b.onNext(f.data):e.push(f.data))},function(a){c(),b.onError(a)},function(){c(),b.onCompleted()});return f},c.prototype.pause=function(){this.controller.onNext(!1)},c.prototype.resume=function(){this.controller.onNext(!0)},c}(Xc);Rc.pausableBuffered=function(a){return new zf(this,a)};var Af=function(a){function b(b,c,d){a.call(this),this.subject=new Bf(c,d),this.source=b.multicast(this.subject).refCount()}return _b(b,a),b.prototype._subscribe=function(a){return this.source.subscribe(a)},b.prototype.request=function(a){return this.subject.request(null==a?-1:a)},b}(Xc),Bf=function(a){function b(b,c){null==b&&(b=!0),a.call(this),this.subject=new Eg,this.enableQueue=b,this.queue=b?[]:null,this.requestedCount=0,this.requestedDisposable=null,this.error=null,this.hasFailed=!1,this.hasCompleted=!1,this.scheduler=c||Bc}return _b(b,a),ac(b.prototype,Pc,{_subscribe:function(a){return this.subject.subscribe(a)},onCompleted:function(){this.hasCompleted=!0,this.enableQueue&&0!==this.queue.length?this.queue.push(Ic.createOnCompleted()):(this.subject.onCompleted(),this.disposeCurrentRequest())},onError:function(a){this.hasFailed=!0,this.error=a,this.enableQueue&&0!==this.queue.length?this.queue.push(Ic.createOnError(a)):(this.subject.onError(a),this.disposeCurrentRequest())},onNext:function(a){this.requestedCount<=0?this.enableQueue&&this.queue.push(Ic.createOnNext(a)):(0===this.requestedCount--&&this.disposeCurrentRequest(),this.subject.onNext(a))},_processRequest:function(a){if(this.enableQueue)for(;this.queue.length>0&&(a>0||"N"!==this.queue[0].kind);){var b=this.queue.shift();b.accept(this.subject),"N"===b.kind?a--:(this.disposeCurrentRequest(),this.queue=[])}return a},request:function(a){this.disposeCurrentRequest();var b=this;return this.requestedDisposable=this.scheduler.schedule(a,function(a,c){var d=b._processRequest(c),e=b.hasCompleted||b.hasFailed;return!e&&d>0?(b.requestedCount=d,hc(function(){b.requestedCount=0})):void 0}),this.requestedDisposable},disposeCurrentRequest:function(){this.requestedDisposable&&(this.requestedDisposable.dispose(),this.requestedDisposable=null)}}),b}(Xc);Rc.controlled=function(a,b){return a&&uc(a)&&(b=a,a=!0),null==a&&(a=!0),new Af(this,a,b)};var Cf=function(a){function b(b){a.call(this),this.source=b}function c(a,b){b.source.request(1)}_b(b,a),b.prototype._subscribe=function(a){return this.subscription=this.source.subscribe(new d(a,this,this.subscription)),new oc(this.subscription,Gc.schedule(this,c))};var d=function(a){function c(b,c,d){a.call(this),this.observer=b,this.observable=c,this.cancel=d,this.scheduleDisposable=null}function d(a,b){b.observable.source.request(1)}return _b(c,a),c.prototype.completed=function(){this.observer.onCompleted(),this.dispose()},c.prototype.error=function(a){this.observer.onError(a),this.dispose()},c.prototype.next=function(a){this.observer.onNext(a),this.scheduleDisposable=Gc.schedule(this,d)},b.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),this.scheduleDisposable&&(this.scheduleDisposable.dispose(),this.scheduleDisposable=null),a.prototype.dispose.call(this)},c}(Sc);return b}(Xc);Af.prototype.stopAndWait=function(){return new Cf(this)};var Df=function(a){function b(b,c){a.call(this),this.source=b,this.windowSize=c}function c(a,b){b.source.request(b.windowSize)}_b(b,a),b.prototype._subscribe=function(a){return this.subscription=this.source.subscribe(new d(a,this,this.subscription)),new oc(this.subscription,Gc.schedule(this,c))};var d=function(a){function b(b,c,d){this.observer=b,this.observable=c,this.cancel=d,this.received=0,this.scheduleDisposable=null,a.call(this)}function c(a,b){b.observable.source.request(b.observable.windowSize)}return _b(b,a),b.prototype.completed=function(){this.observer.onCompleted(),this.dispose()},b.prototype.error=function(a){this.observer.onError(a),this.dispose()},b.prototype.next=function(a){this.observer.onNext(a),this.received=++this.received%this.observable.windowSize,0===this.received&&(this.scheduleDisposable=Gc.schedule(this,c))},b.prototype.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),this.scheduleDisposable&&(this.scheduleDisposable.dispose(),this.scheduleDisposable=null),a.prototype.dispose.call(this)},b}(Sc);return b}(Xc);Af.prototype.windowed=function(a){return new Df(this,a)},Rc.pipe=function(a){function b(){c.resume()}var c=this.pausableBuffered();return a.addListener("drain",b),c.subscribe(function(b){!a.write(String(b))&&c.pause()},function(b){a.emit("error",b)},function(){!a._isStdio&&a.end(),a.removeListener("drain",b)}),c.resume(),a};var Ef=function(a){function b(b,c,d){this.source=b,this._fn1=c,this._fn2=d,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){var b=this.source.multicast(this._fn1());return new oc(this._fn2(b).subscribe(a),b.connect())},b}(Yc);Rc.multicast=function(a,b){return Wa(a)?new Ef(this,a,b):new Hf(this,a)},Rc.publish=function(a){return a&&Wa(a)?this.multicast(function(){return new Eg},a):this.multicast(new Eg)},Rc.share=function(){return this.publish().refCount()},Rc.publishLast=function(a){return a&&Wa(a)?this.multicast(function(){return new Fg},a):this.multicast(new Fg)},Rc.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new Hg(b)},a):this.multicast(new Hg(a))},Rc.shareValue=function(a){return this.publishValue(a).refCount()},Rc.replay=function(a,b,c,d){return a&&Wa(a)?this.multicast(function(){return new Ig(b,c,d)},a):this.multicast(new Ig(b,c,d))},Rc.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};var Ff=function(a,b){this._s=a,this._o=b};Ff.prototype.dispose=function(){if(!this._s.isDisposed&&null!==this._o){var a=this._s.observers.indexOf(this._o);this._s.observers.splice(a,1),this._o=null}};var Gf=function(a){function b(b){this.source=b,this._count=0,this._connectableSubscription=null,a.call(this)}function c(a,b){this._p=a,this._s=b,this.isDisposed=!1}return _b(b,a),b.prototype.subscribeCore=function(a){var b=this.source.subscribe(a);return 1===++this._count&&(this._connectableSubscription=this.source.connect()),new c(this,b)},c.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this._s.dispose(),0===--this._p._count&&this._p._connectableSubscription.dispose())},b}(Yc),Hf=Oa.ConnectableObservable=function(a){function b(b,c){this.source=b,this._connection=null,this._source=b.asObservable(),this._subject=c,a.call(this)}function c(a,b){this._p=a,this._s=b}return _b(b,a),c.prototype.dispose=function(){this._s&&(this._s.dispose(),this._s=null,this._p._connection=null)},b.prototype.connect=function(){if(!this._connection){var a=this._source.subscribe(this._subject);this._connection=new c(this,a)}return this._connection},b.prototype._subscribe=function(a){return this._subject.subscribe(a)},b.prototype.refCount=function(){return new Gf(this)},b}(Xc);Rc.singleInstance=function(){function a(){return d||(d=!0,b=c["finally"](function(){d=!1}).publish().refCount()),b}var b,c=this,d=!1;return new Ag(function(b){return a().subscribe(b)})},Rc.join=function(a,b,c,d){var e=this;return new Ag(function(f){var g=new ec,h=!1,i=!1,j=0,k=0,l=new Rf,m=new Rf,n=function(a){f.onError(a)};return g.add(e.subscribe(function(a){var c=j++,e=new mc;l.set(c,a),g.add(e);var i=Ya(b)(a);return i===Xa?f.onError(i.e):(e.setDisposable(i.take(1).subscribe(Pa,n,function(){l["delete"](c)&&0===l.size&&h&&f.onCompleted(),g.remove(e)})),void m.forEach(function(b){var c=Ya(d)(a,b);return c===Xa?f.onError(c.e):void f.onNext(c)}))},n,function(){h=!0,(i||0===l.size)&&f.onCompleted()})),g.add(a.subscribe(function(a){var b=k++,e=new mc;m.set(b,a),g.add(e);var h=Ya(c)(a);return h===Xa?f.onError(h.e):(e.setDisposable(h.take(1).subscribe(Pa,n,function(){m["delete"](b)&&0===m.size&&i&&f.onCompleted(),g.remove(e)})),void l.forEach(function(b){var c=Ya(d)(b,a);return c===Xa?f.onError(c.e):void f.onNext(c)}))},n,function(){i=!0,(h||0===m.size)&&f.onCompleted()})),g},e)},Rc.groupJoin=function(a,b,c,d){var e=this;return new Ag(function(f){function g(a){}var h=new ec,i=new qc(h),j=new Rf,k=new Rf,l=0,m=0,g=function(a){return function(b){b.onError(a)}};return h.add(e.subscribe(function(a){var c=new Eg,e=l++;j.set(e,c);var m=Ya(d)(a,bc(c,i));if(m===Xa)return j.forEach(g(m.e)),f.onError(m.e);f.onNext(m),k.forEach(function(a){c.onNext(a)});var n=new mc;h.add(n);var o=Ya(b)(a);return o===Xa?(j.forEach(g(o.e)),f.onError(o.e)):void n.setDisposable(o.take(1).subscribe(Pa,function(a){j.forEach(g(a)),f.onError(a)},function(){j["delete"](e)&&c.onCompleted(),h.remove(n)}))},function(a){j.forEach(g(a)),f.onError(a)},function(){f.onCompleted()})),h.add(a.subscribe(function(a){var b=m++;k.set(b,a);var d=new mc;h.add(d);var e=Ya(c)(a);return e===Xa?(j.forEach(g(e.e)),f.onError(e.e)):(d.setDisposable(e.take(1).subscribe(Pa,function(a){j.forEach(g(a)),f.onError(a)},function(){k["delete"](b),h.remove(d)})),void j.forEach(function(b){b.onNext(a)}))},function(a){j.forEach(g(a)),f.onError(a)})),i},e)},Rc.buffer=function(){return this.window.apply(this,arguments).flatMap(O)},Rc.window=function(a,b){return 1===arguments.length&&"function"!=typeof arguments[0]?ja.call(this,a):"function"==typeof a?ka.call(this,a):ia.call(this,a,b)};var If=function(a){function b(b){this.source=b,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Jf(a))},b}(Yc),Jf=function(a){function b(b){this._o=b,this._p=null,this._hp=!1,a.call(this)}return _b(b,a),b.prototype.next=function(a){this._hp?this._o.onNext([this._p,a]):this._hp=!0,this._p=a},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Sc);Rc.pairwise=function(){return new If(this)},Rc.partition=function(a,b){var c=sb(a,b,3);return[this.filter(a,b),this.filter(function(a,b,d){return!c(a,b,d)})]};var Kf=function(a){function b(a,b){this.c=a,this.s=b}return _b(b,a),b.prototype[ob]=function(){var a=this;return{next:function(){return a.c()?{done:!1,value:a.s}:{done:!0,value:void 0}}}},b}($c);Rc.letBind=Rc.let=function(a){return a(this)},Xc["if"]=function(a,b,c){return ld(function(){return c||(c=od()),Va(b)&&(b=id(b)),Va(c)&&(c=id(c)),"function"==typeof c.now&&(c=od(c)),a()?b:c})},Xc["for"]=Xc.forIn=function(a,b,c){return ed(a,b,c).concat()};var Lf=Xc["while"]=Xc.whileDo=function(a,b){return Va(b)&&(b=id(b)),la(a,b).concat()};Rc.doWhile=function(a){return Nd([this,Lf(a,this)])},Xc["case"]=function(a,b,c){return ld(function(){Va(c)&&(c=id(c)),c||(c=od()),uc(c)&&(c=od(c));var d=b[a()];return Va(d)&&(d=id(d)),d||c})};var Mf=function(a){function b(b,c,d){this.source=b,this._fn=c,this._scheduler=d,a.call(this)}function c(a,b){var c,d=a[0],e=a[1];if(!(d.q.length>0))return void(d.isAcquired=!1);c=d.q.shift();var f=new mc;d.d.add(f),f.setDisposable(c.subscribe(new Nf(d,e,f))),b([d,e])}return _b(b,a),b.prototype._ensureActive=function(a){var b=!1;a.q.length>0&&(b=!a.isAcquired,a.isAcquired=!0),b&&a.m.setDisposable(this._scheduler.scheduleRecursive([a,this],c))},b.prototype.subscribeCore=function(a){var b=new nc,c=new ec(b),d={q:[],m:b,d:c,activeCount:0,isAcquired:!1,o:a};return d.q.push(this.source),d.activeCount++,this._ensureActive(d),c},b}(Yc),Nf=function(a){function b(b,c,d){this._s=b,this._p=c,this._m1=d,a.call(this)}return _b(b,a),b.prototype.next=function(a){this._s.o.onNext(a);var b=Ya(this._p._fn)(a);return b===Xa?this._s.o.onError(b.e):(this._s.q.push(b),this._s.activeCount++,void this._p._ensureActive(this._s))},b.prototype.error=function(a){this._s.o.onError(a)},b.prototype.completed=function(){this._s.d.remove(this._m1),this._s.activeCount--,0===this._s.activeCount&&this._s.o.onCompleted()},b}(Sc);Rc.expand=function(a,b){return uc(b)||(b=Bc),new Mf(this,a,b)};var Of=function(a){function b(b,c){this._sources=b,this._cb=c,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){if(0===this._sources.length)return a.onCompleted(),ic;for(var b=this._sources.length,c={finished:!1,hasResults:new Array(b),hasCompleted:new Array(b),results:new Array(b)},d=new ec,e=0,f=this._sources.length;f>e;e++){var g=this._sources[e];Va(g)&&(g=id(g)),d.add(g.subscribe(new Pf(a,c,e,this._cb,d)))}return d},b}(Yc),Pf=function(a){function b(b,c,d,e,f){this._o=b,this._s=c,this._i=d,this._cb=e,this._subs=f,a.call(this)}return _b(b,a),b.prototype.next=function(a){this._s.finished||(this._s.hasResults[this._i]=!0,this._s.results[this._i]=a)},b.prototype.error=function(a){this._s.finished=!0,this._o.onError(a),this._subs.dispose()},b.prototype.completed=function(){if(!this._s.finished){if(!this._s.hasResults[this._i])return this._o.onCompleted();this._s.hasCompleted[this._i]=!0;for(var a=0;ac;c++)b[c]=arguments[c];var d=Wa(b[a-1])?b.pop():L;return Array.isArray(b[0])&&(b=b[0]),new Of(b,d)},Rc.forkJoin=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return Array.isArray(b[0])?b[0].unshift(this):b.unshift(this),Xc.forkJoin.apply(null,b)},Rc.manySelect=Rc.extend=function(a,b){uc(b)||(b=Oa.Scheduler.immediate);var c=this;return ld(function(){var d;return c.map(function(a){var b=new Qf(a);return d&&d.onNext(a),d=b,b}).tap(Pa,function(a){d&&d.onError(a)},function(){d&&d.onCompleted()}).observeOn(b).map(a)},c)};var Qf=function(a){function b(b){a.call(this),this.head=b,this.tail=new Fg}return _b(b,a),ac(b.prototype,Pc,{_subscribe:function(a){var b=new ec;return b.add(Bc.schedule(this,function(c,d){a.onNext(d.head),b.add(d.tail.mergeAll().subscribe(a))})),b},onCompleted:function(){this.onNext(Xc.empty())},onError:function(a){this.onNext(Xc["throw"](a))},onNext:function(a){this.tail.onNext(a),this.tail.onCompleted()}}),b}(Xc),Rf=Na.Map||function(){function b(){this.size=0,this._values=[],this._keys=[]}return b.prototype["delete"]=function(a){var b=this._keys.indexOf(a);return-1===b?!1:(this._values.splice(b,1),this._keys.splice(b,1),this.size--,!0)},b.prototype.get=function(b){var c=this._keys.indexOf(b);return-1===c?a:this._values[c]},b.prototype.set=function(a,b){var c=this._keys.indexOf(a);return-1===c?(this._keys.push(a),this._values.push(b),this.size++):this._values[c]=b,this},b.prototype.forEach=function(a,b){for(var c=0;cf;f++)d.push(qa(a,this.expression.patterns[f],e));var h=new ra(d,pa(this,b),function(){for(var a=0,b=d.length;b>a;a++)d[a].removeActivePlan(h);c(h)});for(f=0,g=d.length;g>f;f++)d[f].addActivePlan(h);return h},ra.prototype.dequeue=function(){this.joinObservers.forEach(function(a){a.queue.shift()})},ra.prototype.match=function(){var a,b,c=!0;for(a=0,b=this.joinObserverArray.length;b>a;a++)if(0===this.joinObserverArray[a].queue.length){c=!1;break}if(c){var d=[],e=!1;for(a=0,b=this.joinObserverArray.length;b>a;a++)d.push(this.joinObserverArray[a].queue[0]),"C"===this.joinObserverArray[a].queue[0].kind&&(e=!0);if(e)this.onCompleted();else{this.dequeue();var f=[];for(a=0,b=d.length;ac;c++)b[c].match()}},c.error=Pa,c.completed=Pa,c.addActivePlan=function(a){this.activePlans.push(a)},c.subscribe=function(){this.subscription.setDisposable(this.source.materialize().subscribe(this))},c.removeActivePlan=function(a){this.activePlans.splice(this.activePlans.indexOf(a),1),0===this.activePlans.length&&this.dispose()},c.dispose=function(){a.prototype.dispose.call(this),this.isDisposed||(this.isDisposed=!0,this.subscription.dispose())},b}(Sc);Rc.and=function(a){return new ma([this,a])},Rc.thenDo=function(a){return new ma([this]).thenDo(a)},Xc.when=function(){var a,b=arguments.length;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new Ag(function(b){var c=[],d=new Rf,e=Qc(function(a){b.onNext(a)},function(a){d.forEach(function(b){b.onError(a)}),b.onError(a)},function(a){b.onCompleted()});try{for(var f=0,g=a.length;g>f;f++)c.push(a[f].activate(d,e,function(a){var d=c.indexOf(a);c.splice(d,1),0===c.length&&b.onCompleted()}))}catch(h){Dd(h).subscribe(b)}var i=new ec;return d.forEach(function(a){a.subscribe(),i.add(a)}),i})};var Tf=function(a){function b(b,c){this._dt=b,this._s=c,a.call(this)}function c(a,b){b.onNext(0),b.onCompleted()}return _b(b,a),b.prototype.subscribeCore=function(a){return this._s.scheduleFuture(a,this._dt,c)},b}(Yc),Uf=Xc.interval=function(a,b){return ua(a,a,uc(b)?b:Gc)};Xc.timer=function(b,c,d){var e;return uc(d)||(d=Gc),null!=c&&"number"==typeof c?e=c:uc(c)&&(d=c),(b instanceof Date||"number"==typeof b)&&e===a?sa(b,d):b instanceof Date&&e!==a?ta(b,c,d):ua(b,e,d)};Rc.delay=function(){var a=arguments[0];if("number"==typeof a||a instanceof Date){var b=a,c=arguments[1];return uc(c)||(c=Gc),b instanceof Date?wa(this,b,c):va(this,b,c)}if(Xc.isObservable(a)||Wa(a))return xa(this,a,arguments[1]);throw new Error("Invalid arguments")};var Vf=function(a){function b(b,c,d){uc(d)||(d=Gc),this.source=b,this._dt=c,this._s=d,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){var b=new nc;return new oc(this.source.subscribe(new Wf(a,this._dt,this._s,b)),b)},b}(Yc),Wf=function(a){function b(b,c,d,e){this._o=b,this._d=c,this._scheduler=d,this._c=e,this._v=null,this._hv=!1,this._id=0,a.call(this)}return _b(b,a),b.prototype.next=function(a){this._hv=!0,this._v=a;var b=++this._id,c=new mc;this._c.setDisposable(c),c.setDisposable(this._scheduler.scheduleFuture(this,this._d,function(c,d){d._hv&&d._id===b&&d._o.onNext(a),d._hv=!1}))},b.prototype.error=function(a){this._c.dispose(),this._o.onError(a),this._hv=!1,this._id++},b.prototype.completed=function(){this._c.dispose(),this._hv&&this._o.onNext(this._v),this._o.onCompleted(),this._hv=!1,this._id++},b}(Sc);Rc.debounce=function(){if(Wa(arguments[0]))return ya(this,arguments[0]);if("number"==typeof arguments[0])return new Vf(this,arguments[0],arguments[1]);throw new Error("Invalid arguments")},Rc.windowWithTime=function(a,b,c){var d,e=this;return null==b&&(d=a),uc(c)||(c=Gc),"number"==typeof b?d=b:uc(b)&&(d=a,c=b),new Ag(function(b){function f(){var a=new mc,e=!1,g=!1;l.setDisposable(a),j===i?(e=!0,g=!0):i>j?e=!0:g=!0;var n=e?j:i,o=n-m;m=n,e&&(j+=d),g&&(i+=d),a.setDisposable(c.scheduleFuture(null,o,function(){if(g){var a=new Eg;k.push(a),b.onNext(bc(a,h))}e&&k.shift().onCompleted(),f()}))}var g,h,i=d,j=a,k=[],l=new nc,m=0;return g=new ec(l),h=new qc(g),k.push(new Eg),b.onNext(bc(k[0],h)),f(),g.add(e.subscribe(function(a){for(var b=0,c=k.length;c>b;b++)k[b].onNext(a)},function(a){for(var c=0,d=k.length;d>c;c++)k[c].onError(a);b.onError(a)},function(){for(var a=0,c=k.length;c>a;a++)k[a].onCompleted();b.onCompleted()})),h},e)},Rc.windowWithTimeOrCount=function(a,b,c){var d=this;return uc(c)||(c=Gc),new Ag(function(e){function f(b){var d=new mc;g.setDisposable(d),d.setDisposable(c.scheduleFuture(null,a,function(){if(b===k){j=0;var a=++k;l.onCompleted(),l=new Eg,e.onNext(bc(l,i)),f(a)}}))}var g=new nc,h=new ec(g),i=new qc(h),j=0,k=0,l=new Eg;return e.onNext(bc(l,i)),f(0),h.add(d.subscribe(function(a){var c=0,d=!1;l.onNext(a),++j===b&&(d=!0,j=0,c=++k,l.onCompleted(),l=new Eg,e.onNext(bc(l,i))),d&&f(c)},function(a){l.onError(a),e.onError(a)},function(){l.onCompleted(),e.onCompleted()})),i},d)},Rc.bufferWithTime=function(a,b,c){return this.windowWithTime(a,b,c).flatMap(O)},Rc.bufferWithTimeOrCount=function(a,b,c){return this.windowWithTimeOrCount(a,b,c).flatMap(O)};var Xf=function(a){function b(b,c){this.source=b,this._s=c,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Yf(a,this._s))},b}(Yc),Yf=function(a){function b(b,c){this._o=b,this._s=c,this._l=c.now(),a.call(this)}return _b(b,a),b.prototype.next=function(a){var b=this._s.now(),c=b-this._l;this._l=b,this._o.onNext({value:a,interval:c})},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Sc);Rc.timeInterval=function(a){return uc(a)||(a=Gc),new Xf(this,a)};var Zf=function(a){function b(b,c){this.source=b,this._s=c,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new $f(a,this._s))},b}(Yc),$f=function(a){function b(b,c){this._o=b,this._s=c,a.call(this)}return _b(b,a),b.prototype.next=function(a){this._o.onNext({value:a,timestamp:this._s.now()})},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Sc);Rc.timestamp=function(a){return uc(a)||(a=Gc),new Zf(this,a)};var _f=function(a){function b(b,c){this.source=b,this._sampler=c,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){var b={o:a,atEnd:!1,value:null,hasValue:!1,sourceSubscription:new mc};return b.sourceSubscription.setDisposable(this.source.subscribe(new bg(b))),new oc(b.sourceSubscription,this._sampler.subscribe(new ag(b)))},b}(Yc),ag=function(a){function b(b){this._s=b,a.call(this)}return _b(b,a),b.prototype._handleMessage=function(){this._s.hasValue&&(this._s.hasValue=!1,this._s.o.onNext(this._s.value)),this._s.atEnd&&this._s.o.onCompleted()},b.prototype.next=function(){this._handleMessage()},b.prototype.error=function(a){this._s.onError(a)},b.prototype.completed=function(){this._handleMessage()},b}(Sc),bg=function(a){function b(b){this._s=b,a.call(this)}return _b(b,a),b.prototype.next=function(a){this._s.hasValue=!0,this._s.value=a},b.prototype.error=function(a){this._s.o.onError(a)},b.prototype.completed=function(){this._s.atEnd=!0,this._s.sourceSubscription.dispose()},b}(Sc);Rc.sample=function(a,b){return uc(b)||(b=Gc),"number"==typeof a?new _f(this,Uf(a,b)):new _f(this,a)};var cg=Oa.TimeoutError=function(a){this.message=a||"Timeout has occurred",this.name="TimeoutError",Error.call(this)};cg.prototype=Object.create(Error.prototype),Rc.timeout=function(){var a=arguments[0];if(a instanceof Date||"number"==typeof a)return Aa(this,a,arguments[1],arguments[2]);if(Xc.isObservable(a)||Wa(a))return za(this,a,arguments[1],arguments[2]);throw new Error("Invalid arguments")};var dg=function(a){function b(b,c,d,e,f,g){this._state=b,this._cndFn=c,this._itrFn=d,this._resFn=e,this._timeFn=f,this._s=g,a.call(this)}function c(a,b){if(a.hasResult&&a.o.onNext(a.newState),a.first)a.first=!1;else if(a.newState=Ya(a.self._itrFn)(a.newState),a.newState===Xa)return a.o.onError(a.newState.e);if(a.hasResult=Ya(a.self._cndFn)(a.newState),a.hasResult===Xa)return a.o.onError(a.hasResult.e);if(a.hasResult){var c=Ya(a.self._resFn)(a.newState);if(c===Xa)return a.o.onError(c.e);var d=Ya(a.self._timeFn)(a.newState);if(d===Xa)return a.o.onError(d.e);b(a,d)}else a.o.onCompleted()}return _b(b,a),b.prototype.subscribeCore=function(a){var b={o:a,self:this,newState:this._state,first:!0,hasValue:!1};return this._s.scheduleRecursiveFuture(b,new Date(this._s.now()),c)},b}(Yc);Xc.generateWithAbsoluteTime=function(a,b,c,d,e,f){return uc(f)||(f=Gc),new dg(a,b,c,d,e,f)};var eg=function(a){function b(b,c,d,e,f,g){this._state=b,this._cndFn=c,this._itrFn=d,this._resFn=e,this._timeFn=f,this._s=g,a.call(this)}function c(a,b){if(a.hasResult&&a.o.onNext(a.newState),a.first)a.first=!1;else if(a.newState=Ya(a.self._itrFn)(a.newState),a.newState===Xa)return a.o.onError(a.newState.e);if(a.hasResult=Ya(a.self._cndFn)(a.newState),a.hasResult===Xa)return a.o.onError(a.hasResult.e);if(a.hasResult){var c=Ya(a.self._resFn)(a.newState);if(c===Xa)return a.o.onError(c.e);var d=Ya(a.self._timeFn)(a.newState);if(d===Xa)return a.o.onError(d.e);b(a,d)}else a.o.onCompleted()}return _b(b,a),b.prototype.subscribeCore=function(a){var b={o:a,self:this,newState:this._state,first:!0,hasValue:!1};return this._s.scheduleRecursiveFuture(b,0,c)},b}(Yc);Xc.generateWithRelativeTime=function(a,b,c,d,e,f){return uc(f)||(f=Gc),new eg(a,b,c,d,e,f)};var fg=function(a){function b(b,c,d){this.source=b,this._dt=c,this._s=d,a.call(this)}function c(a,b){var c=b[0],d=b[1],e=b[2];e.setDisposable(c.subscribe(d))}return _b(b,a),b.prototype.subscribeCore=function(a){var b=new nc;return b.setDisposable(this._s.scheduleFuture([this.source,a,b],this._dt,c)),b},b}(Yc);Rc.delaySubscription=function(a,b){return uc(b)||(b=Gc),new fg(this,a,b)};var gg=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new hg(a,this))},b}(Yc),hg=function(a){function b(b,c){this._o=b,this._s=c._s,this._d=c._d,this._q=[],a.call(this)}return _b(b,a),b.prototype.next=function(a){var b=this._s.now();for(this._q.push({interval:b,value:a});this._q.length>0&&b-this._q[0].interval>=this._d;)this._o.onNext(this._q.shift().value)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){for(var a=this._s.now();this._q.length>0&&a-this._q[0].interval>=this._d;)this._o.onNext(this._q.shift().value);this._o.onCompleted()},b}(Sc);Rc.skipLastWithTime=function(a,b){return uc(b)||(b=Gc),new gg(this,a,b)};var ig=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new jg(a,this._d,this._s))},b}(Yc),jg=function(a){function b(b,c,d){this._o=b,this._d=c,this._s=d,this._q=[],a.call(this)}return _b(b,a),b.prototype.next=function(a){var b=this._s.now();for(this._q.push({interval:b,value:a});this._q.length>0&&b-this._q[0].interval>=this._d;)this._q.shift()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){for(var a=this._s.now();this._q.length>0;){var b=this._q.shift();a-b.interval<=this._d&&this._o.onNext(b.value)}this._o.onCompleted()},b}(Sc);Rc.takeLastWithTime=function(a,b){return uc(b)||(b=Gc),new ig(this,a,b)},Rc.takeLastBufferWithTime=function(a,b){var c=this;return uc(b)||(b=Gc),new Ag(function(d){var e=[];return c.subscribe(function(c){var d=b.now();for(e.push({interval:d,value:c});e.length>0&&d-e[0].interval>=a;)e.shift()},function(a){d.onError(a)},function(){for(var c=b.now(),f=[];e.length>0;){var g=e.shift();c-g.interval<=a&&f.push(g.value)}d.onNext(f),d.onCompleted()})},c)};var kg=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,a.call(this); -}function c(a,b){b.onCompleted()}return _b(b,a),b.prototype.subscribeCore=function(a){return new oc(this._s.scheduleFuture(a,this._d,c),this.source.subscribe(a))},b}(Yc);Rc.takeWithTime=function(a,b){return uc(b)||(b=Gc),new kg(this,a,b)};var lg=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,this._open=!1,a.call(this)}function c(a,b){b._open=!0}return _b(b,a),b.prototype.subscribeCore=function(a){return new oc(this._s.scheduleFuture(this,this._d,c),this.source.subscribe(new mg(a,this)))},b}(Yc),mg=function(a){function b(b,c){this._o=b,this._p=c,a.call(this)}return _b(b,a),b.prototype.next=function(a){this._p._open&&this._o.onNext(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Sc);Rc.skipWithTime=function(a,b){return uc(b)||(b=Gc),new lg(this,a,b)};var ng=function(a){function b(b,c,d){this.source=b,this._st=c,this._s=d,a.call(this)}function c(a,b){b._open=!0}return _b(b,a),b.prototype.subscribeCore=function(a){return this._open=!1,new oc(this._s.scheduleFuture(this,this._st,c),this.source.subscribe(new og(a,this)))},b}(Yc),og=function(a){function b(b,c){this._o=b,this._p=c,a.call(this)}return _b(b,a),b.prototype.next=function(a){this._p._open&&this._o.onNext(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Sc);Rc.skipUntilWithTime=function(a,b){return uc(b)||(b=Gc),new ng(this,a,b)},Rc.takeUntilWithTime=function(a,b){uc(b)||(b=Gc);var c=this;return new Ag(function(d){return new oc(b.scheduleFuture(d,a,function(a,b){b.onCompleted()}),c.subscribe(d))},c)},Rc.throttle=function(a,b){uc(b)||(b=Gc);var c=+a||0;if(0>=c)throw new RangeError("windowDuration cannot be less or equal zero.");var d=this;return new Ag(function(a){var e=0;return d.subscribe(function(d){var f=b.now();(0===e||f-e>=c)&&(e=f,a.onNext(d))},function(b){a.onError(b)},function(){a.onCompleted()})},d)};var pg=function(a){function b(b){this.source=b,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){var b=new mc,c=new ec,d={hasCurrent:!1,isStopped:!1,o:a,g:c};return c.add(b),b.setDisposable(this.source.subscribe(new qg(d))),c},b}(Yc),qg=function(a){function b(b){this._s=b,a.call(this)}function c(b,c){this._s=b,this._i=c,a.call(this)}return _b(b,a),b.prototype.next=function(a){if(!this._s.hasCurrent){this._s.hasCurrent=!0,Va(a)&&(a=id(a));var b=new mc;this._s.g.add(b),b.setDisposable(a.subscribe(new c(this._s,b)))}},b.prototype.error=function(a){this._s.o.onError(a)},b.prototype.completed=function(){this._s.isStopped=!0,!this._s.hasCurrent&&1===this._s.g.length&&this._s.o.onCompleted()},_b(c,a),c.prototype.next=function(a){this._s.o.onNext(a)},c.prototype.error=function(a){this._s.o.onError(a)},c.prototype.completed=function(){this._s.g.remove(this._i),this._s.hasCurrent=!1,this._s.isStopped&&1===this._s.g.length&&this._s.o.onCompleted()},b}(Sc);Rc.switchFirst=function(){return new pg(this)},Rc.flatMapFirst=Rc.selectManyFirst=function(a,b,c){return new Zc(this,a,b,c).switchFirst()},Oa.Observable.prototype.flatMapWithMaxConcurrent=function(a,b,c,d){return new Zc(this,b,c,d).merge(a)};var rg=function(a){function b(b,c){this._o=b,this._xform=c,a.call(this)}return _b(b,a),b.prototype.next=function(a){var b=Ya(this._xform["@@transducer/step"]).call(this._xform,this._o,a);b===Xa&&this._o.onError(b.e)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._xform["@@transducer/result"](this._o)},b}(Sc);Rc.transduce=function(a){var b=this;return new Ag(function(c){var d=a(Ba(c));return b.subscribe(new rg(c,d))},b)};var sg=Oa.VirtualTimeScheduler=function(a){function b(b,c){this.clock=b,this.comparer=c,this.isEnabled=!1,this.queue=new cc(1024),a.call(this)}_b(b,a);var c=b.prototype;return c.now=function(){return this.toAbsoluteTime(this.clock)},c.schedule=function(a,b){return this.scheduleAbsolute(a,this.clock,b)},c.scheduleFuture=function(a,b,c){var d=b instanceof Date?this.toRelativeTime(b-this.now()):this.toRelativeTime(b);return this.scheduleRelative(a,d,c)},c.add=nb,c.toAbsoluteTime=nb,c.toRelativeTime=nb,c.schedulePeriodic=function(a,b,c){var d=new xc(this,a,b,c);return d.start()},c.scheduleRelative=function(a,b,c){var d=this.add(this.clock,b);return this.scheduleAbsolute(a,d,c)},c.start=function(){if(!this.isEnabled){this.isEnabled=!0;do{var a=this.getNext();null!==a?(this.comparer(a.dueTime,this.clock)>0&&(this.clock=a.dueTime),a.invoke()):this.isEnabled=!1}while(this.isEnabled)}},c.stop=function(){this.isEnabled=!1},c.advanceTo=function(a){var b=this.comparer(this.clock,a);if(this.comparer(this.clock,a)>0)throw new kb;if(0!==b&&!this.isEnabled){this.isEnabled=!0;do{var c=this.getNext();null!==c&&this.comparer(c.dueTime,a)<=0?(this.comparer(c.dueTime,this.clock)>0&&(this.clock=c.dueTime),c.invoke()):this.isEnabled=!1}while(this.isEnabled);this.clock=a}},c.advanceBy=function(a){var b=this.add(this.clock,a),c=this.comparer(this.clock,b);if(c>0)throw new kb;0!==c&&this.advanceTo(b)},c.sleep=function(a){var b=this.add(this.clock,a);if(this.comparer(this.clock,b)>=0)throw new kb;this.clock=b},c.getNext=function(){for(;this.queue.length>0;){var a=this.queue.peek();if(!a.isCancelled())return a;this.queue.dequeue()}return null},c.scheduleAbsolute=function(a,b,c){function d(a,b){return e.queue.remove(f),c(a,b)}var e=this,f=new rc(this,a,d,b,this.comparer);return this.queue.enqueue(f),f.disposable},b}(sc);Oa.HistoricalScheduler=function(a){function b(b,c){var d=null==b?0:b,e=c||Ta;a.call(this,d,e)}_b(b,a);var c=b.prototype;return c.add=function(a,b){return a+b},c.toAbsoluteTime=function(a){return new Date(a).getTime()},c.toRelativeTime=function(a){return a},b}(Oa.VirtualTimeScheduler),Ca.prototype.equals=function(a){return a===this?!0:null==a?!1:"N"!==a.kind?!1:this.predicate(a.value)},Da.prototype.equals=function(a){return a===this?!0:null==a?!1:"E"!==a.kind?!1:this.predicate(a.error)};var tg=Oa.ReactiveTest={created:100,subscribed:200,disposed:1e3,onNext:function(a,b){return"function"==typeof b?new ug(a,new Ca(b)):new ug(a,Ic.createOnNext(b))},onError:function(a,b){return"function"==typeof b?new ug(a,new Da(b)):new ug(a,Ic.createOnError(b))},onCompleted:function(a){return new ug(a,Ic.createOnCompleted())},subscribe:function(a,b){return new vg(a,b)}},ug=Oa.Recorded=function(a,b,c){this.time=a,this.value=b,this.comparer=c||Sa};ug.prototype.equals=function(a){return this.time===a.time&&this.comparer(this.value,a.value)},ug.prototype.toString=function(){return this.value.toString()+"@"+this.time};var vg=Oa.Subscription=function(a,b){this.subscribe=a,this.unsubscribe=b||Number.MAX_VALUE};vg.prototype.equals=function(a){return this.subscribe===a.subscribe&&this.unsubscribe===a.unsubscribe},vg.prototype.toString=function(){return"("+this.subscribe+", "+(this.unsubscribe===Number.MAX_VALUE?"Infinite":this.unsubscribe)+")"};var wg=Oa.MockDisposable=function(a){this.scheduler=a,this.disposes=[],this.disposes.push(this.scheduler.clock)};wg.prototype.dispose=function(){this.disposes.push(this.scheduler.clock)};var xg=function(a){function b(b){a.call(this),this.scheduler=b,this.messages=[]}_b(b,a);var c=b.prototype;return c.onNext=function(a){this.messages.push(new ug(this.scheduler.clock,Ic.createOnNext(a)))},c.onError=function(a){this.messages.push(new ug(this.scheduler.clock,Ic.createOnError(a)))},c.onCompleted=function(){this.messages.push(new ug(this.scheduler.clock,Ic.createOnCompleted()))},b}(Pc);Ea.prototype.then=function(b,c){var d=this;this.subscriptions.push(new vg(this.scheduler.clock));var e,f=this.subscriptions.length-1,g=Oa.Observer.create(function(c){var h=b(c);if(h&&"function"==typeof h.then)e=h;else{var i=d.scheduler.clock;e=new Ea(d.scheduler,[Oa.ReactiveTest.onNext(i,a),Oa.ReactiveTest.onCompleted(i)])}var j=d.observers.indexOf(g);d.observers.splice(j,1),d.subscriptions[f]=new vg(d.subscriptions[f].subscribe,d.scheduler.clock)},function(a){c(a);var b=d.observers.indexOf(g);d.observers.splice(b,1),d.subscriptions[f]=new vg(d.subscriptions[f].subscribe,d.scheduler.clock)});return this.observers.push(g),e||new Ea(this.scheduler,this.messages)};var yg=function(a){function b(b,c){a.call(this);var d,e,f=this;this.scheduler=b,this.messages=c,this.subscriptions=[],this.observers=[];for(var g=0,h=this.messages.length;h>g;g++)d=this.messages[g],e=d.value,function(a){b.scheduleAbsolute(null,d.time,function(){for(var b=f.observers.slice(0),c=0,d=b.length;d>c;c++)a.accept(b[c]);return ic})}(e)}return _b(b,a),b.prototype._subscribe=function(a){var b=this;this.observers.push(a),this.subscriptions.push(new vg(this.scheduler.clock));var c=this.subscriptions.length-1;return hc(function(){var d=b.observers.indexOf(a);b.observers.splice(d,1),b.subscriptions[c]=new vg(b.subscriptions[c].subscribe,b.scheduler.clock)})},b}(Xc),zg=function(a){function b(b,c){a.call(this),this.scheduler=b,this.messages=c,this.subscriptions=[]}return _b(b,a),b.prototype._subscribe=function(a){var b,c,d=this;this.subscriptions.push(new vg(this.scheduler.clock));for(var e=this.subscriptions.length-1,f=new ec,g=0,h=this.messages.length;h>g;g++)b=this.messages[g],c=b.value,function(c){f.add(d.scheduler.scheduleRelative(null,b.time,function(){return c.accept(a),ic}))}(c);return hc(function(){d.subscriptions[e]=new vg(d.subscriptions[e].subscribe,d.scheduler.clock),f.dispose()})},b}(Xc);Oa.TestScheduler=function(a){function b(a,b){return a>b?1:b>a?-1:0}function c(){a.call(this,0,b)}return _b(c,a),c.prototype.scheduleAbsolute=function(b,c,d){return c<=this.clock&&(c=this.clock+1),a.prototype.scheduleAbsolute.call(this,b,c,d)},c.prototype.add=function(a,b){return a+b},c.prototype.toAbsoluteTime=function(a){return new Date(a).getTime()},c.prototype.toRelativeTime=function(a){return a},c.prototype.startScheduler=function(a,b){b||(b={}),null==b.created&&(b.created=tg.created),null==b.subscribed&&(b.subscribed=tg.subscribed),null==b.disposed&&(b.disposed=tg.disposed);var c,d,e=this.createObserver();return this.scheduleAbsolute(null,b.created,function(){return c=a(),ic}),this.scheduleAbsolute(null,b.subscribed,function(){return d=c.subscribe(e),ic}),this.scheduleAbsolute(null,b.disposed,function(){return d.dispose(),ic}),this.start(),e},c.prototype.createHotObservable=function(){var a,b=arguments.length;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new yg(this,a)},c.prototype.createColdObservable=function(){var a,b=arguments.length;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new zg(this,a)},c.prototype.createResolvedPromise=function(a,b){return new Ea(this,[Oa.ReactiveTest.onNext(a,b),Oa.ReactiveTest.onCompleted(a)])},c.prototype.createRejectedPromise=function(a,b){return new Ea(this,[Oa.ReactiveTest.onError(a,b)])},c.prototype.createObserver=function(){return new xg(this)},c}(sg);var Ag=Oa.AnonymousObservable=function(a){function b(a){return a&&Wa(a.dispose)?a:Wa(a)?hc(a):ic}function c(a,c){var d=c[0],f=c[1],g=Ya(f.__subscribe).call(f,d);g!==Xa||d.fail(Xa.e)||e(Xa.e),d.setDisposable(b(g))}function d(b,c){this.source=c,this.__subscribe=b,a.call(this)}return _b(d,a),d.prototype._subscribe=function(a){var b=new Bg(a),d=[b,this];return Bc.scheduleRequired()?Bc.schedule(d,c):c(null,d),b},d}(Xc),Bg=function(a){function b(b){a.call(this),this.observer=b,this.m=new mc}_b(b,a);var c=b.prototype;return c.next=function(a){var b=Ya(this.observer.onNext).call(this.observer,a);b===Xa&&(this.dispose(),e(b.e))},c.error=function(a){var b=Ya(this.observer.onError).call(this.observer,a);this.dispose(),b===Xa&&e(b.e)},c.completed=function(){var a=Ya(this.observer.onCompleted).call(this.observer);this.dispose(),a===Xa&&e(a.e)},c.setDisposable=function(a){this.m.setDisposable(a)},c.getDisposable=function(){return this.m.getDisposable()},c.dispose=function(){a.prototype.dispose.call(this),this.m.dispose()},b}(Sc),Cg=function(a){function b(b,c){this._m=b,this._u=c,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return new oc(this._m.getDisposable(),this._u.subscribe(a))},b}(Yc),Dg=function(a){function b(b,c,d){a.call(this),this.key=b,this.underlyingObservable=d?new Cg(d,c):c}return _b(b,a),b.prototype._subscribe=function(a){return this.underlyingObservable.subscribe(a)},b}(Xc),Eg=Oa.Subject=function(a){function b(){a.call(this),this.isDisposed=!1,this.isStopped=!1,this.observers=[],this.hasError=!1}return _b(b,a),ac(b.prototype,Pc.prototype,{_subscribe:function(a){return kc(this),this.isStopped?this.hasError?(a.onError(this.error),ic):(a.onCompleted(),ic):(this.observers.push(a),new Ff(this,a))},hasObservers:function(){return kc(this),this.observers.length>0},onCompleted:function(){if(kc(this),!this.isStopped){this.isStopped=!0;for(var a=0,b=c(this.observers),d=b.length;d>a;a++)b[a].onCompleted();this.observers.length=0}},onError:function(a){if(kc(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;for(var b=0,d=c(this.observers),e=d.length;e>b;b++)d[b].onError(a);this.observers.length=0}},onNext:function(a){if(kc(this),!this.isStopped)for(var b=0,d=c(this.observers),e=d.length;e>b;b++)d[b].onNext(a)},dispose:function(){this.isDisposed=!0,this.observers=null}}),b.create=function(a,b){return new Gg(a,b)},b}(Xc),Fg=Oa.AsyncSubject=function(a){function b(){a.call(this),this.isDisposed=!1,this.isStopped=!1,this.hasValue=!1,this.observers=[],this.hasError=!1}return _b(b,a),ac(b.prototype,Pc.prototype,{_subscribe:function(a){return kc(this),this.isStopped?(this.hasError?a.onError(this.error):this.hasValue?(a.onNext(this.value),a.onCompleted()):a.onCompleted(),ic):(this.observers.push(a),new Ff(this,a))},hasObservers:function(){return kc(this),this.observers.length>0},onCompleted:function(){var a,b;if(kc(this),!this.isStopped){this.isStopped=!0;var d=c(this.observers),b=d.length;if(this.hasValue)for(a=0;b>a;a++){var e=d[a];e.onNext(this.value),e.onCompleted()}else for(a=0;b>a;a++)d[a].onCompleted();this.observers.length=0}},onError:function(a){if(kc(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var b=0,d=c(this.observers),e=d.length;e>b;b++)d[b].onError(a);this.observers.length=0}},onNext:function(a){kc(this),this.isStopped||(this.value=a,this.hasValue=!0)},dispose:function(){this.isDisposed=!0,this.observers=null,this.error=null,this.value=null}}),b}(Xc),Gg=Oa.AnonymousSubject=function(a){function b(b,c){this.observer=b,this.observable=c,a.call(this)}return _b(b,a),ac(b.prototype,Pc.prototype,{_subscribe:function(a){return this.observable.subscribe(a)},onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),b}(Xc),Hg=Oa.BehaviorSubject=function(a){function b(b){a.call(this),this.value=b,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.hasError=!1}return _b(b,a),ac(b.prototype,Pc.prototype,{_subscribe:function(a){return kc(this),this.isStopped?(this.hasError?a.onError(this.error):a.onCompleted(),ic):(this.observers.push(a),a.onNext(this.value),new Ff(this,a))},getValue:function(){return kc(this),this.hasError&&e(this.error),this.value},hasObservers:function(){return kc(this),this.observers.length>0},onCompleted:function(){if(kc(this),!this.isStopped){this.isStopped=!0;for(var a=0,b=c(this.observers),d=b.length;d>a;a++)b[a].onCompleted();this.observers.length=0}},onError:function(a){if(kc(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var b=0,d=c(this.observers),e=d.length;e>b;b++)d[b].onError(a);this.observers.length=0}},onNext:function(a){if(kc(this),!this.isStopped){this.value=a;for(var b=0,d=c(this.observers),e=d.length;e>b;b++)d[b].onNext(a)}},dispose:function(){this.isDisposed=!0,this.observers=null,this.value=null,this.error=null}}),b}(Xc),Ig=Oa.ReplaySubject=function(a){function b(a,b){return hc(function(){b.dispose(),!a.isDisposed&&a.observers.splice(a.observers.indexOf(b),1)})}function d(b,c,d){this.bufferSize=null==b?e:b,this.windowSize=null==c?e:c,this.scheduler=d||Bc,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this)}var e=Math.pow(2,53)-1;return _b(d,a),ac(d.prototype,Pc.prototype,{_subscribe:function(a){kc(this);var c=new Vc(this.scheduler,a),d=b(this,c);this._trim(this.scheduler.now()),this.observers.push(c);for(var e=0,f=this.q.length;f>e;e++)c.onNext(this.q[e].value);return this.hasError?c.onError(this.error):this.isStopped&&c.onCompleted(),c.ensureActive(),d},hasObservers:function(){return kc(this),this.observers.length>0},_trim:function(a){for(;this.q.length>this.bufferSize;)this.q.shift();for(;this.q.length>0&&a-this.q[0].interval>this.windowSize;)this.q.shift()},onNext:function(a){if(kc(this),!this.isStopped){var b=this.scheduler.now();this.q.push({interval:b,value:a}),this._trim(b);for(var d=0,e=c(this.observers),f=e.length;f>d;d++){var g=e[d];g.onNext(a),g.ensureActive()}}},onError:function(a){if(kc(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;var b=this.scheduler.now();this._trim(b);for(var d=0,e=c(this.observers),f=e.length;f>d;d++){var g=e[d];g.onError(a),g.ensureActive()}this.observers.length=0}},onCompleted:function(){if(kc(this),!this.isStopped){this.isStopped=!0;var a=this.scheduler.now();this._trim(a);for(var b=0,d=c(this.observers),e=d.length;e>b;b++){var f=d[b];f.onCompleted(),f.ensureActive()}this.observers.length=0}},dispose:function(){this.isDisposed=!0,this.observers=null}}),d}(Xc);Oa.Pauser=function(a){function b(){a.call(this)}return _b(b,a),b.prototype.pause=function(){this.onNext(!1)},b.prototype.resume=function(){this.onNext(!0)},b}(Eg),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Na.Rx=Oa,define(function(){return Oa})):Ga&&Ha?La?(Ha.exports=Oa).Rx=Oa:Ga.Rx=Oa:Na.Rx=Oa;var Jg=j()}).call(this); +},b}(Yc),qf=function(a){function b(b,c,d){this._o=b,this._b=c,this._e=d,this._i=0,a.call(this)}return _b(b,a),b.prototype.next=function(a){this._i>=this._b&&(this._e===this._i?this._o.onCompleted():this._o.onNext(a)),this._i++},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Sc);Rc.slice=function(a,b){var c=a||0;if(0>c)throw new Oa.ArgumentOutOfRangeError;if("number"==typeof b&&c>b)throw new Oa.ArgumentOutOfRangeError;return new pf(this,c,b)};var rf=function(a){function b(b,c,d){this.source=b,this._e=c,this._n=d,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this._n<0?(a.onNext(-1),a.onCompleted(),ic):this.source.subscribe(new sf(a,this._e,this._n))},b}(Yc),sf=function(a){function b(b,c,d){this._o=b,this._e=c,this._n=d,this._v=0,this._hv=!1,this._i=0,a.call(this)}return _b(b,a),b.prototype.next=function(a){this._i>=this._n&&a===this._e&&(this._hv=!0,this._v=this._i),this._i++},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._hv?this._o.onNext(this._v):this._o.onNext(-1),this._o.onCompleted()},b}(Sc);Rc.lastIndexOf=function(a,b){var c=+b||0;return Math.abs(c)===1/0&&(c=0),new rf(this,a,c)},Xc.wrap=function(a){function b(){return Xc.spawn.call(this,a.apply(this,arguments))}return b.__generatorFunction__=a,b};var tf=Xc.spawn=function(){for(var a=arguments[0],b=this,c=[],d=1,e=arguments.length;e>d;d++)c.push(arguments[d]);return new Ag(function(d){function e(b){var c=Ya(a.next).call(a,b);return c===Xa?d.onError(c.e):void g(c)}function f(b){var c=Ya(a.next).call(a,b);return c===Xa?d.onError(c.e):void g(c)}function g(a){if(a.done)return d.onNext(a.value),void d.onCompleted();var c=V.call(b,a.value),g=null,i=!1;Xc.isObservable(c)?h.add(c.subscribe(function(a){i=!0,g=a},f,function(){i&&e(g)})):f(new TypeError("type not supported"))}var h=new ec;return Wa(a)&&(a=a.apply(b,c)),a&&Wa(a.next)?(e(),h):(d.onNext(a),d.onCompleted())})};Xc.start=function(a,b,c){return uf(a,b,c)()};var uf=Xc.toAsync=function(a,b,c){return uc(c)||(c=Gc),function(){var d=arguments,e=new Fg;return c.schedule(null,function(){var c;try{c=a.apply(b,d)}catch(f){return void e.onError(f)}e.onNext(c),e.onCompleted()}),e.asObservable()}};Xc.fromCallback=function(a,b,c){return function(){"undefined"==typeof b&&(b=this);for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return aa(a,b,c,e)}},Xc.fromNodeCallback=function(a,b,c){return function(){"undefined"==typeof b&&(b=this);for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return ca(a,b,c,e)}},fa.prototype.dispose=function(){this.isDisposed||(this._e.removeEventListener(this._n,this._fn,!1),this.isDisposed=!0)},Oa.config.useNativeEvents=!1;var vf=function(a){function b(b,c,d){this._el=b,this._n=c,this._fn=d,a.call(this)}function c(a,b){return function(){var c=arguments[0];return Wa(b)&&(c=Ya(b).apply(null,arguments),c===Xa)?a.onError(c.e):void a.onNext(c)}}return _b(b,a),b.prototype.subscribeCore=function(a){return ga(this._el,this._n,c(a,this._fn))},b}(Yc);Xc.fromEvent=function(a,b,c){return a.addListener?xf(function(c){a.addListener(b,c)},function(c){a.removeListener(b,c)},c):Oa.config.useNativeEvents||"function"!=typeof a.on||"function"!=typeof a.off?new vf(a,b,c).publish().refCount():xf(function(c){a.on(b,c)},function(c){a.off(b,c)},c)};var wf=function(a){function b(b,c,d){this._add=b,this._del=c,this._fn=d,a.call(this)}function c(a,b){return function(){var c=arguments[0];return Wa(b)&&(c=Ya(b).apply(null,arguments),c===Xa)?a.onError(c.e):void a.onNext(c)}}function d(a,b,c){this._del=a,this._fn=b,this._ret=c,this.isDisposed=!1}return _b(b,a),b.prototype.subscribeCore=function(a){var b=c(a,this._fn),e=this._add(b);return new d(this._del,b,e)},d.prototype.dispose=function(){this.isDisposed||(Wa(this._del)&&this._del(this._fn,this._ret),this.isDisposed=!0)},b}(Yc),xf=Xc.fromEventPattern=function(a,b,c){return new wf(a,b,c).publish().refCount()};Xc.startAsync=function(a){var b=Ya(a)();return b===Xa?Dd(b.e):id(b)};var yf=function(a){function b(b,c){this.source=b,this.controller=new Eg,c&&c.subscribe?this.pauser=this.controller.merge(c):this.pauser=this.controller,a.call(this)}return _b(b,a),b.prototype._subscribe=function(a){var b=this.source.publish(),c=b.subscribe(a),d=ic,e=this.pauser.distinctUntilChanged().subscribe(function(a){a?d=b.connect():(d.dispose(),d=ic)});return new pc([c,d,e])},b.prototype.pause=function(){this.controller.onNext(!1)},b.prototype.resume=function(){this.controller.onNext(!0)},b}(Xc);Rc.pausable=function(a){return new yf(this,a)};var zf=function(b){function c(a,c){this.source=a,this.controller=new Eg,c&&c.subscribe?this.pauser=this.controller.merge(c):this.pauser=this.controller,b.call(this)}return _b(c,b),c.prototype._subscribe=function(b){function c(){for(;e.length>0;)b.onNext(e.shift())}var d,e=[],f=ha(this.source,this.pauser.startWith(!1).distinctUntilChanged(),function(a,b){return{data:a,shouldFire:b}}).subscribe(function(f){d!==a&&f.shouldFire!==d?(d=f.shouldFire,f.shouldFire&&c()):(d=f.shouldFire,f.shouldFire?b.onNext(f.data):e.push(f.data))},function(a){c(),b.onError(a)},function(){c(),b.onCompleted()});return f},c.prototype.pause=function(){this.controller.onNext(!1)},c.prototype.resume=function(){this.controller.onNext(!0)},c}(Xc);Rc.pausableBuffered=function(a){return new zf(this,a)};var Af=function(a){function b(b,c,d){a.call(this),this.subject=new Bf(c,d),this.source=b.multicast(this.subject).refCount()}return _b(b,a),b.prototype._subscribe=function(a){return this.source.subscribe(a)},b.prototype.request=function(a){return this.subject.request(null==a?-1:a)},b}(Xc),Bf=function(a){function b(b,c){null==b&&(b=!0),a.call(this),this.subject=new Eg,this.enableQueue=b,this.queue=b?[]:null,this.requestedCount=0,this.requestedDisposable=null,this.error=null,this.hasFailed=!1,this.hasCompleted=!1,this.scheduler=c||Bc}return _b(b,a),ac(b.prototype,Pc,{_subscribe:function(a){return this.subject.subscribe(a)},onCompleted:function(){this.hasCompleted=!0,this.enableQueue&&0!==this.queue.length?this.queue.push(Ic.createOnCompleted()):(this.subject.onCompleted(),this.disposeCurrentRequest())},onError:function(a){this.hasFailed=!0,this.error=a,this.enableQueue&&0!==this.queue.length?this.queue.push(Ic.createOnError(a)):(this.subject.onError(a),this.disposeCurrentRequest())},onNext:function(a){this.requestedCount<=0?this.enableQueue&&this.queue.push(Ic.createOnNext(a)):(0===this.requestedCount--&&this.disposeCurrentRequest(),this.subject.onNext(a))},_processRequest:function(a){if(this.enableQueue)for(;this.queue.length>0&&(a>0||"N"!==this.queue[0].kind);){var b=this.queue.shift();b.accept(this.subject),"N"===b.kind?a--:(this.disposeCurrentRequest(),this.queue=[])}return a},request:function(a){this.disposeCurrentRequest();var b=this;return this.requestedDisposable=this.scheduler.schedule(a,function(a,c){var d=b._processRequest(c),e=b.hasCompleted||b.hasFailed;return!e&&d>0?(b.requestedCount=d,hc(function(){b.requestedCount=0})):void 0}),this.requestedDisposable},disposeCurrentRequest:function(){this.requestedDisposable&&(this.requestedDisposable.dispose(),this.requestedDisposable=null)}}),b}(Xc);Rc.controlled=function(a,b){return a&&uc(a)&&(b=a,a=!0),null==a&&(a=!0),new Af(this,a,b)};var Cf=function(a){function b(b){a.call(this),this.source=b}function c(a,b){b.source.request(1)}_b(b,a),b.prototype._subscribe=function(a){return this.subscription=this.source.subscribe(new d(a,this,this.subscription)),new oc(this.subscription,Gc.schedule(this,c))};var d=function(a){function c(b,c,d){a.call(this),this.observer=b,this.observable=c,this.cancel=d,this.scheduleDisposable=null}function d(a,b){b.observable.source.request(1)}return _b(c,a),c.prototype.completed=function(){this.observer.onCompleted(),this.dispose()},c.prototype.error=function(a){this.observer.onError(a),this.dispose()},c.prototype.next=function(a){this.observer.onNext(a),this.scheduleDisposable=Gc.schedule(this,d)},b.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),this.scheduleDisposable&&(this.scheduleDisposable.dispose(),this.scheduleDisposable=null),a.prototype.dispose.call(this)},c}(Sc);return b}(Xc);Af.prototype.stopAndWait=function(){return new Cf(this)};var Df=function(a){function b(b,c){a.call(this),this.source=b,this.windowSize=c}function c(a,b){b.source.request(b.windowSize)}_b(b,a),b.prototype._subscribe=function(a){return this.subscription=this.source.subscribe(new d(a,this,this.subscription)),new oc(this.subscription,Gc.schedule(this,c))};var d=function(a){function b(b,c,d){this.observer=b,this.observable=c,this.cancel=d,this.received=0,this.scheduleDisposable=null,a.call(this)}function c(a,b){b.observable.source.request(b.observable.windowSize)}return _b(b,a),b.prototype.completed=function(){this.observer.onCompleted(),this.dispose()},b.prototype.error=function(a){this.observer.onError(a),this.dispose()},b.prototype.next=function(a){this.observer.onNext(a),this.received=++this.received%this.observable.windowSize,0===this.received&&(this.scheduleDisposable=Gc.schedule(this,c))},b.prototype.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),this.scheduleDisposable&&(this.scheduleDisposable.dispose(),this.scheduleDisposable=null),a.prototype.dispose.call(this)},b}(Sc);return b}(Xc);Af.prototype.windowed=function(a){return new Df(this,a)},Rc.pipe=function(a){function b(){c.resume()}var c=this.pausableBuffered();return a.addListener("drain",b),c.subscribe(function(b){!a.write(String(b))&&c.pause()},function(b){a.emit("error",b)},function(){!a._isStdio&&a.end(),a.removeListener("drain",b)}),c.resume(),a};var Ef=function(a){function b(b,c,d){this.source=b,this._fn1=c,this._fn2=d,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){var b=this.source.multicast(this._fn1());return new oc(this._fn2(b).subscribe(a),b.connect())},b}(Yc);Rc.multicast=function(a,b){return Wa(a)?new Ef(this,a,b):new Hf(this,a)},Rc.publish=function(a){return a&&Wa(a)?this.multicast(function(){return new Eg},a):this.multicast(new Eg)},Rc.share=function(){return this.publish().refCount()},Rc.publishLast=function(a){return a&&Wa(a)?this.multicast(function(){return new Fg},a):this.multicast(new Fg)},Rc.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new Hg(b)},a):this.multicast(new Hg(a))},Rc.shareValue=function(a){return this.publishValue(a).refCount()},Rc.replay=function(a,b,c,d){return a&&Wa(a)?this.multicast(function(){return new Ig(b,c,d)},a):this.multicast(new Ig(b,c,d))},Rc.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};var Ff=function(a,b){this._s=a,this._o=b};Ff.prototype.dispose=function(){if(!this._s.isDisposed&&null!==this._o){var a=this._s.observers.indexOf(this._o);this._s.observers.splice(a,1),this._o=null}};var Gf=function(a){function b(b){this.source=b,this._count=0,this._connectableSubscription=null,a.call(this)}function c(a,b){this._p=a,this._s=b,this.isDisposed=!1}return _b(b,a),b.prototype.subscribeCore=function(a){var b=this.source.subscribe(a);return 1===++this._count&&(this._connectableSubscription=this.source.connect()),new c(this,b)},c.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this._s.dispose(),0===--this._p._count&&this._p._connectableSubscription.dispose())},b}(Yc),Hf=Oa.ConnectableObservable=function(a){function b(b,c){this.source=b,this._connection=null,this._source=b.asObservable(),this._subject=c,a.call(this)}function c(a,b){this._p=a,this._s=b}return _b(b,a),c.prototype.dispose=function(){this._s&&(this._s.dispose(),this._s=null,this._p._connection=null)},b.prototype.connect=function(){if(!this._connection){var a=this._source.subscribe(this._subject);this._connection=new c(this,a)}return this._connection},b.prototype._subscribe=function(a){return this._subject.subscribe(a)},b.prototype.refCount=function(){return new Gf(this)},b}(Xc);Rc.singleInstance=function(){function a(){return d||(d=!0,b=c["finally"](function(){d=!1}).publish().refCount()),b}var b,c=this,d=!1;return new Ag(function(b){return a().subscribe(b)})},Rc.join=function(a,b,c,d){var e=this;return new Ag(function(f){var g=new ec,h=!1,i=!1,j=0,k=0,l=new Rf,m=new Rf,n=function(a){f.onError(a)};return g.add(e.subscribe(function(a){var c=j++,e=new mc;l.set(c,a),g.add(e);var i=Ya(b)(a);return i===Xa?f.onError(i.e):(e.setDisposable(i.take(1).subscribe(Pa,n,function(){l["delete"](c)&&0===l.size&&h&&f.onCompleted(),g.remove(e)})),void m.forEach(function(b){var c=Ya(d)(a,b);return c===Xa?f.onError(c.e):void f.onNext(c)}))},n,function(){h=!0,(i||0===l.size)&&f.onCompleted()})),g.add(a.subscribe(function(a){var b=k++,e=new mc;m.set(b,a),g.add(e);var h=Ya(c)(a);return h===Xa?f.onError(h.e):(e.setDisposable(h.take(1).subscribe(Pa,n,function(){m["delete"](b)&&0===m.size&&i&&f.onCompleted(),g.remove(e)})),void l.forEach(function(b){var c=Ya(d)(b,a);return c===Xa?f.onError(c.e):void f.onNext(c)}))},n,function(){i=!0,(h||0===m.size)&&f.onCompleted()})),g},e)},Rc.groupJoin=function(a,b,c,d){var e=this;return new Ag(function(f){function g(a){}var h=new ec,i=new qc(h),j=new Rf,k=new Rf,l=0,m=0,g=function(a){return function(b){b.onError(a)}};return h.add(e.subscribe(function(a){var c=new Eg,e=l++;j.set(e,c);var m=Ya(d)(a,bc(c,i));if(m===Xa)return j.forEach(g(m.e)),f.onError(m.e);f.onNext(m),k.forEach(function(a){c.onNext(a)});var n=new mc;h.add(n);var o=Ya(b)(a);return o===Xa?(j.forEach(g(o.e)),f.onError(o.e)):void n.setDisposable(o.take(1).subscribe(Pa,function(a){j.forEach(g(a)),f.onError(a)},function(){j["delete"](e)&&c.onCompleted(),h.remove(n)}))},function(a){j.forEach(g(a)),f.onError(a)},function(){f.onCompleted()})),h.add(a.subscribe(function(a){var b=m++;k.set(b,a);var d=new mc;h.add(d);var e=Ya(c)(a);return e===Xa?(j.forEach(g(e.e)),f.onError(e.e)):(d.setDisposable(e.take(1).subscribe(Pa,function(a){j.forEach(g(a)),f.onError(a)},function(){k["delete"](b),h.remove(d)})),void j.forEach(function(b){b.onNext(a)}))},function(a){j.forEach(g(a)),f.onError(a)})),i},e)},Rc.buffer=function(){return this.window.apply(this,arguments).flatMap(O)},Rc.window=function(a,b){return 1===arguments.length&&"function"!=typeof arguments[0]?ja.call(this,a):"function"==typeof a?ka.call(this,a):ia.call(this,a,b)};var If=function(a){function b(b){this.source=b,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Jf(a))},b}(Yc),Jf=function(a){function b(b){this._o=b,this._p=null,this._hp=!1,a.call(this)}return _b(b,a),b.prototype.next=function(a){this._hp?this._o.onNext([this._p,a]):this._hp=!0,this._p=a},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Sc);Rc.pairwise=function(){return new If(this)},Rc.partition=function(a,b){var c=sb(a,b,3);return[this.filter(a,b),this.filter(function(a,b,d){return!c(a,b,d)})]};var Kf=function(a){function b(a,b){this.c=a,this.s=b}return _b(b,a),b.prototype[ob]=function(){var a=this;return{next:function(){return a.c()?{done:!1,value:a.s}:{done:!0,value:void 0}}}},b}($c);Rc.letBind=Rc.let=function(a){return a(this)},Xc["if"]=function(a,b,c){return ld(function(){return c||(c=od()),Va(b)&&(b=id(b)),Va(c)&&(c=id(c)),"function"==typeof c.now&&(c=od(c)),a()?b:c})},Xc["for"]=Xc.forIn=function(a,b,c){return ed(a,b,c).concat()};var Lf=Xc["while"]=Xc.whileDo=function(a,b){return Va(b)&&(b=id(b)),la(a,b).concat()};Rc.doWhile=function(a){return Nd([this,Lf(a,this)])},Xc["case"]=function(a,b,c){return ld(function(){Va(c)&&(c=id(c)),c||(c=od()),uc(c)&&(c=od(c));var d=b[a()];return Va(d)&&(d=id(d)),d||c})};var Mf=function(a){function b(b,c,d){this.source=b,this._fn=c,this._scheduler=d,a.call(this)}function c(a,b){var c,d=a[0],e=a[1];if(!(d.q.length>0))return void(d.isAcquired=!1);c=d.q.shift();var f=new mc;d.d.add(f),f.setDisposable(c.subscribe(new Nf(d,e,f))),b([d,e])}return _b(b,a),b.prototype._ensureActive=function(a){var b=!1;a.q.length>0&&(b=!a.isAcquired,a.isAcquired=!0),b&&a.m.setDisposable(this._scheduler.scheduleRecursive([a,this],c))},b.prototype.subscribeCore=function(a){var b=new nc,c=new ec(b),d={q:[],m:b,d:c,activeCount:0,isAcquired:!1,o:a};return d.q.push(this.source),d.activeCount++,this._ensureActive(d),c},b}(Yc),Nf=function(a){function b(b,c,d){this._s=b,this._p=c,this._m1=d,a.call(this)}return _b(b,a),b.prototype.next=function(a){this._s.o.onNext(a);var b=Ya(this._p._fn)(a);return b===Xa?this._s.o.onError(b.e):(this._s.q.push(b),this._s.activeCount++,void this._p._ensureActive(this._s))},b.prototype.error=function(a){this._s.o.onError(a)},b.prototype.completed=function(){this._s.d.remove(this._m1),this._s.activeCount--,0===this._s.activeCount&&this._s.o.onCompleted()},b}(Sc);Rc.expand=function(a,b){return uc(b)||(b=Bc),new Mf(this,a,b)};var Of=function(a){function b(b,c){this._sources=b,this._cb=c,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){if(0===this._sources.length)return a.onCompleted(),ic;for(var b=this._sources.length,c={finished:!1,hasResults:new Array(b),hasCompleted:new Array(b),results:new Array(b)},d=new ec,e=0,f=this._sources.length;f>e;e++){var g=this._sources[e];Va(g)&&(g=id(g)),d.add(g.subscribe(new Pf(a,c,e,this._cb,d)))}return d},b}(Yc),Pf=function(a){function b(b,c,d,e,f){this._o=b,this._s=c,this._i=d,this._cb=e,this._subs=f,a.call(this)}return _b(b,a),b.prototype.next=function(a){this._s.finished||(this._s.hasResults[this._i]=!0,this._s.results[this._i]=a)},b.prototype.error=function(a){this._s.finished=!0,this._o.onError(a),this._subs.dispose()},b.prototype.completed=function(){if(!this._s.finished){if(!this._s.hasResults[this._i])return this._o.onCompleted();this._s.hasCompleted[this._i]=!0;for(var a=0;ac;c++)b[c]=arguments[c];var d=Wa(b[a-1])?b.pop():L;return Array.isArray(b[0])&&(b=b[0]),new Of(b,d)},Rc.forkJoin=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return Array.isArray(b[0])?b[0].unshift(this):b.unshift(this),Xc.forkJoin.apply(null,b)},Rc.manySelect=Rc.extend=function(a,b){uc(b)||(b=Oa.Scheduler.immediate);var c=this;return ld(function(){var d;return c.map(function(a){var b=new Qf(a);return d&&d.onNext(a),d=b,b}).tap(Pa,function(a){d&&d.onError(a)},function(){d&&d.onCompleted()}).observeOn(b).map(a)},c)};var Qf=function(a){function b(b){a.call(this),this.head=b,this.tail=new Fg}return _b(b,a),ac(b.prototype,Pc,{_subscribe:function(a){var b=new ec;return b.add(Bc.schedule(this,function(c,d){a.onNext(d.head),b.add(d.tail.mergeAll().subscribe(a))})),b},onCompleted:function(){this.onNext(Xc.empty())},onError:function(a){this.onNext(Xc["throw"](a))},onNext:function(a){this.tail.onNext(a),this.tail.onCompleted()}}),b}(Xc),Rf=Na.Map||function(){function b(){this.size=0,this._values=[],this._keys=[]}return b.prototype["delete"]=function(a){var b=this._keys.indexOf(a);return-1===b?!1:(this._values.splice(b,1),this._keys.splice(b,1),this.size--,!0)},b.prototype.get=function(b){var c=this._keys.indexOf(b);return-1===c?a:this._values[c]},b.prototype.set=function(a,b){var c=this._keys.indexOf(a);return-1===c?(this._keys.push(a),this._values.push(b),this.size++):this._values[c]=b,this},b.prototype.forEach=function(a,b){for(var c=0;cf;f++)d.push(qa(a,this.expression.patterns[f],e));var h=new ra(d,pa(this,b),function(){for(var a=0,b=d.length;b>a;a++)d[a].removeActivePlan(h);c(h)});for(f=0,g=d.length;g>f;f++)d[f].addActivePlan(h);return h},ra.prototype.dequeue=function(){this.joinObservers.forEach(function(a){a.queue.shift()})},ra.prototype.match=function(){var a,b,c=!0;for(a=0,b=this.joinObserverArray.length;b>a;a++)if(0===this.joinObserverArray[a].queue.length){c=!1;break}if(c){var d=[],e=!1;for(a=0,b=this.joinObserverArray.length;b>a;a++)d.push(this.joinObserverArray[a].queue[0]),"C"===this.joinObserverArray[a].queue[0].kind&&(e=!0);if(e)this.onCompleted();else{this.dequeue();var f=[];for(a=0,b=d.length;ac;c++)b[c].match()}},c.error=Pa,c.completed=Pa,c.addActivePlan=function(a){this.activePlans.push(a)},c.subscribe=function(){this.subscription.setDisposable(this.source.materialize().subscribe(this))},c.removeActivePlan=function(a){this.activePlans.splice(this.activePlans.indexOf(a),1),0===this.activePlans.length&&this.dispose()},c.dispose=function(){a.prototype.dispose.call(this),this.isDisposed||(this.isDisposed=!0,this.subscription.dispose())},b}(Sc);Rc.and=function(a){return new ma([this,a])},Rc.thenDo=function(a){return new ma([this]).thenDo(a)},Xc.when=function(){var a,b=arguments.length;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new Ag(function(b){var c=[],d=new Rf,e=Qc(function(a){b.onNext(a)},function(a){d.forEach(function(b){b.onError(a)}),b.onError(a)},function(a){b.onCompleted()});try{for(var f=0,g=a.length;g>f;f++)c.push(a[f].activate(d,e,function(a){var d=c.indexOf(a);c.splice(d,1),0===c.length&&b.onCompleted()}))}catch(h){return Dd(h).subscribe(b)}var i=new ec;return d.forEach(function(a){a.subscribe(),i.add(a)}),i})};var Tf=function(a){function b(b,c){this._dt=b,this._s=c,a.call(this)}function c(a,b){b.onNext(0),b.onCompleted()}return _b(b,a),b.prototype.subscribeCore=function(a){return this._s.scheduleFuture(a,this._dt,c)},b}(Yc),Uf=Xc.interval=function(a,b){return ua(a,a,uc(b)?b:Gc)};Xc.timer=function(b,c,d){var e;return uc(d)||(d=Gc),null!=c&&"number"==typeof c?e=c:uc(c)&&(d=c),(b instanceof Date||"number"==typeof b)&&e===a?sa(b,d):b instanceof Date&&e!==a?ta(b,c,d):ua(b,e,d)};Rc.delay=function(){var a=arguments[0];if("number"==typeof a||a instanceof Date){var b=a,c=arguments[1];return uc(c)||(c=Gc),b instanceof Date?wa(this,b,c):va(this,b,c)}if(Xc.isObservable(a)||Wa(a))return xa(this,a,arguments[1]);throw new Error("Invalid arguments")};var Vf=function(a){function b(b,c,d){uc(d)||(d=Gc),this.source=b,this._dt=c,this._s=d,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){var b=new nc;return new oc(this.source.subscribe(new Wf(a,this._dt,this._s,b)),b)},b}(Yc),Wf=function(a){function b(b,c,d,e){this._o=b,this._d=c,this._scheduler=d,this._c=e,this._v=null,this._hv=!1,this._id=0,a.call(this)}return _b(b,a),b.prototype.next=function(a){this._hv=!0,this._v=a;var b=++this._id,c=new mc;this._c.setDisposable(c),c.setDisposable(this._scheduler.scheduleFuture(this,this._d,function(c,d){d._hv&&d._id===b&&d._o.onNext(a),d._hv=!1}))},b.prototype.error=function(a){this._c.dispose(),this._o.onError(a),this._hv=!1,this._id++},b.prototype.completed=function(){this._c.dispose(),this._hv&&this._o.onNext(this._v),this._o.onCompleted(),this._hv=!1,this._id++},b}(Sc);Rc.debounce=function(){if(Wa(arguments[0]))return ya(this,arguments[0]);if("number"==typeof arguments[0])return new Vf(this,arguments[0],arguments[1]);throw new Error("Invalid arguments")},Rc.windowWithTime=function(a,b,c){var d,e=this;return null==b&&(d=a),uc(c)||(c=Gc),"number"==typeof b?d=b:uc(b)&&(d=a,c=b),new Ag(function(b){function f(){var a=new mc,e=!1,g=!1;l.setDisposable(a),j===i?(e=!0,g=!0):i>j?e=!0:g=!0;var n=e?j:i,o=n-m;m=n,e&&(j+=d),g&&(i+=d),a.setDisposable(c.scheduleFuture(null,o,function(){if(g){var a=new Eg;k.push(a),b.onNext(bc(a,h))}e&&k.shift().onCompleted(),f()}))}var g,h,i=d,j=a,k=[],l=new nc,m=0;return g=new ec(l),h=new qc(g),k.push(new Eg),b.onNext(bc(k[0],h)),f(),g.add(e.subscribe(function(a){for(var b=0,c=k.length;c>b;b++)k[b].onNext(a)},function(a){for(var c=0,d=k.length;d>c;c++)k[c].onError(a);b.onError(a)},function(){for(var a=0,c=k.length;c>a;a++)k[a].onCompleted();b.onCompleted()})),h},e)},Rc.windowWithTimeOrCount=function(a,b,c){var d=this;return uc(c)||(c=Gc),new Ag(function(e){function f(b){var d=new mc;g.setDisposable(d),d.setDisposable(c.scheduleFuture(null,a,function(){if(b===k){j=0;var a=++k;l.onCompleted(),l=new Eg,e.onNext(bc(l,i)),f(a)}}))}var g=new nc,h=new ec(g),i=new qc(h),j=0,k=0,l=new Eg;return e.onNext(bc(l,i)),f(0),h.add(d.subscribe(function(a){var c=0,d=!1;l.onNext(a),++j===b&&(d=!0,j=0,c=++k,l.onCompleted(),l=new Eg,e.onNext(bc(l,i))),d&&f(c)},function(a){l.onError(a),e.onError(a)},function(){l.onCompleted(),e.onCompleted()})),i},d)},Rc.bufferWithTime=function(a,b,c){return this.windowWithTime(a,b,c).flatMap(O)},Rc.bufferWithTimeOrCount=function(a,b,c){return this.windowWithTimeOrCount(a,b,c).flatMap(O)};var Xf=function(a){function b(b,c){this.source=b,this._s=c,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Yf(a,this._s))},b}(Yc),Yf=function(a){function b(b,c){this._o=b,this._s=c,this._l=c.now(),a.call(this)}return _b(b,a),b.prototype.next=function(a){var b=this._s.now(),c=b-this._l;this._l=b,this._o.onNext({value:a,interval:c})},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Sc);Rc.timeInterval=function(a){return uc(a)||(a=Gc),new Xf(this,a)};var Zf=function(a){function b(b,c){this.source=b,this._s=c,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new $f(a,this._s))},b}(Yc),$f=function(a){function b(b,c){this._o=b,this._s=c,a.call(this)}return _b(b,a),b.prototype.next=function(a){this._o.onNext({value:a,timestamp:this._s.now()})},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Sc);Rc.timestamp=function(a){return uc(a)||(a=Gc),new Zf(this,a)};var _f=function(a){function b(b,c){this.source=b,this._sampler=c,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){var b={o:a,atEnd:!1,value:null,hasValue:!1,sourceSubscription:new mc};return b.sourceSubscription.setDisposable(this.source.subscribe(new bg(b))),new oc(b.sourceSubscription,this._sampler.subscribe(new ag(b)))},b}(Yc),ag=function(a){function b(b){this._s=b,a.call(this)}return _b(b,a),b.prototype._handleMessage=function(){this._s.hasValue&&(this._s.hasValue=!1,this._s.o.onNext(this._s.value)),this._s.atEnd&&this._s.o.onCompleted()},b.prototype.next=function(){this._handleMessage()},b.prototype.error=function(a){this._s.onError(a)},b.prototype.completed=function(){this._handleMessage()},b}(Sc),bg=function(a){function b(b){this._s=b,a.call(this)}return _b(b,a),b.prototype.next=function(a){this._s.hasValue=!0,this._s.value=a},b.prototype.error=function(a){this._s.o.onError(a)},b.prototype.completed=function(){this._s.atEnd=!0,this._s.sourceSubscription.dispose()},b}(Sc);Rc.sample=function(a,b){return uc(b)||(b=Gc),"number"==typeof a?new _f(this,Uf(a,b)):new _f(this,a)};var cg=Oa.TimeoutError=function(a){this.message=a||"Timeout has occurred",this.name="TimeoutError",Error.call(this)};cg.prototype=Object.create(Error.prototype),Rc.timeout=function(){var a=arguments[0];if(a instanceof Date||"number"==typeof a)return Aa(this,a,arguments[1],arguments[2]);if(Xc.isObservable(a)||Wa(a))return za(this,a,arguments[1],arguments[2]);throw new Error("Invalid arguments")};var dg=function(a){function b(b,c,d,e,f,g){this._state=b,this._cndFn=c,this._itrFn=d,this._resFn=e,this._timeFn=f,this._s=g,a.call(this)}function c(a,b){if(a.hasResult&&a.o.onNext(a.result),a.first)a.first=!1;else if(a.newState=Ya(a.self._itrFn)(a.newState),a.newState===Xa)return a.o.onError(a.newState.e);if(a.hasResult=Ya(a.self._cndFn)(a.newState),a.hasResult===Xa)return a.o.onError(a.hasResult.e);if(a.hasResult){if(a.result=Ya(a.self._resFn)(a.newState),a.result===Xa)return a.o.onError(a.result.e);var c=Ya(a.self._timeFn)(a.newState);if(c===Xa)return a.o.onError(c.e);b(a,c)}else a.o.onCompleted()}return _b(b,a),b.prototype.subscribeCore=function(a){var b={o:a,self:this,newState:this._state,first:!0,hasResult:!1};return this._s.scheduleRecursiveFuture(b,new Date(this._s.now()),c)},b}(Yc);Xc.generateWithAbsoluteTime=function(a,b,c,d,e,f){return uc(f)||(f=Gc),new dg(a,b,c,d,e,f)};var eg=function(a){function b(b,c,d,e,f,g){this._state=b,this._cndFn=c,this._itrFn=d,this._resFn=e,this._timeFn=f,this._s=g,a.call(this)}function c(a,b){if(a.hasResult&&a.o.onNext(a.result),a.first)a.first=!1;else if(a.newState=Ya(a.self._itrFn)(a.newState),a.newState===Xa)return a.o.onError(a.newState.e);if(a.hasResult=Ya(a.self._cndFn)(a.newState),a.hasResult===Xa)return a.o.onError(a.hasResult.e);if(a.hasResult){if(a.result=Ya(a.self._resFn)(a.newState),a.result===Xa)return a.o.onError(a.result.e);var c=Ya(a.self._timeFn)(a.newState);if(c===Xa)return a.o.onError(c.e);b(a,c)}else a.o.onCompleted()}return _b(b,a),b.prototype.subscribeCore=function(a){var b={o:a,self:this,newState:this._state,first:!0,hasResult:!1};return this._s.scheduleRecursiveFuture(b,0,c)},b}(Yc);Xc.generateWithRelativeTime=function(a,b,c,d,e,f){return uc(f)||(f=Gc),new eg(a,b,c,d,e,f)};var fg=function(a){function b(b,c,d){this.source=b,this._dt=c,this._s=d,a.call(this)}function c(a,b){var c=b[0],d=b[1],e=b[2];e.setDisposable(c.subscribe(d))}return _b(b,a),b.prototype.subscribeCore=function(a){var b=new nc;return b.setDisposable(this._s.scheduleFuture([this.source,a,b],this._dt,c)),b},b}(Yc);Rc.delaySubscription=function(a,b){return uc(b)||(b=Gc),new fg(this,a,b)};var gg=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new hg(a,this))},b}(Yc),hg=function(a){function b(b,c){this._o=b,this._s=c._s,this._d=c._d,this._q=[],a.call(this)}return _b(b,a),b.prototype.next=function(a){var b=this._s.now();for(this._q.push({interval:b,value:a});this._q.length>0&&b-this._q[0].interval>=this._d;)this._o.onNext(this._q.shift().value)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){for(var a=this._s.now();this._q.length>0&&a-this._q[0].interval>=this._d;)this._o.onNext(this._q.shift().value);this._o.onCompleted()},b}(Sc);Rc.skipLastWithTime=function(a,b){return uc(b)||(b=Gc),new gg(this,a,b)};var ig=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new jg(a,this._d,this._s))},b}(Yc),jg=function(a){function b(b,c,d){this._o=b,this._d=c,this._s=d,this._q=[],a.call(this)}return _b(b,a),b.prototype.next=function(a){var b=this._s.now();for(this._q.push({interval:b,value:a});this._q.length>0&&b-this._q[0].interval>=this._d;)this._q.shift()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){for(var a=this._s.now();this._q.length>0;){var b=this._q.shift();a-b.interval<=this._d&&this._o.onNext(b.value)}this._o.onCompleted()},b}(Sc);Rc.takeLastWithTime=function(a,b){return uc(b)||(b=Gc),new ig(this,a,b)},Rc.takeLastBufferWithTime=function(a,b){var c=this;return uc(b)||(b=Gc),new Ag(function(d){var e=[];return c.subscribe(function(c){var d=b.now();for(e.push({interval:d,value:c});e.length>0&&d-e[0].interval>=a;)e.shift()},function(a){d.onError(a)},function(){for(var c=b.now(),f=[];e.length>0;){var g=e.shift();c-g.interval<=a&&f.push(g.value)}d.onNext(f),d.onCompleted()})},c)};var kg=function(a){function b(b,c,d){ +this.source=b,this._d=c,this._s=d,a.call(this)}function c(a,b){b.onCompleted()}return _b(b,a),b.prototype.subscribeCore=function(a){return new oc(this._s.scheduleFuture(a,this._d,c),this.source.subscribe(a))},b}(Yc);Rc.takeWithTime=function(a,b){return uc(b)||(b=Gc),new kg(this,a,b)};var lg=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,this._open=!1,a.call(this)}function c(a,b){b._open=!0}return _b(b,a),b.prototype.subscribeCore=function(a){return new oc(this._s.scheduleFuture(this,this._d,c),this.source.subscribe(new mg(a,this)))},b}(Yc),mg=function(a){function b(b,c){this._o=b,this._p=c,a.call(this)}return _b(b,a),b.prototype.next=function(a){this._p._open&&this._o.onNext(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Sc);Rc.skipWithTime=function(a,b){return uc(b)||(b=Gc),new lg(this,a,b)};var ng=function(a){function b(b,c,d){this.source=b,this._st=c,this._s=d,a.call(this)}function c(a,b){b._open=!0}return _b(b,a),b.prototype.subscribeCore=function(a){return this._open=!1,new oc(this._s.scheduleFuture(this,this._st,c),this.source.subscribe(new og(a,this)))},b}(Yc),og=function(a){function b(b,c){this._o=b,this._p=c,a.call(this)}return _b(b,a),b.prototype.next=function(a){this._p._open&&this._o.onNext(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Sc);Rc.skipUntilWithTime=function(a,b){return uc(b)||(b=Gc),new ng(this,a,b)},Rc.takeUntilWithTime=function(a,b){uc(b)||(b=Gc);var c=this;return new Ag(function(d){return new oc(b.scheduleFuture(d,a,function(a,b){b.onCompleted()}),c.subscribe(d))},c)},Rc.throttle=function(a,b){uc(b)||(b=Gc);var c=+a||0;if(0>=c)throw new RangeError("windowDuration cannot be less or equal zero.");var d=this;return new Ag(function(a){var e=0;return d.subscribe(function(d){var f=b.now();(0===e||f-e>=c)&&(e=f,a.onNext(d))},function(b){a.onError(b)},function(){a.onCompleted()})},d)};var pg=function(a){function b(b){this.source=b,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){var b=new mc,c=new ec,d={hasCurrent:!1,isStopped:!1,o:a,g:c};return c.add(b),b.setDisposable(this.source.subscribe(new qg(d))),c},b}(Yc),qg=function(a){function b(b){this._s=b,a.call(this)}function c(b,c){this._s=b,this._i=c,a.call(this)}return _b(b,a),b.prototype.next=function(a){if(!this._s.hasCurrent){this._s.hasCurrent=!0,Va(a)&&(a=id(a));var b=new mc;this._s.g.add(b),b.setDisposable(a.subscribe(new c(this._s,b)))}},b.prototype.error=function(a){this._s.o.onError(a)},b.prototype.completed=function(){this._s.isStopped=!0,!this._s.hasCurrent&&1===this._s.g.length&&this._s.o.onCompleted()},_b(c,a),c.prototype.next=function(a){this._s.o.onNext(a)},c.prototype.error=function(a){this._s.o.onError(a)},c.prototype.completed=function(){this._s.g.remove(this._i),this._s.hasCurrent=!1,this._s.isStopped&&1===this._s.g.length&&this._s.o.onCompleted()},b}(Sc);Rc.switchFirst=function(){return new pg(this)},Rc.flatMapFirst=Rc.selectManyFirst=function(a,b,c){return new Zc(this,a,b,c).switchFirst()},Oa.Observable.prototype.flatMapWithMaxConcurrent=function(a,b,c,d){return new Zc(this,b,c,d).merge(a)};var rg=function(a){function b(b,c){this._o=b,this._xform=c,a.call(this)}return _b(b,a),b.prototype.next=function(a){var b=Ya(this._xform["@@transducer/step"]).call(this._xform,this._o,a);b===Xa&&this._o.onError(b.e)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._xform["@@transducer/result"](this._o)},b}(Sc);Rc.transduce=function(a){var b=this;return new Ag(function(c){var d=a(Ba(c));return b.subscribe(new rg(c,d))},b)};var sg=Oa.VirtualTimeScheduler=function(a){function b(b,c){this.clock=b,this.comparer=c,this.isEnabled=!1,this.queue=new cc(1024),a.call(this)}_b(b,a);var c=b.prototype;return c.now=function(){return this.toAbsoluteTime(this.clock)},c.schedule=function(a,b){return this.scheduleAbsolute(a,this.clock,b)},c.scheduleFuture=function(a,b,c){var d=b instanceof Date?this.toRelativeTime(b-this.now()):this.toRelativeTime(b);return this.scheduleRelative(a,d,c)},c.add=nb,c.toAbsoluteTime=nb,c.toRelativeTime=nb,c.schedulePeriodic=function(a,b,c){var d=new xc(this,a,b,c);return d.start()},c.scheduleRelative=function(a,b,c){var d=this.add(this.clock,b);return this.scheduleAbsolute(a,d,c)},c.start=function(){if(!this.isEnabled){this.isEnabled=!0;do{var a=this.getNext();null!==a?(this.comparer(a.dueTime,this.clock)>0&&(this.clock=a.dueTime),a.invoke()):this.isEnabled=!1}while(this.isEnabled)}},c.stop=function(){this.isEnabled=!1},c.advanceTo=function(a){var b=this.comparer(this.clock,a);if(this.comparer(this.clock,a)>0)throw new kb;if(0!==b&&!this.isEnabled){this.isEnabled=!0;do{var c=this.getNext();null!==c&&this.comparer(c.dueTime,a)<=0?(this.comparer(c.dueTime,this.clock)>0&&(this.clock=c.dueTime),c.invoke()):this.isEnabled=!1}while(this.isEnabled);this.clock=a}},c.advanceBy=function(a){var b=this.add(this.clock,a),c=this.comparer(this.clock,b);if(c>0)throw new kb;0!==c&&this.advanceTo(b)},c.sleep=function(a){var b=this.add(this.clock,a);if(this.comparer(this.clock,b)>=0)throw new kb;this.clock=b},c.getNext=function(){for(;this.queue.length>0;){var a=this.queue.peek();if(!a.isCancelled())return a;this.queue.dequeue()}return null},c.scheduleAbsolute=function(a,b,c){function d(a,b){return e.queue.remove(f),c(a,b)}var e=this,f=new rc(this,a,d,b,this.comparer);return this.queue.enqueue(f),f.disposable},b}(sc);Oa.HistoricalScheduler=function(a){function b(b,c){var d=null==b?0:b,e=c||Ta;a.call(this,d,e)}_b(b,a);var c=b.prototype;return c.add=function(a,b){return a+b},c.toAbsoluteTime=function(a){return new Date(a).getTime()},c.toRelativeTime=function(a){return a},b}(Oa.VirtualTimeScheduler),Ca.prototype.equals=function(a){return a===this?!0:null==a?!1:"N"!==a.kind?!1:this.predicate(a.value)},Da.prototype.equals=function(a){return a===this?!0:null==a?!1:"E"!==a.kind?!1:this.predicate(a.error)};var tg=Oa.ReactiveTest={created:100,subscribed:200,disposed:1e3,onNext:function(a,b){return"function"==typeof b?new ug(a,new Ca(b)):new ug(a,Ic.createOnNext(b))},onError:function(a,b){return"function"==typeof b?new ug(a,new Da(b)):new ug(a,Ic.createOnError(b))},onCompleted:function(a){return new ug(a,Ic.createOnCompleted())},subscribe:function(a,b){return new vg(a,b)}},ug=Oa.Recorded=function(a,b,c){this.time=a,this.value=b,this.comparer=c||Sa};ug.prototype.equals=function(a){return this.time===a.time&&this.comparer(this.value,a.value)},ug.prototype.toString=function(){return this.value.toString()+"@"+this.time};var vg=Oa.Subscription=function(a,b){this.subscribe=a,this.unsubscribe=b||Number.MAX_VALUE};vg.prototype.equals=function(a){return this.subscribe===a.subscribe&&this.unsubscribe===a.unsubscribe},vg.prototype.toString=function(){return"("+this.subscribe+", "+(this.unsubscribe===Number.MAX_VALUE?"Infinite":this.unsubscribe)+")"};var wg=Oa.MockDisposable=function(a){this.scheduler=a,this.disposes=[],this.disposes.push(this.scheduler.clock)};wg.prototype.dispose=function(){this.disposes.push(this.scheduler.clock)};var xg=function(a){function b(b){a.call(this),this.scheduler=b,this.messages=[]}_b(b,a);var c=b.prototype;return c.onNext=function(a){this.messages.push(new ug(this.scheduler.clock,Ic.createOnNext(a)))},c.onError=function(a){this.messages.push(new ug(this.scheduler.clock,Ic.createOnError(a)))},c.onCompleted=function(){this.messages.push(new ug(this.scheduler.clock,Ic.createOnCompleted()))},b}(Pc);Ea.prototype.then=function(b,c){var d=this;this.subscriptions.push(new vg(this.scheduler.clock));var e,f=this.subscriptions.length-1,g=Oa.Observer.create(function(c){var h=b(c);if(h&&"function"==typeof h.then)e=h;else{var i=d.scheduler.clock;e=new Ea(d.scheduler,[Oa.ReactiveTest.onNext(i,a),Oa.ReactiveTest.onCompleted(i)])}var j=d.observers.indexOf(g);d.observers.splice(j,1),d.subscriptions[f]=new vg(d.subscriptions[f].subscribe,d.scheduler.clock)},function(a){c(a);var b=d.observers.indexOf(g);d.observers.splice(b,1),d.subscriptions[f]=new vg(d.subscriptions[f].subscribe,d.scheduler.clock)});return this.observers.push(g),e||new Ea(this.scheduler,this.messages)};var yg=function(a){function b(b,c){a.call(this);var d,e,f=this;this.scheduler=b,this.messages=c,this.subscriptions=[],this.observers=[];for(var g=0,h=this.messages.length;h>g;g++)d=this.messages[g],e=d.value,function(a){b.scheduleAbsolute(null,d.time,function(){for(var b=f.observers.slice(0),c=0,d=b.length;d>c;c++)a.accept(b[c]);return ic})}(e)}return _b(b,a),b.prototype._subscribe=function(a){var b=this;this.observers.push(a),this.subscriptions.push(new vg(this.scheduler.clock));var c=this.subscriptions.length-1;return hc(function(){var d=b.observers.indexOf(a);b.observers.splice(d,1),b.subscriptions[c]=new vg(b.subscriptions[c].subscribe,b.scheduler.clock)})},b}(Xc),zg=function(a){function b(b,c){a.call(this),this.scheduler=b,this.messages=c,this.subscriptions=[]}return _b(b,a),b.prototype._subscribe=function(a){var b,c,d=this;this.subscriptions.push(new vg(this.scheduler.clock));for(var e=this.subscriptions.length-1,f=new ec,g=0,h=this.messages.length;h>g;g++)b=this.messages[g],c=b.value,function(c){f.add(d.scheduler.scheduleRelative(null,b.time,function(){return c.accept(a),ic}))}(c);return hc(function(){d.subscriptions[e]=new vg(d.subscriptions[e].subscribe,d.scheduler.clock),f.dispose()})},b}(Xc);Oa.TestScheduler=function(a){function b(a,b){return a>b?1:b>a?-1:0}function c(){a.call(this,0,b)}return _b(c,a),c.prototype.scheduleAbsolute=function(b,c,d){return c<=this.clock&&(c=this.clock+1),a.prototype.scheduleAbsolute.call(this,b,c,d)},c.prototype.add=function(a,b){return a+b},c.prototype.toAbsoluteTime=function(a){return new Date(a).getTime()},c.prototype.toRelativeTime=function(a){return a},c.prototype.startScheduler=function(a,b){b||(b={}),null==b.created&&(b.created=tg.created),null==b.subscribed&&(b.subscribed=tg.subscribed),null==b.disposed&&(b.disposed=tg.disposed);var c,d,e=this.createObserver();return this.scheduleAbsolute(null,b.created,function(){return c=a(),ic}),this.scheduleAbsolute(null,b.subscribed,function(){return d=c.subscribe(e),ic}),this.scheduleAbsolute(null,b.disposed,function(){return d.dispose(),ic}),this.start(),e},c.prototype.createHotObservable=function(){var a,b=arguments.length;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new yg(this,a)},c.prototype.createColdObservable=function(){var a,b=arguments.length;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new zg(this,a)},c.prototype.createResolvedPromise=function(a,b){return new Ea(this,[Oa.ReactiveTest.onNext(a,b),Oa.ReactiveTest.onCompleted(a)])},c.prototype.createRejectedPromise=function(a,b){return new Ea(this,[Oa.ReactiveTest.onError(a,b)])},c.prototype.createObserver=function(){return new xg(this)},c}(sg);var Ag=Oa.AnonymousObservable=function(a){function b(a){return a&&Wa(a.dispose)?a:Wa(a)?hc(a):ic}function c(a,c){var d=c[0],f=c[1],g=Ya(f.__subscribe).call(f,d);g!==Xa||d.fail(Xa.e)||e(Xa.e),d.setDisposable(b(g))}function d(b,c){this.source=c,this.__subscribe=b,a.call(this)}return _b(d,a),d.prototype._subscribe=function(a){var b=new Bg(a),d=[b,this];return Bc.scheduleRequired()?Bc.schedule(d,c):c(null,d),b},d}(Xc),Bg=function(a){function b(b){a.call(this),this.observer=b,this.m=new mc}_b(b,a);var c=b.prototype;return c.next=function(a){var b=Ya(this.observer.onNext).call(this.observer,a);b===Xa&&(this.dispose(),e(b.e))},c.error=function(a){var b=Ya(this.observer.onError).call(this.observer,a);this.dispose(),b===Xa&&e(b.e)},c.completed=function(){var a=Ya(this.observer.onCompleted).call(this.observer);this.dispose(),a===Xa&&e(a.e)},c.setDisposable=function(a){this.m.setDisposable(a)},c.getDisposable=function(){return this.m.getDisposable()},c.dispose=function(){a.prototype.dispose.call(this),this.m.dispose()},b}(Sc),Cg=function(a){function b(b,c){this._m=b,this._u=c,a.call(this)}return _b(b,a),b.prototype.subscribeCore=function(a){return new oc(this._m.getDisposable(),this._u.subscribe(a))},b}(Yc),Dg=function(a){function b(b,c,d){a.call(this),this.key=b,this.underlyingObservable=d?new Cg(d,c):c}return _b(b,a),b.prototype._subscribe=function(a){return this.underlyingObservable.subscribe(a)},b}(Xc),Eg=Oa.Subject=function(a){function b(){a.call(this),this.isDisposed=!1,this.isStopped=!1,this.observers=[],this.hasError=!1}return _b(b,a),ac(b.prototype,Pc.prototype,{_subscribe:function(a){return kc(this),this.isStopped?this.hasError?(a.onError(this.error),ic):(a.onCompleted(),ic):(this.observers.push(a),new Ff(this,a))},hasObservers:function(){return kc(this),this.observers.length>0},onCompleted:function(){if(kc(this),!this.isStopped){this.isStopped=!0;for(var a=0,b=c(this.observers),d=b.length;d>a;a++)b[a].onCompleted();this.observers.length=0}},onError:function(a){if(kc(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;for(var b=0,d=c(this.observers),e=d.length;e>b;b++)d[b].onError(a);this.observers.length=0}},onNext:function(a){if(kc(this),!this.isStopped)for(var b=0,d=c(this.observers),e=d.length;e>b;b++)d[b].onNext(a)},dispose:function(){this.isDisposed=!0,this.observers=null}}),b.create=function(a,b){return new Gg(a,b)},b}(Xc),Fg=Oa.AsyncSubject=function(a){function b(){a.call(this),this.isDisposed=!1,this.isStopped=!1,this.hasValue=!1,this.observers=[],this.hasError=!1}return _b(b,a),ac(b.prototype,Pc.prototype,{_subscribe:function(a){return kc(this),this.isStopped?(this.hasError?a.onError(this.error):this.hasValue?(a.onNext(this.value),a.onCompleted()):a.onCompleted(),ic):(this.observers.push(a),new Ff(this,a))},hasObservers:function(){return kc(this),this.observers.length>0},onCompleted:function(){var a,b;if(kc(this),!this.isStopped){this.isStopped=!0;var d=c(this.observers),b=d.length;if(this.hasValue)for(a=0;b>a;a++){var e=d[a];e.onNext(this.value),e.onCompleted()}else for(a=0;b>a;a++)d[a].onCompleted();this.observers.length=0}},onError:function(a){if(kc(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var b=0,d=c(this.observers),e=d.length;e>b;b++)d[b].onError(a);this.observers.length=0}},onNext:function(a){kc(this),this.isStopped||(this.value=a,this.hasValue=!0)},dispose:function(){this.isDisposed=!0,this.observers=null,this.error=null,this.value=null}}),b}(Xc),Gg=Oa.AnonymousSubject=function(a){function b(b,c){this.observer=b,this.observable=c,a.call(this)}return _b(b,a),ac(b.prototype,Pc.prototype,{_subscribe:function(a){return this.observable.subscribe(a)},onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),b}(Xc),Hg=Oa.BehaviorSubject=function(a){function b(b){a.call(this),this.value=b,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.hasError=!1}return _b(b,a),ac(b.prototype,Pc.prototype,{_subscribe:function(a){return kc(this),this.isStopped?(this.hasError?a.onError(this.error):a.onCompleted(),ic):(this.observers.push(a),a.onNext(this.value),new Ff(this,a))},getValue:function(){return kc(this),this.hasError&&e(this.error),this.value},hasObservers:function(){return kc(this),this.observers.length>0},onCompleted:function(){if(kc(this),!this.isStopped){this.isStopped=!0;for(var a=0,b=c(this.observers),d=b.length;d>a;a++)b[a].onCompleted();this.observers.length=0}},onError:function(a){if(kc(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var b=0,d=c(this.observers),e=d.length;e>b;b++)d[b].onError(a);this.observers.length=0}},onNext:function(a){if(kc(this),!this.isStopped){this.value=a;for(var b=0,d=c(this.observers),e=d.length;e>b;b++)d[b].onNext(a)}},dispose:function(){this.isDisposed=!0,this.observers=null,this.value=null,this.error=null}}),b}(Xc),Ig=Oa.ReplaySubject=function(a){function b(a,b){return hc(function(){b.dispose(),!a.isDisposed&&a.observers.splice(a.observers.indexOf(b),1)})}function d(b,c,d){this.bufferSize=null==b?e:b,this.windowSize=null==c?e:c,this.scheduler=d||Bc,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this)}var e=Math.pow(2,53)-1;return _b(d,a),ac(d.prototype,Pc.prototype,{_subscribe:function(a){kc(this);var c=new Vc(this.scheduler,a),d=b(this,c);this._trim(this.scheduler.now()),this.observers.push(c);for(var e=0,f=this.q.length;f>e;e++)c.onNext(this.q[e].value);return this.hasError?c.onError(this.error):this.isStopped&&c.onCompleted(),c.ensureActive(),d},hasObservers:function(){return kc(this),this.observers.length>0},_trim:function(a){for(;this.q.length>this.bufferSize;)this.q.shift();for(;this.q.length>0&&a-this.q[0].interval>this.windowSize;)this.q.shift()},onNext:function(a){if(kc(this),!this.isStopped){var b=this.scheduler.now();this.q.push({interval:b,value:a}),this._trim(b);for(var d=0,e=c(this.observers),f=e.length;f>d;d++){var g=e[d];g.onNext(a),g.ensureActive()}}},onError:function(a){if(kc(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;var b=this.scheduler.now();this._trim(b);for(var d=0,e=c(this.observers),f=e.length;f>d;d++){var g=e[d];g.onError(a),g.ensureActive()}this.observers.length=0}},onCompleted:function(){if(kc(this),!this.isStopped){this.isStopped=!0;var a=this.scheduler.now();this._trim(a);for(var b=0,d=c(this.observers),e=d.length;e>b;b++){var f=d[b];f.onCompleted(),f.ensureActive()}this.observers.length=0}},dispose:function(){this.isDisposed=!0,this.observers=null}}),d}(Xc);Oa.Pauser=function(a){function b(){a.call(this)}return _b(b,a),b.prototype.pause=function(){this.onNext(!1)},b.prototype.resume=function(){this.onNext(!0)},b}(Eg),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Na.Rx=Oa,define(function(){return Oa})):Ga&&Ha?La?(Ha.exports=Oa).Rx=Oa:Ga.Rx=Oa:Na.Rx=Oa;var Jg=j()}).call(this); //# sourceMappingURL=rx.all.compat.map \ No newline at end of file diff --git a/dist/rx.all.js b/dist/rx.all.js index 2621092ab..fca4da519 100644 --- a/dist/rx.all.js +++ b/dist/rx.all.js @@ -9382,7 +9382,7 @@ Observable.fromNodeCallback = function (fn, ctx, selector) { })); } } catch (e) { - observableThrow(e).subscribe(o); + return observableThrow(e).subscribe(o); } var group = new CompositeDisposable(); externalSubscriptions.forEach(function (joinObserver) { @@ -10257,7 +10257,7 @@ Observable.fromNodeCallback = function (fn, ctx, selector) { } function scheduleRecursive(state, recurse) { - state.hasResult && state.o.onNext(state.newState); + state.hasResult && state.o.onNext(state.result); if (state.first) { state.first = false; @@ -10268,8 +10268,8 @@ Observable.fromNodeCallback = function (fn, ctx, selector) { state.hasResult = tryCatch(state.self._cndFn)(state.newState); if (state.hasResult === errorObj) { return state.o.onError(state.hasResult.e); } if (state.hasResult) { - var result = tryCatch(state.self._resFn)(state.newState); - if (result === errorObj) { return state.o.onError(result.e); } + state.result = tryCatch(state.self._resFn)(state.newState); + if (state.result === errorObj) { return state.o.onError(state.result.e); } var time = tryCatch(state.self._timeFn)(state.newState); if (time === errorObj) { return state.o.onError(time.e); } recurse(state, time); @@ -10284,7 +10284,7 @@ Observable.fromNodeCallback = function (fn, ctx, selector) { self: this, newState: this._state, first: true, - hasValue: false + hasResult: false }; return this._s.scheduleRecursiveFuture(state, new Date(this._s.now()), scheduleRecursive); }; @@ -10329,7 +10329,7 @@ Observable.fromNodeCallback = function (fn, ctx, selector) { } function scheduleRecursive(state, recurse) { - state.hasResult && state.o.onNext(state.newState); + state.hasResult && state.o.onNext(state.result); if (state.first) { state.first = false; @@ -10337,11 +10337,12 @@ Observable.fromNodeCallback = function (fn, ctx, selector) { state.newState = tryCatch(state.self._itrFn)(state.newState); if (state.newState === errorObj) { return state.o.onError(state.newState.e); } } + state.hasResult = tryCatch(state.self._cndFn)(state.newState); if (state.hasResult === errorObj) { return state.o.onError(state.hasResult.e); } if (state.hasResult) { - var result = tryCatch(state.self._resFn)(state.newState); - if (result === errorObj) { return state.o.onError(result.e); } + state.result = tryCatch(state.self._resFn)(state.newState); + if (state.result === errorObj) { return state.o.onError(state.result.e); } var time = tryCatch(state.self._timeFn)(state.newState); if (time === errorObj) { return state.o.onError(time.e); } recurse(state, time); @@ -10356,7 +10357,7 @@ Observable.fromNodeCallback = function (fn, ctx, selector) { self: this, newState: this._state, first: true, - hasValue: false + hasResult: false }; return this._s.scheduleRecursiveFuture(state, 0, scheduleRecursive); }; diff --git a/dist/rx.all.map b/dist/rx.all.map index 5dad0c0fa..5a1b284c0 100644 --- a/dist/rx.all.map +++ b/dist/rx.all.map @@ -1 +1 @@ -{"version":3,"file":"rx.all.min.js","sources":["rx.all.js"],"names":["undefined","checkGlobal","value","Object","cloneArray","arr","a","i","len","length","push","tryCatcherGen","tryCatchTarget","apply","this","arguments","e","errorObj","thrower","makeStackTraceLong","error","observable","hasStacks","stack","indexOf","STACK_JUMP_SEPARATOR","stacks","o","source","unshift","concatedStacks","join","filterStackString","stackString","lines","split","desiredLines","line","isInternalFrame","isNodeFrame","stackLine","fileNameAndLineNumber","getFileNameAndLineNumber","fileName","lineNumber","rFileName","rStartingLine","rEndingLine","captureLine","Error","firstLine","attempt1","exec","Number","attempt2","attempt3","equalObjects","object","other","equalFunc","isLoose","stackA","stackB","objProps","keys","objLength","othProps","othLength","key","index","hasOwnProperty","call","skipCtor","result","objValue","othValue","objCtor","constructor","othCtor","equalByTag","tag","boolTag","dateTag","errorTag","name","message","numberTag","regexpTag","stringTag","isObjectLike","isLength","MAX_SAFE_INTEGER","isTypedArray","typedArrayTags","objToString","arraySome","array","predicate","equalArrays","arrLength","arrValue","baseIsEqualDeep","objIsArr","isArray","othIsArr","objTag","arrayTag","othTag","argsTag","objectTag","objIsObj","isHostObject","othIsObj","isSameTag","objIsWrapped","othIsWrapped","pop","baseIsEqual","isObject","arrayInitialize","count","factory","Array","IndexedItem","id","ScheduledDisposable","scheduler","disposable","isDisposed","scheduleItem","s","self","dispose","IsDisposedDisposable","state","_s","StringIterable","StringIterator","_l","_i","ArrayIterable","_a","ArrayIterator","toLength","numberIsFinite","root","isFinite","getIterable","it","$iterator$","TypeError","sign","number","isNaN","Math","floor","abs","maxSafeInteger","observableOf","isScheduler","currentThreadScheduler","FromArrayObservable","RepeatSink","observer","parent","amb","p","c","falseFactory","argumentsToArray","args","emptyArrayFactory","asObservable","subscribe","toArray","x","notEmpty","concatMap","selector","thisArg","selectorFunc","bindCallback","map","isPromise","observableFromPromise","isArrayLike","isIterable","observableFrom","concatAll","arrayIndexOfComparer","item","comparer","HashSet","set","plucker","currentProp","firstOnly","EmptyError","findValue","yieldIndex","callback","AnonymousObservable","FindValueObserver","toObservable","obj","Observable","isObservable","fromPromise","isGeneratorFunction","isGenerator","spawn","isFunction","thunkToObservable","arrayToObservable","objectToObservable","from","Rx","just","defer","results","observables","next","forkJoin","fn","err","res","onError","onNext","onCompleted","ctor","displayName","prototype","val","createCbObservable","ctx","AsyncSubject","createCbHandler","tryCatch","createNodeObservable","createNodeHandler","isNodeList","el","StaticNodeList","NodeList","toString","ListenDisposable","n","_e","_n","_fn","addEventListener","createEventListener","eventName","handler","disposables","CompositeDisposable","elemToString","add","combineLatestSource","subject","resultSelector","values","hasValue","hasValueAll","every","identity","isDone","BinaryDisposable","observableWindowWithOpenings","windowOpenings","windowClosingSelector","groupJoin","observableEmpty","_","win","observableWindowWithBoundaries","windowBoundaries","Subject","d","r","RefCountDisposable","addRef","w","observableWindowWithClosingSelector","createWindowClose","windowClose","m1","SingleAssignmentDisposable","m","setDisposable","take","noop","SerialDisposable","enumerableWhile","condition","WhileEnumerable","Pattern","patterns","Plan","expression","handleOnError","handleOnNext","planCreateObserver","externalSubscriptions","entry","get","JoinObserver","ActivePlan","joinObserverArray","joinObservers","Map","joinObserver","_observableTimer","dueTime","TimerObservable","observableTimerDateAndPeriod","period","normalizeTime","scheduleRecursiveFuture","now","Date","getTime","observableTimerTimeSpanAndPeriod","schedulePeriodic","observableDefer","observableDelayRelative","subscription","active","cancelable","exception","q","running","materialize","timestamp","notification","shouldRun","kind","recurseDueTime","shouldRecurse","shift","accept","max","observableDelayAbsolute","delayWithSelector","subscriptionDelay","delayDurationSelector","subDelay","start","delay","delays","remove","done","atEnd","debounceWithSelector","durationSelector","throttle","currentid","timeoutWithSelector","firstTimeout","timeoutDurationSelector","observableNever","observableThrow","TimeoutError","setTimer","timeout","timerWins","switched","myId","timer","oWins","original","defaultScheduler","createTimer","scheduleFuture","transformForObserver","@@transducer/init","@@transducer/step","obs","input","@@transducer/result","OnNextPredicate","OnErrorPredicate","MockPromise","messages","subscriptions","observers","innerNotification","scheduleAbsolute","time","slice","j","jLen","disposableEmpty","objectTypes","function","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","freeSelf","freeWindow","window","moduleExports","thisGlobal","Function","internals","config","Promise","helpers","defaultNow","defaultComparer","y","isEqual","defaultSubComparer","defaultError","defaultKeySerializer","then","isFn","longStackSupport","create","ObjectDisposedError","ArgumentOutOfRangeError","NotSupportedError","NotImplementedError","notImplemented","notSupported","Symbol","iterator","Set","doneEnumerator","func","argCount","arg","collection","dontEnums","funcTag","mapTag","setTag","weakMapTag","arrayBufferTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","objectProto","pow","hasDontEnumBug","propertyIsEnumerable","dontEnumsLength","prop","type","inherits","child","__","addProperties","sources","idx","ln","xs","getDisposable","compareTo","PriorityQueue","capacity","items","priorityProto","isHigherPriority","left","right","percolate","temp","heapify","first","peek","removeAt","dequeue","enqueue","CompositeDisposablePrototype","shouldDispose","splice","currentDisposables","Disposable","action","disposableCreate","empty","isDisposable","checkDisposed","disposableFixup","_fixup","current","old","second","_first","_second","old1","old2","NAryDisposable","_disposables","InnerDisposable","isInnerDisposed","underlyingDisposable","isPrimaryDisposed","schedule","ScheduledItem","invoke","invokeCore","isCancelled","Scheduler","schedulerProto","dt","normalize","_scheduleFuture","timeSpan","invokeRecImmediate","pair","innerAction","state2","scheduleWork","state3","isAdded","group","invokeRecDate","dueTime1","scheduleRecursive","setInterval","clearInterval","catchError","CatchScheduler","scheduleMethod","clearMethod","SchedulePeriodicRecursive","createTick","command","recurse","_period","_action","_state","_cancel","_scheduler","ImmediateScheduler","__super__","immediateScheduler","immediate","CurrentThreadScheduler","runTrampoline","queue","si","scheduleRequired","currentThread","localTimer","localSetTimeout","localClearTimeout","setTimeout","clearTimeout","WScript","Sleep","runTask","handle","currentlyRunning","task","tasksByHandle","postMessageSupported","postMessage","importScripts","isAsync","oldHandler","onmessage","nextHandle","reNative","RegExp","String","replace","setImmediate","test","process","nextTick","MSG_PREFIX","random","onGlobalPostMessage","event","data","substring","MessageChannel","channel","port1","port2","document","createElement","scriptElement","onreadystatechange","parentNode","removeChild","documentElement","appendChild","DefaultScheduler","scheduleAction","ClearDisposable","_id","LocalClearDisposable","async","_handler","_recursiveOriginal","_recursiveWrapper","_wrap","_clone","_getRecursiveWrapper","wrapper","failed","state1","Notification","_accept","_acceptObserver","observerOrOnNext","OnNextNotification","OnErrorNotification","OnCompletedNotification","notificationCreateOnNext","createOnNext","notificationCreateOnError","createOnError","notificationCreateOnCompleted","createOnCompleted","Observer","toNotifier","asObserver","AnonymousObserver","checked","CheckedObserver","observerCreate","fromNotifier","cb","notifyOn","ObserveOnObserver","makeSafe","AnonymousSafeObserver","_onNext","_onError","_onCompleted","observableProto","AbstractObserver","isStopped","completed","fail","_observer","CheckedObserverPrototype","checkAccess","ScheduledObserver","isAcquired","hasFaulted","enqueueNext","enqueueError","enqueueCompleted","work","ensureActive","isOwner","cancel","makeSubscribe","oldOnError","oldSubscribe","_subscribe","forEach","oOrOnNext","subscribeOnNext","subscribeOnError","subscribeOnCompleted","ObservableBase","fixSubscriber","subscriber","ado","sub","subscribeCore","AutoDetachObserver","FlatMapObservable","InnerObserver","_wrapResult","i2","Enumerable","ConcatEnumerableObservable","currentItem","currentValue","_recurse","concat","CatchErrorObservable","lastError","catchErrorWhen","notificationHandler","exceptions","notifier","handled","notificationDisposable","outer","inner","exn","ex","RepeatEnumerable","v","RepeatEnumerator","l","enumerableRepeat","repeat","repeatCount","OfEnumerable","OfEnumerator","enumerableOf","of","ObserveOnObservable","observeOn","SubscribeOnObservable","subscribeOn","FromPromiseObservable","_p","scheduleNext","scheduleError","sad","promise","toPromise","promiseCtor","resolve","reject","ToArrayObservable","Defer","_f","observableFactory","EmptyObservable","EmptySink","sink","run","EMPTY_OBSERVABLE","FromObservable","iterable","_iterable","createScheduleMethod","list","charAt","mapFn","mapper","_args","observableFromArray","fromArray","GenerateObservable","cndFn","itrFn","resFn","_initialState","_cndFn","_itrFn","_resFn","newState","hasResult","generate","initialState","iterate","ofWithScheduler","ofArrayChanges","observe","unobserve","observerFn","changes","ofObjectChanges","NeverObservable","NEVER_OBSERVABLE","never","PairsObservable","_o","_keys","pairs","RangeObservable","rangeCount","loopRecursive","range","RepeatObservable","JustObservable","_value","ThrowObservable","_error","UsingObservable","obsFn","_obsFn","resource","using","resourceFactory","rightSource","leftSource","choiceL","choice","leftChoice","rightSubscription","choiceR","rightChoice","leftSubscription","leftSubscribe","rightSubscribe","acc","CatchObservable","d1","CatchObserver","handlerOrSecond","observableCatch","combineLatest","CombineLatestObservable","params","_params","_cb","CombineLatestObserver","notTheSame","filter","observableConcat","ConcatObserver","ConcatObservable","_sources","merge","MergeObservable","maxConcurrent","g","MergeObserver","activeCount","handleSubscribe","innerSource","maxConcurrentOrOther","observableMerge","mergeAll","MergeAllObservable","MergeAllObserver","CompositeError","errors","innerErrors","MergeDelayErrorObservable","MergeDelayErrorObserver","_group","setCompletion","_inner","mergeDelayError","onErrorResumeNext","OnErrorResumeNextObservable","pos","OnErrorResumeNextObserver","cancellable","SkipUntilObservable","_open","SkipUntilSourceObserver","SkipUntilOtherObserver","_r","skipUntil","SwitchObservable","SwitchObserver","stopped","latest","hasLatest","switchLatest","TakeUntilObservable","TakeUntilObserver","takeUntil","WithLatestFromObservable","_ss","WithLatestFromOtherObserver","outerSad","WithLatestFromSourceObserver","allValues","withLatestFrom","ZipObservable","ZipObserver","_q","_d","shiftEach","queuedValues","zip","ZipIterableObservable","ZipIterableObserver","zipIterable","bufferWithCount","skip","windowWithCount","flatMap","DematerializeObservable","DematerializeObserver","dematerialize","DistinctUntilChangedObservable","keyFn","DistinctUntilChangedObserver","hasCurrentKey","currentKey","comparerEquals","distinctUntilChanged","TapObservable","_oN","_oE","_oC","t","tap","doAction","doOnNext","tapOnNext","doOnError","tapOnError","doOnCompleted","tapOnCompleted","FinallyObservable","FinallyDisposable","IgnoreElementsObservable","ignoreElements","MaterializeObservable","MaterializeObserver","retry","retryCount","retryWhen","ScanObservable","accumulator","hasSeed","seed","ScanObserver","_hs","_ha","_hv","scan","SkipLastObservable","_c","SkipLastObserver","skipLast","startWith","TakeLastObserver","takeLast","TakeLastBufferObserver","takeLastBuffer","Infinity","createWindow","refCountDisposable","selectConcat","selectorResult","concatMapObserver","selectConcatObserver","onNextFunc","onErrorFunc","onCompletedFunc","DefaultIfEmptyObserver","defaultIfEmpty","defaultValue","retValue","DistinctObservable","cmpFn","_keyFn","_cmpFn","DistinctObserver","_h","distinct","keySelector","groupBy","elementSelector","groupByUntil","groupDisposable","handleError","fireNewMapEntry","writer","GroupedObservable","durationGroup","duration","md","element","MapObservable","innerMap","internalMap","select","selectorFn","pluck","selectMany","flatMapObserver","selectManyObserver","flatMapLatest","SkipObservable","_count","SkipObserver","SkipWhileObservable","SkipWhileObserver","skipWhile","TakeObservable","TakeObserver","TakeWhileObservable","TakeWhileObserver","takeWhile","FilterObservable","innerPredicate","internalFilter","shouldYield","where","ExtremaByObservable","k","_k","ExtremaByObserver","_v","comparison","ReduceObservable","ReduceObserver","reduce","SomeObservable","SomeObserver","Boolean","some","IsEmptyObservable","IsEmptyObserver","isEmpty","EveryObservable","EveryObserver","IncludesObservable","elem","_elem","IncludesObserver","b","includes","searchElement","fromIndex","CountObservable","CountObserver","IndexOfObservable","IndexOfObserver","SumObservable","SumObserver","sum","minBy","min","maxBy","AverageObservable","AverageObserver","_t","average","sequenceEqual","donel","doner","ql","qr","subscription1","equal","subscription2","ElementAtObservable","ElementAtObserver","elementAt","SingleObserver","_obj","single","FirstObservable","FirstObserver","LastObservable","LastObserver","last","_y","find","findIndex","ToSetObservable","ToSetObserver","toSet","ToMapObservable","ToMapObserver","_m","toMap","SliceObservable","_b","SliceObserver","begin","end","LastIndexOfObservable","LastIndexOfObserver","lastIndexOf","wrap","createObservable","__generatorFunction__","gen","processGenerator","ret","context","observableToAsync","toAsync","fromCallback","fromNodeCallback","removeEventListener","useNativeEvents","EventObservable","_el","createHandler","fromEvent","addListener","fromEventPattern","h","removeListener","on","off","publish","refCount","EventPatternObservable","del","_add","_del","EventPatternDisposable","_ret","returnValue","addHandler","removeHandler","startAsync","functionAsync","PausableObservable","pauser","controller","conn","connection","pausable","connect","pause","resume","PausableBufferedObservable","drainQueue","previousShouldFire","shouldFire","pausableBuffered","ControlledObservable","enableQueue","ControlledSubject","multicast","request","numberOfItems","requestedCount","requestedDisposable","hasFailed","hasCompleted","disposeCurrentRequest","_processRequest","remaining","controlled","StopAndWaitObservable","StopAndWaitObserver","__sub__","scheduleDisposable","innerScheduleMethod","stopAndWait","WindowedObservable","windowSize","WindowedObserver","received","windowed","pipe","dest","onDrain","write","emit","_isStdio","MulticastObservable","fn1","fn2","_fn1","_fn2","connectable","subjectOrSubjectSelector","ConnectableObservable","share","publishLast","publishValue","initialValueOrSelector","initialValue","BehaviorSubject","shareValue","replay","bufferSize","ReplaySubject","shareReplay","InnerSubscription","RefCountObservable","_connectableSubscription","_connection","_source","_subject","ConnectDisposable","singleInstance","getObservable","hasObservable","leftDurationSelector","rightDurationSelector","leftDone","rightDone","leftId","rightId","leftMap","rightMap","size","buffer","windowOpeningsOrClosingSelector","PairwiseObservable","PairwiseObserver","_hp","pairwise","partition","letBind","thenSource","elseSourceOrScheduler","forIn","observableWhileDo","whileDo","doWhile","defaultSourceOrScheduler","ExpandObservable","ExpandObserver","_ensureActive","_m1","expand","ForkJoinObservable","finished","hasResults","ForkJoinObserver","subs","_subs","manySelect","extend","chain","curr","ChainObservable","head","tail","_values","and","thenDo","activate","deactivate","errHandler","activePlan","jlen","removeActivePlan","addActivePlan","match","hasValues","firstValues","isCompleted","activePlans","JoinObserverPrototype","when","plans","outObserver","_dt","observableinterval","interval","periodOrScheduler","firstArg","DebounceObservable","DebounceObserver","currentId","debounce","windowWithTime","timeShiftOrScheduler","timeShift","isSpan","isShift","timerD","nextSpan","nextShift","newTotalTime","ts","totalTime","windowWithTimeOrCount","windowId","newId","newWindow","bufferWithTime","bufferWithTimeOrCount","TimeIntervalObservable","TimeIntervalObserver","span","timeInterval","TimestampObservable","TimestampObserver","SampleObservable","sampler","_sampler","sourceSubscription","SampleSourceObserver","SamplerObserver","_handleMessage","sample","intervalOrSampler","GenerateAbsoluteObservable","timeFn","_timeFn","generateWithAbsoluteTime","timeSelector","GenerateRelativeObservable","generateWithRelativeTime","DelaySubscription","delaySubscription","SkipLastWithTimeObservable","SkipLastWithTimeObserver","skipLastWithTime","TakeLastWithTimeObservable","TakeLastWithTimeObserver","takeLastWithTime","takeLastBufferWithTime","TakeWithTimeObservable","takeWithTime","SkipWithTimeObservable","SkipWithTimeObserver","skipWithTime","SkipUntilWithTimeObservable","startTime","_st","SkipUntilWithTimeObserver","skipUntilWithTime","takeUntilWithTime","endTime","windowDuration","RangeError","lastOnNext","TransduceObserver","xform","_xform","transduce","transducer","SwitchFirstObservable","hasCurrent","SwitchFirstObserver","switchFirst","flatMapFirst","selectManyFirst","flatMapWithMaxConcurrent","limit","VirtualTimeScheduler","initialClock","clock","isEnabled","VirtualTimeSchedulerPrototype","toAbsoluteTime","toRelativeTime","scheduleRelative","runAt","getNext","stop","advanceTo","dueToClock","advanceBy","sleep","HistoricalScheduler","cmp","HistoricalSchedulerProto","absolute","relative","equals","ReactiveTest","created","subscribed","disposed","ticks","Recorded","Subscription","unsubscribe","MAX_VALUE","MockDisposable","disposes","MockObserver","MockObserverPrototype","onResolved","onRejected","newPromise","HotObservable","ColdObservable","TestScheduler","baseComparer","startScheduler","createFn","settings","createObserver","createHotObservable","createColdObservable","createResolvedPromise","createRejectedPromise","reason","__subscribe","AutoDetachObserverPrototype","UnderlyingObservable","u","_u","underlyingObservable","mergedDisposable","hasError","hasObservers","os","AnonymousSubject","getValue","createRemovableDisposable","so","_trim","Pauser","define","amd"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"rx.all.min.js","sources":["rx.all.js"],"names":["undefined","checkGlobal","value","Object","cloneArray","arr","a","i","len","length","push","tryCatcherGen","tryCatchTarget","apply","this","arguments","e","errorObj","thrower","makeStackTraceLong","error","observable","hasStacks","stack","indexOf","STACK_JUMP_SEPARATOR","stacks","o","source","unshift","concatedStacks","join","filterStackString","stackString","lines","split","desiredLines","line","isInternalFrame","isNodeFrame","stackLine","fileNameAndLineNumber","getFileNameAndLineNumber","fileName","lineNumber","rFileName","rStartingLine","rEndingLine","captureLine","Error","firstLine","attempt1","exec","Number","attempt2","attempt3","equalObjects","object","other","equalFunc","isLoose","stackA","stackB","objProps","keys","objLength","othProps","othLength","key","index","hasOwnProperty","call","skipCtor","result","objValue","othValue","objCtor","constructor","othCtor","equalByTag","tag","boolTag","dateTag","errorTag","name","message","numberTag","regexpTag","stringTag","isObjectLike","isLength","MAX_SAFE_INTEGER","isTypedArray","typedArrayTags","objToString","arraySome","array","predicate","equalArrays","arrLength","arrValue","baseIsEqualDeep","objIsArr","isArray","othIsArr","objTag","arrayTag","othTag","argsTag","objectTag","objIsObj","isHostObject","othIsObj","isSameTag","objIsWrapped","othIsWrapped","pop","baseIsEqual","isObject","arrayInitialize","count","factory","Array","IndexedItem","id","ScheduledDisposable","scheduler","disposable","isDisposed","scheduleItem","s","self","dispose","IsDisposedDisposable","state","_s","StringIterable","StringIterator","_l","_i","ArrayIterable","_a","ArrayIterator","toLength","numberIsFinite","root","isFinite","getIterable","it","$iterator$","TypeError","sign","number","isNaN","Math","floor","abs","maxSafeInteger","observableOf","isScheduler","currentThreadScheduler","FromArrayObservable","RepeatSink","observer","parent","amb","p","c","falseFactory","argumentsToArray","args","emptyArrayFactory","asObservable","subscribe","toArray","x","notEmpty","concatMap","selector","thisArg","selectorFunc","bindCallback","map","isPromise","observableFromPromise","isArrayLike","isIterable","observableFrom","concatAll","arrayIndexOfComparer","item","comparer","HashSet","set","plucker","currentProp","firstOnly","EmptyError","findValue","yieldIndex","callback","AnonymousObservable","FindValueObserver","toObservable","obj","Observable","isObservable","fromPromise","isGeneratorFunction","isGenerator","spawn","isFunction","thunkToObservable","arrayToObservable","objectToObservable","from","Rx","just","defer","results","observables","next","forkJoin","fn","err","res","onError","onNext","onCompleted","ctor","displayName","prototype","val","createCbObservable","ctx","AsyncSubject","createCbHandler","tryCatch","createNodeObservable","createNodeHandler","isNodeList","el","StaticNodeList","NodeList","toString","ListenDisposable","n","_e","_n","_fn","addEventListener","createEventListener","eventName","handler","disposables","CompositeDisposable","elemToString","add","combineLatestSource","subject","resultSelector","values","hasValue","hasValueAll","every","identity","isDone","BinaryDisposable","observableWindowWithOpenings","windowOpenings","windowClosingSelector","groupJoin","observableEmpty","_","win","observableWindowWithBoundaries","windowBoundaries","Subject","d","r","RefCountDisposable","addRef","w","observableWindowWithClosingSelector","createWindowClose","windowClose","m1","SingleAssignmentDisposable","m","setDisposable","take","noop","SerialDisposable","enumerableWhile","condition","WhileEnumerable","Pattern","patterns","Plan","expression","handleOnError","handleOnNext","planCreateObserver","externalSubscriptions","entry","get","JoinObserver","ActivePlan","joinObserverArray","joinObservers","Map","joinObserver","_observableTimer","dueTime","TimerObservable","observableTimerDateAndPeriod","period","normalizeTime","scheduleRecursiveFuture","now","Date","getTime","observableTimerTimeSpanAndPeriod","schedulePeriodic","observableDefer","observableDelayRelative","subscription","active","cancelable","exception","q","running","materialize","timestamp","notification","shouldRun","kind","recurseDueTime","shouldRecurse","shift","accept","max","observableDelayAbsolute","delayWithSelector","subscriptionDelay","delayDurationSelector","subDelay","start","delay","delays","remove","done","atEnd","debounceWithSelector","durationSelector","throttle","currentid","timeoutWithSelector","firstTimeout","timeoutDurationSelector","observableNever","observableThrow","TimeoutError","setTimer","timeout","timerWins","switched","myId","timer","oWins","original","defaultScheduler","createTimer","scheduleFuture","transformForObserver","@@transducer/init","@@transducer/step","obs","input","@@transducer/result","OnNextPredicate","OnErrorPredicate","MockPromise","messages","subscriptions","observers","innerNotification","scheduleAbsolute","time","slice","j","jLen","disposableEmpty","objectTypes","function","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","freeSelf","freeWindow","window","moduleExports","thisGlobal","Function","internals","config","Promise","helpers","defaultNow","defaultComparer","y","isEqual","defaultSubComparer","defaultError","defaultKeySerializer","then","isFn","longStackSupport","create","ObjectDisposedError","ArgumentOutOfRangeError","NotSupportedError","NotImplementedError","notImplemented","notSupported","Symbol","iterator","Set","doneEnumerator","func","argCount","arg","collection","dontEnums","funcTag","mapTag","setTag","weakMapTag","arrayBufferTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","objectProto","pow","hasDontEnumBug","propertyIsEnumerable","dontEnumsLength","prop","type","inherits","child","__","addProperties","sources","idx","ln","xs","getDisposable","compareTo","PriorityQueue","capacity","items","priorityProto","isHigherPriority","left","right","percolate","temp","heapify","first","peek","removeAt","dequeue","enqueue","CompositeDisposablePrototype","shouldDispose","splice","currentDisposables","Disposable","action","disposableCreate","empty","isDisposable","checkDisposed","disposableFixup","_fixup","current","old","second","_first","_second","old1","old2","NAryDisposable","_disposables","InnerDisposable","isInnerDisposed","underlyingDisposable","isPrimaryDisposed","schedule","ScheduledItem","invoke","invokeCore","isCancelled","Scheduler","schedulerProto","dt","normalize","_scheduleFuture","timeSpan","invokeRecImmediate","pair","innerAction","state2","scheduleWork","state3","isAdded","group","invokeRecDate","dueTime1","scheduleRecursive","setInterval","clearInterval","catchError","CatchScheduler","scheduleMethod","clearMethod","SchedulePeriodicRecursive","createTick","command","recurse","_period","_action","_state","_cancel","_scheduler","ImmediateScheduler","__super__","immediateScheduler","immediate","CurrentThreadScheduler","runTrampoline","queue","si","scheduleRequired","currentThread","localTimer","localSetTimeout","localClearTimeout","setTimeout","clearTimeout","WScript","Sleep","runTask","handle","currentlyRunning","task","tasksByHandle","postMessageSupported","postMessage","importScripts","isAsync","oldHandler","onmessage","nextHandle","reNative","RegExp","String","replace","setImmediate","test","process","nextTick","MSG_PREFIX","random","onGlobalPostMessage","event","data","substring","MessageChannel","channel","port1","port2","document","createElement","scriptElement","onreadystatechange","parentNode","removeChild","documentElement","appendChild","DefaultScheduler","scheduleAction","ClearDisposable","_id","LocalClearDisposable","async","_handler","_recursiveOriginal","_recursiveWrapper","_wrap","_clone","_getRecursiveWrapper","wrapper","failed","state1","Notification","_accept","_acceptObserver","observerOrOnNext","OnNextNotification","OnErrorNotification","OnCompletedNotification","notificationCreateOnNext","createOnNext","notificationCreateOnError","createOnError","notificationCreateOnCompleted","createOnCompleted","Observer","toNotifier","asObserver","AnonymousObserver","checked","CheckedObserver","observerCreate","fromNotifier","cb","notifyOn","ObserveOnObserver","makeSafe","AnonymousSafeObserver","_onNext","_onError","_onCompleted","observableProto","AbstractObserver","isStopped","completed","fail","_observer","CheckedObserverPrototype","checkAccess","ScheduledObserver","isAcquired","hasFaulted","enqueueNext","enqueueError","enqueueCompleted","work","ensureActive","isOwner","cancel","makeSubscribe","oldOnError","oldSubscribe","_subscribe","forEach","oOrOnNext","subscribeOnNext","subscribeOnError","subscribeOnCompleted","ObservableBase","fixSubscriber","subscriber","ado","sub","subscribeCore","AutoDetachObserver","FlatMapObservable","InnerObserver","_wrapResult","i2","Enumerable","ConcatEnumerableObservable","currentItem","currentValue","_recurse","concat","CatchErrorObservable","lastError","catchErrorWhen","notificationHandler","exceptions","notifier","handled","notificationDisposable","outer","inner","exn","ex","RepeatEnumerable","v","RepeatEnumerator","l","enumerableRepeat","repeat","repeatCount","OfEnumerable","OfEnumerator","enumerableOf","of","ObserveOnObservable","observeOn","SubscribeOnObservable","subscribeOn","FromPromiseObservable","_p","scheduleNext","scheduleError","sad","promise","toPromise","promiseCtor","resolve","reject","ToArrayObservable","Defer","_f","observableFactory","EmptyObservable","EmptySink","sink","run","EMPTY_OBSERVABLE","FromObservable","iterable","_iterable","createScheduleMethod","list","charAt","mapFn","mapper","_args","observableFromArray","fromArray","GenerateObservable","cndFn","itrFn","resFn","_initialState","_cndFn","_itrFn","_resFn","newState","hasResult","generate","initialState","iterate","ofWithScheduler","ofArrayChanges","observe","unobserve","observerFn","changes","ofObjectChanges","NeverObservable","NEVER_OBSERVABLE","never","PairsObservable","_o","_keys","pairs","RangeObservable","rangeCount","loopRecursive","range","RepeatObservable","JustObservable","_value","ThrowObservable","_error","UsingObservable","obsFn","_obsFn","resource","using","resourceFactory","rightSource","leftSource","choiceL","choice","leftChoice","rightSubscription","choiceR","rightChoice","leftSubscription","leftSubscribe","rightSubscribe","acc","CatchObservable","d1","CatchObserver","handlerOrSecond","observableCatch","combineLatest","CombineLatestObservable","params","_params","_cb","CombineLatestObserver","notTheSame","filter","observableConcat","ConcatObserver","ConcatObservable","_sources","merge","MergeObservable","maxConcurrent","g","MergeObserver","activeCount","handleSubscribe","innerSource","maxConcurrentOrOther","observableMerge","mergeAll","MergeAllObservable","MergeAllObserver","CompositeError","errors","innerErrors","MergeDelayErrorObservable","MergeDelayErrorObserver","_group","setCompletion","_inner","mergeDelayError","onErrorResumeNext","OnErrorResumeNextObservable","pos","OnErrorResumeNextObserver","cancellable","SkipUntilObservable","_open","SkipUntilSourceObserver","SkipUntilOtherObserver","_r","skipUntil","SwitchObservable","SwitchObserver","stopped","latest","hasLatest","switchLatest","TakeUntilObservable","TakeUntilObserver","takeUntil","WithLatestFromObservable","_ss","WithLatestFromOtherObserver","outerSad","WithLatestFromSourceObserver","allValues","withLatestFrom","ZipObservable","ZipObserver","_q","_d","shiftEach","queuedValues","zip","ZipIterableObservable","ZipIterableObserver","zipIterable","bufferWithCount","skip","windowWithCount","flatMap","DematerializeObservable","DematerializeObserver","dematerialize","DistinctUntilChangedObservable","keyFn","DistinctUntilChangedObserver","hasCurrentKey","currentKey","comparerEquals","distinctUntilChanged","TapObservable","_oN","_oE","_oC","t","tap","doAction","doOnNext","tapOnNext","doOnError","tapOnError","doOnCompleted","tapOnCompleted","FinallyObservable","FinallyDisposable","IgnoreElementsObservable","ignoreElements","MaterializeObservable","MaterializeObserver","retry","retryCount","retryWhen","ScanObservable","accumulator","hasSeed","seed","ScanObserver","_hs","_ha","_hv","scan","SkipLastObservable","_c","SkipLastObserver","skipLast","startWith","TakeLastObserver","takeLast","TakeLastBufferObserver","takeLastBuffer","Infinity","createWindow","refCountDisposable","selectConcat","selectorResult","concatMapObserver","selectConcatObserver","onNextFunc","onErrorFunc","onCompletedFunc","DefaultIfEmptyObserver","defaultIfEmpty","defaultValue","retValue","DistinctObservable","cmpFn","_keyFn","_cmpFn","DistinctObserver","_h","distinct","keySelector","groupBy","elementSelector","groupByUntil","groupDisposable","handleError","fireNewMapEntry","writer","GroupedObservable","durationGroup","duration","md","element","MapObservable","innerMap","internalMap","select","selectorFn","pluck","selectMany","flatMapObserver","selectManyObserver","flatMapLatest","SkipObservable","_count","SkipObserver","SkipWhileObservable","SkipWhileObserver","skipWhile","TakeObservable","TakeObserver","TakeWhileObservable","TakeWhileObserver","takeWhile","FilterObservable","innerPredicate","internalFilter","shouldYield","where","ExtremaByObservable","k","_k","ExtremaByObserver","_v","comparison","ReduceObservable","ReduceObserver","reduce","SomeObservable","SomeObserver","Boolean","some","IsEmptyObservable","IsEmptyObserver","isEmpty","EveryObservable","EveryObserver","IncludesObservable","elem","_elem","IncludesObserver","b","includes","searchElement","fromIndex","CountObservable","CountObserver","IndexOfObservable","IndexOfObserver","SumObservable","SumObserver","sum","minBy","min","maxBy","AverageObservable","AverageObserver","_t","average","sequenceEqual","donel","doner","ql","qr","subscription1","equal","subscription2","ElementAtObservable","ElementAtObserver","elementAt","SingleObserver","_obj","single","FirstObservable","FirstObserver","LastObservable","LastObserver","last","_y","find","findIndex","ToSetObservable","ToSetObserver","toSet","ToMapObservable","ToMapObserver","_m","toMap","SliceObservable","_b","SliceObserver","begin","end","LastIndexOfObservable","LastIndexOfObserver","lastIndexOf","wrap","createObservable","__generatorFunction__","gen","processGenerator","ret","context","observableToAsync","toAsync","fromCallback","fromNodeCallback","removeEventListener","useNativeEvents","EventObservable","_el","createHandler","fromEvent","addListener","fromEventPattern","h","removeListener","on","off","publish","refCount","EventPatternObservable","del","_add","_del","EventPatternDisposable","_ret","returnValue","addHandler","removeHandler","startAsync","functionAsync","PausableObservable","pauser","controller","conn","connection","pausable","connect","pause","resume","PausableBufferedObservable","drainQueue","previousShouldFire","shouldFire","pausableBuffered","ControlledObservable","enableQueue","ControlledSubject","multicast","request","numberOfItems","requestedCount","requestedDisposable","hasFailed","hasCompleted","disposeCurrentRequest","_processRequest","remaining","controlled","StopAndWaitObservable","StopAndWaitObserver","__sub__","scheduleDisposable","innerScheduleMethod","stopAndWait","WindowedObservable","windowSize","WindowedObserver","received","windowed","pipe","dest","onDrain","write","emit","_isStdio","MulticastObservable","fn1","fn2","_fn1","_fn2","connectable","subjectOrSubjectSelector","ConnectableObservable","share","publishLast","publishValue","initialValueOrSelector","initialValue","BehaviorSubject","shareValue","replay","bufferSize","ReplaySubject","shareReplay","InnerSubscription","RefCountObservable","_connectableSubscription","_connection","_source","_subject","ConnectDisposable","singleInstance","getObservable","hasObservable","leftDurationSelector","rightDurationSelector","leftDone","rightDone","leftId","rightId","leftMap","rightMap","size","buffer","windowOpeningsOrClosingSelector","PairwiseObservable","PairwiseObserver","_hp","pairwise","partition","letBind","thenSource","elseSourceOrScheduler","forIn","observableWhileDo","whileDo","doWhile","defaultSourceOrScheduler","ExpandObservable","ExpandObserver","_ensureActive","_m1","expand","ForkJoinObservable","finished","hasResults","ForkJoinObserver","subs","_subs","manySelect","extend","chain","curr","ChainObservable","head","tail","_values","and","thenDo","activate","deactivate","errHandler","activePlan","jlen","removeActivePlan","addActivePlan","match","hasValues","firstValues","isCompleted","activePlans","JoinObserverPrototype","when","plans","outObserver","_dt","observableinterval","interval","periodOrScheduler","firstArg","DebounceObservable","DebounceObserver","currentId","debounce","windowWithTime","timeShiftOrScheduler","timeShift","isSpan","isShift","timerD","nextSpan","nextShift","newTotalTime","ts","totalTime","windowWithTimeOrCount","windowId","newId","newWindow","bufferWithTime","bufferWithTimeOrCount","TimeIntervalObservable","TimeIntervalObserver","span","timeInterval","TimestampObservable","TimestampObserver","SampleObservable","sampler","_sampler","sourceSubscription","SampleSourceObserver","SamplerObserver","_handleMessage","sample","intervalOrSampler","GenerateAbsoluteObservable","timeFn","_timeFn","generateWithAbsoluteTime","timeSelector","GenerateRelativeObservable","generateWithRelativeTime","DelaySubscription","delaySubscription","SkipLastWithTimeObservable","SkipLastWithTimeObserver","skipLastWithTime","TakeLastWithTimeObservable","TakeLastWithTimeObserver","takeLastWithTime","takeLastBufferWithTime","TakeWithTimeObservable","takeWithTime","SkipWithTimeObservable","SkipWithTimeObserver","skipWithTime","SkipUntilWithTimeObservable","startTime","_st","SkipUntilWithTimeObserver","skipUntilWithTime","takeUntilWithTime","endTime","windowDuration","RangeError","lastOnNext","TransduceObserver","xform","_xform","transduce","transducer","SwitchFirstObservable","hasCurrent","SwitchFirstObserver","switchFirst","flatMapFirst","selectManyFirst","flatMapWithMaxConcurrent","limit","VirtualTimeScheduler","initialClock","clock","isEnabled","VirtualTimeSchedulerPrototype","toAbsoluteTime","toRelativeTime","scheduleRelative","runAt","getNext","stop","advanceTo","dueToClock","advanceBy","sleep","HistoricalScheduler","cmp","HistoricalSchedulerProto","absolute","relative","equals","ReactiveTest","created","subscribed","disposed","ticks","Recorded","Subscription","unsubscribe","MAX_VALUE","MockDisposable","disposes","MockObserver","MockObserverPrototype","onResolved","onRejected","newPromise","HotObservable","ColdObservable","TestScheduler","baseComparer","startScheduler","createFn","settings","createObserver","createHotObservable","createColdObservable","createResolvedPromise","createRejectedPromise","reason","__subscribe","AutoDetachObserverPrototype","UnderlyingObservable","u","_u","underlyingObservable","mergedDisposable","hasError","hasObservers","os","AnonymousSubject","getValue","createRemovableDisposable","so","_trim","Pauser","define","amd"],"mappings":"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"} \ No newline at end of file diff --git a/dist/rx.all.min.js b/dist/rx.all.min.js index c9cffa92e..3ca04d890 100644 --- a/dist/rx.all.min.js +++ b/dist/rx.all.min.js @@ -2,6 +2,6 @@ (function(a){function b(a){return a&&a.Object===Object?a:null}function c(a){for(var b=[],c=0,d=a.length;d>c;c++)b.push(a[c]);return b}function d(a){return function(){try{return a.apply(this,arguments)}catch(b){return Ya.e=b,Ya}}}function e(a){throw a}function f(a,b){if($a&&b.stack&&"object"==typeof a&&null!==a&&a.stack&&-1===a.stack.indexOf(cb)){for(var c=[],d=b;d;d=d.source)d.stack&&c.unshift(d.stack);c.unshift(a.stack);var e=c.join("\n"+cb+"\n");a.stack=g(e)}}function g(a){for(var b=a.split("\n"),c=[],d=0,e=b.length;e>d;d++){var f=b[d];h(f)||i(f)||!f||c.push(f)}return c.join("\n")}function h(a){var b=k(a);if(!b)return!1;var c=b[0],d=b[1];return c===ab&&d>=bb&&Dg>=d}function i(a){return-1!==a.indexOf("(module.js:")||-1!==a.indexOf("(node.js:")}function j(){if($a)try{throw new Error}catch(a){var b=a.stack.split("\n"),c=b[0].indexOf("@")>0?b[1]:b[2],d=k(c);if(!d)return;return ab=d[0],d[1]}}function k(a){var b=/at .+ \((.+):(\d+):(?:\d+)\)$/.exec(a);if(b)return[b[1],Number(b[2])];var c=/at ([^ ]+):(\d+):(?:\d+)$/.exec(a);if(c)return[c[1],Number(c[2])];var d=/.*@(.+):(\d+)$/.exec(a);return d?[d[1],Number(d[2])]:void 0}function l(b,c,d,e,f,g){var h=Rb(b),i=h.length,j=Rb(c),k=j.length;if(i!==k&&!e)return!1;for(var l,m=i;m--;)if(l=h[m],!(e?l in c:Ob.call(c,l)))return!1;for(var n=e;++m-1&&a%1===0&&Qb>=a}function p(a){return n(a)&&o(a.length)&&!!Mb[Pb.call(a)]}function q(a,b){for(var c=-1,d=a.length;++ci))return!1;for(;++hd;d++)c[d]=b();return c}function v(a,b){this.id=a,this.value=b}function w(a,b){this.scheduler=a,this.disposable=b,this.isDisposed=!1}function x(a,b){b.isDisposed||(b.isDisposed=!0,b.disposable.dispose())}function y(a){this._s=a,this.isDisposed=!1}function z(a){this._s=a}function A(a){this._s=a,this._l=a.length,this._i=0}function B(a){this._a=a}function C(a){this._a=a,this._l=G(a),this._i=0}function D(a){return"number"==typeof a&&Oa.isFinite(a)}function E(b){var c,d=b[jb];if(!d&&"string"==typeof b)return c=new z(b),c[jb]();if(!d&&b.length!==a)return c=new B(b),c[jb]();if(!d)throw new TypeError("Object is not iterable");return b[jb]()}function F(a){var b=+a;return 0===b?b:isNaN(b)?b:0>b?-1:1}function G(a){var b=+a.length;return isNaN(b)?0:0!==b&&D(b)?(b=F(b)*Math.floor(Math.abs(b)),0>=b?0:b>kd?kd:b):b}function H(a,b){return oc(a)||(a=vc),new md(b,a)}function I(a,b){this.observer=a,this.parent=b}function J(a,b){return a.amb(b)}function K(){return!1}function L(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return b}function K(){return!1}function L(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return b}function K(){return!1}function M(){return[]}function K(){return!1}function M(){return[]}function L(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return b}function N(a){return function(b){return a.subscribe(b)}}function O(a){return a.toArray()}function P(a){return a.length>0}function Q(a,b,c){var d=nb(b,c,3);return a.map(function(b,c){var e=d(b,c,a);return Wa(e)&&(e=cd(e)),(mb(e)||lb(e))&&(e=ld(e)),e}).concatAll()}function R(a,b,c){for(var d=0,e=a.length;e>d;d++)if(c(a[d],b))return d;return-1}function S(a){this.comparer=a,this.set=[]}function T(b,c){return function(d){for(var e=d,f=0;c>f;f++){var g=e[b[f]];if("undefined"==typeof g)return a;e=g}return e}}function U(a){if(0===a.length)throw new db;return a[0]}function V(a,b,c,d){var e=nb(b,c,3);return new ug(function(b){return a.subscribe(new df(b,a,e,d))},a)}function W(a){return a?Rc.isObservable(a)?a:Wa(a)?Rc.fromPromise(a):_(a)||$(a)?nf.call(this,a):Xa(a)?Z.call(this,a):mb(a)||lb(a)?X.call(this,a):aa(a)?Y.call(this,a):a:a}function X(a){return Rc.from(a).concatMap(function(a){return Rc.isObservable(a)||aa(a)?W.call(null,a):Pa.Observable.just(a)}).toArray()}function Y(b){function c(b,c){d[c]=a,f.push(b.map(function(a){d[c]=a}))}for(var d=new b.constructor,e=Object.keys(b),f=[],g=0,h=e.length;h>g;g++){var i=e[g],j=W.call(this,b[i]);j&&Rc.isObservable(j)?c(j,i):d[i]=b[i]}return Rc.forkJoin.apply(Rc,f).map(function(){return d})}function Z(a){var b=this;return new ug(function(c){a.call(b,function(){var a=arguments[0],b=arguments[1];if(a)return c.onError(a);if(arguments.length>2){for(var d=[],e=1,f=arguments.length;f>e;e++)d.push(arguments[e]);b=d}c.onNext(b),c.onCompleted()})})}function $(a){return Xa(a.next)&&Xa(a["throw"])}function _(a){var b=a.constructor;return b?"GeneratorFunction"===b.name||"GeneratorFunction"===b.displayName?!0:$(b.prototype):!1}function aa(a){return Object==a.constructor}function ba(a,b,c,d){var e=new zg;return d.push(ca(e,b,c)),a.apply(b,d),e.asObservable()}function ca(a,b,c){return function(){for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];if(Xa(c)){if(e=Za(c).apply(b,e),e===Ya)return a.onError(e.e);a.onNext(e)}else e.length<=1?a.onNext(e[0]):a.onNext(e);a.onCompleted()}}function da(a,b,c,d){var e=new zg;return d.push(ea(e,b,c)),a.apply(b,d),e.asObservable()}function ea(a,b,c){return function(){var d=arguments[0];if(d)return a.onError(d);for(var e=arguments.length,f=[],g=1;e>g;g++)f[g-1]=arguments[g];if(Xa(c)){var f=Za(c).apply(b,f);if(f===Ya)return a.onError(f.e);a.onNext(f)}else f.length<=1?a.onNext(f[0]):a.onNext(f);a.onCompleted()}}function fa(a){return Oa.StaticNodeList?a instanceof Oa.StaticNodeList||a instanceof Oa.NodeList:"[object NodeList]"===Object.prototype.toString.call(a)}function ga(a,b,c){this._e=a,this._n=b,this._fn=c,this._e.addEventListener(this._n,this._fn,!1),this.isDisposed=!1}function ha(a,b,c){var d=new $b,e=Object.prototype.toString.call(a);if(fa(a)||"[object HTMLCollection]"===e)for(var f=0,g=a.length;g>f;f++)d.add(ha(a.item(f),b,c));else a&&d.add(new ga(a,b,c));return d}function ia(a,b,c){return new ug(function(d){function e(a,b){if(j[b]=a,g[b]=!0,h||(h=g.every(Ra))){if(f)return d.onError(f);var e=Za(c).apply(null,j);if(e===Ya)return d.onError(e.e);d.onNext(e)}i&&j[1]&&d.onCompleted()}var f,g=[!1,!1],h=!1,i=!1,j=new Array(2);return new ic(a.subscribe(function(a){e(a,0)},function(a){j[1]?d.onError(a):f=a},function(){i=!0,j[1]&&d.onCompleted()}),b.subscribe(function(a){e(a,1)},function(a){d.onError(a)},function(){i=!0,e(!0,1)}))},a)}function O(a){return a.toArray()}function ja(a,b){return a.groupJoin(this,b,id,function(a,b){return b})}function ka(a){var b=this;return new ug(function(c){var d=new yg,e=new $b,f=new kc(e);return c.onNext(Xb(d,f)),e.add(b.subscribe(function(a){d.onNext(a)},function(a){d.onError(a),c.onError(a)},function(){d.onCompleted(),c.onCompleted()})),Wa(a)&&(a=cd(a)),e.add(a.subscribe(function(a){d.onCompleted(),d=new yg,c.onNext(Xb(d,f))},function(a){d.onError(a),c.onError(a)},function(){d.onCompleted(),c.onCompleted()})),f},b)}function la(a){var b=this;return new ug(function(c){function d(){var b;try{b=a()}catch(f){return void c.onError(f)}Wa(b)&&(b=cd(b));var i=new gc;e.setDisposable(i),i.setDisposable(b.take(1).subscribe(Qa,function(a){h.onError(a),c.onError(a)},function(){h.onCompleted(),h=new yg,c.onNext(Xb(h,g)),d()}))}var e=new hc,f=new $b(e),g=new kc(f),h=new yg;return c.onNext(Xb(h,g)),f.add(b.subscribe(function(a){h.onNext(a)},function(a){h.onError(a),c.onError(a)},function(){h.onCompleted(),c.onCompleted()})),d(),g},b)}function ma(a,b){return new Ef(a,b)}function L(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return b}function na(a){this.patterns=a}function oa(a,b){this.expression=a,this.selector=b}function pa(a){return function(b){a.onError(b)}}function qa(a,b){return function(){var c=Za(a.selector).apply(a,arguments);return c===Ya?b.onError(c.e):void b.onNext(c)}}function ra(a,b,c){var d=a.get(b);if(!d){var e=new Mf(b,c);return a.set(b,e),e}return d}function sa(a,b,c){this.joinObserverArray=a,this.onNext=b,this.onCompleted=c,this.joinObservers=new Lf;for(var d=0,e=this.joinObserverArray.length;e>d;d++){var f=this.joinObserverArray[d];this.joinObservers.set(f,f)}}function ta(a,b){return new Nf(a,b)}function ua(a,b,c){return new ug(function(d){var e=a,f=nc(b);return c.scheduleRecursiveFuture(0,e,function(a,b){if(f>0){var g=c.now();e=new Date(e.getTime()+f),e.getTime()<=g&&(e=new Date(g+f))}d.onNext(a),b(a+1,new Date(e))})})}function va(a,b,c){return a===b?new ug(function(a){return c.schedulePeriodic(0,b,function(b){return a.onNext(b),b+1})}):fd(function(){return ua(new Date(c.now()+a),b,c)})}function wa(a,b,c){return new ug(function(d){var e,f=!1,g=new hc,h=null,i=[],j=!1;return e=a.materialize().timestamp(c).subscribe(function(a){var e,k;"E"===a.value.kind?(i=[],i.push(a),h=a.value.error,k=!j):(i.push({value:a.value,timestamp:a.timestamp+b}),k=!f,f=!0),k&&(null!==h?d.onError(h):(e=new gc,g.setDisposable(e),e.setDisposable(c.scheduleRecursiveFuture(null,b,function(a,b){var e,g,k,l;if(null===h){j=!0;do k=null,i.length>0&&i[0].timestamp-c.now()<=0&&(k=i.shift().value),null!==k&&k.accept(d);while(null!==k);l=!1,g=0,i.length>0?(l=!0,g=Math.max(0,i[0].timestamp-c.now())):f=!1,e=h,j=!1,null!==e?d.onError(e):l&&b(null,g)}}))))}),new ic(e,g)},a)}function xa(a,b,c){return fd(function(){return wa(a,b-c.now(),c)})}function ya(a,b,c){var d,e;return Xa(b)?e=b:(d=b,e=c),new ug(function(b){function c(){i.setDisposable(a.subscribe(function(a){var c=Za(e)(a);if(c===Ya)return b.onError(c.e);var d=new gc;g.add(d),d.setDisposable(c.subscribe(function(){b.onNext(a),g.remove(d),f()},function(a){b.onError(a)},function(){b.onNext(a),g.remove(d),f()}))},function(a){b.onError(a)},function(){h=!0,i.dispose(),f()}))}function f(){h&&0===g.length&&b.onCompleted()}var g=new $b,h=!1,i=new hc;return d?i.setDisposable(d.subscribe(c,function(a){b.onError(a)},c)):c(),new ic(i,g)},this)}function za(a,b){return new ug(function(c){var d,e=!1,f=new hc,g=0,h=a.subscribe(function(a){var h=Za(b)(a);if(h===Ya)return c.onError(h.e);Wa(h)&&(h=cd(h)),e=!0,d=a,g++;var i=g,j=new gc;f.setDisposable(j),j.setDisposable(h.subscribe(function(){e&&g===i&&c.onNext(d),e=!1,j.dispose()},function(a){c.onError(a)},function(){e&&g===i&&c.onNext(d),e=!1,j.dispose()}))},function(a){f.dispose(),c.onError(a),e=!1,g++},function(){f.dispose(),e&&c.onNext(d),c.onCompleted(),e=!1,g++});return new ic(h,f)},a)}function O(a){return a.toArray()}function O(a){return a.toArray()}function Aa(a,b,c,d){return Xa(b)&&(d=c,c=b,b=rd()),Rc.isObservable(d)||(d=xd(new Yf)),new ug(function(e){function f(a){function b(){return l=c===k}var c=k,f=new gc;i.setDisposable(f),f.setDisposable(a.subscribe(function(){b()&&h.setDisposable(d.subscribe(e)),f.dispose()},function(a){b()&&e.onError(a)},function(){b()&&h.setDisposable(d.subscribe(e))}))}function g(){var a=!l;return a&&k++,a}var h=new hc,i=new hc,j=new gc;h.setDisposable(j);var k=0,l=!1;return f(b),j.setDisposable(a.subscribe(function(a){if(g()){e.onNext(a);var b=Za(c)(a);if(b===Ya)return e.onError(b.e);f(Wa(b)?cd(b):b)}},function(a){g()&&e.onError(a)},function(){g()&&e.onCompleted()})),new ic(h,i)},a)}function Ba(a,b,c,d){return oc(c)&&(d=c,c=xd(new Yf)),c instanceof Error&&(c=xd(c)),oc(d)||(d=Ac),Rc.isObservable(c)||(c=xd(new Yf)),new ug(function(e){function f(){var a=g;k.setDisposable(d.scheduleFuture(null,b,function(){j=g===a,j&&(Wa(c)&&(c=cd(c)),i.setDisposable(c.subscribe(e)))}))}var g=0,h=new gc,i=new hc,j=!1,k=new hc;return i.setDisposable(h),f(),h.setDisposable(a.subscribe(function(a){j||(g++,e.onNext(a),f())},function(a){j||(g++,e.onError(a))},function(){j||(g++,e.onCompleted())})),new ic(i,k)},a)}function Ca(a){return{"@@transducer/init":function(){return a},"@@transducer/step":function(a,b){return a.onNext(b)},"@@transducer/result":function(a){return a.onCompleted()}}}function Da(a){this.predicate=a}function Ea(a){this.predicate=a}function Fa(a,b){var c=this;this.scheduler=a,this.messages=b,this.subscriptions=[],this.observers=[];for(var d=0,e=this.messages.length;e>d;d++){var f=this.messages[d],g=f.value;!function(b){a.scheduleAbsolute(null,f.time,function(){for(var a=c.observers.slice(0),d=0,e=a.length;e>d;d++)b.accept(a[d]);return cc})}(g)}}var Ga={"function":!0,object:!0},Ha=Ga[typeof exports]&&exports&&!exports.nodeType?exports:null,Ia=Ga[typeof module]&&module&&!module.nodeType?module:null,Ja=b(Ha&&Ia&&"object"==typeof global&&global),Ka=b(Ga[typeof self]&&self),La=b(Ga[typeof window]&&window),Ma=Ia&&Ia.exports===Ha?Ha:null,Na=b(Ga[typeof this]&&this),Oa=Ja||La!==(Na&&Na.window)&&La||Ka||Na||Function("return this")(),Pa={internals:{},config:{Promise:Oa.Promise},helpers:{}},Qa=Pa.helpers.noop=function(){},Ra=Pa.helpers.identity=function(a){return a},Sa=Pa.helpers.defaultNow=Date.now,Ta=Pa.helpers.defaultComparer=function(a,b){return Ub(a,b)},Ua=Pa.helpers.defaultSubComparer=function(a,b){return a>b?1:b>a?-1:0},Va=(Pa.helpers.defaultKeySerializer=function(a){return a.toString()},Pa.helpers.defaultError=function(a){throw a}),Wa=Pa.helpers.isPromise=function(a){return!!a&&"function"!=typeof a.subscribe&&"function"==typeof a.then},Xa=Pa.helpers.isFunction=function(){var a=function(a){return"function"==typeof a||!1};return a(/x/)&&(a=function(a){return"function"==typeof a&&"[object Function]"==toString.call(a)}),a}(),Ya={e:{}},Za=Pa.internals.tryCatch=function(a){if(!Xa(a))throw new TypeError("fn must be a function");return d(a)};Pa.config.longStackSupport=!1;var $a=!1,_a=Za(function(){throw new Error})();$a=!!_a.e&&!!_a.e.stack;var ab,bb=j(),cb="From previous event:",db=Pa.EmptyError=function(){this.message="Sequence contains no elements.",Error.call(this)};db.prototype=Object.create(Error.prototype),db.prototype.name="EmptyError";var eb=Pa.ObjectDisposedError=function(){this.message="Object has been disposed",Error.call(this)};eb.prototype=Object.create(Error.prototype),eb.prototype.name="ObjectDisposedError";var fb=Pa.ArgumentOutOfRangeError=function(){this.message="Argument out of range",Error.call(this)};fb.prototype=Object.create(Error.prototype),fb.prototype.name="ArgumentOutOfRangeError";var gb=Pa.NotSupportedError=function(a){this.message=a||"This operation is not supported",Error.call(this)};gb.prototype=Object.create(Error.prototype),gb.prototype.name="NotSupportedError";var hb=Pa.NotImplementedError=function(a){this.message=a||"This operation is not implemented",Error.call(this)};hb.prototype=Object.create(Error.prototype),hb.prototype.name="NotImplementedError";var ib=Pa.helpers.notImplemented=function(){throw new hb},jb=(Pa.helpers.notSupported=function(){throw new gb},"function"==typeof Symbol&&Symbol.iterator||"_es6shim_iterator_");Oa.Set&&"function"==typeof(new Oa.Set)["@@iterator"]&&(jb="@@iterator");var kb=Pa.doneEnumerator={done:!0,value:a},lb=Pa.helpers.isIterable=function(b){return b&&b[jb]!==a},mb=Pa.helpers.isArrayLike=function(b){return b&&b.length!==a};Pa.helpers.iterator=jb;var nb=Pa.internals.bindCallback=function(a,b,c){if("undefined"==typeof b)return a;switch(c){case 0:return function(){return a.call(b)};case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}},ob=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],pb=(ob.length,"[object Arguments]"),qb="[object Array]",rb="[object Boolean]",sb="[object Date]",tb="[object Error]",ub="[object Function]",vb="[object Map]",wb="[object Number]",xb="[object Object]",yb="[object RegExp]",zb="[object Set]",Ab="[object String]",Bb="[object WeakMap]",Cb="[object ArrayBuffer]",Db="[object Float32Array]",Eb="[object Float64Array]",Fb="[object Int8Array]",Gb="[object Int16Array]",Hb="[object Int32Array]",Ib="[object Uint8Array]",Jb="[object Uint8ClampedArray]",Kb="[object Uint16Array]",Lb="[object Uint32Array]",Mb={};Mb[Db]=Mb[Eb]=Mb[Fb]=Mb[Gb]=Mb[Hb]=Mb[Ib]=Mb[Jb]=Mb[Kb]=Mb[Lb]=!0,Mb[pb]=Mb[qb]=Mb[Cb]=Mb[rb]=Mb[sb]=Mb[tb]=Mb[ub]=Mb[vb]=Mb[wb]=Mb[xb]=Mb[yb]=Mb[zb]=Mb[Ab]=Mb[Bb]=!1;var Nb=Object.prototype,Ob=Nb.hasOwnProperty,Pb=Nb.toString,Qb=Math.pow(2,53)-1,Rb=Object.keys||function(){var a=Object.prototype.hasOwnProperty,b=!{toString:null}.propertyIsEnumerable("toString"),c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],d=c.length;return function(e){if("object"!=typeof e&&("function"!=typeof e||null===e))throw new TypeError("Object.keys called on non-object");var f,g,h=[];for(f in e)a.call(e,f)&&h.push(f);if(b)for(g=0;d>g;g++)a.call(e,c[g])&&h.push(c[g]);return h}}(),aa=Pa.internals.isObject=function(a){var b=typeof a;return!!a&&("object"===b||"function"===b)},Sb=function(){try{Object({toString:0}+"")}catch(a){return function(){return!1}}return function(a){return"function"!=typeof a.toString&&"string"==typeof(a+"")}}(),Tb=Array.isArray||function(a){return n(a)&&o(a.length)&&Pb.call(a)===qb},Ub=Pa.internals.isEqual=function(a,b){return t(a,b)},Vb=({}.hasOwnProperty,Array.prototype.slice,Pa.internals.inherits=function(a,b){function c(){this.constructor=a}c.prototype=b.prototype,a.prototype=new c}),Wb=Pa.internals.addProperties=function(a){for(var b=[],c=1,d=arguments.length;d>c;c++)b.push(arguments[c]);for(var e=0,f=b.length;f>e;e++){var g=b[e];for(var h in g)a[h]=g[h]}},Xb=Pa.internals.addRef=function(a,b){return new ug(function(c){return new ic(b.getDisposable(),a.subscribe(c))})};v.prototype.compareTo=function(a){var b=this.value.compareTo(a.value);return 0===b&&(b=this.id-a.id),b};var Yb=Pa.internals.PriorityQueue=function(a){this.items=new Array(a),this.length=0},Zb=Yb.prototype;Zb.isHigherPriority=function(a,b){return this.items[a].compareTo(this.items[b])<0},Zb.percolate=function(a){if(!(a>=this.length||0>a)){var b=a-1>>1;if(!(0>b||b===a)&&this.isHigherPriority(a,b)){var c=this.items[a];this.items[a]=this.items[b],this.items[b]=c,this.percolate(b)}}},Zb.heapify=function(a){if(+a||(a=0),!(a>=this.length||0>a)){var b=2*a+1,c=2*a+2,d=a;if(ba;a++)c[a]=arguments[a];this.disposables=c,this.isDisposed=!1,this.length=c.length},_b=$b.prototype;_b.add=function(a){this.isDisposed?a.dispose():(this.disposables.push(a),this.length++)},_b.remove=function(a){var b=!1;if(!this.isDisposed){var c=this.disposables.indexOf(a);-1!==c&&(b=!0,this.disposables.splice(c,1),this.length--,a.dispose())}return b},_b.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;for(var a=this.disposables.length,b=new Array(a),c=0;a>c;c++)b[c]=this.disposables[c];for(this.disposables=[],this.length=0,c=0;a>c;c++)b[c].dispose()}};var ac=Pa.Disposable=function(a){this.isDisposed=!1,this.action=a||Qa};ac.prototype.dispose=function(){this.isDisposed||(this.action(),this.isDisposed=!0)};var bc=ac.create=function(a){return new ac(a)},cc=ac.empty={dispose:Qa},dc=ac.isDisposable=function(a){return a&&Xa(a.dispose)},ec=ac.checkDisposed=function(a){if(a.isDisposed)throw new eb},fc=ac._fixup=function(a){return dc(a)?a:cc},gc=Pa.SingleAssignmentDisposable=function(){this.isDisposed=!1,this.current=null};gc.prototype.getDisposable=function(){return this.current},gc.prototype.setDisposable=function(a){if(this.current)throw new Error("Disposable has already been assigned");var b=this.isDisposed;!b&&(this.current=a),b&&a&&a.dispose()},gc.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this.current;this.current=null,a&&a.dispose()}};var hc=Pa.SerialDisposable=function(){this.isDisposed=!1,this.current=null};hc.prototype.getDisposable=function(){return this.current},hc.prototype.setDisposable=function(a){var b=this.isDisposed;if(!b){var c=this.current;this.current=a}c&&c.dispose(),b&&a&&a.dispose()},hc.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this.current;this.current=null}a&&a.dispose()};var ic=Pa.BinaryDisposable=function(a,b){this._first=a,this._second=b,this.isDisposed=!1};ic.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this._first;this._first=null,a&&a.dispose();var b=this._second;this._second=null,b&&b.dispose()}};var jc=Pa.NAryDisposable=function(a){this._disposables=a,this.isDisposed=!1};jc.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;for(var a=0,b=this._disposables.length;b>a;a++)this._disposables[a].dispose();this._disposables.length=0}};var kc=Pa.RefCountDisposable=function(){function a(a){this.disposable=a,this.disposable.count++,this.isInnerDisposed=!1}function b(a){this.underlyingDisposable=a,this.isDisposed=!1,this.isPrimaryDisposed=!1,this.count=0}return a.prototype.dispose=function(){this.disposable.isDisposed||this.isInnerDisposed||(this.isInnerDisposed=!0,this.disposable.count--,0===this.disposable.count&&this.disposable.isPrimaryDisposed&&(this.disposable.isDisposed=!0,this.disposable.underlyingDisposable.dispose()))},b.prototype.dispose=function(){this.isDisposed||this.isPrimaryDisposed||(this.isPrimaryDisposed=!0,0===this.count&&(this.isDisposed=!0,this.underlyingDisposable.dispose()))},b.prototype.getDisposable=function(){return this.isDisposed?cc:new a(this)},b}();w.prototype.dispose=function(){this.scheduler.schedule(this,x)};var lc=Pa.internals.ScheduledItem=function(a,b,c,d,e){this.scheduler=a,this.state=b,this.action=c,this.dueTime=d,this.comparer=e||Ua,this.disposable=new gc};lc.prototype.invoke=function(){this.disposable.setDisposable(this.invokeCore())},lc.prototype.compareTo=function(a){return this.comparer(this.dueTime,a.dueTime)},lc.prototype.isCancelled=function(){return this.disposable.isDisposed},lc.prototype.invokeCore=function(){return fc(this.action(this.scheduler,this.state))};var mc=Pa.Scheduler=function(){function a(){}a.isScheduler=function(b){return b instanceof a};var b=a.prototype;return b.schedule=function(a,b){throw new hb},b.scheduleFuture=function(b,c,d){var e=c;return e instanceof Date&&(e-=this.now()),e=a.normalize(e),0===e?this.schedule(b,d):this._scheduleFuture(b,e,d)},b._scheduleFuture=function(a,b,c){throw new hb},a.now=Sa,a.prototype.now=Sa,a.normalize=function(a){return 0>a&&(a=0),a},a}(),nc=mc.normalize,oc=mc.isScheduler;!function(a){function b(a,b){function c(b){function d(a,b){return g?f.remove(i):h=!0,e(b,c),cc}var g=!1,h=!1,i=a.schedule(b,d);h||(f.add(i),g=!0)}var d=b[0],e=b[1],f=new $b;return e(d,c),f}function c(a,b){function c(b,d){function g(a,b){return h?f.remove(j):i=!0,e(b,c),cc}var h=!1,i=!1,j=a.scheduleFuture(b,d,g);i||(f.add(j),h=!0)}var d=b[0],e=b[1],f=new $b;return e(d,c),f}a.scheduleRecursive=function(a,c){return this.schedule([a,c],b)},a.scheduleRecursiveFuture=function(a,b,d){return this.scheduleFuture([a,d],b,c)}}(mc.prototype),function(a){a.schedulePeriodic=function(a,b,c){if("undefined"==typeof Oa.setInterval)throw new gb;b=nc(b);var d=a,e=Oa.setInterval(function(){d=c(d)},b);return bc(function(){Oa.clearInterval(e)})}}(mc.prototype),function(a){a.catchError=a["catch"]=function(a){return new Bc(this,a)}}(mc.prototype);var pc,qc,rc=Pa.internals.SchedulePeriodicRecursive=function(){function a(a){return function(b,c){c(0,a._period);var d=Za(a._action)(a._state);d===Ya&&(a._cancel.dispose(),e(d.e)),a._state=d}}function b(a,b,c,d){this._scheduler=a,this._state=b,this._period=c,this._action=d}return b.prototype.start=function(){var b=new gc;return this._cancel=b,b.setDisposable(this._scheduler.scheduleRecursiveFuture(0,this._period,a(this))),b},b}(),sc=function(a){function b(){a.call(this)}return Vb(b,a),b.prototype.schedule=function(a,b){return fc(b(this,a))},b}(mc),tc=mc.immediate=new sc,uc=function(a){function b(){for(;d.length>0;){var a=d.dequeue();!a.isCancelled()&&a.invoke()}}function c(){a.call(this)}var d;return Vb(c,a),c.prototype.schedule=function(a,c){var f=new lc(this,a,c,this.now());if(d)d.enqueue(f);else{d=new Yb(4),d.enqueue(f);var g=Za(b)();d=null,g===Ya&&e(g.e)}return f.disposable},c.prototype.scheduleRequired=function(){return!d},c}(mc),vc=mc.currentThread=new uc,wc=function(){var a,b=Qa;if(Oa.setTimeout)a=Oa.setTimeout,b=Oa.clearTimeout;else{if(!Oa.WScript)throw new gb;a=function(a,b){Oa.WScript.Sleep(b),a()}}return{setTimeout:a,clearTimeout:b}}(),xc=wc.setTimeout,yc=wc.clearTimeout;!function(){function a(b){if(f)xc(function(){a(b)},0);else{var c=d[b];if(c){f=!0;var g=Za(c)();qc(b),f=!1,g===Ya&&e(g.e)}}}function b(){if(!Oa.postMessage||Oa.importScripts)return!1;var a=!1,b=Oa.onmessage;return Oa.onmessage=function(){a=!0},Oa.postMessage("","*"),Oa.onmessage=b,a}var c=1,d={},f=!1;qc=function(a){delete d[a]};var g=new RegExp("^"+String(toString).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),h="function"==typeof(h=Ja&&Ma&&Ja.setImmediate)&&!g.test(h)&&h;if(Xa(h))pc=function(b){var e=c++;return d[e]=b,h(function(){a(e)}),e};else if("undefined"!=typeof process&&"[object process]"==={}.toString.call(process))pc=function(b){var e=c++;return d[e]=b,process.nextTick(function(){a(e)}),e};else if(b()){var i="ms.rx.schedule"+Math.random(),j=function(b){"string"==typeof b.data&&b.data.substring(0,i.length)===i&&a(b.data.substring(i.length))};Oa.addEventListener("message",j,!1),pc=function(a){var b=c++;return d[b]=a,Oa.postMessage(i+b,"*"),b}}else if(Oa.MessageChannel){var k=new Oa.MessageChannel;k.port1.onmessage=function(b){a(b.data)},pc=function(a){var b=c++;return d[b]=a,k.port2.postMessage(b),b}}else pc="document"in Oa&&"onreadystatechange"in Oa.document.createElement("script")?function(b){var e=Oa.document.createElement("script"),f=c++;return d[f]=b,e.onreadystatechange=function(){a(f),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null},Oa.document.documentElement.appendChild(e),f}:function(b){var e=c++;return d[e]=b,xc(function(){a(e)},0),e}}();var zc=function(a){function b(){a.call(this)}function c(a,b,c,d){return function(){a.setDisposable(ac._fixup(b(c,d)))}}function d(a){this._id=a,this.isDisposed=!1}function e(a){this._id=a,this.isDisposed=!1}return Vb(b,a),d.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,qc(this._id))},e.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,yc(this._id))},b.prototype.schedule=function(a,b){var e=new gc,f=pc(c(e,b,this,a));return new ic(e,new d(f))},b.prototype._scheduleFuture=function(a,b,d){if(0===b)return this.schedule(a,d);var f=new gc,g=xc(c(f,d,this,a),b);return new ic(f,new e(g))},b}(mc),Ac=mc["default"]=mc.async=new zc,Bc=function(a){function b(b,c){this._scheduler=b,this._handler=c,this._recursiveOriginal=null,this._recursiveWrapper=null,a.call(this)}return Vb(b,a),b.prototype.schedule=function(a,b){return this._scheduler.schedule(a,this._wrap(b))},b.prototype._scheduleFuture=function(a,b,c){return this._scheduler.schedule(a,b,this._wrap(c))},b.prototype.now=function(){return this._scheduler.now()},b.prototype._clone=function(a){return new b(a,this._handler)},b.prototype._wrap=function(a){var b=this;return function(c,d){var f=Za(a)(b._getRecursiveWrapper(c),d);return f===Ya?(b._handler(f.e)||e(f.e),cc):fc(f)}},b.prototype._getRecursiveWrapper=function(a){if(this._recursiveOriginal!==a){this._recursiveOriginal=a;var b=this._clone(a);b._recursiveOriginal=a,b._recursiveWrapper=b,this._recursiveWrapper=b}return this._recursiveWrapper},b.prototype.schedulePeriodic=function(a,b,c){var d=this,f=!1,g=new gc;return g.setDisposable(this._scheduler.schedulePeriodic(a,b,function(a){if(f)return null;var b=Za(c)(a);return b===Ya?(f=!0,d._handler(b.e)||e(b.e),g.dispose(),null):b})),g},b}(mc),Cc=Pa.Notification=function(){function a(){}return a.prototype._accept=function(a,b,c){throw new hb},a.prototype._acceptObserver=function(a,b,c){throw new hb},a.prototype.accept=function(a,b,c){return a&&"object"==typeof a?this._acceptObserver(a):this._accept(a,b,c)},a.prototype.toObservable=function(a){var b=this;return oc(a)||(a=tc),new ug(function(c){return a.schedule(b,function(a,b){b._acceptObserver(c),"N"===b.kind&&c.onCompleted()})})},a}(),Dc=function(a){function b(a){this.value=a,this.kind="N"}return Vb(b,a),b.prototype._accept=function(a){return a(this.value)},b.prototype._acceptObserver=function(a){return a.onNext(this.value)},b.prototype.toString=function(){return"OnNext("+this.value+")"},b}(Cc),Ec=function(a){function b(a){this.error=a,this.kind="E"}return Vb(b,a),b.prototype._accept=function(a,b){return b(this.error)},b.prototype._acceptObserver=function(a){return a.onError(this.error)},b.prototype.toString=function(){return"OnError("+this.error+")"},b}(Cc),Fc=function(a){function b(){this.kind="C"}return Vb(b,a),b.prototype._accept=function(a,b,c){return c()},b.prototype._acceptObserver=function(a){return a.onCompleted()},b.prototype.toString=function(){return"OnCompleted()"},b}(Cc),Gc=Cc.createOnNext=function(a){return new Dc(a)},Hc=Cc.createOnError=function(a){return new Ec(a)},Ic=Cc.createOnCompleted=function(){return new Fc},Jc=Pa.Observer=function(){};Jc.prototype.toNotifier=function(){var a=this;return function(b){return b.accept(a)}},Jc.prototype.asObserver=function(){var a=this;return new Nc(function(b){a.onNext(b)},function(b){a.onError(b)},function(){a.onCompleted()})},Jc.prototype.checked=function(){return new Oc(this)};var Kc=Jc.create=function(a,b,c){return a||(a=Qa),b||(b=Va),c||(c=Qa),new Nc(a,b,c)};Jc.fromNotifier=function(a,b){var c=nb(a,b,1);return new Nc(function(a){return c(Gc(a))},function(a){return c(Hc(a))},function(){return c(Ic())})},Jc.prototype.notifyOn=function(a){return new Qc(a,this)},Jc.prototype.makeSafe=function(a){return new AnonymousSafeObserver(this._onNext,this._onError,this._onCompleted,a)};var Lc,Mc=Pa.internals.AbstractObserver=function(a){function b(){this.isStopped=!1}return Vb(b,a),b.prototype.next=ib,b.prototype.error=ib,b.prototype.completed=ib,b.prototype.onNext=function(a){!this.isStopped&&this.next(a)},b.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.error(a))},b.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.completed())},b.prototype.dispose=function(){this.isStopped=!0},b.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.error(a), !0)},b}(Jc),Nc=Pa.AnonymousObserver=function(a){function b(b,c,d){a.call(this),this._onNext=b,this._onError=c,this._onCompleted=d}return Vb(b,a),b.prototype.next=function(a){this._onNext(a)},b.prototype.error=function(a){this._onError(a)},b.prototype.completed=function(){this._onCompleted()},b}(Mc),Oc=function(a){function b(b){a.call(this),this._observer=b,this._state=0}Vb(b,a);var c=b.prototype;return c.onNext=function(a){this.checkAccess();var b=Za(this._observer.onNext).call(this._observer,a);this._state=0,b===Ya&&e(b.e)},c.onError=function(a){this.checkAccess();var b=Za(this._observer.onError).call(this._observer,a);this._state=2,b===Ya&&e(b.e)},c.onCompleted=function(){this.checkAccess();var a=Za(this._observer.onCompleted).call(this._observer);this._state=2,a===Ya&&e(a.e)},c.checkAccess=function(){if(1===this._state)throw new Error("Re-entrancy detected");if(2===this._state)throw new Error("Observer completed");0===this._state&&(this._state=1)},b}(Jc),Pc=Pa.internals.ScheduledObserver=function(a){function b(b,c){a.call(this),this.scheduler=b,this.observer=c,this.isAcquired=!1,this.hasFaulted=!1,this.queue=[],this.disposable=new hc}function c(a,b){return function(){a.onNext(b)}}function d(a,b){return function(){a.onError(b)}}function f(a){return function(){a.onCompleted()}}function g(a,b){var c;if(!(a.queue.length>0))return void(a.isAcquired=!1);c=a.queue.shift();var d=Za(c)();return d===Ya?(a.queue=[],a.hasFaulted=!0,e(d.e)):void b(a)}return Vb(b,a),b.prototype.next=function(a){this.queue.push(c(this.observer,a))},b.prototype.error=function(a){this.queue.push(d(this.observer,a))},b.prototype.completed=function(){this.queue.push(f(this.observer))},b.prototype.ensureActive=function(){var a=!1;!this.hasFaulted&&this.queue.length>0&&(a=!this.isAcquired,this.isAcquired=!0),a&&this.disposable.setDisposable(this.scheduler.scheduleRecursive(this,g))},b.prototype.dispose=function(){a.prototype.dispose.call(this),this.disposable.dispose()},b}(Mc),Qc=function(a){function b(b,c,d){a.call(this,b,c),this._cancel=d}return Vb(b,a),b.prototype.next=function(b){a.prototype.next.call(this,b),this.ensureActive()},b.prototype.error=function(b){a.prototype.error.call(this,b),this.ensureActive()},b.prototype.completed=function(){a.prototype.completed.call(this),this.ensureActive()},b.prototype.dispose=function(){a.prototype.dispose.call(this),this._cancel&&this._cancel.dispose(),this._cancel=null},b}(Pc),Rc=Pa.Observable=function(){function a(a,b){return function(c){var d=c.onError;return c.onError=function(b){f(b,a),d.call(c,b)},b.call(a,c)}}function b(){if(Pa.config.longStackSupport&&$a){var b=this._subscribe,c=Za(e)(new Error).e;this.stack=c.stack.substring(c.stack.indexOf("\n")+1),this._subscribe=a(this,b)}}return Lc=b.prototype,b.isObservable=function(a){return a&&Xa(a.subscribe)},Lc.subscribe=Lc.forEach=function(a,b,c){return this._subscribe("object"==typeof a?a:Kc(a,b,c))},Lc.subscribeOnNext=function(a,b){return this._subscribe(Kc("undefined"!=typeof b?function(c){a.call(b,c)}:a))},Lc.subscribeOnError=function(a,b){return this._subscribe(Kc(null,"undefined"!=typeof b?function(c){a.call(b,c)}:a))},Lc.subscribeOnCompleted=function(a,b){return this._subscribe(Kc(null,null,"undefined"!=typeof b?function(){a.call(b)}:a))},b}(),Sc=Pa.ObservableBase=function(a){function b(a){return a&&Xa(a.dispose)?a:Xa(a)?bc(a):cc}function c(a,c){var d=c[0],f=c[1],g=Za(f.subscribeCore).call(f,d);g!==Ya||d.fail(Ya.e)||e(Ya.e),d.setDisposable(b(g))}function d(){a.call(this)}return Vb(d,a),d.prototype._subscribe=function(a){var b=new vg(a),d=[b,this];return vc.scheduleRequired()?vc.schedule(d,c):c(null,d),b},d.prototype.subscribeCore=ib,d}(Rc),Tc=Pa.FlatMapObservable=function(a){function b(b,c,d,e){this.resultSelector=Xa(d)?d:null,this.selector=nb(Xa(c)?c:function(){return c},e,3),this.source=b,a.call(this)}function c(a,b,c,d){this.i=0,this.selector=b,this.resultSelector=c,this.source=d,this.o=a,Mc.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new c(a,this.selector,this.resultSelector,this))},Vb(c,Mc),c.prototype._wrapResult=function(a,b,c){return this.resultSelector?a.map(function(a,d){return this.resultSelector(b,a,c,d)},this):a},c.prototype.next=function(a){var b=this.i++,c=Za(this.selector)(a,b,this.source);return c===Ya?this.o.onError(c.e):(Wa(c)&&(c=cd(c)),(mb(c)||lb(c))&&(c=Rc.from(c)),void this.o.onNext(this._wrapResult(c,a,b)))},c.prototype.error=function(a){this.o.onError(a)},c.prototype.completed=function(){this.o.onCompleted()},b}(Sc),Uc=Pa.internals.Enumerable=function(){};y.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this._s.isDisposed=!0)};var Vc=function(a){function b(b){this.sources=b,a.call(this)}function c(a,b){if(!a.isDisposed){var c=Za(a.e.next).call(a.e);if(c===Ya)return a.o.onError(c.e);if(c.done)return a.o.onCompleted();var e=c.value;Wa(e)&&(e=cd(e));var f=new gc;a.subscription.setDisposable(f),f.setDisposable(e.subscribe(new d(a,b)))}}function d(a,b){this._state=a,this._recurse=b,Mc.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){var b=new hc,d={isDisposed:!1,o:a,subscription:b,e:this.sources[jb]()},e=vc.scheduleRecursive(d,c);return new jc([b,e,new y(d)])},Vb(d,Mc),d.prototype.next=function(a){this._state.o.onNext(a)},d.prototype.error=function(a){this._state.o.onError(a)},d.prototype.completed=function(){this._recurse(this._state)},b}(Sc);Uc.prototype.concat=function(){return new Vc(this)};var Wc=function(a){function b(b){this.sources=b,a.call(this)}function c(a,b){if(!a.isDisposed){var c=Za(a.e.next).call(a.e);if(c===Ya)return a.o.onError(c.e);if(c.done)return null!==a.lastError?a.o.onError(a.lastError):a.o.onCompleted();var e=c.value;Wa(e)&&(e=cd(e));var f=new gc;a.subscription.setDisposable(f),f.setDisposable(e.subscribe(new d(a,b)))}}function d(a,b){this._state=a,this._recurse=b,Mc.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){var b=new hc,d={isDisposed:!1,e:this.sources[jb](),subscription:b,lastError:null,o:a},e=vc.scheduleRecursive(d,c);return new jc([b,e,new y(d)])},Vb(d,Mc),d.prototype.next=function(a){this._state.o.onNext(a)},d.prototype.error=function(a){this._state.lastError=a,this._recurse(this._state)},d.prototype.completed=function(){this._state.o.onCompleted()},b}(Sc);Uc.prototype.catchError=function(){return new Wc(this)},Uc.prototype.catchErrorWhen=function(a){var b=this;return new ug(function(c){var d,e=new yg,f=new yg,g=a(e),h=g.subscribe(f),i=b[jb](),j={isDisposed:!1},k=new hc,l=vc.scheduleRecursive(null,function(a,b){if(!j.isDisposed){var g=Za(i.next).call(i);if(g===Ya)return c.onError(g.e);if(g.done)return void(d?c.onError(d):c.onCompleted());var h=g.value;Wa(h)&&(h=cd(h));var l=new gc,m=new gc;k.setDisposable(new ic(m,l)),l.setDisposable(h.subscribe(function(a){c.onNext(a)},function(a){m.setDisposable(f.subscribe(b,function(a){c.onError(a)},function(){c.onCompleted()})),e.onNext(a),l.dispose()},function(){c.onCompleted()}))}});return new jc([h,k,l,new y(j)])})};var Xc=function(a){function b(a,b){this.v=a,this.c=null==b?-1:b}function c(a){this.v=a.v,this.l=a.c}return Vb(b,a),b.prototype[jb]=function(){return new c(this)},c.prototype.next=function(){return 0===this.l?kb:(this.l>0&&this.l--,{done:!1,value:this.v})},b}(Uc),Yc=Uc.repeat=function(a,b){return new Xc(a,b)},Zc=function(a){function b(a,b,c){this.s=a,this.fn=b?nb(b,c,3):null}function c(a){this.i=-1,this.s=a.s,this.l=this.s.length,this.fn=a.fn}return Vb(b,a),b.prototype[jb]=function(){return new c(this)},c.prototype.next=function(){return++this.id?(a.onNext(b[d]),e(d+1)):a.onCompleted()}}return Vb(b,a),b.prototype.subscribeCore=function(a){return this._scheduler.scheduleRecursive(0,c(a,this._args))},b}(Sc),nd=Rc.fromArray=function(a,b){return oc(b)||(b=vc),new md(a,b)},od=function(a){function b(b,c,d,e,f){this._initialState=b,this._cndFn=c,this._itrFn=d,this._resFn=e,this._s=f,a.call(this)}function c(a,b){if(a.first)a.first=!1;else if(a.newState=Za(a.self._itrFn)(a.newState),a.newState===Ya)return a.o.onError(a.newState.e);var c=Za(a.self._cndFn)(a.newState);if(c===Ya)return a.o.onError(c.e);if(c){var d=Za(a.self._resFn)(a.newState);if(d===Ya)return a.o.onError(d.e);a.o.onNext(d),b(a)}else a.o.onCompleted()}return Vb(b,a),b.prototype.subscribeCore=function(a){var b={o:a,self:this,first:!0,newState:this._initialState};return this._s.scheduleRecursive(b,c)},b}(Sc);Rc.generate=function(a,b,c,d,e){return oc(e)||(e=vc),new od(a,b,c,d,e)},Rc.of=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return new md(b,vc)},Rc.ofWithScheduler=function(a){for(var b=arguments.length,c=new Array(b-1),d=1;b>d;d++)c[d-1]=arguments[d];return new md(c,a)},Rc.ofArrayChanges=function(a){if(!Array.isArray(a))throw new TypeError("Array.observe only accepts arrays.");if("function"!=typeof Array.observe&&"function"!=typeof Array.unobserve)throw new TypeError("Array.observe is not supported on your platform");return new ug(function(b){function c(a){for(var c=0,d=a.length;d>c;c++)b.onNext(a[c])}return Array.observe(a,c),function(){Array.unobserve(a,c)}})},Rc.ofObjectChanges=function(a){if(null==a)throw new TypeError("object must not be null or undefined.");if("function"!=typeof Object.observe&&"function"!=typeof Object.unobserve)throw new TypeError("Object.observe is not supported on your platform");return new ug(function(b){function c(a){for(var c=0,d=a.length;d>c;c++)b.onNext(a[c])}return Object.observe(a,c),function(){Object.unobserve(a,c)}})};var pd=function(a){function b(){a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return cc},b}(Sc),qd=new pd,rd=Rc.never=function(){return qd},sd=function(a){function b(b,c){this._o=b,this._keys=Object.keys(b),this._scheduler=c,a.call(this)}function c(a,b,c){return function(d,e){if(dd?(c.onNext(a+d),e(d+1)):c.onCompleted()}}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.scheduler.scheduleRecursive(0,c(this.start,this.rangeCount,a))},b}(Sc);Rc.range=function(a,b,c){return oc(c)||(c=vc),new td(a,b,c)};var ud=function(a){function b(b,c,d){this.value=b,this.repeatCount=null==c?-1:c,this.scheduler=d,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){var b=new I(a,this);return b.run()},b}(Sc);I.prototype.run=function(){function a(a,d){return(-1===a||a>0)&&(b.onNext(c),a>0&&a--),0===a?b.onCompleted():void d(a)}var b=this.observer,c=this.parent.value;return this.parent.scheduler.scheduleRecursive(this.parent.repeatCount,a)},Rc.repeat=function(a,b,c){return oc(c)||(c=vc),new ud(a,b,c)};var vd=function(a){function b(b,c){this._value=b,this._scheduler=c,a.call(this)}function c(a,b){var c=b[0],d=b[1];return d.onNext(c),d.onCompleted(),cc}return Vb(b,a),b.prototype.subscribeCore=function(a){var b=[this._value,a];return this._scheduler===tc?c(null,b):this._scheduler.schedule(b,c)},b}(Sc),wd=(Rc["return"]=Rc.just=function(a,b){return oc(b)||(b=tc),new vd(a,b)},function(a){function b(b,c){this._error=b,this._scheduler=c,a.call(this)}function c(a,b){var c=b[0],d=b[1];return d.onError(c),cc}return Vb(b,a),b.prototype.subscribeCore=function(a){var b=[this._error,a];return this._scheduler===tc?c(null,b):this._scheduler.schedule(b,c)},b}(Sc)),xd=Rc["throw"]=function(a,b){return oc(b)||(b=tc),new wd(a,b)},yd=function(a){function b(b,c){this._resFn=b,this._obsFn=c,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){var b=cc,c=Za(this._resFn)();if(c===Ya)return new ic(xd(c.e).subscribe(a),b);c&&(b=c);var d=Za(this._obsFn)(c);return d===Ya?new ic(xd(d.e).subscribe(a),b):new ic(d.subscribe(a),b)},b}(Sc);Rc.using=function(a,b){return new yd(a,b)},Lc.amb=function(a){var b=this;return new ug(function(c){function d(){f||(f=g,j.dispose())}function e(){f||(f=h,i.dispose())}var f,g="L",h="R",i=new gc,j=new gc;Wa(a)&&(a=cd(a));var k=Kc(function(a){d(),f===g&&c.onNext(a)},function(a){d(),f===g&&c.onError(a)},function(){d(),f===g&&c.onCompleted()}),l=Kc(function(a){e(),f===h&&c.onNext(a)},function(a){e(),f===h&&c.onError(a)},function(){e(),f===h&&c.onCompleted()});return i.setDisposable(b.subscribe(k)),j.setDisposable(a.subscribe(l)),new ic(i,j)})},Rc.amb=function(){var a,b=rd();if(Array.isArray(arguments[0]))a=arguments[0];else{var c=arguments.length;a=new Array(a);for(var d=0;c>d;d++)a[d]=arguments[d]}for(var d=0,c=a.length;c>d;d++)b=J(b,a[d]);return b};var zd=function(a){function b(b,c){this.source=b,this._fn=c,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){var b=new gc,c=new hc;return c.setDisposable(b),b.setDisposable(this.source.subscribe(new Ad(a,c,this._fn))),c},b}(Sc),Ad=function(a){function b(b,c,d){this._o=b,this._s=c,this._fn=d,a.call(this)}return Vb(b,a),b.prototype.next=function(a){this._o.onNext(a)},b.prototype.completed=function(){return this._o.onCompleted()},b.prototype.error=function(a){var b=Za(this._fn)(a);if(b===Ya)return this._o.onError(b.e);Wa(b)&&(b=cd(b));var c=new gc;this._s.setDisposable(c),c.setDisposable(b.subscribe(this._o))},b}(Mc);Lc["catch"]=function(a){return Xa(a)?new zd(this,a):Bd([this,a])};var Bd=Rc["catch"]=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return $c(a).catchError()};Lc.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return Array.isArray(b[0])?b[0].unshift(this):b.unshift(this),Ed.apply(this,b)};var Cd=function(a){function b(b,c){this._params=b,this._cb=c,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){for(var b=this._params.length,c=new Array(b),d={hasValue:u(b,K),hasValueAll:!1,isDone:u(b,K),values:new Array(b)},e=0;b>e;e++){var f=this._params[e],g=new gc;c[e]=g,Wa(f)&&(f=cd(f)),g.setDisposable(f.subscribe(new Dd(a,e,this._cb,d)))}return new jc(c)},b}(Sc),Dd=function(a){function b(b,c,d,e){this._o=b,this._i=c,this._cb=d,this._state=e,a.call(this)}function c(a){return function(b,c){return c!==a}}return Vb(b,a),b.prototype.next=function(a){if(this._state.values[this._i]=a,this._state.hasValue[this._i]=!0,this._state.hasValueAll||(this._state.hasValueAll=this._state.hasValue.every(Ra))){var b=Za(this._cb).apply(null,this._state.values);if(b===Ya)return this._o.onError(b.e);this._o.onNext(b)}else this._state.isDone.filter(c(this._i)).every(Ra)&&this._o.onCompleted()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._state.isDone[this._i]=!0,this._state.isDone.every(Ra)&&this._o.onCompleted()},b}(Mc),Ed=Rc.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=Xa(b[a-1])?b.pop():L;return Array.isArray(b[0])&&(b=b[0]),new Cd(b,d)};Lc.concat=function(){for(var a=[],b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return a.unshift(this),Hd.apply(null,a)};var Fd=function(a){function b(b,c){this._s=b,this._fn=c,a.call(this)}return Vb(b,a),b.prototype.next=function(a){this._s.o.onNext(a)},b.prototype.error=function(a){this._s.o.onError(a)},b.prototype.completed=function(){this._s.i++,this._fn(this._s)},b}(Mc),Gd=function(a){function b(b){this._sources=b,a.call(this)}function c(a,b){if(!a.disposable.isDisposed){if(a.i===a.sources.length)return a.o.onCompleted();var c=a.sources[a.i];Wa(c)&&(c=cd(c));var d=new gc;a.subscription.setDisposable(d),d.setDisposable(c.subscribe(new Fd(a,b)))}}return Vb(b,a),b.prototype.subscribeCore=function(a){var b=new hc,d=bc(Qa),e={o:a,i:0,subscription:b,disposable:d,sources:this._sources},f=tc.scheduleRecursive(e,c);return new jc([b,d,f])},b}(Sc),Hd=Rc.concat=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(arguments.length);for(var b=0,c=arguments.length;c>b;b++)a[b]=arguments[b]}return new Gd(a)};Lc.concatAll=function(){return this.merge(1)};var Id=function(a){function b(b,c){this.source=b,this.maxConcurrent=c,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){var b=new $b;return b.add(this.source.subscribe(new Jd(a,this.maxConcurrent,b))),b},b}(Sc),Jd=function(a){function b(b,c,d){this.o=b,this.max=c,this.g=d,this.done=!1,this.q=[],this.activeCount=0,a.call(this)}function c(b,c){this.parent=b,this.sad=c,a.call(this)}return Vb(b,a),b.prototype.handleSubscribe=function(a){var b=new gc;this.g.add(b),Wa(a)&&(a=cd(a)),b.setDisposable(a.subscribe(new c(this,b)))},b.prototype.next=function(a){this.activeCount0?this.parent.handleSubscribe(this.parent.q.shift()):(this.parent.activeCount--,this.parent.done&&0===this.parent.activeCount&&this.parent.o.onCompleted())},b}(Mc);Lc.merge=function(a){return"number"!=typeof a?Kd(this,a):new Id(this,a)};var Kd=Rc.merge=function(){var a,b,c=[],d=arguments.length;if(arguments[0])if(oc(arguments[0]))for(a=arguments[0],b=1;d>b;b++)c.push(arguments[b]);else for(a=tc,b=0;d>b;b++)c.push(arguments[b]);else for(a=tc,b=1;d>b;b++)c.push(arguments[b]);return Array.isArray(c[0])&&(c=c[0]),H(a,c).mergeAll()},Ld=function(a){function b(b){this.source=b,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){var b=new $b,c=new gc;return b.add(c),c.setDisposable(this.source.subscribe(new Md(a,b))),b},b}(Sc),Md=function(a){function b(b,c){this.o=b,this.g=c,this.done=!1,a.call(this)}function c(b,c){this.parent=b,this.sad=c,a.call(this)}return Vb(b,a),b.prototype.next=function(a){var b=new gc;this.g.add(b),Wa(a)&&(a=cd(a)),b.setDisposable(a.subscribe(new c(this,b)))},b.prototype.error=function(a){this.o.onError(a)},b.prototype.completed=function(){this.done=!0,1===this.g.length&&this.o.onCompleted()},Vb(c,a),c.prototype.next=function(a){this.parent.o.onNext(a)},c.prototype.error=function(a){this.parent.o.onError(a)},c.prototype.completed=function(){this.parent.g.remove(this.sad),this.parent.done&&1===this.parent.g.length&&this.parent.o.onCompleted()},b}(Mc);Lc.mergeAll=function(){return new Ld(this)};var Nd=Pa.CompositeError=function(a){this.innerErrors=a,this.message="This contains multiple errors. Check the innerErrors",Error.call(this)};Nd.prototype=Object.create(Error.prototype),Nd.prototype.name="CompositeError";var Od=function(a){function b(b){this.source=b,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){var b=new $b,c=new gc,d={isStopped:!1,errors:[],o:a};return b.add(c),c.setDisposable(this.source.subscribe(new Pd(b,d))),b},b}(Sc),Pd=function(a){function b(b,c){this._group=b,this._state=c,a.call(this)}function c(a,b){0===b.length?a.onCompleted():1===b.length?a.onError(b[0]):a.onError(new Nd(b))}function d(b,c,d){this._inner=b,this._group=c,this._state=d,a.call(this)}return Vb(b,a),b.prototype.next=function(a){var b=new gc;this._group.add(b),Wa(a)&&(a=cd(a)),b.setDisposable(a.subscribe(new d(b,this._group,this._state)))},b.prototype.error=function(a){this._state.errors.push(a),this._state.isStopped=!0,1===this._group.length&&c(this._state.o,this._state.errors)},b.prototype.completed=function(){this._state.isStopped=!0,1===this._group.length&&c(this._state.o,this._state.errors)},Vb(d,a),d.prototype.next=function(a){this._state.o.onNext(a)},d.prototype.error=function(a){this._state.errors.push(a),this._group.remove(this._inner),this._state.isStopped&&1===this._group.length&&c(this._state.o,this._state.errors)},d.prototype.completed=function(){this._group.remove(this._inner),this._state.isStopped&&1===this._group.length&&c(this._state.o,this._state.errors)},b}(Mc);Rc.mergeDelayError=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}var d=H(null,a);return new Od(d)},Lc.onErrorResumeNext=function(a){if(!a)throw new Error("Second observable is required");return Sd([this,a])};var Qd=function(a){function b(b){this.sources=b,a.call(this)}function c(a,b){if(a.posc;c++)a[c]=arguments[c]}return new Qd(a)},Td=function(a){function b(b,c){this._s=b,this._o=Wa(c)?cd(c):c,this._open=!1,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){var b=new gc;b.setDisposable(this._s.subscribe(new Ud(a,this))),Wa(this._o)&&(this._o=cd(this._o));var c=new gc;return c.setDisposable(this._o.subscribe(new Vd(a,this,c))),new ic(b,c)},b}(Sc),Ud=function(a){function b(b,c){this._o=b,this._p=c,a.call(this)}return Vb(b,a),b.prototype.next=function(a){this._p._open&&this._o.onNext(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.onCompleted=function(){this._p._open&&this._o.onCompleted()},b}(Mc),Vd=function(a){function b(b,c,d){this._o=b,this._p=c,this._r=d,a.call(this)}return Vb(b,a),b.prototype.next=function(){this._p._open=!0,this._r.dispose()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.onCompleted=function(){this._r.dispose()},b}(Mc);Lc.skipUntil=function(a){return new Td(this,a)};var Wd=function(a){function b(b){this.source=b,a.call(this)}function c(a,b){this.o=a,this.inner=b,this.stopped=!1,this.latest=0,this.hasLatest=!1,Mc.call(this)}function d(a,b){this.parent=a,this.id=b,Mc.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){var b=new hc,d=this.source.subscribe(new c(a,b));return new ic(d,b)},Vb(c,Mc),c.prototype.next=function(a){var b=new gc,c=++this.latest;this.hasLatest=!0,this.inner.setDisposable(b),Wa(a)&&(a=cd(a)),b.setDisposable(a.subscribe(new d(this,c)))},c.prototype.error=function(a){this.o.onError(a)},c.prototype.completed=function(){this.stopped=!0,!this.hasLatest&&this.o.onCompleted()},Vb(d,Mc),d.prototype.next=function(a){this.parent.latest===this.id&&this.parent.o.onNext(a)},d.prototype.error=function(a){this.parent.latest===this.id&&this.parent.o.onError(a)},d.prototype.completed=function(){this.parent.latest===this.id&&(this.parent.hasLatest=!1,this.parent.stopped&&this.parent.o.onCompleted())},b}(Sc);Lc["switch"]=Lc.switchLatest=function(){return new Wd(this)};var Xd=function(a){function b(b,c){this.source=b,this.other=Wa(c)?cd(c):c,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return new ic(this.source.subscribe(a),this.other.subscribe(new Yd(a)))},b}(Sc),Yd=function(a){function b(b){this._o=b,a.call(this)}return Vb(b,a),b.prototype.next=function(){this._o.onCompleted()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.onCompleted=Qa,b}(Mc);Lc.takeUntil=function(a){return new Xd(this,a)};var Zd=function(a){function b(b,c,d){this._s=b,this._ss=c,this._cb=d,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){for(var b=this._ss.length,c={hasValue:u(b,K),hasValueAll:!1,values:new Array(b)},d=this._ss.length,e=new Array(d+1),f=0;d>f;f++){var g=this._ss[f],h=new gc;Wa(g)&&(g=cd(g)),h.setDisposable(g.subscribe(new $d(a,f,c))),e[f]=h}var i=new gc;return i.setDisposable(this._s.subscribe(new _d(a,this._cb,c))),e[d]=i,new jc(e)},b}(Sc),$d=function(a){function b(b,c,d){this._o=b,this._i=c,this._state=d,a.call(this)}return Vb(b,a),b.prototype.next=function(a){this._state.values[this._i]=a,this._state.hasValue[this._i]=!0,this._state.hasValueAll=this._state.hasValue.every(Ra)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=Qa,b}(Mc),_d=function(a){function b(b,c,d){this._o=b,this._cb=c,this._state=d,a.call(this)}return Vb(b,a),b.prototype.next=function(a){var b=[a].concat(this._state.values);if(this._state.hasValueAll){var c=Za(this._cb).apply(null,b);return c===Ya?this._o.onError(c.e):void this._o.onNext(c)}},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Mc);Lc.withLatestFrom=function(){if(0===arguments.length)throw new Error("invalid arguments");for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=Xa(b[a-1])?b.pop():L;return Array.isArray(b[0])&&(b=b[0]),new Zd(this,b,d)};var ae=function(a){function b(b,c){this._s=b,this._cb=c,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){for(var b=this._s.length,c=new Array(b),d=u(b,K),e=u(b,M),f=0;b>f;f++){var g=this._s[f],h=new gc;c[f]=h,Wa(g)&&(g=cd(g)),h.setDisposable(g.subscribe(new be(a,f,this,e,d)))}return new jc(c)},b}(Sc),be=function(a){function b(b,c,d,e,f){this._o=b,this._i=c,this._p=d,this._q=e,this._d=f,a.call(this)}function c(a){return a.length>0}function d(a){return a.shift()}function e(a){return function(b,c){return c!==a}}return Vb(b,a),b.prototype.next=function(a){if(this._q[this._i].push(a),this._q.every(c)){var b=this._q.map(d),f=Za(this._p._cb).apply(null,b);if(f===Ya)return this._o.onError(f.e);this._o.onNext(f)}else this._d.filter(e(this._i)).every(Ra)&&this._o.onCompleted()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._d[this._i]=!0,this._d.every(Ra)&&this._o.onCompleted()},b}(Mc);Lc.zip=function(){if(0===arguments.length)throw new Error("invalid arguments");for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=Xa(b[a-1])?b.pop():L;Array.isArray(b[0])&&(b=b[0]);var e=this;return b.unshift(e),new ae(b,d)},Rc.zip=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];Array.isArray(b[0])&&(b=Xa(b[1])?b[0].concat(b[1]):b[0]);var d=b.shift();return d.zip.apply(d,b)};var ce=function(a){function b(b,c){this.sources=b,this._cb=c,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){for(var b=this.sources,c=b.length,d=new Array(c),e={q:u(c,M),done:u(c,K),cb:this._cb,o:a},f=0;c>f;f++)!function(a){var c=b[a],f=new gc;(mb(c)||lb(c))&&(c=ld(c)),d[a]=f,f.setDisposable(c.subscribe(new de(e,a)))}(f);return new jc(d)},b}(Sc),de=function(a){function b(b,c){this._s=b,this._i=c,a.call(this)}function c(a){return a.length>0}function d(a){return a.shift()}function e(a){return function(b,c){return c!==a}}return Vb(b,a),b.prototype.next=function(a){if(this._s.q[this._i].push(a),this._s.q.every(c)){var b=this._s.q.map(d),f=Za(this._s.cb).apply(null,b);if(f===Ya)return this._s.o.onError(f.e);this._s.o.onNext(f)}else this._s.done.filter(e(this._i)).every(Ra)&&this._s.o.onCompleted()},b.prototype.error=function(a){this._s.o.onError(a)},b.prototype.completed=function(){this._s.done[this._i]=!0,this._s.done.every(Ra)&&this._s.o.onCompleted()},b}(Mc);Lc.zipIterable=function(){if(0===arguments.length)throw new Error("invalid arguments");for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=Xa(b[a-1])?b.pop():L,e=this;return b.unshift(e),new ce(b,d)},Lc.asObservable=function(){return new ug(N(this),this)},Lc.bufferWithCount=function(a,b){return"number"!=typeof b&&(b=a),this.windowWithCount(a,b).flatMap(O).filter(P)};var ee=function(a){function b(b){this.source=b,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new fe(a))},b}(Sc),fe=function(a){function b(b){this._o=b,a.call(this)}return Vb(b,a),b.prototype.next=function(a){a.accept(this._o)},b.prototype.error=function(a){ this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Mc);Lc.dematerialize=function(){return new ee(this)};var ge=function(a){function b(b,c,d){this.source=b,this.keyFn=c,this.comparer=d,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new he(a,this.keyFn,this.comparer))},b}(Sc),he=function(a){function b(b,c,d){this.o=b,this.keyFn=c,this.comparer=d,this.hasCurrentKey=!1,this.currentKey=null,a.call(this)}return Vb(b,a),b.prototype.next=function(a){var b,c=a;return Xa(this.keyFn)&&(c=Za(this.keyFn)(a),c===Ya)?this.o.onError(c.e):this.hasCurrentKey&&(b=Za(this.comparer)(this.currentKey,c),b===Ya)?this.o.onError(b.e):void(this.hasCurrentKey&&b||(this.hasCurrentKey=!0,this.currentKey=c,this.o.onNext(a)))},b.prototype.error=function(a){this.o.onError(a)},b.prototype.completed=function(){this.o.onCompleted()},b}(Mc);Lc.distinctUntilChanged=function(a,b){return b||(b=Ta),new ge(this,a,b)};var ie=function(a){function b(b,c,d,e){this.source=b,this._oN=c,this._oE=d,this._oC=e,a.call(this)}function c(a,b){this.o=a,this.t=!b._oN||Xa(b._oN)?Kc(b._oN||Qa,b._oE||Qa,b._oC||Qa):b._oN,this.isStopped=!1,Mc.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new c(a,this))},Vb(c,Mc),c.prototype.next=function(a){var b=Za(this.t.onNext).call(this.t,a);b===Ya&&this.o.onError(b.e),this.o.onNext(a)},c.prototype.error=function(a){var b=Za(this.t.onError).call(this.t,a);return b===Ya?this.o.onError(b.e):void this.o.onError(a)},c.prototype.completed=function(){var a=Za(this.t.onCompleted).call(this.t);return a===Ya?this.o.onError(a.e):void this.o.onCompleted()},b}(Sc);Lc["do"]=Lc.tap=Lc.doAction=function(a,b,c){return new ie(this,a,b,c)},Lc.doOnNext=Lc.tapOnNext=function(a,b){return this.tap("undefined"!=typeof b?function(c){a.call(b,c)}:a)},Lc.doOnError=Lc.tapOnError=function(a,b){return this.tap(Qa,"undefined"!=typeof b?function(c){a.call(b,c)}:a)},Lc.doOnCompleted=Lc.tapOnCompleted=function(a,b){return this.tap(Qa,null,"undefined"!=typeof b?function(){a.call(b)}:a)};var je=function(a){function b(b,c,d){this.source=b,this._fn=nb(c,d,0),a.call(this)}function c(a,b){this.isDisposed=!1,this._s=a,this._fn=b}return Vb(b,a),b.prototype.subscribeCore=function(a){var b=Za(this.source.subscribe).call(this.source,a);return b===Ya&&(this._fn(),e(b.e)),new c(b,this._fn)},c.prototype.dispose=function(){if(!this.isDisposed){var a=Za(this._s.dispose).call(this._s);this._fn(),a===Ya&&e(a.e)}},b}(Sc);Lc["finally"]=function(a,b){return new je(this,a,b)};var ke=function(a){function b(b){this.source=b,a.call(this)}function c(a){this.o=a,this.isStopped=!1}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new c(a))},c.prototype.onNext=Qa,c.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.o.onError(a))},c.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.o.onCompleted())},c.prototype.dispose=function(){this.isStopped=!0},c.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},b}(Sc);Lc.ignoreElements=function(){return new ke(this)};var le=function(a){function b(b,c){this.source=b,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new me(a))},b}(Sc),me=function(a){function b(b){this._o=b,a.call(this)}return Vb(b,a),b.prototype.next=function(a){this._o.onNext(Gc(a))},b.prototype.error=function(a){this._o.onNext(Hc(a)),this._o.onCompleted()},b.prototype.completed=function(){this._o.onNext(Ic()),this._o.onCompleted()},b}(Mc);Lc.materialize=function(){return new le(this)},Lc.repeat=function(a){return Yc(this,a).concat()},Lc.retry=function(a){return Yc(this,a).catchError()},Lc.retryWhen=function(a){return Yc(this).catchErrorWhen(a)};var ne=function(a){function b(b,c,d,e){this.source=b,this.accumulator=c,this.hasSeed=d,this.seed=e,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new oe(a,this))},b}(Sc),oe=function(a){function b(b,c){this._o=b,this._p=c,this._fn=c.accumulator,this._hs=c.hasSeed,this._s=c.seed,this._ha=!1,this._a=null,this._hv=!1,this._i=0,a.call(this)}return Vb(b,a),b.prototype.next=function(a){return!this._hv&&(this._hv=!0),this._ha?this._a=Za(this._fn)(this._a,a,this._i,this._p):(this._a=this._hs?Za(this._fn)(this._s,a,this._i,this._p):a,this._ha=!0),this._a===Ya?this._o.onError(this._a.e):(this._o.onNext(this._a),void this._i++)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){!this._hv&&this._hs&&this._o.onNext(this._s),this._o.onCompleted()},b}(Mc);Lc.scan=function(){var a,b=!1,c=arguments[0];return 2===arguments.length&&(b=!0,a=arguments[1]),new ne(this,c,b,a)};var pe=function(a){function b(b,c){this.source=b,this._c=c,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new qe(a,this._c))},b}(Sc),qe=function(a){function b(b,c){this._o=b,this._c=c,this._q=[],a.call(this)}return Vb(b,a),b.prototype.next=function(a){this._q.push(a),this._q.length>this._c&&this._o.onNext(this._q.shift())},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Mc);Lc.skipLast=function(a){if(0>a)throw new fb;return new pe(this,a)},Lc.startWith=function(){var a,b=0;arguments.length&&oc(arguments[0])?(a=arguments[0],b=1):a=tc;for(var c=[],d=b,e=arguments.length;e>d;d++)c.push(arguments[d]);return $c([nd(c,a),this]).concat()};var re=function(a){function b(b,c){this._o=b,this._c=c,this._q=[],a.call(this)}return Vb(b,a),b.prototype.next=function(a){this._q.push(a),this._q.length>this._c&&this._q.shift()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){for(;this._q.length>0;)this._o.onNext(this._q.shift());this._o.onCompleted()},b}(Mc);Lc.takeLast=function(a){if(0>a)throw new fb;var b=this;return new ug(function(c){return b.subscribe(new re(c,a))},b)};var se=function(a){function b(b,c){this._o=b,this._c=c,this._q=[],a.call(this)}return Vb(b,a),b.prototype.next=function(a){this._q.push(a),this._q.length>this._c&&this._q.shift()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(this._q),this._o.onCompleted()},b}(Mc);Lc.takeLastBuffer=function(a){if(0>a)throw new fb;var b=this;return new ug(function(c){return b.subscribe(new se(c,a))},b)},Lc.windowWithCount=function(a,b){var c=this;if(+a||(a=0),Math.abs(a)===1/0&&(a=0),0>=a)throw new fb;if(null==b&&(b=a),+b||(b=0),Math.abs(b)===1/0&&(b=0),0>=b)throw new fb;return new ug(function(d){function e(){var a=new yg;i.push(a),d.onNext(Xb(a,g))}var f=new gc,g=new kc(f),h=0,i=[];return e(),f.setDisposable(c.subscribe(function(c){for(var d=0,f=i.length;f>d;d++)i[d].onNext(c);var g=h-a+1;g>=0&&g%b===0&&i.shift().onCompleted(),++h%b===0&&e()},function(a){for(;i.length>0;)i.shift().onError(a);d.onError(a)},function(){for(;i.length>0;)i.shift().onCompleted();d.onCompleted()})),g},c)},Lc.selectConcat=Lc.concatMap=function(a,b,c){return Xa(a)&&Xa(b)?this.concatMap(function(c,d){var e=a(c,d);return Wa(e)&&(e=cd(e)),(mb(e)||lb(e))&&(e=ld(e)),e.map(function(a,e){return b(c,a,d,e)})}):Xa(a)?Q(this,a,c):Q(this,function(){return a})},Lc.concatMapObserver=Lc.selectConcatObserver=function(a,b,c,d){var e=this,f=nb(a,d,2),g=nb(b,d,1),h=nb(c,d,0);return new ug(function(a){var b=0;return e.subscribe(function(c){var d;try{d=f(c,b++)}catch(e){return void a.onError(e)}Wa(d)&&(d=cd(d)),a.onNext(d)},function(b){var c;try{c=g(b)}catch(d){return void a.onError(d)}Wa(c)&&(c=cd(c)),a.onNext(c),a.onCompleted()},function(){var b;try{b=h()}catch(c){return void a.onError(c)}Wa(b)&&(b=cd(b)),a.onNext(b),a.onCompleted()})},this).concatAll()};var te=function(a){function b(b,c){this._o=b,this._d=c,this._f=!1,a.call(this)}return Vb(b,a),b.prototype.next=function(a){this._f=!0,this._o.onNext(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){!this._f&&this._o.onNext(this._d),this._o.onCompleted()},b}(Mc);Lc.defaultIfEmpty=function(b){var c=this;return b===a&&(b=null),new ug(function(a){return c.subscribe(new te(a,b))},c)},S.prototype.push=function(a){var b=-1===R(this.set,a,this.comparer);return b&&this.set.push(a),b};var ue=function(a){function b(b,c,d){this.source=b,this._keyFn=c,this._cmpFn=d,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new ve(a,this._keyFn,this._cmpFn))},b}(Sc),ve=function(a){function b(b,c,d){this._o=b,this._keyFn=c,this._h=new S(d),a.call(this)}return Vb(b,a),b.prototype.next=function(a){var b=a;return Xa(this._keyFn)&&(b=Za(this._keyFn)(a),b===Ya)?this._o.onError(b.e):void(this._h.push(b)&&this._o.onNext(a))},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Mc);Lc.distinct=function(a,b){return b||(b=Ta),new ue(this,a,b)},Lc.groupBy=function(a,b){return this.groupByUntil(a,b,rd)},Lc.groupByUntil=function(b,c,d){var e=this;return new ug(function(f){var g=new Lf,h=new $b,i=new kc(h),j=function(a){return function(b){b.onError(a)}};return h.add(e.subscribe(function(e){var k=Za(b)(e);if(k===Ya)return g.forEach(j(k.e)),f.onError(k.e);var l=!1,m=g.get(k);if(m===a&&(m=new yg,g.set(k,m),l=!0),l){var n=new xg(k,m,i),o=new xg(k,m),p=Za(d)(o);if(p===Ya)return g.forEach(j(p.e)),f.onError(p.e);f.onNext(n);var q=new gc;h.add(q),q.setDisposable(p.take(1).subscribe(Qa,function(a){g.forEach(j(a)),f.onError(a)},function(){g["delete"](k)&&m.onCompleted(),h.remove(q)}))}var r=e;return Xa(c)&&(r=Za(c)(e),r===Ya)?(g.forEach(j(r.e)),f.onError(r.e)):void m.onNext(r)},function(a){g.forEach(j(a)),f.onError(a)},function(){g.forEach(function(a){a.onCompleted()}),f.onCompleted()})),i},e)};var we=function(a){function b(b,c,d){this.source=b,this.selector=nb(c,d,3),a.call(this)}function c(a,b){return function(c,d,e){return a.call(this,b.selector(c,d,e),d,e)}}function d(a,b,c){this.o=a,this.selector=b,this.source=c,this.i=0,Mc.call(this)}return Vb(b,a),b.prototype.internalMap=function(a,d){return new b(this.source,c(a,this),d)},b.prototype.subscribeCore=function(a){return this.source.subscribe(new d(a,this.selector,this))},Vb(d,Mc),d.prototype.next=function(a){var b=Za(this.selector)(a,this.i++,this.source);return b===Ya?this.o.onError(b.e):void this.o.onNext(b)},d.prototype.error=function(a){this.o.onError(a)},d.prototype.completed=function(){this.o.onCompleted()},b}(Sc);Lc.map=Lc.select=function(a,b){var c="function"==typeof a?a:function(){return a};return this instanceof we?this.internalMap(c,b):new we(this,c,b)},Lc.pluck=function(){var a=arguments.length,b=new Array(a);if(0===a)throw new Error("List of properties cannot be empty.");for(var c=0;a>c;c++)b[c]=arguments[c];return this.map(T(b,a))},Lc.flatMap=Lc.selectMany=function(a,b,c){return new Tc(this,a,b,c).mergeAll()},Lc.flatMapObserver=Lc.selectManyObserver=function(a,b,c,d){var e=this;return new ug(function(f){var g=0;return e.subscribe(function(b){var c;try{c=a.call(d,b,g++)}catch(e){return void f.onError(e)}Wa(c)&&(c=cd(c)),f.onNext(c)},function(a){var c;try{c=b.call(d,a)}catch(e){return void f.onError(e)}Wa(c)&&(c=cd(c)),f.onNext(c),f.onCompleted()},function(){var a;try{a=c.call(d)}catch(b){return void f.onError(b)}Wa(a)&&(a=cd(a)),f.onNext(a),f.onCompleted()})},e).mergeAll()},Pa.Observable.prototype.flatMapLatest=function(a,b,c){return new Tc(this,a,b,c).switchLatest()};var xe=function(a){function b(b,c){this.source=b,this._count=c,a.call(this)}function c(a,b){this._o=a,this._r=b,Mc.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new c(a,this._count))},Vb(c,Mc),c.prototype.next=function(a){this._r<=0?this._o.onNext(a):this._r--},c.prototype.error=function(a){this._o.onError(a)},c.prototype.completed=function(){this._o.onCompleted()},b}(Sc);Lc.skip=function(a){if(0>a)throw new fb;return new xe(this,a)};var ye=function(a){function b(b,c){this.source=b,this._fn=c,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new ze(a,this))},b}(Sc),ze=function(a){function b(b,c){this._o=b,this._p=c,this._i=0,this._r=!1,a.call(this)}return Vb(b,a),b.prototype.next=function(a){if(!this._r){var b=Za(this._p._fn)(a,this._i++,this._p);if(b===Ya)return this._o.onError(b.e);this._r=!b}this._r&&this._o.onNext(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Mc);Lc.skipWhile=function(a,b){var c=nb(a,b,3);return new ye(this,c)};var Ae=function(a){function b(b,c){this.source=b,this._count=c,a.call(this)}function c(a,b){this._o=a,this._c=b,this._r=b,Mc.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new c(a,this._count))},Vb(c,Mc),c.prototype.next=function(a){this._r-->0&&(this._o.onNext(a),this._r<=0&&this._o.onCompleted())},c.prototype.error=function(a){this._o.onError(a)},c.prototype.completed=function(){this._o.onCompleted()},b}(Sc);Lc.take=function(a,b){if(0>a)throw new fb;return 0===a?id(b):new Ae(this,a)};var Be=function(a){function b(b,c){this.source=b,this._fn=c,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Ce(a,this))},b}(Sc),Ce=function(a){function b(b,c){this._o=b,this._p=c,this._i=0,this._r=!0,a.call(this)}return Vb(b,a),b.prototype.next=function(a){return this._r&&(this._r=Za(this._p._fn)(a,this._i++,this._p),this._r===Ya)?this._o.onError(this._r.e):void(this._r?this._o.onNext(a):this._o.onCompleted())},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Mc);Lc.takeWhile=function(a,b){var c=nb(a,b,3);return new Be(this,c)};var De=function(a){function b(b,c,d){this.source=b,this.predicate=nb(c,d,3),a.call(this)}function c(a,b){return function(c,d,e){return b.predicate(c,d,e)&&a.call(this,c,d,e)}}function d(a,b,c){this.o=a,this.predicate=b,this.source=c,this.i=0,Mc.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new d(a,this.predicate,this))},b.prototype.internalFilter=function(a,d){return new b(this.source,c(a,this),d)},Vb(d,Mc),d.prototype.next=function(a){var b=Za(this.predicate)(a,this.i++,this.source);return b===Ya?this.o.onError(b.e):void(b&&this.o.onNext(a))},d.prototype.error=function(a){this.o.onError(a)},d.prototype.completed=function(){this.o.onCompleted()},b}(Sc);Lc.filter=Lc.where=function(a,b){return this instanceof De?this.internalFilter(a,b):new De(this,a,b)};var Ee=function(a){function b(b,c,d){this.source=b,this._k=c,this._c=d,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Fe(a,this._k,this._c))},b}(Sc),Fe=function(a){function b(b,c,d){this._o=b,this._k=c,this._c=d,this._v=null,this._hv=!1,this._l=[],a.call(this)}return Vb(b,a),b.prototype.next=function(a){var b=Za(this._k)(a);if(b===Ya)return this._o.onError(b.e);var c=0;if(this._hv){if(c=Za(this._c)(b,this._v),c===Ya)return this._o.onError(c.e)}else this._hv=!0,this._v=b;c>0&&(this._v=b,this._l=[]),c>=0&&this._l.push(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(this._l),this._o.onCompleted()},b}(Mc),Ge=function(a){function b(b,c,d,e){this.source=b,this.accumulator=c,this.hasSeed=d,this.seed=e,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new He(a,this))},b}(Sc),He=function(a){function b(b,c){this._o=b,this._p=c,this._fn=c.accumulator,this._hs=c.hasSeed,this._s=c.seed,this._ha=!1,this._a=null,this._hv=!1,this._i=0,a.call(this)}return Vb(b,a),b.prototype.next=function(a){return!this._hv&&(this._hv=!0),this._ha?this._a=Za(this._fn)(this._a,a,this._i,this._p):(this._a=this._hs?Za(this._fn)(this._s,a,this._i,this._p):a,this._ha=!0),this._a===Ya?this._o.onError(this._a.e):void this._i++},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._hv&&this._o.onNext(this._a),!this._hv&&this._hs&&this._o.onNext(this._s),!this._hv&&!this._hs&&this._o.onError(new db),this._o.onCompleted()},b}(Mc);Lc.reduce=function(){var a,b=!1,c=arguments[0];return 2===arguments.length&&(b=!0,a=arguments[1]),new Ge(this,c,b,a)};var Ie=function(a){function b(b,c){this.source=b,this._fn=c,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Je(a,this._fn,this.source))},b}(Sc),Je=function(a){function b(b,c,d){this._o=b,this._fn=c,this._s=d,this._i=0,a.call(this)}return Vb(b,a),b.prototype.next=function(a){var b=Za(this._fn)(a,this._i++,this._s);return b===Ya?this._o.onError(b.e):void(Boolean(b)&&(this._o.onNext(!0),this._o.onCompleted()))},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(!1),this._o.onCompleted()},b}(Mc);Lc.some=function(a,b){var c=nb(a,b,3);return new Ie(this,c)};var Ke=function(a){function b(b){this.source=b,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Le(a))},b}(Sc),Le=function(a){function b(b){this._o=b,a.call(this)}return Vb(b,a),b.prototype.next=function(){this._o.onNext(!1),this._o.onCompleted()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(!0),this._o.onCompleted()},b}(Mc);Lc.isEmpty=function(){return new Ke(this)};var Me=function(a){function b(b,c){this.source=b,this._fn=c,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Ne(a,this._fn,this.source))},b}(Sc),Ne=function(a){function b(b,c,d){this._o=b,this._fn=c,this._s=d,this._i=0,a.call(this)}return Vb(b,a),b.prototype.next=function(a){var b=Za(this._fn)(a,this._i++,this._s);return b===Ya?this._o.onError(b.e):void(Boolean(b)||(this._o.onNext(!1),this._o.onCompleted()))},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(!0),this._o.onCompleted()},b}(Mc);Lc.every=function(a,b){var c=nb(a,b,3);return new Me(this,c)};var Oe=function(a){function b(b,c,d){var e=+d||0;Math.abs(e)===1/0&&(e=0),this.source=b,this._elem=c,this._n=e,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this._n<0?(a.onNext(!1),a.onCompleted(),cc):this.source.subscribe(new Pe(a,this._elem,this._n))},b}(Sc),Pe=function(a){function b(b,c,d){this._o=b,this._elem=c,this._n=d,this._i=0,a.call(this)}function c(a,b){return 0===a&&0===b||a===b||isNaN(a)&&isNaN(b)}return Vb(b,a),b.prototype.next=function(a){this._i++>=this._n&&c(a,this._elem)&&(this._o.onNext(!0),this._o.onCompleted())},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(!1),this._o.onCompleted()},b}(Mc);Lc.includes=function(a,b){return new Oe(this,a,b)};var Qe=function(a){function b(b,c){this.source=b,this._fn=c,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Re(a,this._fn,this.source))},b}(Sc),Re=function(a){function b(b,c,d){this._o=b,this._fn=c,this._s=d,this._i=0,this._c=0,a.call(this)}return Vb(b,a),b.prototype.next=function(a){if(this._fn){var b=Za(this._fn)(a,this._i++,this._s);if(b===Ya)return this._o.onError(b.e);Boolean(b)&&this._c++}else this._c++},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(this._c),this._o.onCompleted()},b}(Mc);Lc.count=function(a,b){var c=nb(a,b,3);return new Qe(this,c)};var Se=function(a){function b(b,c,d){this.source=b,this._e=c,this._n=d,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this._n<0?(a.onNext(-1),a.onCompleted(),cc):this.source.subscribe(new Te(a,this._e,this._n))},b}(Sc),Te=function(a){function b(b,c,d){this._o=b,this._e=c,this._n=d,this._i=0,a.call(this)}return Vb(b,a),b.prototype.next=function(a){this._i>=this._n&&a===this._e&&(this._o.onNext(this._i),this._o.onCompleted()),this._i++},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(-1),this._o.onCompleted()},b}(Mc);Lc.indexOf=function(a,b){var c=+b||0;return Math.abs(c)===1/0&&(c=0),new Se(this,a,c)};var Ue=function(a){function b(b,c){this.source=b,this._fn=c,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Ve(a,this._fn,this.source))},b}(Sc),Ve=function(a){function b(b,c,d){this._o=b,this._fn=c,this._s=d,this._i=0,this._c=0,a.call(this)}return Vb(b,a),b.prototype.next=function(a){if(this._fn){var b=Za(this._fn)(a,this._i++,this._s);if(b===Ya)return this._o.onError(b.e);this._c+=b}else this._c+=a},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(this._c),this._o.onCompleted()},b}(Mc);Lc.sum=function(a,b){var c=nb(a,b,3);return new Ue(this,c)},Lc.minBy=function(a,b){return b||(b=Ua),new Ee(this,a,function(a,c){return-1*b(a,c)})},Lc.min=function(a){return this.minBy(Ra,a).map(U)},Lc.maxBy=function(a,b){return b||(b=Ua),new Ee(this,a,b)},Lc.max=function(a){return this.maxBy(Ra,a).map(U)};var We=function(a){function b(b,c){this.source=b,this._fn=c,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Xe(a,this._fn,this.source))},b}(Sc),Xe=function(a){function b(b,c,d){this._o=b,this._fn=c,this._s=d,this._c=0,this._t=0,a.call(this)}return Vb(b,a),b.prototype.next=function(a){if(this._fn){var b=Za(this._fn)(a,this._c++,this._s);if(b===Ya)return this._o.onError(b.e);this._t+=b}else this._c++,this._t+=a},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){return 0===this._c?this._o.onError(new db):(this._o.onNext(this._t/this._c),void this._o.onCompleted())},b}(Mc);Lc.average=function(a,b){var c,d=this;return Xa(a)&&(c=nb(a,b,3)),new We(d,c)},Lc.sequenceEqual=function(a,b){var c=this;return b||(b=Ta),new ug(function(d){var e=!1,f=!1,g=[],h=[],i=c.subscribe(function(a){if(h.length>0){var c=h.shift(),e=Za(b)(c,a);if(e===Ya)return d.onError(e.e);e||(d.onNext(!1),d.onCompleted())}else f?(d.onNext(!1),d.onCompleted()):g.push(a)},function(a){d.onError(a)},function(){e=!0,0===g.length&&(h.length>0?(d.onNext(!1),d.onCompleted()):f&&(d.onNext(!0),d.onCompleted()))});(mb(a)||lb(a))&&(a=ld(a)),Wa(a)&&(a=cd(a));var j=a.subscribe(function(a){if(g.length>0){var c=g.shift(),f=Za(b)(c,a);if(f===Ya)return d.onError(f.e);f||(d.onNext(!1),d.onCompleted())}else e?(d.onNext(!1),d.onCompleted()):h.push(a)},function(a){d.onError(a)},function(){f=!0,0===h.length&&(g.length>0?(d.onNext(!1),d.onCompleted()):e&&(d.onNext(!0),d.onCompleted()))});return new ic(i,j)},c)};var Ye=function(a){function b(b,c,d){this.source=b,this._i=c,this._d=d,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Ze(a,this._i,this._d))},b}(Sc),Ze=function(b){function c(a,c,d){this._o=a,this._i=c,this._d=d,b.call(this)}return Vb(c,b),c.prototype.next=function(a){0===this._i--&&(this._o.onNext(a),this._o.onCompleted())},c.prototype.error=function(a){this._o.onError(a)},c.prototype.completed=function(){this._d===a?this._o.onError(new fb):(this._o.onNext(this._d),this._o.onCompleted())},c}(Mc);Lc.elementAt=function(a,b){if(0>a)throw new fb;return new Ye(this,a,b)};var $e=function(b){function c(a,c,d){this._o=a,this._obj=c,this._s=d,this._i=0,this._hv=!1,this._v=null,b.call(this)}return Vb(c,b),c.prototype.next=function(a){var b=!1;if(this._obj.predicate){var c=Za(this._obj.predicate)(a,this._i++,this._s);if(c===Ya)return this._o.onError(c.e);Boolean(c)&&(b=!0)}else this._obj.predicate||(b=!0);if(b){if(this._hv)return this._o.onError(new Error("Sequence contains more than one matching element"));this._hv=!0,this._v=a}},c.prototype.error=function(a){this._o.onError(a)},c.prototype.completed=function(){this._hv?(this._o.onNext(this._v),this._o.onCompleted()):this._obj.defaultValue===a?this._o.onError(new db):(this._o.onNext(this._obj.defaultValue),this._o.onCompleted())},c}(Mc);Lc.single=function(a,b){var c={},d=this;if(c="object"==typeof arguments[0]?arguments[0]:{predicate:arguments[0],thisArg:arguments[1],defaultValue:arguments[2]},Xa(c.predicate)){var e=c.predicate;c.predicate=nb(e,c.thisArg,3)}return new ug(function(a){return d.subscribe(new $e(a,c,d))},d)};var _e=function(a){function b(b,c){this.source=b,this._obj=c,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new af(a,this._obj,this.source))},b}(Sc),af=function(b){function c(a,c,d){this._o=a,this._obj=c,this._s=d,this._i=0,b.call(this)}return Vb(c,b),c.prototype.next=function(a){if(this._obj.predicate){var b=Za(this._obj.predicate)(a,this._i++,this._s);if(b===Ya)return this._o.onError(b.e);Boolean(b)&&(this._o.onNext(a),this._o.onCompleted())}else this._obj.predicate||(this._o.onNext(a),this._o.onCompleted())},c.prototype.error=function(a){this._o.onError(a)},c.prototype.completed=function(){this._obj.defaultValue===a?this._o.onError(new db):(this._o.onNext(this._obj.defaultValue),this._o.onCompleted())},c}(Mc);Lc.first=function(){var a={};if(a="object"==typeof arguments[0]?arguments[0]:{predicate:arguments[0],thisArg:arguments[1],defaultValue:arguments[2]},Xa(a.predicate)){var b=a.predicate;a.predicate=nb(b,a.thisArg,3)}return new _e(this,a)};var bf=function(a){function b(b,c){this.source=b,this._obj=c,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new cf(a,this._obj,this.source))},b}(Sc),cf=function(b){function c(a,c,d){this._o=a,this._obj=c,this._s=d,this._i=0,this._hv=!1,this._v=null,b.call(this)}return Vb(c,b),c.prototype.next=function(a){var b=!1;if(this._obj.predicate){var c=Za(this._obj.predicate)(a,this._i++,this._s);if(c===Ya)return this._o.onError(c.e);Boolean(c)&&(b=!0)}else this._obj.predicate||(b=!0);b&&(this._hv=!0,this._v=a)},c.prototype.error=function(a){this._o.onError(a)},c.prototype.completed=function(){this._hv?(this._o.onNext(this._v),this._o.onCompleted()):this._obj.defaultValue===a?this._o.onError(new db):(this._o.onNext(this._obj.defaultValue),this._o.onCompleted())},c}(Mc);Lc.last=function(){var a={};if(a="object"==typeof arguments[0]?arguments[0]:{predicate:arguments[0],thisArg:arguments[1],defaultValue:arguments[2]},Xa(a.predicate)){var b=a.predicate;a.predicate=nb(b,a.thisArg,3)}return new bf(this,a)};var df=function(a){function b(b,c,d,e){this._o=b,this._s=c,this._cb=d,this._y=e,this._i=0,a.call(this)}return Vb(b,a),b.prototype.next=function(a){var b=Za(this._cb)(a,this._i,this._s);return b===Ya?this._o.onError(b.e):void(b?(this._o.onNext(this._y?this._i:a),this._o.onCompleted()):this._i++)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._y&&this._o.onNext(-1),this._o.onCompleted()},b}(Mc);Lc.find=function(a,b){return V(this,a,b,!1)},Lc.findIndex=function(a,b){return V(this,a,b,!0)};var ef=function(a){function b(b){this.source=b,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new ff(a))},b}(Sc),ff=function(a){function b(b){this._o=b,this._s=new Oa.Set,a.call(this)}return Vb(b,a),b.prototype.next=function(a){this._s.add(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(this._s),this._o.onCompleted()},b}(Mc);Lc.toSet=function(){if("undefined"==typeof Oa.Set)throw new TypeError;return new ef(this)};var gf=function(a){function b(b,c,d){this.source=b,this._k=c,this._e=d,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new hf(a,this._k,this._e))},b}(Sc),hf=function(a){function b(b,c,d){this._o=b,this._k=c,this._e=d,this._m=new Oa.Map,a.call(this)}return Vb(b,a),b.prototype.next=function(a){var b=Za(this._k)(a);if(b===Ya)return this._o.onError(b.e);var c=a;return this._e&&(c=Za(this._e)(a),c===Ya)?this._o.onError(c.e):void this._m.set(b,c)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(this._m),this._o.onCompleted()},b}(Mc);Lc.toMap=function(a,b){if("undefined"==typeof Oa.Map)throw new TypeError;return new gf(this,a,b)};var jf=function(a){function b(b,c,d){this.source=b,this._b=c,this._e=d,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new kf(a,this._b,this._e))},b}(Sc),kf=function(a){function b(b,c,d){this._o=b,this._b=c,this._e=d,this._i=0,a.call(this)}return Vb(b,a),b.prototype.next=function(a){this._i>=this._b&&(this._e===this._i?this._o.onCompleted():this._o.onNext(a)),this._i++},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Mc);Lc.slice=function(a,b){var c=a||0;if(0>c)throw new Pa.ArgumentOutOfRangeError;if("number"==typeof b&&c>b)throw new Pa.ArgumentOutOfRangeError;return new jf(this,c,b)};var lf=function(a){function b(b,c,d){this.source=b,this._e=c,this._n=d,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this._n<0?(a.onNext(-1),a.onCompleted(),cc):this.source.subscribe(new mf(a,this._e,this._n))},b}(Sc),mf=function(a){function b(b,c,d){this._o=b,this._e=c,this._n=d,this._v=0,this._hv=!1,this._i=0,a.call(this)}return Vb(b,a),b.prototype.next=function(a){this._i>=this._n&&a===this._e&&(this._hv=!0,this._v=this._i),this._i++},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._hv?this._o.onNext(this._v):this._o.onNext(-1),this._o.onCompleted()},b}(Mc);Lc.lastIndexOf=function(a,b){var c=+b||0;return Math.abs(c)===1/0&&(c=0),new lf(this,a,c)},Rc.wrap=function(a){function b(){return Rc.spawn.call(this,a.apply(this,arguments))}return b.__generatorFunction__=a,b};var nf=Rc.spawn=function(){for(var a=arguments[0],b=this,c=[],d=1,e=arguments.length;e>d;d++)c.push(arguments[d]);return new ug(function(d){function e(b){var c=Za(a.next).call(a,b);return c===Ya?d.onError(c.e):void g(c)}function f(b){var c=Za(a.next).call(a,b);return c===Ya?d.onError(c.e):void g(c)}function g(a){if(a.done)return d.onNext(a.value),void d.onCompleted();var c=W.call(b,a.value),g=null,i=!1;Rc.isObservable(c)?h.add(c.subscribe(function(a){i=!0,g=a},f,function(){i&&e(g)})):f(new TypeError("type not supported"))}var h=new $b;return Xa(a)&&(a=a.apply(b,c)),a&&Xa(a.next)?(e(),h):(d.onNext(a),d.onCompleted())})};Rc.start=function(a,b,c){return of(a,b,c)()};var of=Rc.toAsync=function(a,b,c){return oc(c)||(c=Ac),function(){var d=arguments,e=new zg;return c.schedule(null,function(){var c;try{c=a.apply(b,d)}catch(f){return void e.onError(f)}e.onNext(c),e.onCompleted()}),e.asObservable()}};Rc.fromCallback=function(a,b,c){return function(){"undefined"==typeof b&&(b=this);for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return ba(a,b,c,e)}},Rc.fromNodeCallback=function(a,b,c){return function(){"undefined"==typeof b&&(b=this);for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return da(a,b,c,e)}},ga.prototype.dispose=function(){this.isDisposed||(this._e.removeEventListener(this._n,this._fn,!1),this.isDisposed=!0)},Pa.config.useNativeEvents=!1;var pf=function(a){function b(b,c,d){this._el=b,this._n=c,this._fn=d,a.call(this)}function c(a,b){return function(){var c=arguments[0];return Xa(b)&&(c=Za(b).apply(null,arguments),c===Ya)?a.onError(c.e):void a.onNext(c)}}return Vb(b,a),b.prototype.subscribeCore=function(a){return ha(this._el,this._n,c(a,this._fn))},b}(Sc);Rc.fromEvent=function(a,b,c){return a.addListener?rf(function(c){a.addListener(b,c)},function(c){a.removeListener(b,c)},c):Pa.config.useNativeEvents||"function"!=typeof a.on||"function"!=typeof a.off?new pf(a,b,c).publish().refCount():rf(function(c){a.on(b,c)},function(c){a.off(b,c)},c)};var qf=function(a){function b(b,c,d){this._add=b,this._del=c,this._fn=d,a.call(this)}function c(a,b){return function(){var c=arguments[0];return Xa(b)&&(c=Za(b).apply(null,arguments),c===Ya)?a.onError(c.e):void a.onNext(c)}}function d(a,b,c){this._del=a,this._fn=b,this._ret=c,this.isDisposed=!1}return Vb(b,a),b.prototype.subscribeCore=function(a){var b=c(a,this._fn),e=this._add(b); -return new d(this._del,b,e)},d.prototype.dispose=function(){this.isDisposed||(Xa(this._del)&&this._del(this._fn,this._ret),this.isDisposed=!0)},b}(Sc),rf=Rc.fromEventPattern=function(a,b,c){return new qf(a,b,c).publish().refCount()};Rc.startAsync=function(a){var b=Za(a)();return b===Ya?xd(b.e):cd(b)};var sf=function(a){function b(b,c){this.source=b,this.controller=new yg,c&&c.subscribe?this.pauser=this.controller.merge(c):this.pauser=this.controller,a.call(this)}return Vb(b,a),b.prototype._subscribe=function(a){var b=this.source.publish(),c=b.subscribe(a),d=cc,e=this.pauser.distinctUntilChanged().subscribe(function(a){a?d=b.connect():(d.dispose(),d=cc)});return new jc([c,d,e])},b.prototype.pause=function(){this.controller.onNext(!1)},b.prototype.resume=function(){this.controller.onNext(!0)},b}(Rc);Lc.pausable=function(a){return new sf(this,a)};var tf=function(b){function c(a,c){this.source=a,this.controller=new yg,c&&c.subscribe?this.pauser=this.controller.merge(c):this.pauser=this.controller,b.call(this)}return Vb(c,b),c.prototype._subscribe=function(b){function c(){for(;e.length>0;)b.onNext(e.shift())}var d,e=[],f=ia(this.source,this.pauser.startWith(!1).distinctUntilChanged(),function(a,b){return{data:a,shouldFire:b}}).subscribe(function(f){d!==a&&f.shouldFire!==d?(d=f.shouldFire,f.shouldFire&&c()):(d=f.shouldFire,f.shouldFire?b.onNext(f.data):e.push(f.data))},function(a){c(),b.onError(a)},function(){c(),b.onCompleted()});return f},c.prototype.pause=function(){this.controller.onNext(!1)},c.prototype.resume=function(){this.controller.onNext(!0)},c}(Rc);Lc.pausableBuffered=function(a){return new tf(this,a)};var uf=function(a){function b(b,c,d){a.call(this),this.subject=new vf(c,d),this.source=b.multicast(this.subject).refCount()}return Vb(b,a),b.prototype._subscribe=function(a){return this.source.subscribe(a)},b.prototype.request=function(a){return this.subject.request(null==a?-1:a)},b}(Rc),vf=function(a){function b(b,c){null==b&&(b=!0),a.call(this),this.subject=new yg,this.enableQueue=b,this.queue=b?[]:null,this.requestedCount=0,this.requestedDisposable=null,this.error=null,this.hasFailed=!1,this.hasCompleted=!1,this.scheduler=c||vc}return Vb(b,a),Wb(b.prototype,Jc,{_subscribe:function(a){return this.subject.subscribe(a)},onCompleted:function(){this.hasCompleted=!0,this.enableQueue&&0!==this.queue.length?this.queue.push(Cc.createOnCompleted()):(this.subject.onCompleted(),this.disposeCurrentRequest())},onError:function(a){this.hasFailed=!0,this.error=a,this.enableQueue&&0!==this.queue.length?this.queue.push(Cc.createOnError(a)):(this.subject.onError(a),this.disposeCurrentRequest())},onNext:function(a){this.requestedCount<=0?this.enableQueue&&this.queue.push(Cc.createOnNext(a)):(0===this.requestedCount--&&this.disposeCurrentRequest(),this.subject.onNext(a))},_processRequest:function(a){if(this.enableQueue)for(;this.queue.length>0&&(a>0||"N"!==this.queue[0].kind);){var b=this.queue.shift();b.accept(this.subject),"N"===b.kind?a--:(this.disposeCurrentRequest(),this.queue=[])}return a},request:function(a){this.disposeCurrentRequest();var b=this;return this.requestedDisposable=this.scheduler.schedule(a,function(a,c){var d=b._processRequest(c),e=b.hasCompleted||b.hasFailed;return!e&&d>0?(b.requestedCount=d,bc(function(){b.requestedCount=0})):void 0}),this.requestedDisposable},disposeCurrentRequest:function(){this.requestedDisposable&&(this.requestedDisposable.dispose(),this.requestedDisposable=null)}}),b}(Rc);Lc.controlled=function(a,b){return a&&oc(a)&&(b=a,a=!0),null==a&&(a=!0),new uf(this,a,b)};var wf=function(a){function b(b){a.call(this),this.source=b}function c(a,b){b.source.request(1)}Vb(b,a),b.prototype._subscribe=function(a){return this.subscription=this.source.subscribe(new d(a,this,this.subscription)),new ic(this.subscription,Ac.schedule(this,c))};var d=function(a){function c(b,c,d){a.call(this),this.observer=b,this.observable=c,this.cancel=d,this.scheduleDisposable=null}function d(a,b){b.observable.source.request(1)}return Vb(c,a),c.prototype.completed=function(){this.observer.onCompleted(),this.dispose()},c.prototype.error=function(a){this.observer.onError(a),this.dispose()},c.prototype.next=function(a){this.observer.onNext(a),this.scheduleDisposable=Ac.schedule(this,d)},b.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),this.scheduleDisposable&&(this.scheduleDisposable.dispose(),this.scheduleDisposable=null),a.prototype.dispose.call(this)},c}(Mc);return b}(Rc);uf.prototype.stopAndWait=function(){return new wf(this)};var xf=function(a){function b(b,c){a.call(this),this.source=b,this.windowSize=c}function c(a,b){b.source.request(b.windowSize)}Vb(b,a),b.prototype._subscribe=function(a){return this.subscription=this.source.subscribe(new d(a,this,this.subscription)),new ic(this.subscription,Ac.schedule(this,c))};var d=function(a){function b(b,c,d){this.observer=b,this.observable=c,this.cancel=d,this.received=0,this.scheduleDisposable=null,a.call(this)}function c(a,b){b.observable.source.request(b.observable.windowSize)}return Vb(b,a),b.prototype.completed=function(){this.observer.onCompleted(),this.dispose()},b.prototype.error=function(a){this.observer.onError(a),this.dispose()},b.prototype.next=function(a){this.observer.onNext(a),this.received=++this.received%this.observable.windowSize,0===this.received&&(this.scheduleDisposable=Ac.schedule(this,c))},b.prototype.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),this.scheduleDisposable&&(this.scheduleDisposable.dispose(),this.scheduleDisposable=null),a.prototype.dispose.call(this)},b}(Mc);return b}(Rc);uf.prototype.windowed=function(a){return new xf(this,a)},Lc.pipe=function(a){function b(){c.resume()}var c=this.pausableBuffered();return a.addListener("drain",b),c.subscribe(function(b){!a.write(String(b))&&c.pause()},function(b){a.emit("error",b)},function(){!a._isStdio&&a.end(),a.removeListener("drain",b)}),c.resume(),a};var yf=function(a){function b(b,c,d){this.source=b,this._fn1=c,this._fn2=d,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){var b=this.source.multicast(this._fn1());return new ic(this._fn2(b).subscribe(a),b.connect())},b}(Sc);Lc.multicast=function(a,b){return Xa(a)?new yf(this,a,b):new Bf(this,a)},Lc.publish=function(a){return a&&Xa(a)?this.multicast(function(){return new yg},a):this.multicast(new yg)},Lc.share=function(){return this.publish().refCount()},Lc.publishLast=function(a){return a&&Xa(a)?this.multicast(function(){return new zg},a):this.multicast(new zg)},Lc.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new Ag(b)},a):this.multicast(new Ag(a))},Lc.shareValue=function(a){return this.publishValue(a).refCount()},Lc.replay=function(a,b,c,d){return a&&Xa(a)?this.multicast(function(){return new Bg(b,c,d)},a):this.multicast(new Bg(b,c,d))},Lc.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};var zf=function(a,b){this._s=a,this._o=b};zf.prototype.dispose=function(){if(!this._s.isDisposed&&null!==this._o){var a=this._s.observers.indexOf(this._o);this._s.observers.splice(a,1),this._o=null}};var Af=function(a){function b(b){this.source=b,this._count=0,this._connectableSubscription=null,a.call(this)}function c(a,b){this._p=a,this._s=b,this.isDisposed=!1}return Vb(b,a),b.prototype.subscribeCore=function(a){var b=this.source.subscribe(a);return 1===++this._count&&(this._connectableSubscription=this.source.connect()),new c(this,b)},c.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this._s.dispose(),0===--this._p._count&&this._p._connectableSubscription.dispose())},b}(Sc),Bf=Pa.ConnectableObservable=function(a){function b(b,c){this.source=b,this._connection=null,this._source=b.asObservable(),this._subject=c,a.call(this)}function c(a,b){this._p=a,this._s=b}return Vb(b,a),c.prototype.dispose=function(){this._s&&(this._s.dispose(),this._s=null,this._p._connection=null)},b.prototype.connect=function(){if(!this._connection){var a=this._source.subscribe(this._subject);this._connection=new c(this,a)}return this._connection},b.prototype._subscribe=function(a){return this._subject.subscribe(a)},b.prototype.refCount=function(){return new Af(this)},b}(Rc);Lc.singleInstance=function(){function a(){return d||(d=!0,b=c["finally"](function(){d=!1}).publish().refCount()),b}var b,c=this,d=!1;return new ug(function(b){return a().subscribe(b)})},Lc.join=function(a,b,c,d){var e=this;return new ug(function(f){var g=new $b,h=!1,i=!1,j=0,k=0,l=new Lf,m=new Lf,n=function(a){f.onError(a)};return g.add(e.subscribe(function(a){var c=j++,e=new gc;l.set(c,a),g.add(e);var i=Za(b)(a);return i===Ya?f.onError(i.e):(e.setDisposable(i.take(1).subscribe(Qa,n,function(){l["delete"](c)&&0===l.size&&h&&f.onCompleted(),g.remove(e)})),void m.forEach(function(b){var c=Za(d)(a,b);return c===Ya?f.onError(c.e):void f.onNext(c)}))},n,function(){h=!0,(i||0===l.size)&&f.onCompleted()})),g.add(a.subscribe(function(a){var b=k++,e=new gc;m.set(b,a),g.add(e);var h=Za(c)(a);return h===Ya?f.onError(h.e):(e.setDisposable(h.take(1).subscribe(Qa,n,function(){m["delete"](b)&&0===m.size&&i&&f.onCompleted(),g.remove(e)})),void l.forEach(function(b){var c=Za(d)(b,a);return c===Ya?f.onError(c.e):void f.onNext(c)}))},n,function(){i=!0,(h||0===m.size)&&f.onCompleted()})),g},e)},Lc.groupJoin=function(a,b,c,d){var e=this;return new ug(function(f){function g(a){}var h=new $b,i=new kc(h),j=new Lf,k=new Lf,l=0,m=0,g=function(a){return function(b){b.onError(a)}};return h.add(e.subscribe(function(a){var c=new yg,e=l++;j.set(e,c);var m=Za(d)(a,Xb(c,i));if(m===Ya)return j.forEach(g(m.e)),f.onError(m.e);f.onNext(m),k.forEach(function(a){c.onNext(a)});var n=new gc;h.add(n);var o=Za(b)(a);return o===Ya?(j.forEach(g(o.e)),f.onError(o.e)):void n.setDisposable(o.take(1).subscribe(Qa,function(a){j.forEach(g(a)),f.onError(a)},function(){j["delete"](e)&&c.onCompleted(),h.remove(n)}))},function(a){j.forEach(g(a)),f.onError(a)},function(){f.onCompleted()})),h.add(a.subscribe(function(a){var b=m++;k.set(b,a);var d=new gc;h.add(d);var e=Za(c)(a);return e===Ya?(j.forEach(g(e.e)),f.onError(e.e)):(d.setDisposable(e.take(1).subscribe(Qa,function(a){j.forEach(g(a)),f.onError(a)},function(){k["delete"](b),h.remove(d)})),void j.forEach(function(b){b.onNext(a)}))},function(a){j.forEach(g(a)),f.onError(a)})),i},e)},Lc.buffer=function(){return this.window.apply(this,arguments).flatMap(O)},Lc.window=function(a,b){return 1===arguments.length&&"function"!=typeof arguments[0]?ka.call(this,a):"function"==typeof a?la.call(this,a):ja.call(this,a,b)};var Cf=function(a){function b(b){this.source=b,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Df(a))},b}(Sc),Df=function(a){function b(b){this._o=b,this._p=null,this._hp=!1,a.call(this)}return Vb(b,a),b.prototype.next=function(a){this._hp?this._o.onNext([this._p,a]):this._hp=!0,this._p=a},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Mc);Lc.pairwise=function(){return new Cf(this)},Lc.partition=function(a,b){var c=nb(a,b,3);return[this.filter(a,b),this.filter(function(a,b,d){return!c(a,b,d)})]};var Ef=function(a){function b(a,b){this.c=a,this.s=b}return Vb(b,a),b.prototype[jb]=function(){var a=this;return{next:function(){return a.c()?{done:!1,value:a.s}:{done:!0,value:void 0}}}},b}(Uc);Lc.letBind=Lc.let=function(a){return a(this)},Rc["if"]=function(a,b,c){return fd(function(){return c||(c=id()),Wa(b)&&(b=cd(b)),Wa(c)&&(c=cd(c)),"function"==typeof c.now&&(c=id(c)),a()?b:c})},Rc["for"]=Rc.forIn=function(a,b,c){return $c(a,b,c).concat()};var Ff=Rc["while"]=Rc.whileDo=function(a,b){return Wa(b)&&(b=cd(b)),ma(a,b).concat()};Lc.doWhile=function(a){return Hd([this,Ff(a,this)])},Rc["case"]=function(a,b,c){return fd(function(){Wa(c)&&(c=cd(c)),c||(c=id()),oc(c)&&(c=id(c));var d=b[a()];return Wa(d)&&(d=cd(d)),d||c})};var Gf=function(a){function b(b,c,d){this.source=b,this._fn=c,this._scheduler=d,a.call(this)}function c(a,b){var c,d=a[0],e=a[1];if(!(d.q.length>0))return void(d.isAcquired=!1);c=d.q.shift();var f=new gc;d.d.add(f),f.setDisposable(c.subscribe(new Hf(d,e,f))),b([d,e])}return Vb(b,a),b.prototype._ensureActive=function(a){var b=!1;a.q.length>0&&(b=!a.isAcquired,a.isAcquired=!0),b&&a.m.setDisposable(this._scheduler.scheduleRecursive([a,this],c))},b.prototype.subscribeCore=function(a){var b=new hc,c=new $b(b),d={q:[],m:b,d:c,activeCount:0,isAcquired:!1,o:a};return d.q.push(this.source),d.activeCount++,this._ensureActive(d),c},b}(Sc),Hf=function(a){function b(b,c,d){this._s=b,this._p=c,this._m1=d,a.call(this)}return Vb(b,a),b.prototype.next=function(a){this._s.o.onNext(a);var b=Za(this._p._fn)(a);return b===Ya?this._s.o.onError(b.e):(this._s.q.push(b),this._s.activeCount++,void this._p._ensureActive(this._s))},b.prototype.error=function(a){this._s.o.onError(a)},b.prototype.completed=function(){this._s.d.remove(this._m1),this._s.activeCount--,0===this._s.activeCount&&this._s.o.onCompleted()},b}(Mc);Lc.expand=function(a,b){return oc(b)||(b=vc),new Gf(this,a,b)};var If=function(a){function b(b,c){this._sources=b,this._cb=c,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){if(0===this._sources.length)return a.onCompleted(),cc;for(var b=this._sources.length,c={finished:!1,hasResults:new Array(b),hasCompleted:new Array(b),results:new Array(b)},d=new $b,e=0,f=this._sources.length;f>e;e++){var g=this._sources[e];Wa(g)&&(g=cd(g)),d.add(g.subscribe(new Jf(a,c,e,this._cb,d)))}return d},b}(Sc),Jf=function(a){function b(b,c,d,e,f){this._o=b,this._s=c,this._i=d,this._cb=e,this._subs=f,a.call(this)}return Vb(b,a),b.prototype.next=function(a){this._s.finished||(this._s.hasResults[this._i]=!0,this._s.results[this._i]=a)},b.prototype.error=function(a){this._s.finished=!0,this._o.onError(a),this._subs.dispose()},b.prototype.completed=function(){if(!this._s.finished){if(!this._s.hasResults[this._i])return this._o.onCompleted();this._s.hasCompleted[this._i]=!0;for(var a=0;ac;c++)b[c]=arguments[c];var d=Xa(b[a-1])?b.pop():L;return Array.isArray(b[0])&&(b=b[0]),new If(b,d)},Lc.forkJoin=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return Array.isArray(b[0])?b[0].unshift(this):b.unshift(this),Rc.forkJoin.apply(null,b)},Lc.manySelect=Lc.extend=function(a,b){oc(b)||(b=Pa.Scheduler.immediate);var c=this;return fd(function(){var d;return c.map(function(a){var b=new Kf(a);return d&&d.onNext(a),d=b,b}).tap(Qa,function(a){d&&d.onError(a)},function(){d&&d.onCompleted()}).observeOn(b).map(a)},c)};var Kf=function(a){function b(b){a.call(this),this.head=b,this.tail=new zg}return Vb(b,a),Wb(b.prototype,Jc,{_subscribe:function(a){var b=new $b;return b.add(vc.schedule(this,function(c,d){a.onNext(d.head),b.add(d.tail.mergeAll().subscribe(a))})),b},onCompleted:function(){this.onNext(Rc.empty())},onError:function(a){this.onNext(Rc["throw"](a))},onNext:function(a){this.tail.onNext(a),this.tail.onCompleted()}}),b}(Rc),Lf=Oa.Map||function(){function b(){this.size=0,this._values=[],this._keys=[]}return b.prototype["delete"]=function(a){var b=this._keys.indexOf(a);return-1===b?!1:(this._values.splice(b,1),this._keys.splice(b,1),this.size--,!0)},b.prototype.get=function(b){var c=this._keys.indexOf(b);return-1===c?a:this._values[c]},b.prototype.set=function(a,b){var c=this._keys.indexOf(a);return-1===c?(this._keys.push(a),this._values.push(b),this.size++):this._values[c]=b,this},b.prototype.forEach=function(a,b){for(var c=0;cf;f++)d.push(ra(a,this.expression.patterns[f],e));var h=new sa(d,qa(this,b),function(){for(var a=0,b=d.length;b>a;a++)d[a].removeActivePlan(h);c(h)});for(f=0,g=d.length;g>f;f++)d[f].addActivePlan(h);return h},sa.prototype.dequeue=function(){this.joinObservers.forEach(function(a){a.queue.shift()})},sa.prototype.match=function(){var a,b,c=!0;for(a=0,b=this.joinObserverArray.length;b>a;a++)if(0===this.joinObserverArray[a].queue.length){c=!1;break}if(c){var d=[],e=!1;for(a=0,b=this.joinObserverArray.length;b>a;a++)d.push(this.joinObserverArray[a].queue[0]),"C"===this.joinObserverArray[a].queue[0].kind&&(e=!0);if(e)this.onCompleted();else{this.dequeue();var f=[];for(a=0,b=d.length;ac;c++)b[c].match()}},c.error=Qa,c.completed=Qa,c.addActivePlan=function(a){this.activePlans.push(a)},c.subscribe=function(){this.subscription.setDisposable(this.source.materialize().subscribe(this))},c.removeActivePlan=function(a){this.activePlans.splice(this.activePlans.indexOf(a),1),0===this.activePlans.length&&this.dispose()},c.dispose=function(){a.prototype.dispose.call(this),this.isDisposed||(this.isDisposed=!0,this.subscription.dispose())},b}(Mc);Lc.and=function(a){return new na([this,a])},Lc.thenDo=function(a){return new na([this]).thenDo(a)},Rc.when=function(){var a,b=arguments.length;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new ug(function(b){var c=[],d=new Lf,e=Kc(function(a){b.onNext(a)},function(a){d.forEach(function(b){b.onError(a)}),b.onError(a)},function(a){b.onCompleted()});try{for(var f=0,g=a.length;g>f;f++)c.push(a[f].activate(d,e,function(a){var d=c.indexOf(a);c.splice(d,1),0===c.length&&b.onCompleted()}))}catch(h){xd(h).subscribe(b)}var i=new $b;return d.forEach(function(a){a.subscribe(),i.add(a)}),i})};var Nf=function(a){function b(b,c){this._dt=b,this._s=c,a.call(this)}function c(a,b){b.onNext(0),b.onCompleted()}return Vb(b,a),b.prototype.subscribeCore=function(a){return this._s.scheduleFuture(a,this._dt,c)},b}(Sc),Of=Rc.interval=function(a,b){return va(a,a,oc(b)?b:Ac)};Rc.timer=function(b,c,d){var e;return oc(d)||(d=Ac),null!=c&&"number"==typeof c?e=c:oc(c)&&(d=c),(b instanceof Date||"number"==typeof b)&&e===a?ta(b,d):b instanceof Date&&e!==a?ua(b,c,d):va(b,e,d)};Lc.delay=function(){var a=arguments[0];if("number"==typeof a||a instanceof Date){var b=a,c=arguments[1];return oc(c)||(c=Ac),b instanceof Date?xa(this,b,c):wa(this,b,c)}if(Rc.isObservable(a)||Xa(a))return ya(this,a,arguments[1]);throw new Error("Invalid arguments")};var Pf=function(a){function b(b,c,d){oc(d)||(d=Ac),this.source=b,this._dt=c,this._s=d,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){var b=new hc;return new ic(this.source.subscribe(new Qf(a,this._dt,this._s,b)),b)},b}(Sc),Qf=function(a){function b(b,c,d,e){this._o=b,this._d=c,this._scheduler=d,this._c=e,this._v=null,this._hv=!1,this._id=0,a.call(this)}return Vb(b,a),b.prototype.next=function(a){this._hv=!0,this._v=a;var b=++this._id,c=new gc;this._c.setDisposable(c),c.setDisposable(this._scheduler.scheduleFuture(this,this._d,function(c,d){d._hv&&d._id===b&&d._o.onNext(a),d._hv=!1}))},b.prototype.error=function(a){this._c.dispose(),this._o.onError(a),this._hv=!1,this._id++},b.prototype.completed=function(){this._c.dispose(),this._hv&&this._o.onNext(this._v),this._o.onCompleted(),this._hv=!1,this._id++},b}(Mc);Lc.debounce=function(){if(Xa(arguments[0]))return za(this,arguments[0]);if("number"==typeof arguments[0])return new Pf(this,arguments[0],arguments[1]);throw new Error("Invalid arguments")},Lc.windowWithTime=function(a,b,c){var d,e=this;return null==b&&(d=a),oc(c)||(c=Ac),"number"==typeof b?d=b:oc(b)&&(d=a,c=b),new ug(function(b){function f(){var a=new gc,e=!1,g=!1;l.setDisposable(a),j===i?(e=!0,g=!0):i>j?e=!0:g=!0;var n=e?j:i,o=n-m;m=n,e&&(j+=d),g&&(i+=d),a.setDisposable(c.scheduleFuture(null,o,function(){if(g){var a=new yg;k.push(a),b.onNext(Xb(a,h))}e&&k.shift().onCompleted(),f()}))}var g,h,i=d,j=a,k=[],l=new hc,m=0;return g=new $b(l),h=new kc(g),k.push(new yg),b.onNext(Xb(k[0],h)),f(),g.add(e.subscribe(function(a){for(var b=0,c=k.length;c>b;b++)k[b].onNext(a)},function(a){for(var c=0,d=k.length;d>c;c++)k[c].onError(a);b.onError(a)},function(){for(var a=0,c=k.length;c>a;a++)k[a].onCompleted();b.onCompleted()})),h},e)},Lc.windowWithTimeOrCount=function(a,b,c){var d=this;return oc(c)||(c=Ac),new ug(function(e){function f(b){var d=new gc;g.setDisposable(d),d.setDisposable(c.scheduleFuture(null,a,function(){if(b===k){j=0;var a=++k;l.onCompleted(),l=new yg,e.onNext(Xb(l,i)),f(a)}}))}var g=new hc,h=new $b(g),i=new kc(h),j=0,k=0,l=new yg;return e.onNext(Xb(l,i)),f(0),h.add(d.subscribe(function(a){var c=0,d=!1;l.onNext(a),++j===b&&(d=!0,j=0,c=++k,l.onCompleted(),l=new yg,e.onNext(Xb(l,i))),d&&f(c)},function(a){l.onError(a),e.onError(a)},function(){l.onCompleted(),e.onCompleted()})),i},d)},Lc.bufferWithTime=function(a,b,c){return this.windowWithTime(a,b,c).flatMap(O)},Lc.bufferWithTimeOrCount=function(a,b,c){return this.windowWithTimeOrCount(a,b,c).flatMap(O)};var Rf=function(a){function b(b,c){this.source=b,this._s=c,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Sf(a,this._s))},b}(Sc),Sf=function(a){function b(b,c){this._o=b,this._s=c,this._l=c.now(),a.call(this)}return Vb(b,a),b.prototype.next=function(a){var b=this._s.now(),c=b-this._l;this._l=b,this._o.onNext({value:a,interval:c})},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Mc);Lc.timeInterval=function(a){return oc(a)||(a=Ac),new Rf(this,a)};var Tf=function(a){function b(b,c){this.source=b,this._s=c,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Uf(a,this._s))},b}(Sc),Uf=function(a){function b(b,c){this._o=b,this._s=c,a.call(this)}return Vb(b,a),b.prototype.next=function(a){this._o.onNext({value:a,timestamp:this._s.now()})},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Mc);Lc.timestamp=function(a){return oc(a)||(a=Ac),new Tf(this,a)};var Vf=function(a){function b(b,c){this.source=b,this._sampler=c,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){var b={o:a,atEnd:!1,value:null,hasValue:!1,sourceSubscription:new gc};return b.sourceSubscription.setDisposable(this.source.subscribe(new Xf(b))),new ic(b.sourceSubscription,this._sampler.subscribe(new Wf(b)))},b}(Sc),Wf=function(a){function b(b){this._s=b,a.call(this)}return Vb(b,a),b.prototype._handleMessage=function(){this._s.hasValue&&(this._s.hasValue=!1,this._s.o.onNext(this._s.value)),this._s.atEnd&&this._s.o.onCompleted()},b.prototype.next=function(){this._handleMessage()},b.prototype.error=function(a){this._s.onError(a)},b.prototype.completed=function(){this._handleMessage()},b}(Mc),Xf=function(a){function b(b){this._s=b,a.call(this)}return Vb(b,a),b.prototype.next=function(a){this._s.hasValue=!0,this._s.value=a},b.prototype.error=function(a){this._s.o.onError(a)},b.prototype.completed=function(){this._s.atEnd=!0,this._s.sourceSubscription.dispose()},b}(Mc);Lc.sample=function(a,b){return oc(b)||(b=Ac),"number"==typeof a?new Vf(this,Of(a,b)):new Vf(this,a)};var Yf=Pa.TimeoutError=function(a){this.message=a||"Timeout has occurred",this.name="TimeoutError",Error.call(this)};Yf.prototype=Object.create(Error.prototype),Lc.timeout=function(){var a=arguments[0];if(a instanceof Date||"number"==typeof a)return Ba(this,a,arguments[1],arguments[2]);if(Rc.isObservable(a)||Xa(a))return Aa(this,a,arguments[1],arguments[2]);throw new Error("Invalid arguments")};var Zf=function(a){function b(b,c,d,e,f,g){this._state=b,this._cndFn=c,this._itrFn=d,this._resFn=e,this._timeFn=f,this._s=g,a.call(this)}function c(a,b){if(a.hasResult&&a.o.onNext(a.newState),a.first)a.first=!1;else if(a.newState=Za(a.self._itrFn)(a.newState),a.newState===Ya)return a.o.onError(a.newState.e);if(a.hasResult=Za(a.self._cndFn)(a.newState),a.hasResult===Ya)return a.o.onError(a.hasResult.e);if(a.hasResult){var c=Za(a.self._resFn)(a.newState);if(c===Ya)return a.o.onError(c.e);var d=Za(a.self._timeFn)(a.newState);if(d===Ya)return a.o.onError(d.e);b(a,d)}else a.o.onCompleted()}return Vb(b,a),b.prototype.subscribeCore=function(a){var b={o:a,self:this,newState:this._state,first:!0,hasValue:!1};return this._s.scheduleRecursiveFuture(b,new Date(this._s.now()),c)},b}(Sc);Rc.generateWithAbsoluteTime=function(a,b,c,d,e,f){return oc(f)||(f=Ac),new Zf(a,b,c,d,e,f)};var $f=function(a){function b(b,c,d,e,f,g){this._state=b,this._cndFn=c,this._itrFn=d,this._resFn=e,this._timeFn=f,this._s=g,a.call(this)}function c(a,b){if(a.hasResult&&a.o.onNext(a.newState),a.first)a.first=!1;else if(a.newState=Za(a.self._itrFn)(a.newState),a.newState===Ya)return a.o.onError(a.newState.e);if(a.hasResult=Za(a.self._cndFn)(a.newState),a.hasResult===Ya)return a.o.onError(a.hasResult.e);if(a.hasResult){var c=Za(a.self._resFn)(a.newState);if(c===Ya)return a.o.onError(c.e);var d=Za(a.self._timeFn)(a.newState);if(d===Ya)return a.o.onError(d.e);b(a,d)}else a.o.onCompleted()}return Vb(b,a),b.prototype.subscribeCore=function(a){var b={o:a,self:this,newState:this._state,first:!0,hasValue:!1};return this._s.scheduleRecursiveFuture(b,0,c)},b}(Sc);Rc.generateWithRelativeTime=function(a,b,c,d,e,f){return oc(f)||(f=Ac),new $f(a,b,c,d,e,f)};var _f=function(a){function b(b,c,d){this.source=b,this._dt=c,this._s=d,a.call(this)}function c(a,b){var c=b[0],d=b[1],e=b[2];e.setDisposable(c.subscribe(d))}return Vb(b,a),b.prototype.subscribeCore=function(a){var b=new hc;return b.setDisposable(this._s.scheduleFuture([this.source,a,b],this._dt,c)),b},b}(Sc);Lc.delaySubscription=function(a,b){return oc(b)||(b=Ac),new _f(this,a,b)};var ag=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new bg(a,this))},b}(Sc),bg=function(a){function b(b,c){this._o=b,this._s=c._s,this._d=c._d,this._q=[],a.call(this)}return Vb(b,a),b.prototype.next=function(a){var b=this._s.now();for(this._q.push({interval:b,value:a});this._q.length>0&&b-this._q[0].interval>=this._d;)this._o.onNext(this._q.shift().value)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){for(var a=this._s.now();this._q.length>0&&a-this._q[0].interval>=this._d;)this._o.onNext(this._q.shift().value);this._o.onCompleted()},b}(Mc);Lc.skipLastWithTime=function(a,b){return oc(b)||(b=Ac),new ag(this,a,b)};var cg=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new dg(a,this._d,this._s))},b}(Sc),dg=function(a){function b(b,c,d){this._o=b,this._d=c,this._s=d,this._q=[],a.call(this)}return Vb(b,a),b.prototype.next=function(a){var b=this._s.now();for(this._q.push({interval:b,value:a});this._q.length>0&&b-this._q[0].interval>=this._d;)this._q.shift()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){for(var a=this._s.now();this._q.length>0;){var b=this._q.shift();a-b.interval<=this._d&&this._o.onNext(b.value)}this._o.onCompleted()},b}(Mc);Lc.takeLastWithTime=function(a,b){return oc(b)||(b=Ac),new cg(this,a,b)},Lc.takeLastBufferWithTime=function(a,b){var c=this;return oc(b)||(b=Ac),new ug(function(d){var e=[];return c.subscribe(function(c){var d=b.now();for(e.push({interval:d,value:c});e.length>0&&d-e[0].interval>=a;)e.shift()},function(a){d.onError(a)},function(){for(var c=b.now(),f=[];e.length>0;){var g=e.shift();c-g.interval<=a&&f.push(g.value)}d.onNext(f),d.onCompleted()})},c)};var eg=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,a.call(this)}function c(a,b){b.onCompleted()}return Vb(b,a),b.prototype.subscribeCore=function(a){return new ic(this._s.scheduleFuture(a,this._d,c),this.source.subscribe(a))},b}(Sc);Lc.takeWithTime=function(a,b){return oc(b)||(b=Ac),new eg(this,a,b)};var fg=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,this._open=!1,a.call(this)}function c(a,b){b._open=!0}return Vb(b,a),b.prototype.subscribeCore=function(a){return new ic(this._s.scheduleFuture(this,this._d,c),this.source.subscribe(new gg(a,this)))},b}(Sc),gg=function(a){function b(b,c){this._o=b,this._p=c,a.call(this)}return Vb(b,a),b.prototype.next=function(a){this._p._open&&this._o.onNext(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Mc);Lc.skipWithTime=function(a,b){return oc(b)||(b=Ac),new fg(this,a,b)};var hg=function(a){function b(b,c,d){this.source=b,this._st=c,this._s=d,a.call(this)}function c(a,b){b._open=!0}return Vb(b,a),b.prototype.subscribeCore=function(a){return this._open=!1,new ic(this._s.scheduleFuture(this,this._st,c),this.source.subscribe(new ig(a,this)))},b}(Sc),ig=function(a){function b(b,c){this._o=b,this._p=c,a.call(this)}return Vb(b,a),b.prototype.next=function(a){this._p._open&&this._o.onNext(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Mc);Lc.skipUntilWithTime=function(a,b){return oc(b)||(b=Ac),new hg(this,a,b)},Lc.takeUntilWithTime=function(a,b){oc(b)||(b=Ac);var c=this;return new ug(function(d){return new ic(b.scheduleFuture(d,a,function(a,b){b.onCompleted()}),c.subscribe(d))},c)},Lc.throttle=function(a,b){oc(b)||(b=Ac);var c=+a||0;if(0>=c)throw new RangeError("windowDuration cannot be less or equal zero.");var d=this;return new ug(function(a){var e=0;return d.subscribe(function(d){var f=b.now();(0===e||f-e>=c)&&(e=f,a.onNext(d))},function(b){a.onError(b)},function(){a.onCompleted()})},d)};var jg=function(a){function b(b,c){this._o=b,this._xform=c,a.call(this)}return Vb(b,a),b.prototype.next=function(a){var b=Za(this._xform["@@transducer/step"]).call(this._xform,this._o,a);b===Ya&&this._o.onError(b.e)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._xform["@@transducer/result"](this._o)},b}(Mc);Lc.transduce=function(a){var b=this;return new ug(function(c){var d=a(Ca(c));return b.subscribe(new jg(c,d))},b)};var kg=function(a){function b(b){this.source=b,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){var b=new gc,c=new $b,d={hasCurrent:!1,isStopped:!1,o:a,g:c};return c.add(b),b.setDisposable(this.source.subscribe(new lg(d))),c},b}(Sc),lg=function(a){function b(b){this._s=b,a.call(this)}function c(b,c){this._s=b,this._i=c,a.call(this)}return Vb(b,a),b.prototype.next=function(a){if(!this._s.hasCurrent){this._s.hasCurrent=!0,Wa(a)&&(a=cd(a));var b=new gc;this._s.g.add(b),b.setDisposable(a.subscribe(new c(this._s,b)))}},b.prototype.error=function(a){this._s.o.onError(a)},b.prototype.completed=function(){this._s.isStopped=!0,!this._s.hasCurrent&&1===this._s.g.length&&this._s.o.onCompleted()},Vb(c,a),c.prototype.next=function(a){this._s.o.onNext(a)},c.prototype.error=function(a){this._s.o.onError(a)},c.prototype.completed=function(){this._s.g.remove(this._i),this._s.hasCurrent=!1,this._s.isStopped&&1===this._s.g.length&&this._s.o.onCompleted()},b}(Mc);Lc.switchFirst=function(){return new kg(this)},Lc.flatMapFirst=Lc.selectManyFirst=function(a,b,c){return new Tc(this,a,b,c).switchFirst()},Pa.Observable.prototype.flatMapWithMaxConcurrent=function(a,b,c,d){return new Tc(this,b,c,d).merge(a)};var mg=Pa.VirtualTimeScheduler=function(a){function b(b,c){this.clock=b,this.comparer=c,this.isEnabled=!1,this.queue=new Yb(1024), -a.call(this)}Vb(b,a);var c=b.prototype;return c.now=function(){return this.toAbsoluteTime(this.clock)},c.schedule=function(a,b){return this.scheduleAbsolute(a,this.clock,b)},c.scheduleFuture=function(a,b,c){var d=b instanceof Date?this.toRelativeTime(b-this.now()):this.toRelativeTime(b);return this.scheduleRelative(a,d,c)},c.add=ib,c.toAbsoluteTime=ib,c.toRelativeTime=ib,c.schedulePeriodic=function(a,b,c){var d=new rc(this,a,b,c);return d.start()},c.scheduleRelative=function(a,b,c){var d=this.add(this.clock,b);return this.scheduleAbsolute(a,d,c)},c.start=function(){if(!this.isEnabled){this.isEnabled=!0;do{var a=this.getNext();null!==a?(this.comparer(a.dueTime,this.clock)>0&&(this.clock=a.dueTime),a.invoke()):this.isEnabled=!1}while(this.isEnabled)}},c.stop=function(){this.isEnabled=!1},c.advanceTo=function(a){var b=this.comparer(this.clock,a);if(this.comparer(this.clock,a)>0)throw new fb;if(0!==b&&!this.isEnabled){this.isEnabled=!0;do{var c=this.getNext();null!==c&&this.comparer(c.dueTime,a)<=0?(this.comparer(c.dueTime,this.clock)>0&&(this.clock=c.dueTime),c.invoke()):this.isEnabled=!1}while(this.isEnabled);this.clock=a}},c.advanceBy=function(a){var b=this.add(this.clock,a),c=this.comparer(this.clock,b);if(c>0)throw new fb;0!==c&&this.advanceTo(b)},c.sleep=function(a){var b=this.add(this.clock,a);if(this.comparer(this.clock,b)>=0)throw new fb;this.clock=b},c.getNext=function(){for(;this.queue.length>0;){var a=this.queue.peek();if(!a.isCancelled())return a;this.queue.dequeue()}return null},c.scheduleAbsolute=function(a,b,c){function d(a,b){return e.queue.remove(f),c(a,b)}var e=this,f=new lc(this,a,d,b,this.comparer);return this.queue.enqueue(f),f.disposable},b}(mc);Pa.HistoricalScheduler=function(a){function b(b,c){var d=null==b?0:b,e=c||Ua;a.call(this,d,e)}Vb(b,a);var c=b.prototype;return c.add=function(a,b){return a+b},c.toAbsoluteTime=function(a){return new Date(a).getTime()},c.toRelativeTime=function(a){return a},b}(Pa.VirtualTimeScheduler),Da.prototype.equals=function(a){return a===this?!0:null==a?!1:"N"!==a.kind?!1:this.predicate(a.value)},Ea.prototype.equals=function(a){return a===this?!0:null==a?!1:"E"!==a.kind?!1:this.predicate(a.error)};var ng=Pa.ReactiveTest={created:100,subscribed:200,disposed:1e3,onNext:function(a,b){return"function"==typeof b?new og(a,new Da(b)):new og(a,Cc.createOnNext(b))},onError:function(a,b){return"function"==typeof b?new og(a,new Ea(b)):new og(a,Cc.createOnError(b))},onCompleted:function(a){return new og(a,Cc.createOnCompleted())},subscribe:function(a,b){return new pg(a,b)}},og=Pa.Recorded=function(a,b,c){this.time=a,this.value=b,this.comparer=c||Ta};og.prototype.equals=function(a){return this.time===a.time&&this.comparer(this.value,a.value)},og.prototype.toString=function(){return this.value.toString()+"@"+this.time};var pg=Pa.Subscription=function(a,b){this.subscribe=a,this.unsubscribe=b||Number.MAX_VALUE};pg.prototype.equals=function(a){return this.subscribe===a.subscribe&&this.unsubscribe===a.unsubscribe},pg.prototype.toString=function(){return"("+this.subscribe+", "+(this.unsubscribe===Number.MAX_VALUE?"Infinite":this.unsubscribe)+")"};var qg=Pa.MockDisposable=function(a){this.scheduler=a,this.disposes=[],this.disposes.push(this.scheduler.clock)};qg.prototype.dispose=function(){this.disposes.push(this.scheduler.clock)};var rg=function(a){function b(b){a.call(this),this.scheduler=b,this.messages=[]}Vb(b,a);var c=b.prototype;return c.onNext=function(a){this.messages.push(new og(this.scheduler.clock,Cc.createOnNext(a)))},c.onError=function(a){this.messages.push(new og(this.scheduler.clock,Cc.createOnError(a)))},c.onCompleted=function(){this.messages.push(new og(this.scheduler.clock,Cc.createOnCompleted()))},b}(Jc);Fa.prototype.then=function(b,c){var d=this;this.subscriptions.push(new pg(this.scheduler.clock));var e,f=this.subscriptions.length-1,g=Pa.Observer.create(function(c){var h=b(c);if(h&&"function"==typeof h.then)e=h;else{var i=d.scheduler.clock;e=new Fa(d.scheduler,[Pa.ReactiveTest.onNext(i,a),Pa.ReactiveTest.onCompleted(i)])}var j=d.observers.indexOf(g);d.observers.splice(j,1),d.subscriptions[f]=new pg(d.subscriptions[f].subscribe,d.scheduler.clock)},function(a){c(a);var b=d.observers.indexOf(g);d.observers.splice(b,1),d.subscriptions[f]=new pg(d.subscriptions[f].subscribe,d.scheduler.clock)});return this.observers.push(g),e||new Fa(this.scheduler,this.messages)};var sg=function(a){function b(b,c){a.call(this);var d,e,f=this;this.scheduler=b,this.messages=c,this.subscriptions=[],this.observers=[];for(var g=0,h=this.messages.length;h>g;g++)d=this.messages[g],e=d.value,function(a){b.scheduleAbsolute(null,d.time,function(){for(var b=f.observers.slice(0),c=0,d=b.length;d>c;c++)a.accept(b[c]);return cc})}(e)}return Vb(b,a),b.prototype._subscribe=function(a){var b=this;this.observers.push(a),this.subscriptions.push(new pg(this.scheduler.clock));var c=this.subscriptions.length-1;return bc(function(){var d=b.observers.indexOf(a);b.observers.splice(d,1),b.subscriptions[c]=new pg(b.subscriptions[c].subscribe,b.scheduler.clock)})},b}(Rc),tg=function(a){function b(b,c){a.call(this),this.scheduler=b,this.messages=c,this.subscriptions=[]}return Vb(b,a),b.prototype._subscribe=function(a){var b,c,d=this;this.subscriptions.push(new pg(this.scheduler.clock));for(var e=this.subscriptions.length-1,f=new $b,g=0,h=this.messages.length;h>g;g++)b=this.messages[g],c=b.value,function(c){f.add(d.scheduler.scheduleRelative(null,b.time,function(){return c.accept(a),cc}))}(c);return bc(function(){d.subscriptions[e]=new pg(d.subscriptions[e].subscribe,d.scheduler.clock),f.dispose()})},b}(Rc);Pa.TestScheduler=function(a){function b(a,b){return a>b?1:b>a?-1:0}function c(){a.call(this,0,b)}return Vb(c,a),c.prototype.scheduleAbsolute=function(b,c,d){return c<=this.clock&&(c=this.clock+1),a.prototype.scheduleAbsolute.call(this,b,c,d)},c.prototype.add=function(a,b){return a+b},c.prototype.toAbsoluteTime=function(a){return new Date(a).getTime()},c.prototype.toRelativeTime=function(a){return a},c.prototype.startScheduler=function(a,b){b||(b={}),null==b.created&&(b.created=ng.created),null==b.subscribed&&(b.subscribed=ng.subscribed),null==b.disposed&&(b.disposed=ng.disposed);var c,d,e=this.createObserver();return this.scheduleAbsolute(null,b.created,function(){return c=a(),cc}),this.scheduleAbsolute(null,b.subscribed,function(){return d=c.subscribe(e),cc}),this.scheduleAbsolute(null,b.disposed,function(){return d.dispose(),cc}),this.start(),e},c.prototype.createHotObservable=function(){var a,b=arguments.length;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new sg(this,a)},c.prototype.createColdObservable=function(){var a,b=arguments.length;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new tg(this,a)},c.prototype.createResolvedPromise=function(a,b){return new Fa(this,[Pa.ReactiveTest.onNext(a,b),Pa.ReactiveTest.onCompleted(a)])},c.prototype.createRejectedPromise=function(a,b){return new Fa(this,[Pa.ReactiveTest.onError(a,b)])},c.prototype.createObserver=function(){return new rg(this)},c}(mg);var ug=Pa.AnonymousObservable=function(a){function b(a){return a&&Xa(a.dispose)?a:Xa(a)?bc(a):cc}function c(a,c){var d=c[0],f=c[1],g=Za(f.__subscribe).call(f,d);g!==Ya||d.fail(Ya.e)||e(Ya.e),d.setDisposable(b(g))}function d(b,c){this.source=c,this.__subscribe=b,a.call(this)}return Vb(d,a),d.prototype._subscribe=function(a){var b=new vg(a),d=[b,this];return vc.scheduleRequired()?vc.schedule(d,c):c(null,d),b},d}(Rc),vg=function(a){function b(b){a.call(this),this.observer=b,this.m=new gc}Vb(b,a);var c=b.prototype;return c.next=function(a){var b=Za(this.observer.onNext).call(this.observer,a);b===Ya&&(this.dispose(),e(b.e))},c.error=function(a){var b=Za(this.observer.onError).call(this.observer,a);this.dispose(),b===Ya&&e(b.e)},c.completed=function(){var a=Za(this.observer.onCompleted).call(this.observer);this.dispose(),a===Ya&&e(a.e)},c.setDisposable=function(a){this.m.setDisposable(a)},c.getDisposable=function(){return this.m.getDisposable()},c.dispose=function(){a.prototype.dispose.call(this),this.m.dispose()},b}(Mc),wg=function(a){function b(b,c){this._m=b,this._u=c,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return new ic(this._m.getDisposable(),this._u.subscribe(a))},b}(Sc),xg=function(a){function b(b,c,d){a.call(this),this.key=b,this.underlyingObservable=d?new wg(d,c):c}return Vb(b,a),b.prototype._subscribe=function(a){return this.underlyingObservable.subscribe(a)},b}(Rc),yg=Pa.Subject=function(a){function b(){a.call(this),this.isDisposed=!1,this.isStopped=!1,this.observers=[],this.hasError=!1}return Vb(b,a),Wb(b.prototype,Jc.prototype,{_subscribe:function(a){return ec(this),this.isStopped?this.hasError?(a.onError(this.error),cc):(a.onCompleted(),cc):(this.observers.push(a),new zf(this,a))},hasObservers:function(){return ec(this),this.observers.length>0},onCompleted:function(){if(ec(this),!this.isStopped){this.isStopped=!0;for(var a=0,b=c(this.observers),d=b.length;d>a;a++)b[a].onCompleted();this.observers.length=0}},onError:function(a){if(ec(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;for(var b=0,d=c(this.observers),e=d.length;e>b;b++)d[b].onError(a);this.observers.length=0}},onNext:function(a){if(ec(this),!this.isStopped)for(var b=0,d=c(this.observers),e=d.length;e>b;b++)d[b].onNext(a)},dispose:function(){this.isDisposed=!0,this.observers=null}}),b.create=function(a,b){return new Cg(a,b)},b}(Rc),zg=Pa.AsyncSubject=function(a){function b(){a.call(this),this.isDisposed=!1,this.isStopped=!1,this.hasValue=!1,this.observers=[],this.hasError=!1}return Vb(b,a),Wb(b.prototype,Jc.prototype,{_subscribe:function(a){return ec(this),this.isStopped?(this.hasError?a.onError(this.error):this.hasValue?(a.onNext(this.value),a.onCompleted()):a.onCompleted(),cc):(this.observers.push(a),new zf(this,a))},hasObservers:function(){return ec(this),this.observers.length>0},onCompleted:function(){var a,b;if(ec(this),!this.isStopped){this.isStopped=!0;var d=c(this.observers),b=d.length;if(this.hasValue)for(a=0;b>a;a++){var e=d[a];e.onNext(this.value),e.onCompleted()}else for(a=0;b>a;a++)d[a].onCompleted();this.observers.length=0}},onError:function(a){if(ec(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var b=0,d=c(this.observers),e=d.length;e>b;b++)d[b].onError(a);this.observers.length=0}},onNext:function(a){ec(this),this.isStopped||(this.value=a,this.hasValue=!0)},dispose:function(){this.isDisposed=!0,this.observers=null,this.error=null,this.value=null}}),b}(Rc),Ag=Pa.BehaviorSubject=function(a){function b(b){a.call(this),this.value=b,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.hasError=!1}return Vb(b,a),Wb(b.prototype,Jc.prototype,{_subscribe:function(a){return ec(this),this.isStopped?(this.hasError?a.onError(this.error):a.onCompleted(),cc):(this.observers.push(a),a.onNext(this.value),new zf(this,a))},getValue:function(){return ec(this),this.hasError&&e(this.error),this.value},hasObservers:function(){return ec(this),this.observers.length>0},onCompleted:function(){if(ec(this),!this.isStopped){this.isStopped=!0;for(var a=0,b=c(this.observers),d=b.length;d>a;a++)b[a].onCompleted();this.observers.length=0}},onError:function(a){if(ec(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var b=0,d=c(this.observers),e=d.length;e>b;b++)d[b].onError(a);this.observers.length=0}},onNext:function(a){if(ec(this),!this.isStopped){this.value=a;for(var b=0,d=c(this.observers),e=d.length;e>b;b++)d[b].onNext(a)}},dispose:function(){this.isDisposed=!0,this.observers=null,this.value=null,this.error=null}}),b}(Rc),Bg=Pa.ReplaySubject=function(a){function b(a,b){return bc(function(){b.dispose(),!a.isDisposed&&a.observers.splice(a.observers.indexOf(b),1)})}function d(b,c,d){this.bufferSize=null==b?e:b,this.windowSize=null==c?e:c,this.scheduler=d||vc,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this)}var e=Math.pow(2,53)-1;return Vb(d,a),Wb(d.prototype,Jc.prototype,{_subscribe:function(a){ec(this);var c=new Pc(this.scheduler,a),d=b(this,c);this._trim(this.scheduler.now()),this.observers.push(c);for(var e=0,f=this.q.length;f>e;e++)c.onNext(this.q[e].value);return this.hasError?c.onError(this.error):this.isStopped&&c.onCompleted(),c.ensureActive(),d},hasObservers:function(){return ec(this),this.observers.length>0},_trim:function(a){for(;this.q.length>this.bufferSize;)this.q.shift();for(;this.q.length>0&&a-this.q[0].interval>this.windowSize;)this.q.shift()},onNext:function(a){if(ec(this),!this.isStopped){var b=this.scheduler.now();this.q.push({interval:b,value:a}),this._trim(b);for(var d=0,e=c(this.observers),f=e.length;f>d;d++){var g=e[d];g.onNext(a),g.ensureActive()}}},onError:function(a){if(ec(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;var b=this.scheduler.now();this._trim(b);for(var d=0,e=c(this.observers),f=e.length;f>d;d++){var g=e[d];g.onError(a),g.ensureActive()}this.observers.length=0}},onCompleted:function(){if(ec(this),!this.isStopped){this.isStopped=!0;var a=this.scheduler.now();this._trim(a);for(var b=0,d=c(this.observers),e=d.length;e>b;b++){var f=d[b];f.onCompleted(),f.ensureActive()}this.observers.length=0}},dispose:function(){this.isDisposed=!0,this.observers=null}}),d}(Rc),Cg=Pa.AnonymousSubject=function(a){function b(b,c){this.observer=b,this.observable=c,a.call(this)}return Vb(b,a),Wb(b.prototype,Jc.prototype,{_subscribe:function(a){return this.observable.subscribe(a)},onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),b}(Rc);Pa.Pauser=function(a){function b(){a.call(this)}return Vb(b,a),b.prototype.pause=function(){this.onNext(!1)},b.prototype.resume=function(){this.onNext(!0)},b}(yg),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Oa.Rx=Pa,define(function(){return Pa})):Ha&&Ia?Ma?(Ia.exports=Pa).Rx=Pa:Ha.Rx=Pa:Oa.Rx=Pa;var Dg=j()}).call(this); +return new d(this._del,b,e)},d.prototype.dispose=function(){this.isDisposed||(Xa(this._del)&&this._del(this._fn,this._ret),this.isDisposed=!0)},b}(Sc),rf=Rc.fromEventPattern=function(a,b,c){return new qf(a,b,c).publish().refCount()};Rc.startAsync=function(a){var b=Za(a)();return b===Ya?xd(b.e):cd(b)};var sf=function(a){function b(b,c){this.source=b,this.controller=new yg,c&&c.subscribe?this.pauser=this.controller.merge(c):this.pauser=this.controller,a.call(this)}return Vb(b,a),b.prototype._subscribe=function(a){var b=this.source.publish(),c=b.subscribe(a),d=cc,e=this.pauser.distinctUntilChanged().subscribe(function(a){a?d=b.connect():(d.dispose(),d=cc)});return new jc([c,d,e])},b.prototype.pause=function(){this.controller.onNext(!1)},b.prototype.resume=function(){this.controller.onNext(!0)},b}(Rc);Lc.pausable=function(a){return new sf(this,a)};var tf=function(b){function c(a,c){this.source=a,this.controller=new yg,c&&c.subscribe?this.pauser=this.controller.merge(c):this.pauser=this.controller,b.call(this)}return Vb(c,b),c.prototype._subscribe=function(b){function c(){for(;e.length>0;)b.onNext(e.shift())}var d,e=[],f=ia(this.source,this.pauser.startWith(!1).distinctUntilChanged(),function(a,b){return{data:a,shouldFire:b}}).subscribe(function(f){d!==a&&f.shouldFire!==d?(d=f.shouldFire,f.shouldFire&&c()):(d=f.shouldFire,f.shouldFire?b.onNext(f.data):e.push(f.data))},function(a){c(),b.onError(a)},function(){c(),b.onCompleted()});return f},c.prototype.pause=function(){this.controller.onNext(!1)},c.prototype.resume=function(){this.controller.onNext(!0)},c}(Rc);Lc.pausableBuffered=function(a){return new tf(this,a)};var uf=function(a){function b(b,c,d){a.call(this),this.subject=new vf(c,d),this.source=b.multicast(this.subject).refCount()}return Vb(b,a),b.prototype._subscribe=function(a){return this.source.subscribe(a)},b.prototype.request=function(a){return this.subject.request(null==a?-1:a)},b}(Rc),vf=function(a){function b(b,c){null==b&&(b=!0),a.call(this),this.subject=new yg,this.enableQueue=b,this.queue=b?[]:null,this.requestedCount=0,this.requestedDisposable=null,this.error=null,this.hasFailed=!1,this.hasCompleted=!1,this.scheduler=c||vc}return Vb(b,a),Wb(b.prototype,Jc,{_subscribe:function(a){return this.subject.subscribe(a)},onCompleted:function(){this.hasCompleted=!0,this.enableQueue&&0!==this.queue.length?this.queue.push(Cc.createOnCompleted()):(this.subject.onCompleted(),this.disposeCurrentRequest())},onError:function(a){this.hasFailed=!0,this.error=a,this.enableQueue&&0!==this.queue.length?this.queue.push(Cc.createOnError(a)):(this.subject.onError(a),this.disposeCurrentRequest())},onNext:function(a){this.requestedCount<=0?this.enableQueue&&this.queue.push(Cc.createOnNext(a)):(0===this.requestedCount--&&this.disposeCurrentRequest(),this.subject.onNext(a))},_processRequest:function(a){if(this.enableQueue)for(;this.queue.length>0&&(a>0||"N"!==this.queue[0].kind);){var b=this.queue.shift();b.accept(this.subject),"N"===b.kind?a--:(this.disposeCurrentRequest(),this.queue=[])}return a},request:function(a){this.disposeCurrentRequest();var b=this;return this.requestedDisposable=this.scheduler.schedule(a,function(a,c){var d=b._processRequest(c),e=b.hasCompleted||b.hasFailed;return!e&&d>0?(b.requestedCount=d,bc(function(){b.requestedCount=0})):void 0}),this.requestedDisposable},disposeCurrentRequest:function(){this.requestedDisposable&&(this.requestedDisposable.dispose(),this.requestedDisposable=null)}}),b}(Rc);Lc.controlled=function(a,b){return a&&oc(a)&&(b=a,a=!0),null==a&&(a=!0),new uf(this,a,b)};var wf=function(a){function b(b){a.call(this),this.source=b}function c(a,b){b.source.request(1)}Vb(b,a),b.prototype._subscribe=function(a){return this.subscription=this.source.subscribe(new d(a,this,this.subscription)),new ic(this.subscription,Ac.schedule(this,c))};var d=function(a){function c(b,c,d){a.call(this),this.observer=b,this.observable=c,this.cancel=d,this.scheduleDisposable=null}function d(a,b){b.observable.source.request(1)}return Vb(c,a),c.prototype.completed=function(){this.observer.onCompleted(),this.dispose()},c.prototype.error=function(a){this.observer.onError(a),this.dispose()},c.prototype.next=function(a){this.observer.onNext(a),this.scheduleDisposable=Ac.schedule(this,d)},b.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),this.scheduleDisposable&&(this.scheduleDisposable.dispose(),this.scheduleDisposable=null),a.prototype.dispose.call(this)},c}(Mc);return b}(Rc);uf.prototype.stopAndWait=function(){return new wf(this)};var xf=function(a){function b(b,c){a.call(this),this.source=b,this.windowSize=c}function c(a,b){b.source.request(b.windowSize)}Vb(b,a),b.prototype._subscribe=function(a){return this.subscription=this.source.subscribe(new d(a,this,this.subscription)),new ic(this.subscription,Ac.schedule(this,c))};var d=function(a){function b(b,c,d){this.observer=b,this.observable=c,this.cancel=d,this.received=0,this.scheduleDisposable=null,a.call(this)}function c(a,b){b.observable.source.request(b.observable.windowSize)}return Vb(b,a),b.prototype.completed=function(){this.observer.onCompleted(),this.dispose()},b.prototype.error=function(a){this.observer.onError(a),this.dispose()},b.prototype.next=function(a){this.observer.onNext(a),this.received=++this.received%this.observable.windowSize,0===this.received&&(this.scheduleDisposable=Ac.schedule(this,c))},b.prototype.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),this.scheduleDisposable&&(this.scheduleDisposable.dispose(),this.scheduleDisposable=null),a.prototype.dispose.call(this)},b}(Mc);return b}(Rc);uf.prototype.windowed=function(a){return new xf(this,a)},Lc.pipe=function(a){function b(){c.resume()}var c=this.pausableBuffered();return a.addListener("drain",b),c.subscribe(function(b){!a.write(String(b))&&c.pause()},function(b){a.emit("error",b)},function(){!a._isStdio&&a.end(),a.removeListener("drain",b)}),c.resume(),a};var yf=function(a){function b(b,c,d){this.source=b,this._fn1=c,this._fn2=d,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){var b=this.source.multicast(this._fn1());return new ic(this._fn2(b).subscribe(a),b.connect())},b}(Sc);Lc.multicast=function(a,b){return Xa(a)?new yf(this,a,b):new Bf(this,a)},Lc.publish=function(a){return a&&Xa(a)?this.multicast(function(){return new yg},a):this.multicast(new yg)},Lc.share=function(){return this.publish().refCount()},Lc.publishLast=function(a){return a&&Xa(a)?this.multicast(function(){return new zg},a):this.multicast(new zg)},Lc.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new Ag(b)},a):this.multicast(new Ag(a))},Lc.shareValue=function(a){return this.publishValue(a).refCount()},Lc.replay=function(a,b,c,d){return a&&Xa(a)?this.multicast(function(){return new Bg(b,c,d)},a):this.multicast(new Bg(b,c,d))},Lc.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};var zf=function(a,b){this._s=a,this._o=b};zf.prototype.dispose=function(){if(!this._s.isDisposed&&null!==this._o){var a=this._s.observers.indexOf(this._o);this._s.observers.splice(a,1),this._o=null}};var Af=function(a){function b(b){this.source=b,this._count=0,this._connectableSubscription=null,a.call(this)}function c(a,b){this._p=a,this._s=b,this.isDisposed=!1}return Vb(b,a),b.prototype.subscribeCore=function(a){var b=this.source.subscribe(a);return 1===++this._count&&(this._connectableSubscription=this.source.connect()),new c(this,b)},c.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this._s.dispose(),0===--this._p._count&&this._p._connectableSubscription.dispose())},b}(Sc),Bf=Pa.ConnectableObservable=function(a){function b(b,c){this.source=b,this._connection=null,this._source=b.asObservable(),this._subject=c,a.call(this)}function c(a,b){this._p=a,this._s=b}return Vb(b,a),c.prototype.dispose=function(){this._s&&(this._s.dispose(),this._s=null,this._p._connection=null)},b.prototype.connect=function(){if(!this._connection){var a=this._source.subscribe(this._subject);this._connection=new c(this,a)}return this._connection},b.prototype._subscribe=function(a){return this._subject.subscribe(a)},b.prototype.refCount=function(){return new Af(this)},b}(Rc);Lc.singleInstance=function(){function a(){return d||(d=!0,b=c["finally"](function(){d=!1}).publish().refCount()),b}var b,c=this,d=!1;return new ug(function(b){return a().subscribe(b)})},Lc.join=function(a,b,c,d){var e=this;return new ug(function(f){var g=new $b,h=!1,i=!1,j=0,k=0,l=new Lf,m=new Lf,n=function(a){f.onError(a)};return g.add(e.subscribe(function(a){var c=j++,e=new gc;l.set(c,a),g.add(e);var i=Za(b)(a);return i===Ya?f.onError(i.e):(e.setDisposable(i.take(1).subscribe(Qa,n,function(){l["delete"](c)&&0===l.size&&h&&f.onCompleted(),g.remove(e)})),void m.forEach(function(b){var c=Za(d)(a,b);return c===Ya?f.onError(c.e):void f.onNext(c)}))},n,function(){h=!0,(i||0===l.size)&&f.onCompleted()})),g.add(a.subscribe(function(a){var b=k++,e=new gc;m.set(b,a),g.add(e);var h=Za(c)(a);return h===Ya?f.onError(h.e):(e.setDisposable(h.take(1).subscribe(Qa,n,function(){m["delete"](b)&&0===m.size&&i&&f.onCompleted(),g.remove(e)})),void l.forEach(function(b){var c=Za(d)(b,a);return c===Ya?f.onError(c.e):void f.onNext(c)}))},n,function(){i=!0,(h||0===m.size)&&f.onCompleted()})),g},e)},Lc.groupJoin=function(a,b,c,d){var e=this;return new ug(function(f){function g(a){}var h=new $b,i=new kc(h),j=new Lf,k=new Lf,l=0,m=0,g=function(a){return function(b){b.onError(a)}};return h.add(e.subscribe(function(a){var c=new yg,e=l++;j.set(e,c);var m=Za(d)(a,Xb(c,i));if(m===Ya)return j.forEach(g(m.e)),f.onError(m.e);f.onNext(m),k.forEach(function(a){c.onNext(a)});var n=new gc;h.add(n);var o=Za(b)(a);return o===Ya?(j.forEach(g(o.e)),f.onError(o.e)):void n.setDisposable(o.take(1).subscribe(Qa,function(a){j.forEach(g(a)),f.onError(a)},function(){j["delete"](e)&&c.onCompleted(),h.remove(n)}))},function(a){j.forEach(g(a)),f.onError(a)},function(){f.onCompleted()})),h.add(a.subscribe(function(a){var b=m++;k.set(b,a);var d=new gc;h.add(d);var e=Za(c)(a);return e===Ya?(j.forEach(g(e.e)),f.onError(e.e)):(d.setDisposable(e.take(1).subscribe(Qa,function(a){j.forEach(g(a)),f.onError(a)},function(){k["delete"](b),h.remove(d)})),void j.forEach(function(b){b.onNext(a)}))},function(a){j.forEach(g(a)),f.onError(a)})),i},e)},Lc.buffer=function(){return this.window.apply(this,arguments).flatMap(O)},Lc.window=function(a,b){return 1===arguments.length&&"function"!=typeof arguments[0]?ka.call(this,a):"function"==typeof a?la.call(this,a):ja.call(this,a,b)};var Cf=function(a){function b(b){this.source=b,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Df(a))},b}(Sc),Df=function(a){function b(b){this._o=b,this._p=null,this._hp=!1,a.call(this)}return Vb(b,a),b.prototype.next=function(a){this._hp?this._o.onNext([this._p,a]):this._hp=!0,this._p=a},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Mc);Lc.pairwise=function(){return new Cf(this)},Lc.partition=function(a,b){var c=nb(a,b,3);return[this.filter(a,b),this.filter(function(a,b,d){return!c(a,b,d)})]};var Ef=function(a){function b(a,b){this.c=a,this.s=b}return Vb(b,a),b.prototype[jb]=function(){var a=this;return{next:function(){return a.c()?{done:!1,value:a.s}:{done:!0,value:void 0}}}},b}(Uc);Lc.letBind=Lc.let=function(a){return a(this)},Rc["if"]=function(a,b,c){return fd(function(){return c||(c=id()),Wa(b)&&(b=cd(b)),Wa(c)&&(c=cd(c)),"function"==typeof c.now&&(c=id(c)),a()?b:c})},Rc["for"]=Rc.forIn=function(a,b,c){return $c(a,b,c).concat()};var Ff=Rc["while"]=Rc.whileDo=function(a,b){return Wa(b)&&(b=cd(b)),ma(a,b).concat()};Lc.doWhile=function(a){return Hd([this,Ff(a,this)])},Rc["case"]=function(a,b,c){return fd(function(){Wa(c)&&(c=cd(c)),c||(c=id()),oc(c)&&(c=id(c));var d=b[a()];return Wa(d)&&(d=cd(d)),d||c})};var Gf=function(a){function b(b,c,d){this.source=b,this._fn=c,this._scheduler=d,a.call(this)}function c(a,b){var c,d=a[0],e=a[1];if(!(d.q.length>0))return void(d.isAcquired=!1);c=d.q.shift();var f=new gc;d.d.add(f),f.setDisposable(c.subscribe(new Hf(d,e,f))),b([d,e])}return Vb(b,a),b.prototype._ensureActive=function(a){var b=!1;a.q.length>0&&(b=!a.isAcquired,a.isAcquired=!0),b&&a.m.setDisposable(this._scheduler.scheduleRecursive([a,this],c))},b.prototype.subscribeCore=function(a){var b=new hc,c=new $b(b),d={q:[],m:b,d:c,activeCount:0,isAcquired:!1,o:a};return d.q.push(this.source),d.activeCount++,this._ensureActive(d),c},b}(Sc),Hf=function(a){function b(b,c,d){this._s=b,this._p=c,this._m1=d,a.call(this)}return Vb(b,a),b.prototype.next=function(a){this._s.o.onNext(a);var b=Za(this._p._fn)(a);return b===Ya?this._s.o.onError(b.e):(this._s.q.push(b),this._s.activeCount++,void this._p._ensureActive(this._s))},b.prototype.error=function(a){this._s.o.onError(a)},b.prototype.completed=function(){this._s.d.remove(this._m1),this._s.activeCount--,0===this._s.activeCount&&this._s.o.onCompleted()},b}(Mc);Lc.expand=function(a,b){return oc(b)||(b=vc),new Gf(this,a,b)};var If=function(a){function b(b,c){this._sources=b,this._cb=c,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){if(0===this._sources.length)return a.onCompleted(),cc;for(var b=this._sources.length,c={finished:!1,hasResults:new Array(b),hasCompleted:new Array(b),results:new Array(b)},d=new $b,e=0,f=this._sources.length;f>e;e++){var g=this._sources[e];Wa(g)&&(g=cd(g)),d.add(g.subscribe(new Jf(a,c,e,this._cb,d)))}return d},b}(Sc),Jf=function(a){function b(b,c,d,e,f){this._o=b,this._s=c,this._i=d,this._cb=e,this._subs=f,a.call(this)}return Vb(b,a),b.prototype.next=function(a){this._s.finished||(this._s.hasResults[this._i]=!0,this._s.results[this._i]=a)},b.prototype.error=function(a){this._s.finished=!0,this._o.onError(a),this._subs.dispose()},b.prototype.completed=function(){if(!this._s.finished){if(!this._s.hasResults[this._i])return this._o.onCompleted();this._s.hasCompleted[this._i]=!0;for(var a=0;ac;c++)b[c]=arguments[c];var d=Xa(b[a-1])?b.pop():L;return Array.isArray(b[0])&&(b=b[0]),new If(b,d)},Lc.forkJoin=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return Array.isArray(b[0])?b[0].unshift(this):b.unshift(this),Rc.forkJoin.apply(null,b)},Lc.manySelect=Lc.extend=function(a,b){oc(b)||(b=Pa.Scheduler.immediate);var c=this;return fd(function(){var d;return c.map(function(a){var b=new Kf(a);return d&&d.onNext(a),d=b,b}).tap(Qa,function(a){d&&d.onError(a)},function(){d&&d.onCompleted()}).observeOn(b).map(a)},c)};var Kf=function(a){function b(b){a.call(this),this.head=b,this.tail=new zg}return Vb(b,a),Wb(b.prototype,Jc,{_subscribe:function(a){var b=new $b;return b.add(vc.schedule(this,function(c,d){a.onNext(d.head),b.add(d.tail.mergeAll().subscribe(a))})),b},onCompleted:function(){this.onNext(Rc.empty())},onError:function(a){this.onNext(Rc["throw"](a))},onNext:function(a){this.tail.onNext(a),this.tail.onCompleted()}}),b}(Rc),Lf=Oa.Map||function(){function b(){this.size=0,this._values=[],this._keys=[]}return b.prototype["delete"]=function(a){var b=this._keys.indexOf(a);return-1===b?!1:(this._values.splice(b,1),this._keys.splice(b,1),this.size--,!0)},b.prototype.get=function(b){var c=this._keys.indexOf(b);return-1===c?a:this._values[c]},b.prototype.set=function(a,b){var c=this._keys.indexOf(a);return-1===c?(this._keys.push(a),this._values.push(b),this.size++):this._values[c]=b,this},b.prototype.forEach=function(a,b){for(var c=0;cf;f++)d.push(ra(a,this.expression.patterns[f],e));var h=new sa(d,qa(this,b),function(){for(var a=0,b=d.length;b>a;a++)d[a].removeActivePlan(h);c(h)});for(f=0,g=d.length;g>f;f++)d[f].addActivePlan(h);return h},sa.prototype.dequeue=function(){this.joinObservers.forEach(function(a){a.queue.shift()})},sa.prototype.match=function(){var a,b,c=!0;for(a=0,b=this.joinObserverArray.length;b>a;a++)if(0===this.joinObserverArray[a].queue.length){c=!1;break}if(c){var d=[],e=!1;for(a=0,b=this.joinObserverArray.length;b>a;a++)d.push(this.joinObserverArray[a].queue[0]),"C"===this.joinObserverArray[a].queue[0].kind&&(e=!0);if(e)this.onCompleted();else{this.dequeue();var f=[];for(a=0,b=d.length;ac;c++)b[c].match()}},c.error=Qa,c.completed=Qa,c.addActivePlan=function(a){this.activePlans.push(a)},c.subscribe=function(){this.subscription.setDisposable(this.source.materialize().subscribe(this))},c.removeActivePlan=function(a){this.activePlans.splice(this.activePlans.indexOf(a),1),0===this.activePlans.length&&this.dispose()},c.dispose=function(){a.prototype.dispose.call(this),this.isDisposed||(this.isDisposed=!0,this.subscription.dispose())},b}(Mc);Lc.and=function(a){return new na([this,a])},Lc.thenDo=function(a){return new na([this]).thenDo(a)},Rc.when=function(){var a,b=arguments.length;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new ug(function(b){var c=[],d=new Lf,e=Kc(function(a){b.onNext(a)},function(a){d.forEach(function(b){b.onError(a)}),b.onError(a)},function(a){b.onCompleted()});try{for(var f=0,g=a.length;g>f;f++)c.push(a[f].activate(d,e,function(a){var d=c.indexOf(a);c.splice(d,1),0===c.length&&b.onCompleted()}))}catch(h){return xd(h).subscribe(b)}var i=new $b;return d.forEach(function(a){a.subscribe(),i.add(a)}),i})};var Nf=function(a){function b(b,c){this._dt=b,this._s=c,a.call(this)}function c(a,b){b.onNext(0),b.onCompleted()}return Vb(b,a),b.prototype.subscribeCore=function(a){return this._s.scheduleFuture(a,this._dt,c)},b}(Sc),Of=Rc.interval=function(a,b){return va(a,a,oc(b)?b:Ac)};Rc.timer=function(b,c,d){var e;return oc(d)||(d=Ac),null!=c&&"number"==typeof c?e=c:oc(c)&&(d=c),(b instanceof Date||"number"==typeof b)&&e===a?ta(b,d):b instanceof Date&&e!==a?ua(b,c,d):va(b,e,d)};Lc.delay=function(){var a=arguments[0];if("number"==typeof a||a instanceof Date){var b=a,c=arguments[1];return oc(c)||(c=Ac),b instanceof Date?xa(this,b,c):wa(this,b,c)}if(Rc.isObservable(a)||Xa(a))return ya(this,a,arguments[1]);throw new Error("Invalid arguments")};var Pf=function(a){function b(b,c,d){oc(d)||(d=Ac),this.source=b,this._dt=c,this._s=d,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){var b=new hc;return new ic(this.source.subscribe(new Qf(a,this._dt,this._s,b)),b)},b}(Sc),Qf=function(a){function b(b,c,d,e){this._o=b,this._d=c,this._scheduler=d,this._c=e,this._v=null,this._hv=!1,this._id=0,a.call(this)}return Vb(b,a),b.prototype.next=function(a){this._hv=!0,this._v=a;var b=++this._id,c=new gc;this._c.setDisposable(c),c.setDisposable(this._scheduler.scheduleFuture(this,this._d,function(c,d){d._hv&&d._id===b&&d._o.onNext(a),d._hv=!1}))},b.prototype.error=function(a){this._c.dispose(),this._o.onError(a),this._hv=!1,this._id++},b.prototype.completed=function(){this._c.dispose(),this._hv&&this._o.onNext(this._v),this._o.onCompleted(),this._hv=!1,this._id++},b}(Mc);Lc.debounce=function(){if(Xa(arguments[0]))return za(this,arguments[0]);if("number"==typeof arguments[0])return new Pf(this,arguments[0],arguments[1]);throw new Error("Invalid arguments")},Lc.windowWithTime=function(a,b,c){var d,e=this;return null==b&&(d=a),oc(c)||(c=Ac),"number"==typeof b?d=b:oc(b)&&(d=a,c=b),new ug(function(b){function f(){var a=new gc,e=!1,g=!1;l.setDisposable(a),j===i?(e=!0,g=!0):i>j?e=!0:g=!0;var n=e?j:i,o=n-m;m=n,e&&(j+=d),g&&(i+=d),a.setDisposable(c.scheduleFuture(null,o,function(){if(g){var a=new yg;k.push(a),b.onNext(Xb(a,h))}e&&k.shift().onCompleted(),f()}))}var g,h,i=d,j=a,k=[],l=new hc,m=0;return g=new $b(l),h=new kc(g),k.push(new yg),b.onNext(Xb(k[0],h)),f(),g.add(e.subscribe(function(a){for(var b=0,c=k.length;c>b;b++)k[b].onNext(a)},function(a){for(var c=0,d=k.length;d>c;c++)k[c].onError(a);b.onError(a)},function(){for(var a=0,c=k.length;c>a;a++)k[a].onCompleted();b.onCompleted()})),h},e)},Lc.windowWithTimeOrCount=function(a,b,c){var d=this;return oc(c)||(c=Ac),new ug(function(e){function f(b){var d=new gc;g.setDisposable(d),d.setDisposable(c.scheduleFuture(null,a,function(){if(b===k){j=0;var a=++k;l.onCompleted(),l=new yg,e.onNext(Xb(l,i)),f(a)}}))}var g=new hc,h=new $b(g),i=new kc(h),j=0,k=0,l=new yg;return e.onNext(Xb(l,i)),f(0),h.add(d.subscribe(function(a){var c=0,d=!1;l.onNext(a),++j===b&&(d=!0,j=0,c=++k,l.onCompleted(),l=new yg,e.onNext(Xb(l,i))),d&&f(c)},function(a){l.onError(a),e.onError(a)},function(){l.onCompleted(),e.onCompleted()})),i},d)},Lc.bufferWithTime=function(a,b,c){return this.windowWithTime(a,b,c).flatMap(O)},Lc.bufferWithTimeOrCount=function(a,b,c){return this.windowWithTimeOrCount(a,b,c).flatMap(O)};var Rf=function(a){function b(b,c){this.source=b,this._s=c,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Sf(a,this._s))},b}(Sc),Sf=function(a){function b(b,c){this._o=b,this._s=c,this._l=c.now(),a.call(this)}return Vb(b,a),b.prototype.next=function(a){var b=this._s.now(),c=b-this._l;this._l=b,this._o.onNext({value:a,interval:c})},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Mc);Lc.timeInterval=function(a){return oc(a)||(a=Ac),new Rf(this,a)};var Tf=function(a){function b(b,c){this.source=b,this._s=c,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Uf(a,this._s))},b}(Sc),Uf=function(a){function b(b,c){this._o=b,this._s=c,a.call(this)}return Vb(b,a),b.prototype.next=function(a){this._o.onNext({value:a,timestamp:this._s.now()})},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Mc);Lc.timestamp=function(a){return oc(a)||(a=Ac),new Tf(this,a)};var Vf=function(a){function b(b,c){this.source=b,this._sampler=c,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){var b={o:a,atEnd:!1,value:null,hasValue:!1,sourceSubscription:new gc};return b.sourceSubscription.setDisposable(this.source.subscribe(new Xf(b))),new ic(b.sourceSubscription,this._sampler.subscribe(new Wf(b)))},b}(Sc),Wf=function(a){function b(b){this._s=b,a.call(this)}return Vb(b,a),b.prototype._handleMessage=function(){this._s.hasValue&&(this._s.hasValue=!1,this._s.o.onNext(this._s.value)),this._s.atEnd&&this._s.o.onCompleted()},b.prototype.next=function(){this._handleMessage()},b.prototype.error=function(a){this._s.onError(a)},b.prototype.completed=function(){this._handleMessage()},b}(Mc),Xf=function(a){function b(b){this._s=b,a.call(this)}return Vb(b,a),b.prototype.next=function(a){this._s.hasValue=!0,this._s.value=a},b.prototype.error=function(a){this._s.o.onError(a)},b.prototype.completed=function(){this._s.atEnd=!0,this._s.sourceSubscription.dispose()},b}(Mc);Lc.sample=function(a,b){return oc(b)||(b=Ac),"number"==typeof a?new Vf(this,Of(a,b)):new Vf(this,a)};var Yf=Pa.TimeoutError=function(a){this.message=a||"Timeout has occurred",this.name="TimeoutError",Error.call(this)};Yf.prototype=Object.create(Error.prototype),Lc.timeout=function(){var a=arguments[0];if(a instanceof Date||"number"==typeof a)return Ba(this,a,arguments[1],arguments[2]);if(Rc.isObservable(a)||Xa(a))return Aa(this,a,arguments[1],arguments[2]);throw new Error("Invalid arguments")};var Zf=function(a){function b(b,c,d,e,f,g){this._state=b,this._cndFn=c,this._itrFn=d,this._resFn=e,this._timeFn=f,this._s=g,a.call(this)}function c(a,b){if(a.hasResult&&a.o.onNext(a.result),a.first)a.first=!1;else if(a.newState=Za(a.self._itrFn)(a.newState),a.newState===Ya)return a.o.onError(a.newState.e);if(a.hasResult=Za(a.self._cndFn)(a.newState),a.hasResult===Ya)return a.o.onError(a.hasResult.e);if(a.hasResult){if(a.result=Za(a.self._resFn)(a.newState),a.result===Ya)return a.o.onError(a.result.e);var c=Za(a.self._timeFn)(a.newState);if(c===Ya)return a.o.onError(c.e);b(a,c)}else a.o.onCompleted()}return Vb(b,a),b.prototype.subscribeCore=function(a){var b={o:a,self:this,newState:this._state,first:!0,hasResult:!1};return this._s.scheduleRecursiveFuture(b,new Date(this._s.now()),c)},b}(Sc);Rc.generateWithAbsoluteTime=function(a,b,c,d,e,f){return oc(f)||(f=Ac),new Zf(a,b,c,d,e,f)};var $f=function(a){function b(b,c,d,e,f,g){this._state=b,this._cndFn=c,this._itrFn=d,this._resFn=e,this._timeFn=f,this._s=g,a.call(this)}function c(a,b){if(a.hasResult&&a.o.onNext(a.result),a.first)a.first=!1;else if(a.newState=Za(a.self._itrFn)(a.newState),a.newState===Ya)return a.o.onError(a.newState.e);if(a.hasResult=Za(a.self._cndFn)(a.newState),a.hasResult===Ya)return a.o.onError(a.hasResult.e);if(a.hasResult){if(a.result=Za(a.self._resFn)(a.newState),a.result===Ya)return a.o.onError(a.result.e);var c=Za(a.self._timeFn)(a.newState);if(c===Ya)return a.o.onError(c.e);b(a,c)}else a.o.onCompleted()}return Vb(b,a),b.prototype.subscribeCore=function(a){var b={o:a,self:this,newState:this._state,first:!0,hasResult:!1};return this._s.scheduleRecursiveFuture(b,0,c)},b}(Sc);Rc.generateWithRelativeTime=function(a,b,c,d,e,f){return oc(f)||(f=Ac),new $f(a,b,c,d,e,f)};var _f=function(a){function b(b,c,d){this.source=b,this._dt=c,this._s=d,a.call(this)}function c(a,b){var c=b[0],d=b[1],e=b[2];e.setDisposable(c.subscribe(d))}return Vb(b,a),b.prototype.subscribeCore=function(a){var b=new hc;return b.setDisposable(this._s.scheduleFuture([this.source,a,b],this._dt,c)),b},b}(Sc);Lc.delaySubscription=function(a,b){return oc(b)||(b=Ac),new _f(this,a,b)};var ag=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new bg(a,this))},b}(Sc),bg=function(a){function b(b,c){this._o=b,this._s=c._s,this._d=c._d,this._q=[],a.call(this)}return Vb(b,a),b.prototype.next=function(a){var b=this._s.now();for(this._q.push({interval:b,value:a});this._q.length>0&&b-this._q[0].interval>=this._d;)this._o.onNext(this._q.shift().value)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){for(var a=this._s.now();this._q.length>0&&a-this._q[0].interval>=this._d;)this._o.onNext(this._q.shift().value);this._o.onCompleted()},b}(Mc);Lc.skipLastWithTime=function(a,b){return oc(b)||(b=Ac),new ag(this,a,b)};var cg=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new dg(a,this._d,this._s))},b}(Sc),dg=function(a){function b(b,c,d){this._o=b,this._d=c,this._s=d,this._q=[],a.call(this)}return Vb(b,a),b.prototype.next=function(a){var b=this._s.now();for(this._q.push({interval:b,value:a});this._q.length>0&&b-this._q[0].interval>=this._d;)this._q.shift()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){for(var a=this._s.now();this._q.length>0;){var b=this._q.shift();a-b.interval<=this._d&&this._o.onNext(b.value)}this._o.onCompleted()},b}(Mc);Lc.takeLastWithTime=function(a,b){return oc(b)||(b=Ac),new cg(this,a,b)},Lc.takeLastBufferWithTime=function(a,b){var c=this;return oc(b)||(b=Ac),new ug(function(d){var e=[];return c.subscribe(function(c){var d=b.now();for(e.push({interval:d,value:c});e.length>0&&d-e[0].interval>=a;)e.shift()},function(a){d.onError(a)},function(){for(var c=b.now(),f=[];e.length>0;){var g=e.shift();c-g.interval<=a&&f.push(g.value)}d.onNext(f),d.onCompleted()})},c)};var eg=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,a.call(this)}function c(a,b){b.onCompleted()}return Vb(b,a),b.prototype.subscribeCore=function(a){return new ic(this._s.scheduleFuture(a,this._d,c),this.source.subscribe(a))},b}(Sc);Lc.takeWithTime=function(a,b){return oc(b)||(b=Ac),new eg(this,a,b)};var fg=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,this._open=!1,a.call(this)}function c(a,b){b._open=!0}return Vb(b,a),b.prototype.subscribeCore=function(a){return new ic(this._s.scheduleFuture(this,this._d,c),this.source.subscribe(new gg(a,this)))},b}(Sc),gg=function(a){function b(b,c){this._o=b,this._p=c,a.call(this)}return Vb(b,a),b.prototype.next=function(a){this._p._open&&this._o.onNext(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Mc);Lc.skipWithTime=function(a,b){return oc(b)||(b=Ac),new fg(this,a,b)};var hg=function(a){function b(b,c,d){this.source=b,this._st=c,this._s=d,a.call(this)}function c(a,b){b._open=!0}return Vb(b,a),b.prototype.subscribeCore=function(a){return this._open=!1,new ic(this._s.scheduleFuture(this,this._st,c),this.source.subscribe(new ig(a,this)))},b}(Sc),ig=function(a){function b(b,c){this._o=b,this._p=c,a.call(this)}return Vb(b,a),b.prototype.next=function(a){this._p._open&&this._o.onNext(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(Mc);Lc.skipUntilWithTime=function(a,b){return oc(b)||(b=Ac),new hg(this,a,b)},Lc.takeUntilWithTime=function(a,b){oc(b)||(b=Ac);var c=this;return new ug(function(d){return new ic(b.scheduleFuture(d,a,function(a,b){b.onCompleted()}),c.subscribe(d))},c)},Lc.throttle=function(a,b){oc(b)||(b=Ac);var c=+a||0;if(0>=c)throw new RangeError("windowDuration cannot be less or equal zero.");var d=this;return new ug(function(a){var e=0;return d.subscribe(function(d){var f=b.now();(0===e||f-e>=c)&&(e=f,a.onNext(d))},function(b){a.onError(b)},function(){a.onCompleted()})},d)};var jg=function(a){function b(b,c){this._o=b,this._xform=c,a.call(this)}return Vb(b,a),b.prototype.next=function(a){var b=Za(this._xform["@@transducer/step"]).call(this._xform,this._o,a);b===Ya&&this._o.onError(b.e)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._xform["@@transducer/result"](this._o)},b}(Mc);Lc.transduce=function(a){var b=this;return new ug(function(c){var d=a(Ca(c));return b.subscribe(new jg(c,d))},b)};var kg=function(a){function b(b){this.source=b,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){var b=new gc,c=new $b,d={hasCurrent:!1,isStopped:!1,o:a,g:c};return c.add(b),b.setDisposable(this.source.subscribe(new lg(d))),c},b}(Sc),lg=function(a){function b(b){this._s=b,a.call(this)}function c(b,c){this._s=b,this._i=c,a.call(this)}return Vb(b,a),b.prototype.next=function(a){if(!this._s.hasCurrent){this._s.hasCurrent=!0,Wa(a)&&(a=cd(a));var b=new gc;this._s.g.add(b),b.setDisposable(a.subscribe(new c(this._s,b)))}},b.prototype.error=function(a){this._s.o.onError(a)},b.prototype.completed=function(){this._s.isStopped=!0,!this._s.hasCurrent&&1===this._s.g.length&&this._s.o.onCompleted()},Vb(c,a),c.prototype.next=function(a){this._s.o.onNext(a)},c.prototype.error=function(a){this._s.o.onError(a)},c.prototype.completed=function(){this._s.g.remove(this._i),this._s.hasCurrent=!1,this._s.isStopped&&1===this._s.g.length&&this._s.o.onCompleted()},b}(Mc);Lc.switchFirst=function(){return new kg(this)},Lc.flatMapFirst=Lc.selectManyFirst=function(a,b,c){return new Tc(this,a,b,c).switchFirst()},Pa.Observable.prototype.flatMapWithMaxConcurrent=function(a,b,c,d){return new Tc(this,b,c,d).merge(a)};var mg=Pa.VirtualTimeScheduler=function(a){function b(b,c){this.clock=b,this.comparer=c, +this.isEnabled=!1,this.queue=new Yb(1024),a.call(this)}Vb(b,a);var c=b.prototype;return c.now=function(){return this.toAbsoluteTime(this.clock)},c.schedule=function(a,b){return this.scheduleAbsolute(a,this.clock,b)},c.scheduleFuture=function(a,b,c){var d=b instanceof Date?this.toRelativeTime(b-this.now()):this.toRelativeTime(b);return this.scheduleRelative(a,d,c)},c.add=ib,c.toAbsoluteTime=ib,c.toRelativeTime=ib,c.schedulePeriodic=function(a,b,c){var d=new rc(this,a,b,c);return d.start()},c.scheduleRelative=function(a,b,c){var d=this.add(this.clock,b);return this.scheduleAbsolute(a,d,c)},c.start=function(){if(!this.isEnabled){this.isEnabled=!0;do{var a=this.getNext();null!==a?(this.comparer(a.dueTime,this.clock)>0&&(this.clock=a.dueTime),a.invoke()):this.isEnabled=!1}while(this.isEnabled)}},c.stop=function(){this.isEnabled=!1},c.advanceTo=function(a){var b=this.comparer(this.clock,a);if(this.comparer(this.clock,a)>0)throw new fb;if(0!==b&&!this.isEnabled){this.isEnabled=!0;do{var c=this.getNext();null!==c&&this.comparer(c.dueTime,a)<=0?(this.comparer(c.dueTime,this.clock)>0&&(this.clock=c.dueTime),c.invoke()):this.isEnabled=!1}while(this.isEnabled);this.clock=a}},c.advanceBy=function(a){var b=this.add(this.clock,a),c=this.comparer(this.clock,b);if(c>0)throw new fb;0!==c&&this.advanceTo(b)},c.sleep=function(a){var b=this.add(this.clock,a);if(this.comparer(this.clock,b)>=0)throw new fb;this.clock=b},c.getNext=function(){for(;this.queue.length>0;){var a=this.queue.peek();if(!a.isCancelled())return a;this.queue.dequeue()}return null},c.scheduleAbsolute=function(a,b,c){function d(a,b){return e.queue.remove(f),c(a,b)}var e=this,f=new lc(this,a,d,b,this.comparer);return this.queue.enqueue(f),f.disposable},b}(mc);Pa.HistoricalScheduler=function(a){function b(b,c){var d=null==b?0:b,e=c||Ua;a.call(this,d,e)}Vb(b,a);var c=b.prototype;return c.add=function(a,b){return a+b},c.toAbsoluteTime=function(a){return new Date(a).getTime()},c.toRelativeTime=function(a){return a},b}(Pa.VirtualTimeScheduler),Da.prototype.equals=function(a){return a===this?!0:null==a?!1:"N"!==a.kind?!1:this.predicate(a.value)},Ea.prototype.equals=function(a){return a===this?!0:null==a?!1:"E"!==a.kind?!1:this.predicate(a.error)};var ng=Pa.ReactiveTest={created:100,subscribed:200,disposed:1e3,onNext:function(a,b){return"function"==typeof b?new og(a,new Da(b)):new og(a,Cc.createOnNext(b))},onError:function(a,b){return"function"==typeof b?new og(a,new Ea(b)):new og(a,Cc.createOnError(b))},onCompleted:function(a){return new og(a,Cc.createOnCompleted())},subscribe:function(a,b){return new pg(a,b)}},og=Pa.Recorded=function(a,b,c){this.time=a,this.value=b,this.comparer=c||Ta};og.prototype.equals=function(a){return this.time===a.time&&this.comparer(this.value,a.value)},og.prototype.toString=function(){return this.value.toString()+"@"+this.time};var pg=Pa.Subscription=function(a,b){this.subscribe=a,this.unsubscribe=b||Number.MAX_VALUE};pg.prototype.equals=function(a){return this.subscribe===a.subscribe&&this.unsubscribe===a.unsubscribe},pg.prototype.toString=function(){return"("+this.subscribe+", "+(this.unsubscribe===Number.MAX_VALUE?"Infinite":this.unsubscribe)+")"};var qg=Pa.MockDisposable=function(a){this.scheduler=a,this.disposes=[],this.disposes.push(this.scheduler.clock)};qg.prototype.dispose=function(){this.disposes.push(this.scheduler.clock)};var rg=function(a){function b(b){a.call(this),this.scheduler=b,this.messages=[]}Vb(b,a);var c=b.prototype;return c.onNext=function(a){this.messages.push(new og(this.scheduler.clock,Cc.createOnNext(a)))},c.onError=function(a){this.messages.push(new og(this.scheduler.clock,Cc.createOnError(a)))},c.onCompleted=function(){this.messages.push(new og(this.scheduler.clock,Cc.createOnCompleted()))},b}(Jc);Fa.prototype.then=function(b,c){var d=this;this.subscriptions.push(new pg(this.scheduler.clock));var e,f=this.subscriptions.length-1,g=Pa.Observer.create(function(c){var h=b(c);if(h&&"function"==typeof h.then)e=h;else{var i=d.scheduler.clock;e=new Fa(d.scheduler,[Pa.ReactiveTest.onNext(i,a),Pa.ReactiveTest.onCompleted(i)])}var j=d.observers.indexOf(g);d.observers.splice(j,1),d.subscriptions[f]=new pg(d.subscriptions[f].subscribe,d.scheduler.clock)},function(a){c(a);var b=d.observers.indexOf(g);d.observers.splice(b,1),d.subscriptions[f]=new pg(d.subscriptions[f].subscribe,d.scheduler.clock)});return this.observers.push(g),e||new Fa(this.scheduler,this.messages)};var sg=function(a){function b(b,c){a.call(this);var d,e,f=this;this.scheduler=b,this.messages=c,this.subscriptions=[],this.observers=[];for(var g=0,h=this.messages.length;h>g;g++)d=this.messages[g],e=d.value,function(a){b.scheduleAbsolute(null,d.time,function(){for(var b=f.observers.slice(0),c=0,d=b.length;d>c;c++)a.accept(b[c]);return cc})}(e)}return Vb(b,a),b.prototype._subscribe=function(a){var b=this;this.observers.push(a),this.subscriptions.push(new pg(this.scheduler.clock));var c=this.subscriptions.length-1;return bc(function(){var d=b.observers.indexOf(a);b.observers.splice(d,1),b.subscriptions[c]=new pg(b.subscriptions[c].subscribe,b.scheduler.clock)})},b}(Rc),tg=function(a){function b(b,c){a.call(this),this.scheduler=b,this.messages=c,this.subscriptions=[]}return Vb(b,a),b.prototype._subscribe=function(a){var b,c,d=this;this.subscriptions.push(new pg(this.scheduler.clock));for(var e=this.subscriptions.length-1,f=new $b,g=0,h=this.messages.length;h>g;g++)b=this.messages[g],c=b.value,function(c){f.add(d.scheduler.scheduleRelative(null,b.time,function(){return c.accept(a),cc}))}(c);return bc(function(){d.subscriptions[e]=new pg(d.subscriptions[e].subscribe,d.scheduler.clock),f.dispose()})},b}(Rc);Pa.TestScheduler=function(a){function b(a,b){return a>b?1:b>a?-1:0}function c(){a.call(this,0,b)}return Vb(c,a),c.prototype.scheduleAbsolute=function(b,c,d){return c<=this.clock&&(c=this.clock+1),a.prototype.scheduleAbsolute.call(this,b,c,d)},c.prototype.add=function(a,b){return a+b},c.prototype.toAbsoluteTime=function(a){return new Date(a).getTime()},c.prototype.toRelativeTime=function(a){return a},c.prototype.startScheduler=function(a,b){b||(b={}),null==b.created&&(b.created=ng.created),null==b.subscribed&&(b.subscribed=ng.subscribed),null==b.disposed&&(b.disposed=ng.disposed);var c,d,e=this.createObserver();return this.scheduleAbsolute(null,b.created,function(){return c=a(),cc}),this.scheduleAbsolute(null,b.subscribed,function(){return d=c.subscribe(e),cc}),this.scheduleAbsolute(null,b.disposed,function(){return d.dispose(),cc}),this.start(),e},c.prototype.createHotObservable=function(){var a,b=arguments.length;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new sg(this,a)},c.prototype.createColdObservable=function(){var a,b=arguments.length;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new tg(this,a)},c.prototype.createResolvedPromise=function(a,b){return new Fa(this,[Pa.ReactiveTest.onNext(a,b),Pa.ReactiveTest.onCompleted(a)])},c.prototype.createRejectedPromise=function(a,b){return new Fa(this,[Pa.ReactiveTest.onError(a,b)])},c.prototype.createObserver=function(){return new rg(this)},c}(mg);var ug=Pa.AnonymousObservable=function(a){function b(a){return a&&Xa(a.dispose)?a:Xa(a)?bc(a):cc}function c(a,c){var d=c[0],f=c[1],g=Za(f.__subscribe).call(f,d);g!==Ya||d.fail(Ya.e)||e(Ya.e),d.setDisposable(b(g))}function d(b,c){this.source=c,this.__subscribe=b,a.call(this)}return Vb(d,a),d.prototype._subscribe=function(a){var b=new vg(a),d=[b,this];return vc.scheduleRequired()?vc.schedule(d,c):c(null,d),b},d}(Rc),vg=function(a){function b(b){a.call(this),this.observer=b,this.m=new gc}Vb(b,a);var c=b.prototype;return c.next=function(a){var b=Za(this.observer.onNext).call(this.observer,a);b===Ya&&(this.dispose(),e(b.e))},c.error=function(a){var b=Za(this.observer.onError).call(this.observer,a);this.dispose(),b===Ya&&e(b.e)},c.completed=function(){var a=Za(this.observer.onCompleted).call(this.observer);this.dispose(),a===Ya&&e(a.e)},c.setDisposable=function(a){this.m.setDisposable(a)},c.getDisposable=function(){return this.m.getDisposable()},c.dispose=function(){a.prototype.dispose.call(this),this.m.dispose()},b}(Mc),wg=function(a){function b(b,c){this._m=b,this._u=c,a.call(this)}return Vb(b,a),b.prototype.subscribeCore=function(a){return new ic(this._m.getDisposable(),this._u.subscribe(a))},b}(Sc),xg=function(a){function b(b,c,d){a.call(this),this.key=b,this.underlyingObservable=d?new wg(d,c):c}return Vb(b,a),b.prototype._subscribe=function(a){return this.underlyingObservable.subscribe(a)},b}(Rc),yg=Pa.Subject=function(a){function b(){a.call(this),this.isDisposed=!1,this.isStopped=!1,this.observers=[],this.hasError=!1}return Vb(b,a),Wb(b.prototype,Jc.prototype,{_subscribe:function(a){return ec(this),this.isStopped?this.hasError?(a.onError(this.error),cc):(a.onCompleted(),cc):(this.observers.push(a),new zf(this,a))},hasObservers:function(){return ec(this),this.observers.length>0},onCompleted:function(){if(ec(this),!this.isStopped){this.isStopped=!0;for(var a=0,b=c(this.observers),d=b.length;d>a;a++)b[a].onCompleted();this.observers.length=0}},onError:function(a){if(ec(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;for(var b=0,d=c(this.observers),e=d.length;e>b;b++)d[b].onError(a);this.observers.length=0}},onNext:function(a){if(ec(this),!this.isStopped)for(var b=0,d=c(this.observers),e=d.length;e>b;b++)d[b].onNext(a)},dispose:function(){this.isDisposed=!0,this.observers=null}}),b.create=function(a,b){return new Cg(a,b)},b}(Rc),zg=Pa.AsyncSubject=function(a){function b(){a.call(this),this.isDisposed=!1,this.isStopped=!1,this.hasValue=!1,this.observers=[],this.hasError=!1}return Vb(b,a),Wb(b.prototype,Jc.prototype,{_subscribe:function(a){return ec(this),this.isStopped?(this.hasError?a.onError(this.error):this.hasValue?(a.onNext(this.value),a.onCompleted()):a.onCompleted(),cc):(this.observers.push(a),new zf(this,a))},hasObservers:function(){return ec(this),this.observers.length>0},onCompleted:function(){var a,b;if(ec(this),!this.isStopped){this.isStopped=!0;var d=c(this.observers),b=d.length;if(this.hasValue)for(a=0;b>a;a++){var e=d[a];e.onNext(this.value),e.onCompleted()}else for(a=0;b>a;a++)d[a].onCompleted();this.observers.length=0}},onError:function(a){if(ec(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var b=0,d=c(this.observers),e=d.length;e>b;b++)d[b].onError(a);this.observers.length=0}},onNext:function(a){ec(this),this.isStopped||(this.value=a,this.hasValue=!0)},dispose:function(){this.isDisposed=!0,this.observers=null,this.error=null,this.value=null}}),b}(Rc),Ag=Pa.BehaviorSubject=function(a){function b(b){a.call(this),this.value=b,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.hasError=!1}return Vb(b,a),Wb(b.prototype,Jc.prototype,{_subscribe:function(a){return ec(this),this.isStopped?(this.hasError?a.onError(this.error):a.onCompleted(),cc):(this.observers.push(a),a.onNext(this.value),new zf(this,a))},getValue:function(){return ec(this),this.hasError&&e(this.error),this.value},hasObservers:function(){return ec(this),this.observers.length>0},onCompleted:function(){if(ec(this),!this.isStopped){this.isStopped=!0;for(var a=0,b=c(this.observers),d=b.length;d>a;a++)b[a].onCompleted();this.observers.length=0}},onError:function(a){if(ec(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var b=0,d=c(this.observers),e=d.length;e>b;b++)d[b].onError(a);this.observers.length=0}},onNext:function(a){if(ec(this),!this.isStopped){this.value=a;for(var b=0,d=c(this.observers),e=d.length;e>b;b++)d[b].onNext(a)}},dispose:function(){this.isDisposed=!0,this.observers=null,this.value=null,this.error=null}}),b}(Rc),Bg=Pa.ReplaySubject=function(a){function b(a,b){return bc(function(){b.dispose(),!a.isDisposed&&a.observers.splice(a.observers.indexOf(b),1)})}function d(b,c,d){this.bufferSize=null==b?e:b,this.windowSize=null==c?e:c,this.scheduler=d||vc,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this)}var e=Math.pow(2,53)-1;return Vb(d,a),Wb(d.prototype,Jc.prototype,{_subscribe:function(a){ec(this);var c=new Pc(this.scheduler,a),d=b(this,c);this._trim(this.scheduler.now()),this.observers.push(c);for(var e=0,f=this.q.length;f>e;e++)c.onNext(this.q[e].value);return this.hasError?c.onError(this.error):this.isStopped&&c.onCompleted(),c.ensureActive(),d},hasObservers:function(){return ec(this),this.observers.length>0},_trim:function(a){for(;this.q.length>this.bufferSize;)this.q.shift();for(;this.q.length>0&&a-this.q[0].interval>this.windowSize;)this.q.shift()},onNext:function(a){if(ec(this),!this.isStopped){var b=this.scheduler.now();this.q.push({interval:b,value:a}),this._trim(b);for(var d=0,e=c(this.observers),f=e.length;f>d;d++){var g=e[d];g.onNext(a),g.ensureActive()}}},onError:function(a){if(ec(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;var b=this.scheduler.now();this._trim(b);for(var d=0,e=c(this.observers),f=e.length;f>d;d++){var g=e[d];g.onError(a),g.ensureActive()}this.observers.length=0}},onCompleted:function(){if(ec(this),!this.isStopped){this.isStopped=!0;var a=this.scheduler.now();this._trim(a);for(var b=0,d=c(this.observers),e=d.length;e>b;b++){var f=d[b];f.onCompleted(),f.ensureActive()}this.observers.length=0}},dispose:function(){this.isDisposed=!0,this.observers=null}}),d}(Rc),Cg=Pa.AnonymousSubject=function(a){function b(b,c){this.observer=b,this.observable=c,a.call(this)}return Vb(b,a),Wb(b.prototype,Jc.prototype,{_subscribe:function(a){return this.observable.subscribe(a)},onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),b}(Rc);Pa.Pauser=function(a){function b(){a.call(this)}return Vb(b,a),b.prototype.pause=function(){this.onNext(!1)},b.prototype.resume=function(){this.onNext(!0)},b}(yg),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Oa.Rx=Pa,define(function(){return Pa})):Ha&&Ia?Ma?(Ia.exports=Pa).Rx=Pa:Ha.Rx=Pa:Oa.Rx=Pa;var Dg=j()}).call(this); //# sourceMappingURL=rx.all.map \ No newline at end of file diff --git a/dist/rx.joinpatterns.js b/dist/rx.joinpatterns.js index b4fe7ad47..3cfd9c1b1 100644 --- a/dist/rx.joinpatterns.js +++ b/dist/rx.joinpatterns.js @@ -327,7 +327,7 @@ })); } } catch (e) { - observableThrow(e).subscribe(o); + return observableThrow(e).subscribe(o); } var group = new CompositeDisposable(); externalSubscriptions.forEach(function (joinObserver) { diff --git a/dist/rx.joinpatterns.map b/dist/rx.joinpatterns.map index e0f413b46..d6251895e 100644 --- a/dist/rx.joinpatterns.map +++ b/dist/rx.joinpatterns.map @@ -1 +1 @@ -{"version":3,"file":"rx.joinpatterns.min.js","sources":["rx.joinpatterns.js"],"names":["factory","checkGlobal","value","Object","objectTypes","function","object","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","freeSelf","self","freeWindow","window","thisGlobal","this","root","Function","define","amd","Rx","require","call","exp","undefined","tryCatcherGen","tryCatchTarget","apply","arguments","e","errorObj","Pattern","patterns","Plan","expression","selector","handleOnError","o","onError","handleOnNext","observer","result","tryCatch","onNext","planCreateObserver","externalSubscriptions","observable","entry","get","JoinObserver","set","ActivePlan","joinObserverArray","onCompleted","joinObservers","Map","i","len","length","joinObserver","Observable","observableProto","prototype","AnonymousObservable","observableThrow","throwError","observerCreate","Observer","create","SingleAssignmentDisposable","CompositeDisposable","AbstractObserver","internals","noop","helpers","inherits","isFunction","fn","TypeError","size","_values","_keys","key","indexOf","splice","push","forEach","cb","thisArg","and","other","concat","thenDo","activate","deactivate","errHandler","activePlan","j","jlen","removeActivePlan","addActivePlan","dequeue","v","queue","shift","match","hasValues","firstValues","isCompleted","kind","values","__super__","source","activePlans","subscription","isDisposed","JoinObserverPrototype","next","notification","error","slice","completed","subscribe","setDisposable","materialize","dispose","right","when","plans","Array","isArray","outObserver","x","err","idx","group","add"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"rx.joinpatterns.min.js","sources":["rx.joinpatterns.js"],"names":["factory","checkGlobal","value","Object","objectTypes","function","object","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","freeSelf","self","freeWindow","window","thisGlobal","this","root","Function","define","amd","Rx","require","call","exp","undefined","tryCatcherGen","tryCatchTarget","apply","arguments","e","errorObj","Pattern","patterns","Plan","expression","selector","handleOnError","o","onError","handleOnNext","observer","result","tryCatch","onNext","planCreateObserver","externalSubscriptions","observable","entry","get","JoinObserver","set","ActivePlan","joinObserverArray","onCompleted","joinObservers","Map","i","len","length","joinObserver","Observable","observableProto","prototype","AnonymousObservable","observableThrow","throwError","observerCreate","Observer","create","SingleAssignmentDisposable","CompositeDisposable","AbstractObserver","internals","noop","helpers","inherits","isFunction","fn","TypeError","size","_values","_keys","key","indexOf","splice","push","forEach","cb","thisArg","and","other","concat","thenDo","activate","deactivate","errHandler","activePlan","j","jlen","removeActivePlan","addActivePlan","dequeue","v","queue","shift","match","hasValues","firstValues","isCompleted","kind","values","__super__","source","activePlans","subscription","isDisposed","JoinObserverPrototype","next","notification","error","slice","completed","subscribe","setDisposable","materialize","dispose","right","when","plans","Array","isArray","outObserver","x","err","idx","group","add"],"mappings":"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"} \ No newline at end of file diff --git a/dist/rx.joinpatterns.min.js b/dist/rx.joinpatterns.min.js index 5d25a0465..e59406529 100644 --- a/dist/rx.joinpatterns.min.js +++ b/dist/rx.joinpatterns.min.js @@ -1,3 +1,3 @@ /* Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.*/ -(function(a){function b(a){return a&&a.Object===Object?a:null}var c={"function":!0,object:!0},d=c[typeof exports]&&exports&&!exports.nodeType?exports:null,e=c[typeof module]&&module&&!module.nodeType?module:null,f=b(d&&e&&"object"==typeof global&&global),g=b(c[typeof self]&&self),h=b(c[typeof window]&&window),i=(e&&e.exports===d?d:null,b(c[typeof this]&&this)),j=f||h!==(i&&i.window)&&h||g||i||Function("return this")();"function"==typeof define&&define.amd?define(["./rx"],function(b,c){return a(j,c,b)}):"object"==typeof module&&module&&module.exports===d?module.exports=a(j,module.exports,require("./rx")):j.Rx=a(j,{},j.Rx)}).call(this,function(a,b,c,d){function e(a){return function(){try{return a.apply(this,arguments)}catch(b){return w.e=b,w}}}function f(a){this.patterns=a}function g(a,b){this.expression=a,this.selector=b}function h(a){return function(b){a.onError(b)}}function i(a,b){return function(){var c=x(a.selector).apply(a,arguments);return c===w?b.onError(c.e):void b.onNext(c)}}function j(a,b,c){var d=a.get(b);if(!d){var e=new z(b,c);return a.set(b,e),e}return d}function k(a,b,c){this.joinObserverArray=a,this.onNext=b,this.onCompleted=c,this.joinObservers=new y;for(var d=0,e=this.joinObserverArray.length;e>d;d++){var f=this.joinObserverArray[d];this.joinObservers.set(f,f)}}var l=c.Observable,m=l.prototype,n=c.AnonymousObservable,o=l.throwError,p=c.Observer.create,q=c.SingleAssignmentDisposable,r=c.CompositeDisposable,s=c.internals.AbstractObserver,t=c.helpers.noop,u=c.internals.inherits,v=c.helpers.isFunction,w={e:{}},x=c.internals.tryCatch=function(a){if(!v(a))throw new TypeError("fn must be a function");return e(a)},y=a.Map||function(){function a(){this.size=0,this._values=[],this._keys=[]}return a.prototype["delete"]=function(a){var b=this._keys.indexOf(a);return-1===b?!1:(this._values.splice(b,1),this._keys.splice(b,1),this.size--,!0)},a.prototype.get=function(a){var b=this._keys.indexOf(a);return-1===b?d:this._values[b]},a.prototype.set=function(a,b){var c=this._keys.indexOf(a);return-1===c?(this._keys.push(a),this._values.push(b),this.size++):this._values[c]=b,this},a.prototype.forEach=function(a,b){for(var c=0;cf;f++)d.push(j(a,this.expression.patterns[f],e));var l=new k(d,i(this,b),function(){for(var a=0,b=d.length;b>a;a++)d[a].removeActivePlan(l);c(l)});for(f=0,g=d.length;g>f;f++)d[f].addActivePlan(l);return l},k.prototype.dequeue=function(){this.joinObservers.forEach(function(a){a.queue.shift()})},k.prototype.match=function(){var a,b,c=!0;for(a=0,b=this.joinObserverArray.length;b>a;a++)if(0===this.joinObserverArray[a].queue.length){c=!1;break}if(c){var d=[],e=!1;for(a=0,b=this.joinObserverArray.length;b>a;a++)d.push(this.joinObserverArray[a].queue[0]),"C"===this.joinObserverArray[a].queue[0].kind&&(e=!0);if(e)this.onCompleted();else{this.dequeue();var f=[];for(a=0,b=d.length;ac;c++)b[c].match()}},c.error=t,c.completed=t,c.addActivePlan=function(a){this.activePlans.push(a)},c.subscribe=function(){this.subscription.setDisposable(this.source.materialize().subscribe(this))},c.removeActivePlan=function(a){this.activePlans.splice(this.activePlans.indexOf(a),1),0===this.activePlans.length&&this.dispose()},c.dispose=function(){a.prototype.dispose.call(this),this.isDisposed||(this.isDisposed=!0,this.subscription.dispose())},b}(s);return m.and=function(a){return new f([this,a])},m.thenDo=function(a){return new f([this]).thenDo(a)},l.when=function(){var a,b=arguments.length;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new n(function(b){var c=[],d=new y,e=p(function(a){b.onNext(a)},function(a){d.forEach(function(b){b.onError(a)}),b.onError(a)},function(a){b.onCompleted()});try{for(var f=0,g=a.length;g>f;f++)c.push(a[f].activate(d,e,function(a){var d=c.indexOf(a);c.splice(d,1),0===c.length&&b.onCompleted()}))}catch(h){o(h).subscribe(b)}var i=new r;return d.forEach(function(a){a.subscribe(),i.add(a)}),i})},c}); +(function(a){function b(a){return a&&a.Object===Object?a:null}var c={"function":!0,object:!0},d=c[typeof exports]&&exports&&!exports.nodeType?exports:null,e=c[typeof module]&&module&&!module.nodeType?module:null,f=b(d&&e&&"object"==typeof global&&global),g=b(c[typeof self]&&self),h=b(c[typeof window]&&window),i=(e&&e.exports===d?d:null,b(c[typeof this]&&this)),j=f||h!==(i&&i.window)&&h||g||i||Function("return this")();"function"==typeof define&&define.amd?define(["./rx"],function(b,c){return a(j,c,b)}):"object"==typeof module&&module&&module.exports===d?module.exports=a(j,module.exports,require("./rx")):j.Rx=a(j,{},j.Rx)}).call(this,function(a,b,c,d){function e(a){return function(){try{return a.apply(this,arguments)}catch(b){return w.e=b,w}}}function f(a){this.patterns=a}function g(a,b){this.expression=a,this.selector=b}function h(a){return function(b){a.onError(b)}}function i(a,b){return function(){var c=x(a.selector).apply(a,arguments);return c===w?b.onError(c.e):void b.onNext(c)}}function j(a,b,c){var d=a.get(b);if(!d){var e=new z(b,c);return a.set(b,e),e}return d}function k(a,b,c){this.joinObserverArray=a,this.onNext=b,this.onCompleted=c,this.joinObservers=new y;for(var d=0,e=this.joinObserverArray.length;e>d;d++){var f=this.joinObserverArray[d];this.joinObservers.set(f,f)}}var l=c.Observable,m=l.prototype,n=c.AnonymousObservable,o=l.throwError,p=c.Observer.create,q=c.SingleAssignmentDisposable,r=c.CompositeDisposable,s=c.internals.AbstractObserver,t=c.helpers.noop,u=c.internals.inherits,v=c.helpers.isFunction,w={e:{}},x=c.internals.tryCatch=function(a){if(!v(a))throw new TypeError("fn must be a function");return e(a)},y=a.Map||function(){function a(){this.size=0,this._values=[],this._keys=[]}return a.prototype["delete"]=function(a){var b=this._keys.indexOf(a);return-1===b?!1:(this._values.splice(b,1),this._keys.splice(b,1),this.size--,!0)},a.prototype.get=function(a){var b=this._keys.indexOf(a);return-1===b?d:this._values[b]},a.prototype.set=function(a,b){var c=this._keys.indexOf(a);return-1===c?(this._keys.push(a),this._values.push(b),this.size++):this._values[c]=b,this},a.prototype.forEach=function(a,b){for(var c=0;cf;f++)d.push(j(a,this.expression.patterns[f],e));var l=new k(d,i(this,b),function(){for(var a=0,b=d.length;b>a;a++)d[a].removeActivePlan(l);c(l)});for(f=0,g=d.length;g>f;f++)d[f].addActivePlan(l);return l},k.prototype.dequeue=function(){this.joinObservers.forEach(function(a){a.queue.shift()})},k.prototype.match=function(){var a,b,c=!0;for(a=0,b=this.joinObserverArray.length;b>a;a++)if(0===this.joinObserverArray[a].queue.length){c=!1;break}if(c){var d=[],e=!1;for(a=0,b=this.joinObserverArray.length;b>a;a++)d.push(this.joinObserverArray[a].queue[0]),"C"===this.joinObserverArray[a].queue[0].kind&&(e=!0);if(e)this.onCompleted();else{this.dequeue();var f=[];for(a=0,b=d.length;ac;c++)b[c].match()}},c.error=t,c.completed=t,c.addActivePlan=function(a){this.activePlans.push(a)},c.subscribe=function(){this.subscription.setDisposable(this.source.materialize().subscribe(this))},c.removeActivePlan=function(a){this.activePlans.splice(this.activePlans.indexOf(a),1),0===this.activePlans.length&&this.dispose()},c.dispose=function(){a.prototype.dispose.call(this),this.isDisposed||(this.isDisposed=!0,this.subscription.dispose())},b}(s);return m.and=function(a){return new f([this,a])},m.thenDo=function(a){return new f([this]).thenDo(a)},l.when=function(){var a,b=arguments.length;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new n(function(b){var c=[],d=new y,e=p(function(a){b.onNext(a)},function(a){d.forEach(function(b){b.onError(a)}),b.onError(a)},function(a){b.onCompleted()});try{for(var f=0,g=a.length;g>f;f++)c.push(a[f].activate(d,e,function(a){var d=c.indexOf(a);c.splice(d,1),0===c.length&&b.onCompleted()}))}catch(h){return o(h).subscribe(b)}var i=new r;return d.forEach(function(a){a.subscribe(),i.add(a)}),i})},c}); //# sourceMappingURL=rx.joinpatterns.map \ No newline at end of file diff --git a/dist/rx.time.js b/dist/rx.time.js index 84df8a2ba..6a8f51507 100644 --- a/dist/rx.time.js +++ b/dist/rx.time.js @@ -943,7 +943,7 @@ } function scheduleRecursive(state, recurse) { - state.hasResult && state.o.onNext(state.newState); + state.hasResult && state.o.onNext(state.result); if (state.first) { state.first = false; @@ -954,8 +954,8 @@ state.hasResult = tryCatch(state.self._cndFn)(state.newState); if (state.hasResult === errorObj) { return state.o.onError(state.hasResult.e); } if (state.hasResult) { - var result = tryCatch(state.self._resFn)(state.newState); - if (result === errorObj) { return state.o.onError(result.e); } + state.result = tryCatch(state.self._resFn)(state.newState); + if (state.result === errorObj) { return state.o.onError(state.result.e); } var time = tryCatch(state.self._timeFn)(state.newState); if (time === errorObj) { return state.o.onError(time.e); } recurse(state, time); @@ -970,7 +970,7 @@ self: this, newState: this._state, first: true, - hasValue: false + hasResult: false }; return this._s.scheduleRecursiveFuture(state, new Date(this._s.now()), scheduleRecursive); }; @@ -1015,7 +1015,7 @@ } function scheduleRecursive(state, recurse) { - state.hasResult && state.o.onNext(state.newState); + state.hasResult && state.o.onNext(state.result); if (state.first) { state.first = false; @@ -1023,11 +1023,12 @@ state.newState = tryCatch(state.self._itrFn)(state.newState); if (state.newState === errorObj) { return state.o.onError(state.newState.e); } } + state.hasResult = tryCatch(state.self._cndFn)(state.newState); if (state.hasResult === errorObj) { return state.o.onError(state.hasResult.e); } if (state.hasResult) { - var result = tryCatch(state.self._resFn)(state.newState); - if (result === errorObj) { return state.o.onError(result.e); } + state.result = tryCatch(state.self._resFn)(state.newState); + if (state.result === errorObj) { return state.o.onError(state.result.e); } var time = tryCatch(state.self._timeFn)(state.newState); if (time === errorObj) { return state.o.onError(time.e); } recurse(state, time); @@ -1042,7 +1043,7 @@ self: this, newState: this._state, first: true, - hasValue: false + hasResult: false }; return this._s.scheduleRecursiveFuture(state, 0, scheduleRecursive); }; diff --git a/dist/rx.time.map b/dist/rx.time.map index 448091c21..f70107def 100644 --- a/dist/rx.time.map +++ b/dist/rx.time.map @@ -1 +1 @@ -{"version":3,"file":"rx.time.min.js","sources":["rx.time.js"],"names":["factory","checkGlobal","value","Object","objectTypes","function","object","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","freeSelf","self","freeWindow","window","thisGlobal","this","root","Function","define","amd","Rx","require","call","exp","undefined","tryCatcherGen","tryCatchTarget","apply","arguments","e","errorObj","_observableTimer","dueTime","scheduler","TimerObservable","observableTimerDateAndPeriod","period","AnonymousObservable","observer","d","p","normalizeTime","scheduleRecursiveFuture","count","now","Date","getTime","onNext","observableTimerTimeSpanAndPeriod","schedulePeriodic","observableDefer","observableDelayRelative","source","o","subscription","active","cancelable","SerialDisposable","exception","q","running","materialize","timestamp","subscribe","notification","shouldRun","kind","push","error","onError","SingleAssignmentDisposable","setDisposable","_","recurseDueTime","result","shouldRecurse","length","shift","accept","Math","max","BinaryDisposable","observableDelayAbsolute","delayWithSelector","subscriptionDelay","delayDurationSelector","subDelay","selector","isFunction","start","x","delay","tryCatch","delays","add","remove","done","atEnd","dispose","onCompleted","CompositeDisposable","debounceWithSelector","durationSelector","hasValue","id","throttle","isPromise","observableFromPromise","currentid","toArray","timeoutWithSelector","firstTimeout","timeoutDurationSelector","other","observableNever","Observable","isObservable","observableThrow","TimeoutError","setTimer","timeout","timerWins","switched","myId","timer","oWins","res","original","isScheduler","Error","defaultScheduler","createTimer","scheduleFuture","inherits","internals","AbstractObserver","observableProto","prototype","ObservableBase","defer","empty","never","fromArray","Scheduler","RefCountDisposable","Subject","addRef","normalize","helpers","fromPromise","fn","TypeError","__super__","dt","s","_dt","_s","scheduleMethod","subscribeCore","observableinterval","interval","periodOrScheduler","firstArg","DebounceObservable","DebounceObserver","_o","_d","_scheduler","_c","_v","_hv","_id","next","currentId","completed","debounce","windowWithTime","timeSpan","timeShiftOrScheduler","timeShift","m","isSpan","isShift","timerD","nextSpan","nextShift","newTotalTime","ts","totalTime","refCountDisposable","groupDisposable","i","len","windowWithTimeOrCount","windowId","n","newId","newWindow","bufferWithTime","flatMap","bufferWithTimeOrCount","TimeIntervalObservable","TimeIntervalObserver","_l","span","timeInterval","TimestampObservable","TimestampObserver","SampleObservable","sampler","_sampler","state","sourceSubscription","SampleSourceObserver","SamplerObserver","_handleMessage","sample","intervalOrSampler","message","name","create","GenerateAbsoluteObservable","cndFn","itrFn","resFn","timeFn","_state","_cndFn","_itrFn","_resFn","_timeFn","scheduleRecursive","recurse","hasResult","newState","first","time","generateWithAbsoluteTime","initialState","condition","iterate","resultSelector","timeSelector","GenerateRelativeObservable","generateWithRelativeTime","DelaySubscription","delaySubscription","SkipLastWithTimeObservable","SkipLastWithTimeObserver","_q","skipLastWithTime","duration","TakeLastWithTimeObservable","TakeLastWithTimeObserver","takeLastWithTime","takeLastBufferWithTime","TakeWithTimeObservable","takeWithTime","SkipWithTimeObservable","_open","SkipWithTimeObserver","_p","skipWithTime","SkipUntilWithTimeObservable","startTime","_st","SkipUntilWithTimeObserver","skipUntilWithTime","takeUntilWithTime","endTime","windowDuration","RangeError","lastOnNext"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"rx.time.min.js","sources":["rx.time.js"],"names":["factory","checkGlobal","value","Object","objectTypes","function","object","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","freeSelf","self","freeWindow","window","thisGlobal","this","root","Function","define","amd","Rx","require","call","exp","undefined","tryCatcherGen","tryCatchTarget","apply","arguments","e","errorObj","_observableTimer","dueTime","scheduler","TimerObservable","observableTimerDateAndPeriod","period","AnonymousObservable","observer","d","p","normalizeTime","scheduleRecursiveFuture","count","now","Date","getTime","onNext","observableTimerTimeSpanAndPeriod","schedulePeriodic","observableDefer","observableDelayRelative","source","o","subscription","active","cancelable","SerialDisposable","exception","q","running","materialize","timestamp","subscribe","notification","shouldRun","kind","push","error","onError","SingleAssignmentDisposable","setDisposable","_","recurseDueTime","result","shouldRecurse","length","shift","accept","Math","max","BinaryDisposable","observableDelayAbsolute","delayWithSelector","subscriptionDelay","delayDurationSelector","subDelay","selector","isFunction","start","x","delay","tryCatch","delays","add","remove","done","atEnd","dispose","onCompleted","CompositeDisposable","debounceWithSelector","durationSelector","hasValue","id","throttle","isPromise","observableFromPromise","currentid","toArray","timeoutWithSelector","firstTimeout","timeoutDurationSelector","other","observableNever","Observable","isObservable","observableThrow","TimeoutError","setTimer","timeout","timerWins","switched","myId","timer","oWins","res","original","isScheduler","Error","defaultScheduler","createTimer","scheduleFuture","inherits","internals","AbstractObserver","observableProto","prototype","ObservableBase","defer","empty","never","fromArray","Scheduler","RefCountDisposable","Subject","addRef","normalize","helpers","fromPromise","fn","TypeError","__super__","dt","s","_dt","_s","scheduleMethod","subscribeCore","observableinterval","interval","periodOrScheduler","firstArg","DebounceObservable","DebounceObserver","_o","_d","_scheduler","_c","_v","_hv","_id","next","currentId","completed","debounce","windowWithTime","timeSpan","timeShiftOrScheduler","timeShift","m","isSpan","isShift","timerD","nextSpan","nextShift","newTotalTime","ts","totalTime","refCountDisposable","groupDisposable","i","len","windowWithTimeOrCount","windowId","n","newId","newWindow","bufferWithTime","flatMap","bufferWithTimeOrCount","TimeIntervalObservable","TimeIntervalObserver","_l","span","timeInterval","TimestampObservable","TimestampObserver","SampleObservable","sampler","_sampler","state","sourceSubscription","SampleSourceObserver","SamplerObserver","_handleMessage","sample","intervalOrSampler","message","name","create","GenerateAbsoluteObservable","cndFn","itrFn","resFn","timeFn","_state","_cndFn","_itrFn","_resFn","_timeFn","scheduleRecursive","recurse","hasResult","first","newState","time","generateWithAbsoluteTime","initialState","condition","iterate","resultSelector","timeSelector","GenerateRelativeObservable","generateWithRelativeTime","DelaySubscription","delaySubscription","SkipLastWithTimeObservable","SkipLastWithTimeObserver","_q","skipLastWithTime","duration","TakeLastWithTimeObservable","TakeLastWithTimeObserver","takeLastWithTime","takeLastBufferWithTime","TakeWithTimeObservable","takeWithTime","SkipWithTimeObservable","_open","SkipWithTimeObserver","_p","skipWithTime","SkipUntilWithTimeObservable","startTime","_st","SkipUntilWithTimeObserver","skipUntilWithTime","takeUntilWithTime","endTime","windowDuration","RangeError","lastOnNext"],"mappings":"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"} \ No newline at end of file diff --git a/dist/rx.time.min.js b/dist/rx.time.min.js index 4d1b4beb2..ed72cebd8 100644 --- a/dist/rx.time.min.js +++ b/dist/rx.time.min.js @@ -1,3 +1,3 @@ /* Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.*/ -(function(a){function b(a){return a&&a.Object===Object?a:null}var c={"function":!0,object:!0},d=c[typeof exports]&&exports&&!exports.nodeType?exports:null,e=c[typeof module]&&module&&!module.nodeType?module:null,f=b(d&&e&&"object"==typeof global&&global),g=b(c[typeof self]&&self),h=b(c[typeof window]&&window),i=(e&&e.exports===d?d:null,b(c[typeof this]&&this)),j=f||h!==(i&&i.window)&&h||g||i||Function("return this")();"function"==typeof define&&define.amd?define(["./rx"],function(b,c){return a(j,c,b)}):"object"==typeof module&&module&&module.exports===d?module.exports=a(j,module.exports,require("./rx")):j.Rx=a(j,{},j.Rx)}).call(this,function(a,b,c,d){function e(a){return function(){try{return a.apply(this,arguments)}catch(b){return M.e=b,M}}}function f(a,b){return new O(a,b)}function g(a,b,c){return new t(function(d){var e=a,f=G(b);return c.scheduleRecursiveFuture(0,e,function(a,b){if(f>0){var g=c.now();e=new Date(e.getTime()+f),e.getTime()<=g&&(e=new Date(g+f))}d.onNext(a),b(a+1,new Date(e))})})}function h(a,b,c){return a===b?new t(function(a){return c.schedulePeriodic(0,b,function(b){return a.onNext(b),b+1})}):v(function(){return g(new Date(c.now()+a),b,c)})}function i(a,b,c){return new t(function(d){var e,f=!1,g=new A,h=null,i=[],j=!1;return e=a.materialize().timestamp(c).subscribe(function(a){var e,k;"E"===a.value.kind?(i=[],i.push(a),h=a.value.error,k=!j):(i.push({value:a.value,timestamp:a.timestamp+b}),k=!f,f=!0),k&&(null!==h?d.onError(h):(e=new z,g.setDisposable(e),e.setDisposable(c.scheduleRecursiveFuture(null,b,function(a,b){var e,g,k,l;if(null===h){j=!0;do k=null,i.length>0&&i[0].timestamp-c.now()<=0&&(k=i.shift().value),null!==k&&k.accept(d);while(null!==k);l=!1,g=0,i.length>0?(l=!0,g=Math.max(0,i[0].timestamp-c.now())):f=!1,e=h,j=!1,null!==e?d.onError(e):l&&b(null,g)}}))))}),new C(e,g)},a)}function j(a,b,c){return v(function(){return i(a,b-c.now(),c)})}function k(a,b,c){var d,e;return J(b)?e=b:(d=b,e=c),new t(function(b){function c(){i.setDisposable(a.subscribe(function(a){var c=N(e)(a);if(c===M)return b.onError(c.e);var d=new z;g.add(d),d.setDisposable(c.subscribe(function(){b.onNext(a),g.remove(d),f()},function(a){b.onError(a)},function(){b.onNext(a),g.remove(d),f()}))},function(a){b.onError(a)},function(){h=!0,i.dispose(),f()}))}function f(){h&&0===g.length&&b.onCompleted()}var g=new B,h=!1,i=new A;return d?i.setDisposable(d.subscribe(c,function(a){b.onError(a)},c)):c(),new C(i,g)},this)}function l(a,b){return new t(function(c){var d,e=!1,f=new A,g=0,h=a.subscribe(function(a){var h=N(b)(a);if(h===M)return c.onError(h.e);I(h)&&(h=L(h)),e=!0,d=a,g++;var i=g,j=new z;f.setDisposable(j),j.setDisposable(h.subscribe(function(){e&&g===i&&c.onNext(d),e=!1,j.dispose()},function(a){c.onError(a)},function(){e&&g===i&&c.onNext(d),e=!1,j.dispose()}))},function(a){f.dispose(),c.onError(a),e=!1,g++},function(){f.dispose(),e&&c.onNext(d),c.onCompleted(),e=!1,g++});return new C(h,f)},a)}function m(a){return a.toArray()}function m(a){return a.toArray()}function n(a,b,c,d){return J(b)&&(d=c,c=b,b=w()),r.isObservable(d)||(d=x(new Z)),new t(function(e){function f(a){function b(){return l=c===k}var c=k,f=new z;i.setDisposable(f),f.setDisposable(a.subscribe(function(){b()&&h.setDisposable(d.subscribe(e)),f.dispose()},function(a){b()&&e.onError(a)},function(){b()&&h.setDisposable(d.subscribe(e))}))}function g(){var a=!l;return a&&k++,a}var h=new A,i=new A,j=new z;h.setDisposable(j);var k=0,l=!1;return f(b),j.setDisposable(a.subscribe(function(a){if(g()){e.onNext(a);var b=N(c)(a);if(b===M)return e.onError(b.e);f(I(b)?L(b):b)}},function(a){g()&&e.onError(a)},function(){g()&&e.onCompleted()})),new C(h,i)},a)}function o(a,b,c,d){return K(c)&&(d=c,c=x(new Z)),c instanceof Error&&(c=x(c)),K(d)||(d=y),r.isObservable(c)||(c=x(new Z)),new t(function(e){function f(){var a=g;k.setDisposable(d.scheduleFuture(null,b,function(){j=g===a,j&&(I(c)&&(c=L(c)),i.setDisposable(c.subscribe(e)))}))}var g=0,h=new z,i=new A,j=!1,k=new A;return i.setDisposable(h),f(),h.setDisposable(a.subscribe(function(a){j||(g++,e.onNext(a),f())},function(a){j||(g++,e.onError(a))},function(){j||(g++,e.onCompleted())})),new C(i,k)},a)}var p=c.internals.inherits,q=c.internals.AbstractObserver,r=c.Observable,s=r.prototype,t=c.AnonymousObservable,u=c.ObservableBase,v=r.defer,w=(r.empty,r.never),x=r["throw"],y=(r.fromArray,c.Scheduler["default"]),z=c.SingleAssignmentDisposable,A=c.SerialDisposable,B=c.CompositeDisposable,C=c.BinaryDisposable,D=c.RefCountDisposable,E=c.Subject,F=c.internals.addRef,G=c.Scheduler.normalize,H=c.helpers,I=H.isPromise,J=H.isFunction,K=c.Scheduler.isScheduler,L=r.fromPromise,M={e:{}},N=c.internals.tryCatch=function(a){if(!J(a))throw new TypeError("fn must be a function");return e(a)},O=function(a){function b(b,c){this._dt=b,this._s=c,a.call(this)}function c(a,b){b.onNext(0),b.onCompleted()}return p(b,a),b.prototype.subscribeCore=function(a){return this._s.scheduleFuture(a,this._dt,c)},b}(u),P=r.interval=function(a,b){return h(a,a,K(b)?b:y)};r.timer=function(a,b,c){var e;return K(c)||(c=y),null!=b&&"number"==typeof b?e=b:K(b)&&(c=b),(a instanceof Date||"number"==typeof a)&&e===d?f(a,c):a instanceof Date&&e!==d?g(a,b,c):h(a,e,c)};s.delay=function(){var a=arguments[0];if("number"==typeof a||a instanceof Date){var b=a,c=arguments[1];return K(c)||(c=y),b instanceof Date?j(this,b,c):i(this,b,c)}if(r.isObservable(a)||J(a))return k(this,a,arguments[1]);throw new Error("Invalid arguments")};var Q=function(a){function b(b,c,d){K(d)||(d=y),this.source=b,this._dt=c,this._s=d,a.call(this)}return p(b,a),b.prototype.subscribeCore=function(a){var b=new A;return new C(this.source.subscribe(new R(a,this._dt,this._s,b)),b)},b}(u),R=function(a){function b(b,c,d,e){this._o=b,this._d=c,this._scheduler=d,this._c=e,this._v=null,this._hv=!1,this._id=0,a.call(this)}return p(b,a),b.prototype.next=function(a){this._hv=!0,this._v=a;var b=++this._id,c=new z;this._c.setDisposable(c),c.setDisposable(this._scheduler.scheduleFuture(this,this._d,function(c,d){d._hv&&d._id===b&&d._o.onNext(a),d._hv=!1}))},b.prototype.error=function(a){this._c.dispose(),this._o.onError(a),this._hv=!1,this._id++},b.prototype.completed=function(){this._c.dispose(),this._hv&&this._o.onNext(this._v),this._o.onCompleted(),this._hv=!1,this._id++},b}(q);s.debounce=function(){if(J(arguments[0]))return l(this,arguments[0]);if("number"==typeof arguments[0])return new Q(this,arguments[0],arguments[1]);throw new Error("Invalid arguments")},s.windowWithTime=function(a,b,c){var d,e=this;return null==b&&(d=a),K(c)||(c=y),"number"==typeof b?d=b:K(b)&&(d=a,c=b),new t(function(b){function f(){var a=new z,e=!1,g=!1;l.setDisposable(a),j===i?(e=!0,g=!0):i>j?e=!0:g=!0;var n=e?j:i,o=n-m;m=n,e&&(j+=d),g&&(i+=d),a.setDisposable(c.scheduleFuture(null,o,function(){if(g){var a=new E;k.push(a),b.onNext(F(a,h))}e&&k.shift().onCompleted(),f()}))}var g,h,i=d,j=a,k=[],l=new A,m=0;return g=new B(l),h=new D(g),k.push(new E),b.onNext(F(k[0],h)),f(),g.add(e.subscribe(function(a){for(var b=0,c=k.length;c>b;b++)k[b].onNext(a)},function(a){for(var c=0,d=k.length;d>c;c++)k[c].onError(a);b.onError(a)},function(){for(var a=0,c=k.length;c>a;a++)k[a].onCompleted();b.onCompleted()})),h},e)},s.windowWithTimeOrCount=function(a,b,c){var d=this;return K(c)||(c=y),new t(function(e){function f(b){var d=new z;g.setDisposable(d),d.setDisposable(c.scheduleFuture(null,a,function(){if(b===k){j=0;var a=++k;l.onCompleted(),l=new E,e.onNext(F(l,i)),f(a)}}))}var g=new A,h=new B(g),i=new D(h),j=0,k=0,l=new E;return e.onNext(F(l,i)),f(0),h.add(d.subscribe(function(a){var c=0,d=!1;l.onNext(a),++j===b&&(d=!0,j=0,c=++k,l.onCompleted(),l=new E,e.onNext(F(l,i))),d&&f(c)},function(a){l.onError(a),e.onError(a)},function(){l.onCompleted(),e.onCompleted()})),i},d)},s.bufferWithTime=function(a,b,c){return this.windowWithTime(a,b,c).flatMap(m)},s.bufferWithTimeOrCount=function(a,b,c){return this.windowWithTimeOrCount(a,b,c).flatMap(m)};var S=function(a){function b(b,c){this.source=b,this._s=c,a.call(this)}return p(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new T(a,this._s))},b}(u),T=function(a){function b(b,c){this._o=b,this._s=c,this._l=c.now(),a.call(this)}return p(b,a),b.prototype.next=function(a){var b=this._s.now(),c=b-this._l;this._l=b,this._o.onNext({value:a,interval:c})},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(q);s.timeInterval=function(a){return K(a)||(a=y),new S(this,a)};var U=function(a){function b(b,c){this.source=b,this._s=c,a.call(this)}return p(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new V(a,this._s))},b}(u),V=function(a){function b(b,c){this._o=b,this._s=c,a.call(this)}return p(b,a),b.prototype.next=function(a){this._o.onNext({value:a,timestamp:this._s.now()})},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(q);s.timestamp=function(a){return K(a)||(a=y),new U(this,a)};var W=function(a){function b(b,c){this.source=b,this._sampler=c,a.call(this)}return p(b,a),b.prototype.subscribeCore=function(a){var b={o:a,atEnd:!1,value:null,hasValue:!1,sourceSubscription:new z};return b.sourceSubscription.setDisposable(this.source.subscribe(new Y(b))),new C(b.sourceSubscription,this._sampler.subscribe(new X(b)))},b}(u),X=function(a){function b(b){this._s=b,a.call(this)}return p(b,a),b.prototype._handleMessage=function(){this._s.hasValue&&(this._s.hasValue=!1,this._s.o.onNext(this._s.value)),this._s.atEnd&&this._s.o.onCompleted()},b.prototype.next=function(){this._handleMessage()},b.prototype.error=function(a){this._s.onError(a)},b.prototype.completed=function(){this._handleMessage()},b}(q),Y=function(a){function b(b){this._s=b,a.call(this)}return p(b,a),b.prototype.next=function(a){this._s.hasValue=!0,this._s.value=a},b.prototype.error=function(a){this._s.o.onError(a)},b.prototype.completed=function(){this._s.atEnd=!0,this._s.sourceSubscription.dispose()},b}(q);s.sample=function(a,b){return K(b)||(b=y),"number"==typeof a?new W(this,P(a,b)):new W(this,a)};var Z=c.TimeoutError=function(a){this.message=a||"Timeout has occurred",this.name="TimeoutError",Error.call(this)};Z.prototype=Object.create(Error.prototype),s.timeout=function(){var a=arguments[0];if(a instanceof Date||"number"==typeof a)return o(this,a,arguments[1],arguments[2]);if(r.isObservable(a)||J(a))return n(this,a,arguments[1],arguments[2]);throw new Error("Invalid arguments")};var $=function(a){function b(b,c,d,e,f,g){this._state=b,this._cndFn=c,this._itrFn=d,this._resFn=e,this._timeFn=f,this._s=g,a.call(this)}function c(a,b){if(a.hasResult&&a.o.onNext(a.newState),a.first)a.first=!1;else if(a.newState=N(a.self._itrFn)(a.newState),a.newState===M)return a.o.onError(a.newState.e);if(a.hasResult=N(a.self._cndFn)(a.newState),a.hasResult===M)return a.o.onError(a.hasResult.e);if(a.hasResult){var c=N(a.self._resFn)(a.newState);if(c===M)return a.o.onError(c.e);var d=N(a.self._timeFn)(a.newState);if(d===M)return a.o.onError(d.e);b(a,d)}else a.o.onCompleted()}return p(b,a),b.prototype.subscribeCore=function(a){var b={o:a,self:this,newState:this._state,first:!0,hasValue:!1};return this._s.scheduleRecursiveFuture(b,new Date(this._s.now()),c)},b}(u);r.generateWithAbsoluteTime=function(a,b,c,d,e,f){return K(f)||(f=y),new $(a,b,c,d,e,f)};var _=function(a){function b(b,c,d,e,f,g){this._state=b,this._cndFn=c,this._itrFn=d,this._resFn=e,this._timeFn=f,this._s=g,a.call(this)}function c(a,b){if(a.hasResult&&a.o.onNext(a.newState),a.first)a.first=!1;else if(a.newState=N(a.self._itrFn)(a.newState),a.newState===M)return a.o.onError(a.newState.e);if(a.hasResult=N(a.self._cndFn)(a.newState),a.hasResult===M)return a.o.onError(a.hasResult.e);if(a.hasResult){var c=N(a.self._resFn)(a.newState);if(c===M)return a.o.onError(c.e);var d=N(a.self._timeFn)(a.newState);if(d===M)return a.o.onError(d.e);b(a,d)}else a.o.onCompleted()}return p(b,a),b.prototype.subscribeCore=function(a){var b={o:a,self:this,newState:this._state,first:!0,hasValue:!1};return this._s.scheduleRecursiveFuture(b,0,c)},b}(u);r.generateWithRelativeTime=function(a,b,c,d,e,f){return K(f)||(f=y),new _(a,b,c,d,e,f)};var aa=function(a){function b(b,c,d){this.source=b,this._dt=c,this._s=d,a.call(this)}function c(a,b){var c=b[0],d=b[1],e=b[2];e.setDisposable(c.subscribe(d))}return p(b,a),b.prototype.subscribeCore=function(a){var b=new A;return b.setDisposable(this._s.scheduleFuture([this.source,a,b],this._dt,c)),b},b}(u);s.delaySubscription=function(a,b){return K(b)||(b=y),new aa(this,a,b)};var ba=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,a.call(this)}return p(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new ca(a,this))},b}(u),ca=function(a){function b(b,c){this._o=b,this._s=c._s,this._d=c._d,this._q=[],a.call(this)}return p(b,a),b.prototype.next=function(a){var b=this._s.now();for(this._q.push({interval:b,value:a});this._q.length>0&&b-this._q[0].interval>=this._d;)this._o.onNext(this._q.shift().value)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){for(var a=this._s.now();this._q.length>0&&a-this._q[0].interval>=this._d;)this._o.onNext(this._q.shift().value);this._o.onCompleted()},b}(q);s.skipLastWithTime=function(a,b){return K(b)||(b=y),new ba(this,a,b)};var da=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,a.call(this)}return p(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new ea(a,this._d,this._s))},b}(u),ea=function(a){function b(b,c,d){this._o=b,this._d=c,this._s=d,this._q=[],a.call(this)}return p(b,a),b.prototype.next=function(a){var b=this._s.now();for(this._q.push({interval:b,value:a});this._q.length>0&&b-this._q[0].interval>=this._d;)this._q.shift()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){for(var a=this._s.now();this._q.length>0;){var b=this._q.shift();a-b.interval<=this._d&&this._o.onNext(b.value)}this._o.onCompleted()},b}(q);s.takeLastWithTime=function(a,b){return K(b)||(b=y),new da(this,a,b)},s.takeLastBufferWithTime=function(a,b){var c=this;return K(b)||(b=y),new t(function(d){var e=[];return c.subscribe(function(c){var d=b.now();for(e.push({interval:d,value:c});e.length>0&&d-e[0].interval>=a;)e.shift()},function(a){d.onError(a)},function(){for(var c=b.now(),f=[];e.length>0;){var g=e.shift();c-g.interval<=a&&f.push(g.value)}d.onNext(f),d.onCompleted()})},c)};var fa=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,a.call(this)}function c(a,b){b.onCompleted()}return p(b,a),b.prototype.subscribeCore=function(a){return new C(this._s.scheduleFuture(a,this._d,c),this.source.subscribe(a))},b}(u);s.takeWithTime=function(a,b){return K(b)||(b=y),new fa(this,a,b)};var ga=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,this._open=!1,a.call(this)}function c(a,b){b._open=!0}return p(b,a),b.prototype.subscribeCore=function(a){return new C(this._s.scheduleFuture(this,this._d,c),this.source.subscribe(new ha(a,this)))},b}(u),ha=function(a){function b(b,c){this._o=b,this._p=c,a.call(this)}return p(b,a),b.prototype.next=function(a){this._p._open&&this._o.onNext(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(q);s.skipWithTime=function(a,b){return K(b)||(b=y),new ga(this,a,b)};var ia=function(a){function b(b,c,d){this.source=b,this._st=c,this._s=d,a.call(this)}function c(a,b){b._open=!0}return p(b,a),b.prototype.subscribeCore=function(a){return this._open=!1,new C(this._s.scheduleFuture(this,this._st,c),this.source.subscribe(new ja(a,this)))},b}(u),ja=function(a){function b(b,c){this._o=b,this._p=c,a.call(this)}return p(b,a),b.prototype.next=function(a){this._p._open&&this._o.onNext(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(q);return s.skipUntilWithTime=function(a,b){return K(b)||(b=y),new ia(this,a,b)},s.takeUntilWithTime=function(a,b){K(b)||(b=y);var c=this;return new t(function(d){return new C(b.scheduleFuture(d,a,function(a,b){b.onCompleted()}),c.subscribe(d))},c)},s.throttle=function(a,b){K(b)||(b=y);var c=+a||0;if(0>=c)throw new RangeError("windowDuration cannot be less or equal zero.");var d=this;return new t(function(a){var e=0;return d.subscribe(function(d){var f=b.now();(0===e||f-e>=c)&&(e=f,a.onNext(d))},function(b){a.onError(b)},function(){a.onCompleted()})},d)},c}); +(function(a){function b(a){return a&&a.Object===Object?a:null}var c={"function":!0,object:!0},d=c[typeof exports]&&exports&&!exports.nodeType?exports:null,e=c[typeof module]&&module&&!module.nodeType?module:null,f=b(d&&e&&"object"==typeof global&&global),g=b(c[typeof self]&&self),h=b(c[typeof window]&&window),i=(e&&e.exports===d?d:null,b(c[typeof this]&&this)),j=f||h!==(i&&i.window)&&h||g||i||Function("return this")();"function"==typeof define&&define.amd?define(["./rx"],function(b,c){return a(j,c,b)}):"object"==typeof module&&module&&module.exports===d?module.exports=a(j,module.exports,require("./rx")):j.Rx=a(j,{},j.Rx)}).call(this,function(a,b,c,d){function e(a){return function(){try{return a.apply(this,arguments)}catch(b){return M.e=b,M}}}function f(a,b){return new O(a,b)}function g(a,b,c){return new t(function(d){var e=a,f=G(b);return c.scheduleRecursiveFuture(0,e,function(a,b){if(f>0){var g=c.now();e=new Date(e.getTime()+f),e.getTime()<=g&&(e=new Date(g+f))}d.onNext(a),b(a+1,new Date(e))})})}function h(a,b,c){return a===b?new t(function(a){return c.schedulePeriodic(0,b,function(b){return a.onNext(b),b+1})}):v(function(){return g(new Date(c.now()+a),b,c)})}function i(a,b,c){return new t(function(d){var e,f=!1,g=new A,h=null,i=[],j=!1;return e=a.materialize().timestamp(c).subscribe(function(a){var e,k;"E"===a.value.kind?(i=[],i.push(a),h=a.value.error,k=!j):(i.push({value:a.value,timestamp:a.timestamp+b}),k=!f,f=!0),k&&(null!==h?d.onError(h):(e=new z,g.setDisposable(e),e.setDisposable(c.scheduleRecursiveFuture(null,b,function(a,b){var e,g,k,l;if(null===h){j=!0;do k=null,i.length>0&&i[0].timestamp-c.now()<=0&&(k=i.shift().value),null!==k&&k.accept(d);while(null!==k);l=!1,g=0,i.length>0?(l=!0,g=Math.max(0,i[0].timestamp-c.now())):f=!1,e=h,j=!1,null!==e?d.onError(e):l&&b(null,g)}}))))}),new C(e,g)},a)}function j(a,b,c){return v(function(){return i(a,b-c.now(),c)})}function k(a,b,c){var d,e;return J(b)?e=b:(d=b,e=c),new t(function(b){function c(){i.setDisposable(a.subscribe(function(a){var c=N(e)(a);if(c===M)return b.onError(c.e);var d=new z;g.add(d),d.setDisposable(c.subscribe(function(){b.onNext(a),g.remove(d),f()},function(a){b.onError(a)},function(){b.onNext(a),g.remove(d),f()}))},function(a){b.onError(a)},function(){h=!0,i.dispose(),f()}))}function f(){h&&0===g.length&&b.onCompleted()}var g=new B,h=!1,i=new A;return d?i.setDisposable(d.subscribe(c,function(a){b.onError(a)},c)):c(),new C(i,g)},this)}function l(a,b){return new t(function(c){var d,e=!1,f=new A,g=0,h=a.subscribe(function(a){var h=N(b)(a);if(h===M)return c.onError(h.e);I(h)&&(h=L(h)),e=!0,d=a,g++;var i=g,j=new z;f.setDisposable(j),j.setDisposable(h.subscribe(function(){e&&g===i&&c.onNext(d),e=!1,j.dispose()},function(a){c.onError(a)},function(){e&&g===i&&c.onNext(d),e=!1,j.dispose()}))},function(a){f.dispose(),c.onError(a),e=!1,g++},function(){f.dispose(),e&&c.onNext(d),c.onCompleted(),e=!1,g++});return new C(h,f)},a)}function m(a){return a.toArray()}function m(a){return a.toArray()}function n(a,b,c,d){return J(b)&&(d=c,c=b,b=w()),r.isObservable(d)||(d=x(new Z)),new t(function(e){function f(a){function b(){return l=c===k}var c=k,f=new z;i.setDisposable(f),f.setDisposable(a.subscribe(function(){b()&&h.setDisposable(d.subscribe(e)),f.dispose()},function(a){b()&&e.onError(a)},function(){b()&&h.setDisposable(d.subscribe(e))}))}function g(){var a=!l;return a&&k++,a}var h=new A,i=new A,j=new z;h.setDisposable(j);var k=0,l=!1;return f(b),j.setDisposable(a.subscribe(function(a){if(g()){e.onNext(a);var b=N(c)(a);if(b===M)return e.onError(b.e);f(I(b)?L(b):b)}},function(a){g()&&e.onError(a)},function(){g()&&e.onCompleted()})),new C(h,i)},a)}function o(a,b,c,d){return K(c)&&(d=c,c=x(new Z)),c instanceof Error&&(c=x(c)),K(d)||(d=y),r.isObservable(c)||(c=x(new Z)),new t(function(e){function f(){var a=g;k.setDisposable(d.scheduleFuture(null,b,function(){j=g===a,j&&(I(c)&&(c=L(c)),i.setDisposable(c.subscribe(e)))}))}var g=0,h=new z,i=new A,j=!1,k=new A;return i.setDisposable(h),f(),h.setDisposable(a.subscribe(function(a){j||(g++,e.onNext(a),f())},function(a){j||(g++,e.onError(a))},function(){j||(g++,e.onCompleted())})),new C(i,k)},a)}var p=c.internals.inherits,q=c.internals.AbstractObserver,r=c.Observable,s=r.prototype,t=c.AnonymousObservable,u=c.ObservableBase,v=r.defer,w=(r.empty,r.never),x=r["throw"],y=(r.fromArray,c.Scheduler["default"]),z=c.SingleAssignmentDisposable,A=c.SerialDisposable,B=c.CompositeDisposable,C=c.BinaryDisposable,D=c.RefCountDisposable,E=c.Subject,F=c.internals.addRef,G=c.Scheduler.normalize,H=c.helpers,I=H.isPromise,J=H.isFunction,K=c.Scheduler.isScheduler,L=r.fromPromise,M={e:{}},N=c.internals.tryCatch=function(a){if(!J(a))throw new TypeError("fn must be a function");return e(a)},O=function(a){function b(b,c){this._dt=b,this._s=c,a.call(this)}function c(a,b){b.onNext(0),b.onCompleted()}return p(b,a),b.prototype.subscribeCore=function(a){return this._s.scheduleFuture(a,this._dt,c)},b}(u),P=r.interval=function(a,b){return h(a,a,K(b)?b:y)};r.timer=function(a,b,c){var e;return K(c)||(c=y),null!=b&&"number"==typeof b?e=b:K(b)&&(c=b),(a instanceof Date||"number"==typeof a)&&e===d?f(a,c):a instanceof Date&&e!==d?g(a,b,c):h(a,e,c)};s.delay=function(){var a=arguments[0];if("number"==typeof a||a instanceof Date){var b=a,c=arguments[1];return K(c)||(c=y),b instanceof Date?j(this,b,c):i(this,b,c)}if(r.isObservable(a)||J(a))return k(this,a,arguments[1]);throw new Error("Invalid arguments")};var Q=function(a){function b(b,c,d){K(d)||(d=y),this.source=b,this._dt=c,this._s=d,a.call(this)}return p(b,a),b.prototype.subscribeCore=function(a){var b=new A;return new C(this.source.subscribe(new R(a,this._dt,this._s,b)),b)},b}(u),R=function(a){function b(b,c,d,e){this._o=b,this._d=c,this._scheduler=d,this._c=e,this._v=null,this._hv=!1,this._id=0,a.call(this)}return p(b,a),b.prototype.next=function(a){this._hv=!0,this._v=a;var b=++this._id,c=new z;this._c.setDisposable(c),c.setDisposable(this._scheduler.scheduleFuture(this,this._d,function(c,d){d._hv&&d._id===b&&d._o.onNext(a),d._hv=!1}))},b.prototype.error=function(a){this._c.dispose(),this._o.onError(a),this._hv=!1,this._id++},b.prototype.completed=function(){this._c.dispose(),this._hv&&this._o.onNext(this._v),this._o.onCompleted(),this._hv=!1,this._id++},b}(q);s.debounce=function(){if(J(arguments[0]))return l(this,arguments[0]);if("number"==typeof arguments[0])return new Q(this,arguments[0],arguments[1]);throw new Error("Invalid arguments")},s.windowWithTime=function(a,b,c){var d,e=this;return null==b&&(d=a),K(c)||(c=y),"number"==typeof b?d=b:K(b)&&(d=a,c=b),new t(function(b){function f(){var a=new z,e=!1,g=!1;l.setDisposable(a),j===i?(e=!0,g=!0):i>j?e=!0:g=!0;var n=e?j:i,o=n-m;m=n,e&&(j+=d),g&&(i+=d),a.setDisposable(c.scheduleFuture(null,o,function(){if(g){var a=new E;k.push(a),b.onNext(F(a,h))}e&&k.shift().onCompleted(),f()}))}var g,h,i=d,j=a,k=[],l=new A,m=0;return g=new B(l),h=new D(g),k.push(new E),b.onNext(F(k[0],h)),f(),g.add(e.subscribe(function(a){for(var b=0,c=k.length;c>b;b++)k[b].onNext(a)},function(a){for(var c=0,d=k.length;d>c;c++)k[c].onError(a);b.onError(a)},function(){for(var a=0,c=k.length;c>a;a++)k[a].onCompleted();b.onCompleted()})),h},e)},s.windowWithTimeOrCount=function(a,b,c){var d=this;return K(c)||(c=y),new t(function(e){function f(b){var d=new z;g.setDisposable(d),d.setDisposable(c.scheduleFuture(null,a,function(){if(b===k){j=0;var a=++k;l.onCompleted(),l=new E,e.onNext(F(l,i)),f(a)}}))}var g=new A,h=new B(g),i=new D(h),j=0,k=0,l=new E;return e.onNext(F(l,i)),f(0),h.add(d.subscribe(function(a){var c=0,d=!1;l.onNext(a),++j===b&&(d=!0,j=0,c=++k,l.onCompleted(),l=new E,e.onNext(F(l,i))),d&&f(c)},function(a){l.onError(a),e.onError(a)},function(){l.onCompleted(),e.onCompleted()})),i},d)},s.bufferWithTime=function(a,b,c){return this.windowWithTime(a,b,c).flatMap(m)},s.bufferWithTimeOrCount=function(a,b,c){return this.windowWithTimeOrCount(a,b,c).flatMap(m)};var S=function(a){function b(b,c){this.source=b,this._s=c,a.call(this)}return p(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new T(a,this._s))},b}(u),T=function(a){function b(b,c){this._o=b,this._s=c,this._l=c.now(),a.call(this)}return p(b,a),b.prototype.next=function(a){var b=this._s.now(),c=b-this._l;this._l=b,this._o.onNext({value:a,interval:c})},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(q);s.timeInterval=function(a){return K(a)||(a=y),new S(this,a)};var U=function(a){function b(b,c){this.source=b,this._s=c,a.call(this)}return p(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new V(a,this._s))},b}(u),V=function(a){function b(b,c){this._o=b,this._s=c,a.call(this)}return p(b,a),b.prototype.next=function(a){this._o.onNext({value:a,timestamp:this._s.now()})},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(q);s.timestamp=function(a){return K(a)||(a=y),new U(this,a)};var W=function(a){function b(b,c){this.source=b,this._sampler=c,a.call(this)}return p(b,a),b.prototype.subscribeCore=function(a){var b={o:a,atEnd:!1,value:null,hasValue:!1,sourceSubscription:new z};return b.sourceSubscription.setDisposable(this.source.subscribe(new Y(b))),new C(b.sourceSubscription,this._sampler.subscribe(new X(b)))},b}(u),X=function(a){function b(b){this._s=b,a.call(this)}return p(b,a),b.prototype._handleMessage=function(){this._s.hasValue&&(this._s.hasValue=!1,this._s.o.onNext(this._s.value)),this._s.atEnd&&this._s.o.onCompleted()},b.prototype.next=function(){this._handleMessage()},b.prototype.error=function(a){this._s.onError(a)},b.prototype.completed=function(){this._handleMessage()},b}(q),Y=function(a){function b(b){this._s=b,a.call(this)}return p(b,a),b.prototype.next=function(a){this._s.hasValue=!0,this._s.value=a},b.prototype.error=function(a){this._s.o.onError(a)},b.prototype.completed=function(){this._s.atEnd=!0,this._s.sourceSubscription.dispose()},b}(q);s.sample=function(a,b){return K(b)||(b=y),"number"==typeof a?new W(this,P(a,b)):new W(this,a)};var Z=c.TimeoutError=function(a){this.message=a||"Timeout has occurred",this.name="TimeoutError",Error.call(this)};Z.prototype=Object.create(Error.prototype),s.timeout=function(){var a=arguments[0];if(a instanceof Date||"number"==typeof a)return o(this,a,arguments[1],arguments[2]);if(r.isObservable(a)||J(a))return n(this,a,arguments[1],arguments[2]);throw new Error("Invalid arguments")};var $=function(a){function b(b,c,d,e,f,g){this._state=b,this._cndFn=c,this._itrFn=d,this._resFn=e,this._timeFn=f,this._s=g,a.call(this)}function c(a,b){if(a.hasResult&&a.o.onNext(a.result),a.first)a.first=!1;else if(a.newState=N(a.self._itrFn)(a.newState),a.newState===M)return a.o.onError(a.newState.e);if(a.hasResult=N(a.self._cndFn)(a.newState),a.hasResult===M)return a.o.onError(a.hasResult.e);if(a.hasResult){if(a.result=N(a.self._resFn)(a.newState),a.result===M)return a.o.onError(a.result.e);var c=N(a.self._timeFn)(a.newState);if(c===M)return a.o.onError(c.e);b(a,c)}else a.o.onCompleted()}return p(b,a),b.prototype.subscribeCore=function(a){var b={o:a,self:this,newState:this._state,first:!0,hasResult:!1};return this._s.scheduleRecursiveFuture(b,new Date(this._s.now()),c)},b}(u);r.generateWithAbsoluteTime=function(a,b,c,d,e,f){return K(f)||(f=y),new $(a,b,c,d,e,f)};var _=function(a){function b(b,c,d,e,f,g){this._state=b,this._cndFn=c,this._itrFn=d,this._resFn=e,this._timeFn=f,this._s=g,a.call(this)}function c(a,b){if(a.hasResult&&a.o.onNext(a.result),a.first)a.first=!1;else if(a.newState=N(a.self._itrFn)(a.newState),a.newState===M)return a.o.onError(a.newState.e);if(a.hasResult=N(a.self._cndFn)(a.newState),a.hasResult===M)return a.o.onError(a.hasResult.e);if(a.hasResult){if(a.result=N(a.self._resFn)(a.newState),a.result===M)return a.o.onError(a.result.e);var c=N(a.self._timeFn)(a.newState);if(c===M)return a.o.onError(c.e);b(a,c)}else a.o.onCompleted()}return p(b,a),b.prototype.subscribeCore=function(a){var b={o:a,self:this,newState:this._state,first:!0,hasResult:!1};return this._s.scheduleRecursiveFuture(b,0,c)},b}(u);r.generateWithRelativeTime=function(a,b,c,d,e,f){return K(f)||(f=y),new _(a,b,c,d,e,f)};var aa=function(a){function b(b,c,d){this.source=b,this._dt=c,this._s=d,a.call(this)}function c(a,b){var c=b[0],d=b[1],e=b[2];e.setDisposable(c.subscribe(d))}return p(b,a),b.prototype.subscribeCore=function(a){var b=new A;return b.setDisposable(this._s.scheduleFuture([this.source,a,b],this._dt,c)),b},b}(u);s.delaySubscription=function(a,b){return K(b)||(b=y),new aa(this,a,b)};var ba=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,a.call(this)}return p(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new ca(a,this))},b}(u),ca=function(a){function b(b,c){this._o=b,this._s=c._s,this._d=c._d,this._q=[],a.call(this)}return p(b,a),b.prototype.next=function(a){var b=this._s.now();for(this._q.push({interval:b,value:a});this._q.length>0&&b-this._q[0].interval>=this._d;)this._o.onNext(this._q.shift().value)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){for(var a=this._s.now();this._q.length>0&&a-this._q[0].interval>=this._d;)this._o.onNext(this._q.shift().value);this._o.onCompleted()},b}(q);s.skipLastWithTime=function(a,b){return K(b)||(b=y),new ba(this,a,b)};var da=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,a.call(this)}return p(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new ea(a,this._d,this._s))},b}(u),ea=function(a){function b(b,c,d){this._o=b,this._d=c,this._s=d,this._q=[],a.call(this)}return p(b,a),b.prototype.next=function(a){var b=this._s.now();for(this._q.push({interval:b,value:a});this._q.length>0&&b-this._q[0].interval>=this._d;)this._q.shift()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){for(var a=this._s.now();this._q.length>0;){var b=this._q.shift();a-b.interval<=this._d&&this._o.onNext(b.value)}this._o.onCompleted()},b}(q);s.takeLastWithTime=function(a,b){return K(b)||(b=y),new da(this,a,b)},s.takeLastBufferWithTime=function(a,b){var c=this;return K(b)||(b=y),new t(function(d){var e=[];return c.subscribe(function(c){var d=b.now();for(e.push({interval:d,value:c});e.length>0&&d-e[0].interval>=a;)e.shift()},function(a){d.onError(a)},function(){for(var c=b.now(),f=[];e.length>0;){var g=e.shift();c-g.interval<=a&&f.push(g.value)}d.onNext(f),d.onCompleted()})},c)};var fa=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,a.call(this)}function c(a,b){b.onCompleted()}return p(b,a),b.prototype.subscribeCore=function(a){return new C(this._s.scheduleFuture(a,this._d,c),this.source.subscribe(a))},b}(u);s.takeWithTime=function(a,b){return K(b)||(b=y),new fa(this,a,b)};var ga=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,this._open=!1,a.call(this)}function c(a,b){b._open=!0}return p(b,a),b.prototype.subscribeCore=function(a){return new C(this._s.scheduleFuture(this,this._d,c),this.source.subscribe(new ha(a,this)))},b}(u),ha=function(a){function b(b,c){this._o=b,this._p=c,a.call(this)}return p(b,a),b.prototype.next=function(a){this._p._open&&this._o.onNext(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(q);s.skipWithTime=function(a,b){return K(b)||(b=y),new ga(this,a,b)};var ia=function(a){function b(b,c,d){this.source=b,this._st=c,this._s=d,a.call(this)}function c(a,b){b._open=!0}return p(b,a),b.prototype.subscribeCore=function(a){return this._open=!1,new C(this._s.scheduleFuture(this,this._st,c),this.source.subscribe(new ja(a,this)))},b}(u),ja=function(a){function b(b,c){this._o=b,this._p=c,a.call(this)}return p(b,a),b.prototype.next=function(a){this._p._open&&this._o.onNext(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(q);return s.skipUntilWithTime=function(a,b){return K(b)||(b=y),new ia(this,a,b)},s.takeUntilWithTime=function(a,b){K(b)||(b=y);var c=this;return new t(function(d){return new C(b.scheduleFuture(d,a,function(a,b){b.onCompleted()}),c.subscribe(d))},c)},s.throttle=function(a,b){K(b)||(b=y);var c=+a||0;if(0>=c)throw new RangeError("windowDuration cannot be less or equal zero.");var d=this;return new t(function(a){var e=0;return d.subscribe(function(d){var f=b.now();(0===e||f-e>=c)&&(e=f,a.onNext(d))},function(b){a.onError(b)},function(){a.onCompleted()})},d)},c}); //# sourceMappingURL=rx.time.map \ No newline at end of file diff --git a/modules/rx-lite-joinpatterns-compat/rx.lite.joinpatterns.compat.js b/modules/rx-lite-joinpatterns-compat/rx.lite.joinpatterns.compat.js index 90609e9ce..8f05ac8b4 100644 --- a/modules/rx-lite-joinpatterns-compat/rx.lite.joinpatterns.compat.js +++ b/modules/rx-lite-joinpatterns-compat/rx.lite.joinpatterns.compat.js @@ -327,7 +327,7 @@ })); } } catch (e) { - observableThrow(e).subscribe(o); + return observableThrow(e).subscribe(o); } var group = new CompositeDisposable(); externalSubscriptions.forEach(function (joinObserver) { diff --git a/modules/rx-lite-joinpatterns-compat/rx.lite.joinpatterns.compat.map b/modules/rx-lite-joinpatterns-compat/rx.lite.joinpatterns.compat.map index 7a9821df5..94fa0f495 100644 --- a/modules/rx-lite-joinpatterns-compat/rx.lite.joinpatterns.compat.map +++ b/modules/rx-lite-joinpatterns-compat/rx.lite.joinpatterns.compat.map @@ -1 +1 @@ -{"version":3,"file":"rx.lite.joinpatterns.compat.min.js","sources":["rx.lite.joinpatterns.compat.js"],"names":["factory","checkGlobal","value","Object","objectTypes","function","object","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","freeSelf","self","freeWindow","window","thisGlobal","this","root","Function","define","amd","Rx","require","call","exp","undefined","tryCatcherGen","tryCatchTarget","apply","arguments","e","errorObj","Pattern","patterns","Plan","expression","selector","handleOnError","o","onError","handleOnNext","observer","result","tryCatch","onNext","planCreateObserver","externalSubscriptions","observable","entry","get","JoinObserver","set","ActivePlan","joinObserverArray","onCompleted","joinObservers","Map","i","len","length","joinObserver","Observable","observableProto","prototype","AnonymousObservable","observableThrow","throwError","observerCreate","Observer","create","SingleAssignmentDisposable","CompositeDisposable","AbstractObserver","internals","noop","helpers","inherits","isFunction","fn","TypeError","size","_values","_keys","key","indexOf","splice","push","forEach","cb","thisArg","and","other","concat","thenDo","activate","deactivate","errHandler","activePlan","j","jlen","removeActivePlan","addActivePlan","dequeue","v","queue","shift","match","hasValues","firstValues","isCompleted","kind","values","__super__","source","activePlans","subscription","isDisposed","JoinObserverPrototype","next","notification","error","slice","completed","subscribe","setDisposable","materialize","dispose","right","when","plans","Array","isArray","outObserver","x","err","idx","group","add"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"rx.lite.joinpatterns.compat.min.js","sources":["rx.lite.joinpatterns.compat.js"],"names":["factory","checkGlobal","value","Object","objectTypes","function","object","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","freeSelf","self","freeWindow","window","thisGlobal","this","root","Function","define","amd","Rx","require","call","exp","undefined","tryCatcherGen","tryCatchTarget","apply","arguments","e","errorObj","Pattern","patterns","Plan","expression","selector","handleOnError","o","onError","handleOnNext","observer","result","tryCatch","onNext","planCreateObserver","externalSubscriptions","observable","entry","get","JoinObserver","set","ActivePlan","joinObserverArray","onCompleted","joinObservers","Map","i","len","length","joinObserver","Observable","observableProto","prototype","AnonymousObservable","observableThrow","throwError","observerCreate","Observer","create","SingleAssignmentDisposable","CompositeDisposable","AbstractObserver","internals","noop","helpers","inherits","isFunction","fn","TypeError","size","_values","_keys","key","indexOf","splice","push","forEach","cb","thisArg","and","other","concat","thenDo","activate","deactivate","errHandler","activePlan","j","jlen","removeActivePlan","addActivePlan","dequeue","v","queue","shift","match","hasValues","firstValues","isCompleted","kind","values","__super__","source","activePlans","subscription","isDisposed","JoinObserverPrototype","next","notification","error","slice","completed","subscribe","setDisposable","materialize","dispose","right","when","plans","Array","isArray","outObserver","x","err","idx","group","add"],"mappings":"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"} \ No newline at end of file diff --git a/modules/rx-lite-joinpatterns-compat/rx.lite.joinpatterns.compat.min.js b/modules/rx-lite-joinpatterns-compat/rx.lite.joinpatterns.compat.min.js index 0d3a4666c..ecd3cd93d 100644 --- a/modules/rx-lite-joinpatterns-compat/rx.lite.joinpatterns.compat.min.js +++ b/modules/rx-lite-joinpatterns-compat/rx.lite.joinpatterns.compat.min.js @@ -1,3 +1,3 @@ /* Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.*/ -(function(a){function b(a){return a&&a.Object===Object?a:null}var c={"function":!0,object:!0},d=c[typeof exports]&&exports&&!exports.nodeType?exports:null,e=c[typeof module]&&module&&!module.nodeType?module:null,f=b(d&&e&&"object"==typeof global&&global),g=b(c[typeof self]&&self),h=b(c[typeof window]&&window),i=(e&&e.exports===d?d:null,b(c[typeof this]&&this)),j=f||h!==(i&&i.window)&&h||g||i||Function("return this")();"function"==typeof define&&define.amd?define(["./rx.lite.compat"],function(b,c){return a(j,c,b)}):"object"==typeof module&&module&&module.exports===d?module.exports=a(j,module.exports,require("rx-lite-compat")):j.Rx=a(j,{},j.Rx)}).call(this,function(a,b,c,d){function e(a){return function(){try{return a.apply(this,arguments)}catch(b){return w.e=b,w}}}function f(a){this.patterns=a}function g(a,b){this.expression=a,this.selector=b}function h(a){return function(b){a.onError(b)}}function i(a,b){return function(){var c=x(a.selector).apply(a,arguments);return c===w?b.onError(c.e):void b.onNext(c)}}function j(a,b,c){var d=a.get(b);if(!d){var e=new z(b,c);return a.set(b,e),e}return d}function k(a,b,c){this.joinObserverArray=a,this.onNext=b,this.onCompleted=c,this.joinObservers=new y;for(var d=0,e=this.joinObserverArray.length;e>d;d++){var f=this.joinObserverArray[d];this.joinObservers.set(f,f)}}var l=c.Observable,m=l.prototype,n=c.AnonymousObservable,o=l.throwError,p=c.Observer.create,q=c.SingleAssignmentDisposable,r=c.CompositeDisposable,s=c.internals.AbstractObserver,t=c.helpers.noop,u=c.internals.inherits,v=c.helpers.isFunction,w={e:{}},x=c.internals.tryCatch=function(a){if(!v(a))throw new TypeError("fn must be a function");return e(a)},y=a.Map||function(){function a(){this.size=0,this._values=[],this._keys=[]}return a.prototype["delete"]=function(a){var b=this._keys.indexOf(a);return-1===b?!1:(this._values.splice(b,1),this._keys.splice(b,1),this.size--,!0)},a.prototype.get=function(a){var b=this._keys.indexOf(a);return-1===b?d:this._values[b]},a.prototype.set=function(a,b){var c=this._keys.indexOf(a);return-1===c?(this._keys.push(a),this._values.push(b),this.size++):this._values[c]=b,this},a.prototype.forEach=function(a,b){for(var c=0;cf;f++)d.push(j(a,this.expression.patterns[f],e));var l=new k(d,i(this,b),function(){for(var a=0,b=d.length;b>a;a++)d[a].removeActivePlan(l);c(l)});for(f=0,g=d.length;g>f;f++)d[f].addActivePlan(l);return l},k.prototype.dequeue=function(){this.joinObservers.forEach(function(a){a.queue.shift()})},k.prototype.match=function(){var a,b,c=!0;for(a=0,b=this.joinObserverArray.length;b>a;a++)if(0===this.joinObserverArray[a].queue.length){c=!1;break}if(c){var d=[],e=!1;for(a=0,b=this.joinObserverArray.length;b>a;a++)d.push(this.joinObserverArray[a].queue[0]),"C"===this.joinObserverArray[a].queue[0].kind&&(e=!0);if(e)this.onCompleted();else{this.dequeue();var f=[];for(a=0,b=d.length;ac;c++)b[c].match()}},c.error=t,c.completed=t,c.addActivePlan=function(a){this.activePlans.push(a)},c.subscribe=function(){this.subscription.setDisposable(this.source.materialize().subscribe(this))},c.removeActivePlan=function(a){this.activePlans.splice(this.activePlans.indexOf(a),1),0===this.activePlans.length&&this.dispose()},c.dispose=function(){a.prototype.dispose.call(this),this.isDisposed||(this.isDisposed=!0,this.subscription.dispose())},b}(s);return m.and=function(a){return new f([this,a])},m.thenDo=function(a){return new f([this]).thenDo(a)},l.when=function(){var a,b=arguments.length;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new n(function(b){var c=[],d=new y,e=p(function(a){b.onNext(a)},function(a){d.forEach(function(b){b.onError(a)}),b.onError(a)},function(a){b.onCompleted()});try{for(var f=0,g=a.length;g>f;f++)c.push(a[f].activate(d,e,function(a){var d=c.indexOf(a);c.splice(d,1),0===c.length&&b.onCompleted()}))}catch(h){o(h).subscribe(b)}var i=new r;return d.forEach(function(a){a.subscribe(),i.add(a)}),i})},c}); +(function(a){function b(a){return a&&a.Object===Object?a:null}var c={"function":!0,object:!0},d=c[typeof exports]&&exports&&!exports.nodeType?exports:null,e=c[typeof module]&&module&&!module.nodeType?module:null,f=b(d&&e&&"object"==typeof global&&global),g=b(c[typeof self]&&self),h=b(c[typeof window]&&window),i=(e&&e.exports===d?d:null,b(c[typeof this]&&this)),j=f||h!==(i&&i.window)&&h||g||i||Function("return this")();"function"==typeof define&&define.amd?define(["./rx.lite.compat"],function(b,c){return a(j,c,b)}):"object"==typeof module&&module&&module.exports===d?module.exports=a(j,module.exports,require("rx-lite-compat")):j.Rx=a(j,{},j.Rx)}).call(this,function(a,b,c,d){function e(a){return function(){try{return a.apply(this,arguments)}catch(b){return w.e=b,w}}}function f(a){this.patterns=a}function g(a,b){this.expression=a,this.selector=b}function h(a){return function(b){a.onError(b)}}function i(a,b){return function(){var c=x(a.selector).apply(a,arguments);return c===w?b.onError(c.e):void b.onNext(c)}}function j(a,b,c){var d=a.get(b);if(!d){var e=new z(b,c);return a.set(b,e),e}return d}function k(a,b,c){this.joinObserverArray=a,this.onNext=b,this.onCompleted=c,this.joinObservers=new y;for(var d=0,e=this.joinObserverArray.length;e>d;d++){var f=this.joinObserverArray[d];this.joinObservers.set(f,f)}}var l=c.Observable,m=l.prototype,n=c.AnonymousObservable,o=l.throwError,p=c.Observer.create,q=c.SingleAssignmentDisposable,r=c.CompositeDisposable,s=c.internals.AbstractObserver,t=c.helpers.noop,u=c.internals.inherits,v=c.helpers.isFunction,w={e:{}},x=c.internals.tryCatch=function(a){if(!v(a))throw new TypeError("fn must be a function");return e(a)},y=a.Map||function(){function a(){this.size=0,this._values=[],this._keys=[]}return a.prototype["delete"]=function(a){var b=this._keys.indexOf(a);return-1===b?!1:(this._values.splice(b,1),this._keys.splice(b,1),this.size--,!0)},a.prototype.get=function(a){var b=this._keys.indexOf(a);return-1===b?d:this._values[b]},a.prototype.set=function(a,b){var c=this._keys.indexOf(a);return-1===c?(this._keys.push(a),this._values.push(b),this.size++):this._values[c]=b,this},a.prototype.forEach=function(a,b){for(var c=0;cf;f++)d.push(j(a,this.expression.patterns[f],e));var l=new k(d,i(this,b),function(){for(var a=0,b=d.length;b>a;a++)d[a].removeActivePlan(l);c(l)});for(f=0,g=d.length;g>f;f++)d[f].addActivePlan(l);return l},k.prototype.dequeue=function(){this.joinObservers.forEach(function(a){a.queue.shift()})},k.prototype.match=function(){var a,b,c=!0;for(a=0,b=this.joinObserverArray.length;b>a;a++)if(0===this.joinObserverArray[a].queue.length){c=!1;break}if(c){var d=[],e=!1;for(a=0,b=this.joinObserverArray.length;b>a;a++)d.push(this.joinObserverArray[a].queue[0]),"C"===this.joinObserverArray[a].queue[0].kind&&(e=!0);if(e)this.onCompleted();else{this.dequeue();var f=[];for(a=0,b=d.length;ac;c++)b[c].match()}},c.error=t,c.completed=t,c.addActivePlan=function(a){this.activePlans.push(a)},c.subscribe=function(){this.subscription.setDisposable(this.source.materialize().subscribe(this))},c.removeActivePlan=function(a){this.activePlans.splice(this.activePlans.indexOf(a),1),0===this.activePlans.length&&this.dispose()},c.dispose=function(){a.prototype.dispose.call(this),this.isDisposed||(this.isDisposed=!0,this.subscription.dispose())},b}(s);return m.and=function(a){return new f([this,a])},m.thenDo=function(a){return new f([this]).thenDo(a)},l.when=function(){var a,b=arguments.length;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new n(function(b){var c=[],d=new y,e=p(function(a){b.onNext(a)},function(a){d.forEach(function(b){b.onError(a)}),b.onError(a)},function(a){b.onCompleted()});try{for(var f=0,g=a.length;g>f;f++)c.push(a[f].activate(d,e,function(a){var d=c.indexOf(a);c.splice(d,1),0===c.length&&b.onCompleted()}))}catch(h){return o(h).subscribe(b)}var i=new r;return d.forEach(function(a){a.subscribe(),i.add(a)}),i})},c}); //# sourceMappingURL=rx.lite.joinpatterns.compat.map \ No newline at end of file diff --git a/modules/rx-lite-joinpatterns/rx.lite.joinpatterns.js b/modules/rx-lite-joinpatterns/rx.lite.joinpatterns.js index fed6994b1..806daf99c 100644 --- a/modules/rx-lite-joinpatterns/rx.lite.joinpatterns.js +++ b/modules/rx-lite-joinpatterns/rx.lite.joinpatterns.js @@ -327,7 +327,7 @@ })); } } catch (e) { - observableThrow(e).subscribe(o); + return observableThrow(e).subscribe(o); } var group = new CompositeDisposable(); externalSubscriptions.forEach(function (joinObserver) { diff --git a/modules/rx-lite-joinpatterns/rx.lite.joinpatterns.map b/modules/rx-lite-joinpatterns/rx.lite.joinpatterns.map index 15c02e139..bf56a92fe 100644 --- a/modules/rx-lite-joinpatterns/rx.lite.joinpatterns.map +++ b/modules/rx-lite-joinpatterns/rx.lite.joinpatterns.map @@ -1 +1 @@ -{"version":3,"file":"rx.lite.joinpatterns.min.js","sources":["rx.lite.joinpatterns.js"],"names":["factory","checkGlobal","value","Object","objectTypes","function","object","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","freeSelf","self","freeWindow","window","thisGlobal","this","root","Function","define","amd","Rx","require","call","exp","undefined","tryCatcherGen","tryCatchTarget","apply","arguments","e","errorObj","Pattern","patterns","Plan","expression","selector","handleOnError","o","onError","handleOnNext","observer","result","tryCatch","onNext","planCreateObserver","externalSubscriptions","observable","entry","get","JoinObserver","set","ActivePlan","joinObserverArray","onCompleted","joinObservers","Map","i","len","length","joinObserver","Observable","observableProto","prototype","AnonymousObservable","observableThrow","throwError","observerCreate","Observer","create","SingleAssignmentDisposable","CompositeDisposable","AbstractObserver","internals","noop","helpers","inherits","isFunction","fn","TypeError","size","_values","_keys","key","indexOf","splice","push","forEach","cb","thisArg","and","other","concat","thenDo","activate","deactivate","errHandler","activePlan","j","jlen","removeActivePlan","addActivePlan","dequeue","v","queue","shift","match","hasValues","firstValues","isCompleted","kind","values","__super__","source","activePlans","subscription","isDisposed","JoinObserverPrototype","next","notification","error","slice","completed","subscribe","setDisposable","materialize","dispose","right","when","plans","Array","isArray","outObserver","x","err","idx","group","add"],"mappings":";CAEE,SAAUA,GAMV,QAASC,GAAYC,GACnB,MAAQA,IAASA,EAAMC,SAAWA,OAAUD,EAAQ,KANtD,GAAIE,IACFC,YAAY,EACZC,QAAU,GAORC,EAAeH,QAAmBI,WAAYA,UAAYA,QAAQC,SAAYD,QAAU,KACxFE,EAAcN,QAAmBO,UAAWA,SAAWA,OAAOF,SAAYE,OAAS,KACnFC,EAAaX,EAAYM,GAAeG,GAAgC,gBAAXG,SAAuBA,QACpFC,EAAWb,EAAYG,QAAmBW,QAASA,MACnDC,EAAaf,EAAYG,QAAmBa,UAAWA,QAEvDC,GADiBR,GAAcA,EAAWF,UAAYD,EAAeA,EAAc,KACtEN,EAAYG,QAAmBe,QAASA,OACrDC,EAAOR,GAAgBI,KAAgBE,GAAcA,EAAWD,SAAYD,GAAeF,GAAYI,GAAcG,SAAS,gBAG5G,mBAAXC,SAAyBA,OAAOC,IACzCD,QAAQ,aAAc,SAAUE,EAAIhB,GAClC,MAAOR,GAAQoB,EAAMZ,EAASgB,KAEL,gBAAXb,SAAuBA,QAAUA,OAAOH,UAAYD,EACpEI,OAAOH,QAAUR,EAAQoB,EAAMT,OAAOH,QAASiB,QAAQ,YAEvDL,EAAKI,GAAKxB,EAAQoB,KAAUA,EAAKI,MAEnCE,KAAKP,KAAM,SAAUC,EAAMO,EAAKH,EAAII,GAiBpC,QAASC,GAAcC,GACrB,MAAO,YACL,IACE,MAAOA,GAAeC,MAAMZ,KAAMa,WAClC,MAAOC,GAEP,MADAC,GAASD,EAAIA,EACNC,IA4Db,QAASC,GAAQC,GACfjB,KAAKiB,SAAWA,EAqBlB,QAASC,GAAKC,EAAYC,GACxBpB,KAAKmB,WAAaA,EAClBnB,KAAKoB,SAAWA,EAGlB,QAASC,GAAcC,GAAK,MAAO,UAAUR,GAAKQ,EAAEC,QAAQT,IAC5D,QAASU,GAAa5B,EAAM6B,GAC1B,MAAO,YACL,GAAIC,GAASC,EAAS/B,EAAKwB,UAAUR,MAAMhB,EAAMiB,UACjD,OAAIa,KAAWX,EAAmBU,EAASF,QAAQG,EAAOZ,OAC1DW,GAASG,OAAOF,IAqBpB,QAASG,GAAmBC,EAAuBC,EAAYR,GAC7D,GAAIS,GAAQF,EAAsBG,IAAIF,EACtC,KAAKC,EAAO,CACV,GAAIP,GAAW,GAAIS,GAAaH,EAAYR,EAE5C,OADAO,GAAsBK,IAAIJ,EAAYN,GAC/BA,EAET,MAAOO,GAGT,QAASI,GAAWC,EAAmBT,EAAQU,GAC7CtC,KAAKqC,kBAAoBA,EACzBrC,KAAK4B,OAASA,EACd5B,KAAKsC,YAAcA,EACnBtC,KAAKuC,cAAgB,GAAIC,EACzB,KAAK,GAAIC,GAAI,EAAGC,EAAM1C,KAAKqC,kBAAkBM,OAAYD,EAAJD,EAASA,IAAK,CACjE,GAAIG,GAAe5C,KAAKqC,kBAAkBI,EAC1CzC,MAAKuC,cAAcJ,IAAIS,EAAcA,IAtJzC,GAAIC,GAAaxC,EAAGwC,WAClBC,EAAkBD,EAAWE,UAC7BC,EAAsB3C,EAAG2C,oBACzBC,EAAkBJ,EAAWK,WAC7BC,EAAiB9C,EAAG+C,SAASC,OAC7BC,EAA6BjD,EAAGiD,2BAChCC,EAAsBlD,EAAGkD,oBACzBC,EAAmBnD,EAAGoD,UAAUD,iBAChCE,EAAOrD,EAAGsD,QAAQD,KAClBE,EAAWvD,EAAGoD,UAAUG,SACxBC,EAAaxD,EAAGsD,QAAQE,WAEtB9C,GAAYD,MAaZa,EAAWtB,EAAGoD,UAAU9B,SAAW,SAAkBmC,GACvD,IAAKD,EAAWC,GAAO,KAAM,IAAIC,WAAU,wBAC3C,OAAOrD,GAAcoD,IAOnBtB,EAAMvC,EAAKuC,KAAQ,WACrB,QAASA,KACPxC,KAAKgE,KAAO,EACZhE,KAAKiE,WACLjE,KAAKkE,SAmCP,MAhCA1B,GAAIO,UAAU,UAAY,SAAUoB,GAClC,GAAI1B,GAAIzC,KAAKkE,MAAME,QAAQD,EAC3B,OAAU,KAAN1B,GAAmB,GACvBzC,KAAKiE,QAAQI,OAAO5B,EAAG,GACvBzC,KAAKkE,MAAMG,OAAO5B,EAAG,GACrBzC,KAAKgE,QACE,IAGTxB,EAAIO,UAAUd,IAAM,SAAUkC,GAC5B,GAAI1B,GAAIzC,KAAKkE,MAAME,QAAQD,EAC3B,OAAa,KAAN1B,EAAWhC,EAAYT,KAAKiE,QAAQxB,IAG7CD,EAAIO,UAAUZ,IAAM,SAAUgC,EAAKpF,GACjC,GAAI0D,GAAIzC,KAAKkE,MAAME,QAAQD,EAQ3B,OAPU,KAAN1B,GACFzC,KAAKkE,MAAMI,KAAKH,GAChBnE,KAAKiE,QAAQK,KAAKvF,GAClBiB,KAAKgE,QAELhE,KAAKiE,QAAQxB,GAAK1D,EAEbiB,MAGTwC,EAAIO,UAAUwB,QAAU,SAAUC,EAAIC,GACpC,IAAK,GAAIhC,GAAI,EAAGA,EAAIzC,KAAKgE,KAAMvB,IAC7B+B,EAAGjE,KAAKkE,EAASzE,KAAKiE,QAAQxB,GAAIzC,KAAKkE,MAAMzB,KAI1CD,IAgBTxB,GAAQ+B,UAAU2B,IAAM,SAAUC,GAChC,MAAO,IAAI3D,GAAQhB,KAAKiB,SAAS2D,OAAOD,KAQ1C3D,EAAQ+B,UAAU8B,OAAS,SAAUzD,GACnC,MAAO,IAAIF,GAAKlB,KAAMoB,IAiBxBF,EAAK6B,UAAU+B,SAAW,SAAUhD,EAAuBL,EAAUsD,GAEnE,IAAK,GADDxC,MAAoByC,EAAa3D,EAAcI,GAC1CgB,EAAI,EAAGC,EAAM1C,KAAKmB,WAAWF,SAAS0B,OAAYD,EAAJD,EAASA,IAC9DF,EAAc+B,KAAKzC,EAAmBC,EAAuB9B,KAAKmB,WAAWF,SAASwB,GAAIuC,GAE5F,IAAIC,GAAa,GAAI7C,GAAWG,EAAef,EAAaxB,KAAMyB,GAAW,WAC3E,IAAK,GAAIyD,GAAI,EAAGC,EAAO5C,EAAcI,OAAYwC,EAAJD,EAAUA,IACrD3C,EAAc2C,GAAGE,iBAAiBH,EAEpCF,GAAWE,IAEb,KAAKxC,EAAI,EAAGC,EAAMH,EAAcI,OAAYD,EAAJD,EAASA,IAC/CF,EAAcE,GAAG4C,cAAcJ,EAEjC,OAAOA,IAwBT7C,EAAWW,UAAUuC,QAAU,WAC7BtF,KAAKuC,cAAcgC,QAAQ,SAAUgB,GAAKA,EAAEC,MAAMC,WAGpDrD,EAAWW,UAAU2C,MAAQ,WAC3B,GAAIjD,GAAGC,EAAKiD,GAAY,CACxB,KAAKlD,EAAI,EAAGC,EAAM1C,KAAKqC,kBAAkBM,OAAYD,EAAJD,EAASA,IACxD,GAA+C,IAA3CzC,KAAKqC,kBAAkBI,GAAG+C,MAAM7C,OAAc,CAChDgD,GAAY,CACZ,OAGJ,GAAIA,EAAW,CACb,GAAIC,MACAC,GAAc,CAClB,KAAKpD,EAAI,EAAGC,EAAM1C,KAAKqC,kBAAkBM,OAAYD,EAAJD,EAASA,IACxDmD,EAAYtB,KAAKtE,KAAKqC,kBAAkBI,GAAG+C,MAAM,IACL,MAA5CxF,KAAKqC,kBAAkBI,GAAG+C,MAAM,GAAGM,OAAiBD,GAAc,EAEpE,IAAIA,EACF7F,KAAKsC,kBACA,CACLtC,KAAKsF,SACL,IAAIS,KACJ,KAAKtD,EAAI,EAAGC,EAAMkD,EAAYjD,OAAQF,EAAImD,EAAYjD,OAAQF,IAC5DsD,EAAOzB,KAAKsB,EAAYnD,GAAG1D,MAE7BiB,MAAK4B,OAAOhB,MAAMZ,KAAM+F,KAK9B,IAAI7D,GAAgB,SAAU8D,GAG5B,QAAS9D,GAAa+D,EAAQ1E,GAC5ByE,EAAUzF,KAAKP,MACfA,KAAKiG,OAASA,EACdjG,KAAKuB,QAAUA,EACfvB,KAAKwF,SACLxF,KAAKkG,eACLlG,KAAKmG,aAAe,GAAI7C,GACxBtD,KAAKoG,YAAa,EATpBxC,EAAS1B,EAAc8D,EAYvB,IAAIK,GAAwBnE,EAAaa,SAuCzC,OArCAsD,GAAsBC,KAAO,SAAUC,GACrC,IAAKvG,KAAKoG,WAAY,CACpB,GAA0B,MAAtBG,EAAaT,KACf,MAAO9F,MAAKuB,QAAQgF,EAAaC,MAEnCxG,MAAKwF,MAAMlB,KAAKiC,EAEhB,KAAK,GADDL,GAAclG,KAAKkG,YAAYO,MAAM,GAChChE,EAAI,EAAGC,EAAMwD,EAAYvD,OAAYD,EAAJD,EAASA,IACjDyD,EAAYzD,GAAGiD,UAKrBW,EAAsBG,MAAQ9C,EAC9B2C,EAAsBK,UAAYhD,EAElC2C,EAAsBhB,cAAgB,SAAUJ,GAC9CjF,KAAKkG,YAAY5B,KAAKW,IAGxBoB,EAAsBM,UAAY,WAChC3G,KAAKmG,aAAaS,cAAc5G,KAAKiG,OAAOY,cAAcF,UAAU3G,QAGtEqG,EAAsBjB,iBAAmB,SAAUH,GACjDjF,KAAKkG,YAAY7B,OAAOrE,KAAKkG,YAAY9B,QAAQa,GAAa,GAClC,IAA5BjF,KAAKkG,YAAYvD,QAAgB3C,KAAK8G,WAGxCT,EAAsBS,QAAU,WAC9Bd,EAAUjD,UAAU+D,QAAQvG,KAAKP,MAC5BA,KAAKoG,aACRpG,KAAKoG,YAAa,EAClBpG,KAAKmG,aAAaW,YAIf5E,GACNsB,EAoEH,OA5DAV,GAAgB4B,IAAM,SAAUqC,GAC9B,MAAO,IAAI/F,IAAShB,KAAM+G,KAS5BjE,EAAgB+B,OAAS,SAAUzD,GACjC,MAAO,IAAIJ,IAAShB,OAAO6E,OAAOzD,IASpCyB,EAAWmE,KAAO,WAChB,GAA4BC,GAAxBvE,EAAM7B,UAAU8B,MACpB,IAAIuE,MAAMC,QAAQtG,UAAU,IAC1BoG,EAAQpG,UAAU,OACb,CACLoG,EAAQ,GAAIC,OAAMxE,EAClB,KAAI,GAAID,GAAI,EAAOC,EAAJD,EAASA,IAAOwE,EAAMxE,GAAK5B,UAAU4B,GAEtD,MAAO,IAAIO,GAAoB,SAAU1B,GACvC,GAAI4E,MACApE,EAAwB,GAAIU,GAC5B4E,EAAcjE,EAChB,SAAUkE,GAAK/F,EAAEM,OAAOyF,IACxB,SAAUC,GACRxF,EAAsByC,QAAQ,SAAUgB,GAAKA,EAAEhE,QAAQ+F,KACvDhG,EAAEC,QAAQ+F,IAEZ,SAAUD,GAAK/F,EAAEgB,eAEnB,KACE,IAAK,GAAIG,GAAI,EAAGC,EAAMuE,EAAMtE,OAAYD,EAAJD,EAASA,IAC3CyD,EAAY5B,KAAK2C,EAAMxE,GAAGqC,SAAShD,EAAuBsF,EAAa,SAAUnC,GAC/E,GAAIsC,GAAMrB,EAAY9B,QAAQa,EAC9BiB,GAAY7B,OAAOkD,EAAK,GACD,IAAvBrB,EAAYvD,QAAgBrB,EAAEgB,iBAGlC,MAAOxB,GACPmC,EAAgBnC,GAAG6F,UAAUrF,GAE/B,GAAIkG,GAAQ,GAAIjE,EAMhB,OALAzB,GAAsByC,QAAQ,SAAU3B,GACtCA,EAAa+D,YACba,EAAMC,IAAI7E,KAGL4E,KAIJnH"} \ No newline at end of file +{"version":3,"file":"rx.lite.joinpatterns.min.js","sources":["rx.lite.joinpatterns.js"],"names":["factory","checkGlobal","value","Object","objectTypes","function","object","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","freeSelf","self","freeWindow","window","thisGlobal","this","root","Function","define","amd","Rx","require","call","exp","undefined","tryCatcherGen","tryCatchTarget","apply","arguments","e","errorObj","Pattern","patterns","Plan","expression","selector","handleOnError","o","onError","handleOnNext","observer","result","tryCatch","onNext","planCreateObserver","externalSubscriptions","observable","entry","get","JoinObserver","set","ActivePlan","joinObserverArray","onCompleted","joinObservers","Map","i","len","length","joinObserver","Observable","observableProto","prototype","AnonymousObservable","observableThrow","throwError","observerCreate","Observer","create","SingleAssignmentDisposable","CompositeDisposable","AbstractObserver","internals","noop","helpers","inherits","isFunction","fn","TypeError","size","_values","_keys","key","indexOf","splice","push","forEach","cb","thisArg","and","other","concat","thenDo","activate","deactivate","errHandler","activePlan","j","jlen","removeActivePlan","addActivePlan","dequeue","v","queue","shift","match","hasValues","firstValues","isCompleted","kind","values","__super__","source","activePlans","subscription","isDisposed","JoinObserverPrototype","next","notification","error","slice","completed","subscribe","setDisposable","materialize","dispose","right","when","plans","Array","isArray","outObserver","x","err","idx","group","add"],"mappings":"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"} \ No newline at end of file diff --git a/modules/rx-lite-joinpatterns/rx.lite.joinpatterns.min.js b/modules/rx-lite-joinpatterns/rx.lite.joinpatterns.min.js index ba420a24b..80ddb8a22 100644 --- a/modules/rx-lite-joinpatterns/rx.lite.joinpatterns.min.js +++ b/modules/rx-lite-joinpatterns/rx.lite.joinpatterns.min.js @@ -1,3 +1,3 @@ /* Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.*/ -(function(a){function b(a){return a&&a.Object===Object?a:null}var c={"function":!0,object:!0},d=c[typeof exports]&&exports&&!exports.nodeType?exports:null,e=c[typeof module]&&module&&!module.nodeType?module:null,f=b(d&&e&&"object"==typeof global&&global),g=b(c[typeof self]&&self),h=b(c[typeof window]&&window),i=(e&&e.exports===d?d:null,b(c[typeof this]&&this)),j=f||h!==(i&&i.window)&&h||g||i||Function("return this")();"function"==typeof define&&define.amd?define(["./rx.lite"],function(b,c){return a(j,c,b)}):"object"==typeof module&&module&&module.exports===d?module.exports=a(j,module.exports,require("rx-lite")):j.Rx=a(j,{},j.Rx)}).call(this,function(a,b,c,d){function e(a){return function(){try{return a.apply(this,arguments)}catch(b){return w.e=b,w}}}function f(a){this.patterns=a}function g(a,b){this.expression=a,this.selector=b}function h(a){return function(b){a.onError(b)}}function i(a,b){return function(){var c=x(a.selector).apply(a,arguments);return c===w?b.onError(c.e):void b.onNext(c)}}function j(a,b,c){var d=a.get(b);if(!d){var e=new z(b,c);return a.set(b,e),e}return d}function k(a,b,c){this.joinObserverArray=a,this.onNext=b,this.onCompleted=c,this.joinObservers=new y;for(var d=0,e=this.joinObserverArray.length;e>d;d++){var f=this.joinObserverArray[d];this.joinObservers.set(f,f)}}var l=c.Observable,m=l.prototype,n=c.AnonymousObservable,o=l.throwError,p=c.Observer.create,q=c.SingleAssignmentDisposable,r=c.CompositeDisposable,s=c.internals.AbstractObserver,t=c.helpers.noop,u=c.internals.inherits,v=c.helpers.isFunction,w={e:{}},x=c.internals.tryCatch=function(a){if(!v(a))throw new TypeError("fn must be a function");return e(a)},y=a.Map||function(){function a(){this.size=0,this._values=[],this._keys=[]}return a.prototype["delete"]=function(a){var b=this._keys.indexOf(a);return-1===b?!1:(this._values.splice(b,1),this._keys.splice(b,1),this.size--,!0)},a.prototype.get=function(a){var b=this._keys.indexOf(a);return-1===b?d:this._values[b]},a.prototype.set=function(a,b){var c=this._keys.indexOf(a);return-1===c?(this._keys.push(a),this._values.push(b),this.size++):this._values[c]=b,this},a.prototype.forEach=function(a,b){for(var c=0;cf;f++)d.push(j(a,this.expression.patterns[f],e));var l=new k(d,i(this,b),function(){for(var a=0,b=d.length;b>a;a++)d[a].removeActivePlan(l);c(l)});for(f=0,g=d.length;g>f;f++)d[f].addActivePlan(l);return l},k.prototype.dequeue=function(){this.joinObservers.forEach(function(a){a.queue.shift()})},k.prototype.match=function(){var a,b,c=!0;for(a=0,b=this.joinObserverArray.length;b>a;a++)if(0===this.joinObserverArray[a].queue.length){c=!1;break}if(c){var d=[],e=!1;for(a=0,b=this.joinObserverArray.length;b>a;a++)d.push(this.joinObserverArray[a].queue[0]),"C"===this.joinObserverArray[a].queue[0].kind&&(e=!0);if(e)this.onCompleted();else{this.dequeue();var f=[];for(a=0,b=d.length;ac;c++)b[c].match()}},c.error=t,c.completed=t,c.addActivePlan=function(a){this.activePlans.push(a)},c.subscribe=function(){this.subscription.setDisposable(this.source.materialize().subscribe(this))},c.removeActivePlan=function(a){this.activePlans.splice(this.activePlans.indexOf(a),1),0===this.activePlans.length&&this.dispose()},c.dispose=function(){a.prototype.dispose.call(this),this.isDisposed||(this.isDisposed=!0,this.subscription.dispose())},b}(s);return m.and=function(a){return new f([this,a])},m.thenDo=function(a){return new f([this]).thenDo(a)},l.when=function(){var a,b=arguments.length;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new n(function(b){var c=[],d=new y,e=p(function(a){b.onNext(a)},function(a){d.forEach(function(b){b.onError(a)}),b.onError(a)},function(a){b.onCompleted()});try{for(var f=0,g=a.length;g>f;f++)c.push(a[f].activate(d,e,function(a){var d=c.indexOf(a);c.splice(d,1),0===c.length&&b.onCompleted()}))}catch(h){o(h).subscribe(b)}var i=new r;return d.forEach(function(a){a.subscribe(),i.add(a)}),i})},c}); +(function(a){function b(a){return a&&a.Object===Object?a:null}var c={"function":!0,object:!0},d=c[typeof exports]&&exports&&!exports.nodeType?exports:null,e=c[typeof module]&&module&&!module.nodeType?module:null,f=b(d&&e&&"object"==typeof global&&global),g=b(c[typeof self]&&self),h=b(c[typeof window]&&window),i=(e&&e.exports===d?d:null,b(c[typeof this]&&this)),j=f||h!==(i&&i.window)&&h||g||i||Function("return this")();"function"==typeof define&&define.amd?define(["./rx.lite"],function(b,c){return a(j,c,b)}):"object"==typeof module&&module&&module.exports===d?module.exports=a(j,module.exports,require("rx-lite")):j.Rx=a(j,{},j.Rx)}).call(this,function(a,b,c,d){function e(a){return function(){try{return a.apply(this,arguments)}catch(b){return w.e=b,w}}}function f(a){this.patterns=a}function g(a,b){this.expression=a,this.selector=b}function h(a){return function(b){a.onError(b)}}function i(a,b){return function(){var c=x(a.selector).apply(a,arguments);return c===w?b.onError(c.e):void b.onNext(c)}}function j(a,b,c){var d=a.get(b);if(!d){var e=new z(b,c);return a.set(b,e),e}return d}function k(a,b,c){this.joinObserverArray=a,this.onNext=b,this.onCompleted=c,this.joinObservers=new y;for(var d=0,e=this.joinObserverArray.length;e>d;d++){var f=this.joinObserverArray[d];this.joinObservers.set(f,f)}}var l=c.Observable,m=l.prototype,n=c.AnonymousObservable,o=l.throwError,p=c.Observer.create,q=c.SingleAssignmentDisposable,r=c.CompositeDisposable,s=c.internals.AbstractObserver,t=c.helpers.noop,u=c.internals.inherits,v=c.helpers.isFunction,w={e:{}},x=c.internals.tryCatch=function(a){if(!v(a))throw new TypeError("fn must be a function");return e(a)},y=a.Map||function(){function a(){this.size=0,this._values=[],this._keys=[]}return a.prototype["delete"]=function(a){var b=this._keys.indexOf(a);return-1===b?!1:(this._values.splice(b,1),this._keys.splice(b,1),this.size--,!0)},a.prototype.get=function(a){var b=this._keys.indexOf(a);return-1===b?d:this._values[b]},a.prototype.set=function(a,b){var c=this._keys.indexOf(a);return-1===c?(this._keys.push(a),this._values.push(b),this.size++):this._values[c]=b,this},a.prototype.forEach=function(a,b){for(var c=0;cf;f++)d.push(j(a,this.expression.patterns[f],e));var l=new k(d,i(this,b),function(){for(var a=0,b=d.length;b>a;a++)d[a].removeActivePlan(l);c(l)});for(f=0,g=d.length;g>f;f++)d[f].addActivePlan(l);return l},k.prototype.dequeue=function(){this.joinObservers.forEach(function(a){a.queue.shift()})},k.prototype.match=function(){var a,b,c=!0;for(a=0,b=this.joinObserverArray.length;b>a;a++)if(0===this.joinObserverArray[a].queue.length){c=!1;break}if(c){var d=[],e=!1;for(a=0,b=this.joinObserverArray.length;b>a;a++)d.push(this.joinObserverArray[a].queue[0]),"C"===this.joinObserverArray[a].queue[0].kind&&(e=!0);if(e)this.onCompleted();else{this.dequeue();var f=[];for(a=0,b=d.length;ac;c++)b[c].match()}},c.error=t,c.completed=t,c.addActivePlan=function(a){this.activePlans.push(a)},c.subscribe=function(){this.subscription.setDisposable(this.source.materialize().subscribe(this))},c.removeActivePlan=function(a){this.activePlans.splice(this.activePlans.indexOf(a),1),0===this.activePlans.length&&this.dispose()},c.dispose=function(){a.prototype.dispose.call(this),this.isDisposed||(this.isDisposed=!0,this.subscription.dispose())},b}(s);return m.and=function(a){return new f([this,a])},m.thenDo=function(a){return new f([this]).thenDo(a)},l.when=function(){var a,b=arguments.length;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new n(function(b){var c=[],d=new y,e=p(function(a){b.onNext(a)},function(a){d.forEach(function(b){b.onError(a)}),b.onError(a)},function(a){b.onCompleted()});try{for(var f=0,g=a.length;g>f;f++)c.push(a[f].activate(d,e,function(a){var d=c.indexOf(a);c.splice(d,1),0===c.length&&b.onCompleted()}))}catch(h){return o(h).subscribe(b)}var i=new r;return d.forEach(function(a){a.subscribe(),i.add(a)}),i})},c}); //# sourceMappingURL=rx.lite.joinpatterns.map \ No newline at end of file diff --git a/modules/rx-lite-time-compat/rx.lite.time.compat.js b/modules/rx-lite-time-compat/rx.lite.time.compat.js index 2c04dc92e..1ed835744 100644 --- a/modules/rx-lite-time-compat/rx.lite.time.compat.js +++ b/modules/rx-lite-time-compat/rx.lite.time.compat.js @@ -311,7 +311,7 @@ } function scheduleRecursive(state, recurse) { - state.hasResult && state.o.onNext(state.newState); + state.hasResult && state.o.onNext(state.result); if (state.first) { state.first = false; @@ -322,8 +322,8 @@ state.hasResult = tryCatch(state.self._cndFn)(state.newState); if (state.hasResult === errorObj) { return state.o.onError(state.hasResult.e); } if (state.hasResult) { - var result = tryCatch(state.self._resFn)(state.newState); - if (result === errorObj) { return state.o.onError(result.e); } + state.result = tryCatch(state.self._resFn)(state.newState); + if (state.result === errorObj) { return state.o.onError(state.result.e); } var time = tryCatch(state.self._timeFn)(state.newState); if (time === errorObj) { return state.o.onError(time.e); } recurse(state, time); @@ -338,7 +338,7 @@ self: this, newState: this._state, first: true, - hasValue: false + hasResult: false }; return this._s.scheduleRecursiveFuture(state, new Date(this._s.now()), scheduleRecursive); }; @@ -383,7 +383,7 @@ } function scheduleRecursive(state, recurse) { - state.hasResult && state.o.onNext(state.newState); + state.hasResult && state.o.onNext(state.result); if (state.first) { state.first = false; @@ -391,11 +391,12 @@ state.newState = tryCatch(state.self._itrFn)(state.newState); if (state.newState === errorObj) { return state.o.onError(state.newState.e); } } + state.hasResult = tryCatch(state.self._cndFn)(state.newState); if (state.hasResult === errorObj) { return state.o.onError(state.hasResult.e); } if (state.hasResult) { - var result = tryCatch(state.self._resFn)(state.newState); - if (result === errorObj) { return state.o.onError(result.e); } + state.result = tryCatch(state.self._resFn)(state.newState); + if (state.result === errorObj) { return state.o.onError(state.result.e); } var time = tryCatch(state.self._timeFn)(state.newState); if (time === errorObj) { return state.o.onError(time.e); } recurse(state, time); @@ -410,7 +411,7 @@ self: this, newState: this._state, first: true, - hasValue: false + hasResult: false }; return this._s.scheduleRecursiveFuture(state, 0, scheduleRecursive); }; diff --git a/modules/rx-lite-time-compat/rx.lite.time.compat.map b/modules/rx-lite-time-compat/rx.lite.time.compat.map index 5904fe4c2..b742660e6 100644 --- a/modules/rx-lite-time-compat/rx.lite.time.compat.map +++ b/modules/rx-lite-time-compat/rx.lite.time.compat.map @@ -1 +1 @@ -{"version":3,"file":"rx.lite.time.compat.min.js","sources":["rx.lite.time.compat.js"],"names":["factory","checkGlobal","value","Object","objectTypes","function","object","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","freeSelf","self","freeWindow","window","thisGlobal","this","root","Function","define","amd","Rx","require","call","exp","undefined","tryCatcherGen","tryCatchTarget","apply","arguments","e","errorObj","toArray","x","inherits","internals","AbstractObserver","Observable","observableProto","prototype","AnonymousObservable","ObservableBase","defaultScheduler","defer","empty","never","fromArray","Scheduler","SingleAssignmentDisposable","SerialDisposable","CompositeDisposable","BinaryDisposable","RefCountDisposable","Subject","addRef","helpers","normalize","isFunction","isPromise","isScheduler","fromPromise","tryCatch","fn","TypeError","windowWithTime","timeSpan","timeShiftOrScheduler","scheduler","timeShift","source","observer","createTimer","m","isSpan","isShift","timerD","setDisposable","nextSpan","nextShift","newTotalTime","ts","totalTime","scheduleFuture","s","q","push","onNext","refCountDisposable","shift","onCompleted","groupDisposable","add","subscribe","i","len","length","onError","windowWithTimeOrCount","count","id","windowId","n","newId","newWindow","bufferWithTime","flatMap","bufferWithTimeOrCount","TimeIntervalObservable","__super__","_s","subscribeCore","o","TimeIntervalObserver","_o","_l","now","next","span","interval","error","completed","timeInterval","GenerateAbsoluteObservable","state","cndFn","itrFn","resFn","timeFn","_state","_cndFn","_itrFn","_resFn","_timeFn","scheduleRecursive","recurse","hasResult","newState","first","result","time","hasValue","scheduleRecursiveFuture","Date","generateWithAbsoluteTime","initialState","condition","iterate","resultSelector","timeSelector","GenerateRelativeObservable","generateWithRelativeTime","DelaySubscription","dt","_dt","scheduleMethod","d","delaySubscription","dueTime","SkipLastWithTimeObservable","_d","SkipLastWithTimeObserver","p","_q","skipLastWithTime","duration","TakeLastWithTimeObservable","TakeLastWithTimeObserver","takeLastWithTime","takeLastBufferWithTime","res","TakeWithTimeObservable","takeWithTime","SkipWithTimeObservable","_open","SkipWithTimeObserver","_p","skipWithTime","SkipUntilWithTimeObservable","startTime","_st","SkipUntilWithTimeObserver","skipUntilWithTime","takeUntilWithTime","endTime","_"],"mappings":";CAEE,SAAUA,GAMV,QAASC,GAAYC,GACnB,MAAQA,IAASA,EAAMC,SAAWA,OAAUD,EAAQ,KANtD,GAAIE,IACFC,YAAY,EACZC,QAAU,GAORC,EAAeH,QAAmBI,WAAYA,UAAYA,QAAQC,SAAYD,QAAU,KACxFE,EAAcN,QAAmBO,UAAWA,SAAWA,OAAOF,SAAYE,OAAS,KACnFC,EAAaX,EAAYM,GAAeG,GAAgC,gBAAXG,SAAuBA,QACpFC,EAAWb,EAAYG,QAAmBW,QAASA,MACnDC,EAAaf,EAAYG,QAAmBa,UAAWA,QAEvDC,GADiBR,GAAcA,EAAWF,UAAYD,EAAeA,EAAc,KACtEN,EAAYG,QAAmBe,QAASA,OACrDC,EAAOR,GAAgBI,KAAgBE,GAAcA,EAAWD,SAAYD,GAAeF,GAAYI,GAAcG,SAAS,gBAG5G,mBAAXC,SAAyBA,OAAOC,IACzCD,QAAQ,oBAAqB,SAAUE,EAAIhB,GACzC,MAAOR,GAAQoB,EAAMZ,EAASgB,KAEL,gBAAXb,SAAuBA,QAAUA,OAAOH,UAAYD,EACpEI,OAAOH,QAAUR,EAAQoB,EAAMT,OAAOH,QAASiB,QAAQ,mBAEvDL,EAAKI,GAAKxB,EAAQoB,KAAUA,EAAKI,MAEnCE,KAAKP,KAAM,SAAUC,EAAMO,EAAKH,EAAII,GA+BpC,QAASC,GAAcC,GACrB,MAAO,YACL,IACE,MAAOA,GAAeC,MAAMZ,KAAMa,WAClC,MAAOC,GAEP,MADAC,GAASD,EAAIA,EACNC,IA2Jb,QAASC,GAAQC,GAAK,MAAOA,GAAED,UAa/B,QAASA,GAAQC,GAAK,MAAOA,GAAED,UA1M/B,GAAIE,GAAWb,EAAGc,UAAUD,SAC1BE,EAAmBf,EAAGc,UAAUC,iBAChCC,EAAahB,EAAGgB,WAChBC,EAAkBD,EAAWE,UAC7BC,EAAsBnB,EAAGmB,oBACzBC,EAAiBpB,EAAGoB,eAMpBC,GALkBL,EAAWM,MACXN,EAAWO,MACXP,EAAWQ,MACXR,EAAW,SACPA,EAAWS,UACdzB,EAAG0B,UAAU,YAChCC,EAA6B3B,EAAG2B,2BAChCC,EAAmB5B,EAAG4B,iBACtBC,EAAsB7B,EAAG6B,oBACzBC,EAAmB9B,EAAG8B,iBACtBC,EAAqB/B,EAAG+B,mBACxBC,EAAUhC,EAAGgC,QACbC,EAASjC,EAAGc,UAAUmB,OAEtBC,GADgBlC,EAAG0B,UAAUS,UACnBnC,EAAGkC,SAEbE,GADYF,EAAQG,UACPH,EAAQE,YACrBE,EAActC,EAAG0B,UAAUY,YAGzB5B,GAFsBM,EAAWuB,aAErB9B,OAaZ+B,EAAWxC,EAAGc,UAAU0B,SAAW,SAAkBC,GACvD,IAAKL,EAAWK,GAAO,KAAM,IAAIC,WAAU,wBAC3C,OAAOrC,GAAcoC,GAcvBxB,GAAgB0B,eAAiB,SAAUC,EAAUC,EAAsBC,GACzE,GAAmBC,GAAfC,EAASrD,IASb,OARwB,OAAxBkD,IAAiCE,EAAYH,GAC7CN,EAAYQ,KAAeA,EAAYzB,GACH,gBAAzBwB,GACTE,EAAYF,EACHP,EAAYO,KACrBE,EAAYH,EACZE,EAAYD,GAEP,GAAI1B,GAAoB,SAAU8B,GAWtC,QAASC,KACR,GAAIC,GAAI,GAAIxB,GACVyB,GAAS,EACTC,GAAU,CACZC,GAAOC,cAAcJ,GACjBK,IAAaC,GACfL,GAAS,EACTC,GAAU,GACUI,EAAXD,EACPJ,GAAS,EAEXC,GAAU,CAEZ,IAAIK,GAAeN,EAASI,EAAWC,EACrCE,EAAKD,EAAeE,CACtBA,GAAYF,EACRN,IACFI,GAAYT,GAEVM,IACFI,GAAaV,GAEfI,EAAEI,cAAcT,EAAUe,eAAe,KAAMF,EAAI,WACjD,GAAIN,EAAS,CACX,GAAIS,GAAI,GAAI9B,EACZ+B,GAAEC,KAAKF,GACPb,EAASgB,OAAOhC,EAAO6B,EAAGI,IAE5Bd,GAAUW,EAAEI,QAAQC,cACpBlB,OAvCJ,GAAImB,GAIFH,EAHAT,EAAYV,EACZS,EAAWZ,EACXmB,KAEAT,EAAS,GAAI1B,GACbgC,EAAY,CAoDd,OAnDES,GAAkB,GAAIxC,GAAoByB,GAC1CY,EAAqB,GAAInC,GAAmBsC,GAkC9CN,EAAEC,KAAK,GAAIhC,IACXiB,EAASgB,OAAOhC,EAAO8B,EAAE,GAAIG,IAC7BhB,IACAmB,EAAgBC,IAAItB,EAAOuB,UACzB,SAAU3D,GACR,IAAK,GAAI4D,GAAI,EAAGC,EAAMV,EAAEW,OAAYD,EAAJD,EAASA,IAAOT,EAAES,GAAGP,OAAOrD,IAE9D,SAAUH,GACR,IAAK,GAAI+D,GAAI,EAAGC,EAAMV,EAAEW,OAAYD,EAAJD,EAASA,IAAOT,EAAES,GAAGG,QAAQlE,EAC7DwC,GAAS0B,QAAQlE,IAEnB,WACE,IAAK,GAAI+D,GAAI,EAAGC,EAAMV,EAAEW,OAAYD,EAAJD,EAASA,IAAOT,EAAES,GAAGJ,aACrDnB,GAASmB,iBAGNF,GACNlB,IAUL/B,EAAgB2D,sBAAwB,SAAUhC,EAAUiC,EAAO/B,GACjE,GAAIE,GAASrD,IAEb,OADA2C,GAAYQ,KAAeA,EAAYzB,GAChC,GAAIF,GAAoB,SAAU8B,GAQvC,QAASC,GAAY4B,GACnB,GAAI3B,GAAI,GAAIxB,EACZ2B,GAAOC,cAAcJ,GACrBA,EAAEI,cAAcT,EAAUe,eAAe,KAAMjB,EAAU,WACvD,GAAIkC,IAAOC,EAAX,CACAC,EAAI,CACJ,IAAIC,KAAUF,CACdjB,GAAEM,cACFN,EAAI,GAAI9B,GACRiB,EAASgB,OAAOhC,EAAO6B,EAAGI,IAC1BhB,EAAY+B,OAjBhB,GAAI3B,GAAS,GAAI1B,GACbyC,EAAkB,GAAIxC,GAAoByB,GAC1CY,EAAqB,GAAInC,GAAmBsC,GAC5CW,EAAI,EACJD,EAAW,EACXjB,EAAI,GAAI9B,EAyCZ,OAzBAiB,GAASgB,OAAOhC,EAAO6B,EAAGI,IAC1BhB,EAAY,GAEZmB,EAAgBC,IAAItB,EAAOuB,UACzB,SAAU3D,GACR,GAAIqE,GAAQ,EAAGC,GAAY,CAC3BpB,GAAEG,OAAOrD,KACHoE,IAAMH,IACVK,GAAY,EACZF,EAAI,EACJC,IAAUF,EACVjB,EAAEM,cACFN,EAAI,GAAI9B,GACRiB,EAASgB,OAAOhC,EAAO6B,EAAGI,KAE5BgB,GAAahC,EAAY+B,IAE3B,SAAUxE,GACRqD,EAAEa,QAAQlE,GACVwC,EAAS0B,QAAQlE,IAChB,WACDqD,EAAEM,cACFnB,EAASmB,iBAGNF,GACNlB,IAYL/B,EAAgBkE,eAAiB,SAAUvC,EAAUC,EAAsBC,GACzE,MAAOnD,MAAKgD,eAAeC,EAAUC,EAAsBC,GAAWsC,QAAQzE,IAYhFM,EAAgBoE,sBAAwB,SAAUzC,EAAUiC,EAAO/B,GACjE,MAAOnD,MAAKiF,sBAAsBhC,EAAUiC,EAAO/B,GAAWsC,QAAQzE,GAGxE,IAAI2E,GAA0B,SAAUC,GAEtC,QAASD,GAAuBtC,EAAQc,GACtCnE,KAAKqD,OAASA,EACdrD,KAAK6F,GAAK1B,EACVyB,EAAUrF,KAAKP,MAOjB,MAXAkB,GAASyE,EAAwBC,GAOjCD,EAAuBpE,UAAUuE,cAAgB,SAAUC,GACzD,MAAO/F,MAAKqD,OAAOuB,UAAU,GAAIoB,GAAqBD,EAAG/F,KAAK6F,MAGzDF,GACPlE,GAEEuE,EAAwB,SAAUJ,GAGpC,QAASI,GAAqBD,EAAG5B,GAC/BnE,KAAKiG,GAAKF,EACV/F,KAAK6F,GAAK1B,EACVnE,KAAKkG,GAAK/B,EAAEgC,MACZP,EAAUrF,KAAKP,MAWjB,MAjBAkB,GAAS8E,EAAsBJ,GAS/BI,EAAqBzE,UAAU6E,KAAO,SAAUnF,GAC9C,GAAIkF,GAAMnG,KAAK6F,GAAGM,MAAOE,EAAOF,EAAMnG,KAAKkG,EAC3ClG,MAAKkG,GAAKC,EACVnG,KAAKiG,GAAG3B,QAASvF,MAAOkC,EAAGqF,SAAUD,KAEvCL,EAAqBzE,UAAUgF,MAAQ,SAAUzF,GAAKd,KAAKiG,GAAGjB,QAAQlE,IACtEkF,EAAqBzE,UAAUiF,UAAY,WAAcxG,KAAKiG,GAAGxB,eAE1DuB,GACP5E,EAYFE,GAAgBmF,aAAe,SAAUtD,GAEvC,MADAR,GAAYQ,KAAeA,EAAYzB,GAChC,GAAIiE,GAAuB3F,KAAMmD,GAG1C,IAAIuD,GAA8B,SAAUd,GAE1C,QAASc,GAA2BC,EAAOC,EAAOC,EAAOC,EAAOC,EAAQ5C,GACtEnE,KAAKgH,OAASL,EACd3G,KAAKiH,OAASL,EACd5G,KAAKkH,OAASL,EACd7G,KAAKmH,OAASL,EACd9G,KAAKoH,QAAUL,EACf/G,KAAK6F,GAAK1B,EACVyB,EAAUrF,KAAKP,MAGjB,QAASqH,GAAkBV,EAAOW,GAGhC,GAFAX,EAAMY,WAAaZ,EAAMZ,EAAEzB,OAAOqC,EAAMa,UAEpCb,EAAMc,MACRd,EAAMc,OAAQ,MAGd,IADAd,EAAMa,SAAW3E,EAAS8D,EAAM/G,KAAKsH,QAAQP,EAAMa,UAC/Cb,EAAMa,WAAazG,EAAY,MAAO4F,GAAMZ,EAAEf,QAAQ2B,EAAMa,SAAS1G,EAG3E,IADA6F,EAAMY,UAAY1E,EAAS8D,EAAM/G,KAAKqH,QAAQN,EAAMa,UAChDb,EAAMY,YAAcxG,EAAY,MAAO4F,GAAMZ,EAAEf,QAAQ2B,EAAMY,UAAUzG,EAC3E,IAAI6F,EAAMY,UAAW,CACnB,GAAIG,GAAS7E,EAAS8D,EAAM/G,KAAKuH,QAAQR,EAAMa,SAC/C,IAAIE,IAAW3G,EAAY,MAAO4F,GAAMZ,EAAEf,QAAQ0C,EAAO5G,EACzD,IAAI6G,GAAO9E,EAAS8D,EAAM/G,KAAKwH,SAAST,EAAMa,SAC9C,IAAIG,IAAS5G,EAAY,MAAO4F,GAAMZ,EAAEf,QAAQ2C,EAAK7G,EACrDwG,GAAQX,EAAOgB,OAEfhB,GAAMZ,EAAEtB,cAeZ,MA5CAvD,GAASwF,EAA4Bd,GAiCrCc,EAA2BnF,UAAUuE,cAAgB,SAAUC,GAC7D,GAAIY,IACFZ,EAAGA,EACHnG,KAAMI,KACNwH,SAAUxH,KAAKgH,OACfS,OAAO,EACPG,UAAU,EAEZ,OAAO5H,MAAK6F,GAAGgC,wBAAwBlB,EAAO,GAAImB,MAAK9H,KAAK6F,GAAGM,OAAQkB,IAGlEX,GACPjF,EAqBFJ,GAAW0G,yBAA2B,SAAUC,EAAcC,EAAWC,EAASC,EAAgBC,EAAcjF,GAE9G,MADAR,GAAYQ,KAAeA,EAAYzB,GAChC,GAAIgF,GAA2BsB,EAAcC,EAAWC,EAASC,EAAgBC,EAAcjF,GAGxG,IAAIkF,GAA8B,SAAUzC,GAE1C,QAASyC,GAA2B1B,EAAOC,EAAOC,EAAOC,EAAOC,EAAQ5C,GACtEnE,KAAKgH,OAASL,EACd3G,KAAKiH,OAASL,EACd5G,KAAKkH,OAASL,EACd7G,KAAKmH,OAASL,EACd9G,KAAKoH,QAAUL,EACf/G,KAAK6F,GAAK1B,EACVyB,EAAUrF,KAAKP,MAGjB,QAASqH,GAAkBV,EAAOW,GAGhC,GAFAX,EAAMY,WAAaZ,EAAMZ,EAAEzB,OAAOqC,EAAMa,UAEpCb,EAAMc,MACRd,EAAMc,OAAQ,MAGd,IADAd,EAAMa,SAAW3E,EAAS8D,EAAM/G,KAAKsH,QAAQP,EAAMa,UAC/Cb,EAAMa,WAAazG,EAAY,MAAO4F,GAAMZ,EAAEf,QAAQ2B,EAAMa,SAAS1G,EAG3E,IADA6F,EAAMY,UAAY1E,EAAS8D,EAAM/G,KAAKqH,QAAQN,EAAMa,UAChDb,EAAMY,YAAcxG,EAAY,MAAO4F,GAAMZ,EAAEf,QAAQ2B,EAAMY,UAAUzG,EAC3E,IAAI6F,EAAMY,UAAW,CACnB,GAAIG,GAAS7E,EAAS8D,EAAM/G,KAAKuH,QAAQR,EAAMa,SAC/C,IAAIE,IAAW3G,EAAY,MAAO4F,GAAMZ,EAAEf,QAAQ0C,EAAO5G,EACzD,IAAI6G,GAAO9E,EAAS8D,EAAM/G,KAAKwH,SAAST,EAAMa,SAC9C,IAAIG,IAAS5G,EAAY,MAAO4F,GAAMZ,EAAEf,QAAQ2C,EAAK7G,EACrDwG,GAAQX,EAAOgB,OAEfhB,GAAMZ,EAAEtB,cAeZ,MA5CAvD,GAASmH,EAA4BzC,GAiCrCyC,EAA2B9G,UAAUuE,cAAgB,SAAUC,GAC7D,GAAIY,IACFZ,EAAGA,EACHnG,KAAMI,KACNwH,SAAUxH,KAAKgH,OACfS,OAAO,EACPG,UAAU,EAEZ,OAAO5H,MAAK6F,GAAGgC,wBAAwBlB,EAAO,EAAGU,IAG5CgB,GACP5G,EAqBFJ,GAAWiH,yBAA2B,SAAUN,EAAcC,EAAWC,EAASC,EAAgBC,EAAcjF,GAE9G,MADAR,GAAYQ,KAAeA,EAAYzB,GAChC,GAAI2G,GAA2BL,EAAcC,EAAWC,EAASC,EAAgBC,EAAcjF,GAGxG,IAAIoF,GAAqB,SAAS3C,GAEhC,QAAS2C,GAAkBlF,EAAQmF,EAAIrE,GACrCnE,KAAKqD,OAASA,EACdrD,KAAKyI,IAAMD,EACXxI,KAAK6F,GAAK1B,EACVyB,EAAUrF,KAAKP,MAWjB,QAAS0I,GAAevE,EAAGwC,GACzB,GAAItD,GAASsD,EAAM,GAAIZ,EAAIY,EAAM,GAAIgC,EAAIhC,EAAM,EAC/CgC,GAAE/E,cAAcP,EAAOuB,UAAUmB,IAGnC,MArBA7E,GAASqH,EAAmB3C,GAQ5B2C,EAAkBhH,UAAUuE,cAAgB,SAAUC,GACpD,GAAI4C,GAAI,GAAI1G,EAIZ,OAFA0G,GAAE/E,cAAc5D,KAAK6F,GAAG3B,gBAAgBlE,KAAKqD,OAAQ0C,EAAG4C,GAAI3I,KAAKyI,IAAKC,IAE/DC,GAQFJ,GACP9G,EAaFH,GAAgBsH,kBAAoB,SAAUC,EAAS1F,GAErD,MADAR,GAAYQ,KAAeA,EAAYzB,GAChC,GAAI6G,GAAkBvI,KAAM6I,EAAS1F,GAG9C,IAAI2F,GAA8B,SAAUlD,GAE1C,QAASkD,GAA2BzF,EAAQsF,EAAGxE,GAC7CnE,KAAKqD,OAASA,EACdrD,KAAK+I,GAAKJ,EACV3I,KAAK6F,GAAK1B,EACVyB,EAAUrF,KAAKP,MAOjB,MAZAkB,GAAS4H,EAA4BlD,GAQrCkD,EAA2BvH,UAAUuE,cAAgB,SAAUC,GAC7D,MAAO/F,MAAKqD,OAAOuB,UAAU,GAAIoE,GAAyBjD,EAAG/F,QAGxD8I,GACPrH,GAEEuH,EAA4B,SAAUpD,GAGxC,QAASoD,GAAyBjD,EAAGkD,GACnCjJ,KAAKiG,GAAKF,EACV/F,KAAK6F,GAAKoD,EAAEpD,GACZ7F,KAAK+I,GAAKE,EAAEF,GACZ/I,KAAKkJ,MACLtD,EAAUrF,KAAKP,MAmBjB,MA1BAkB,GAAS8H,EAA0BpD,GAUnCoD,EAAyBzH,UAAU6E,KAAO,SAAUnF,GAClD,GAAIkF,GAAMnG,KAAK6F,GAAGM,KAElB,KADAnG,KAAKkJ,GAAG7E,MAAOiC,SAAUH,EAAKpH,MAAOkC,IAC9BjB,KAAKkJ,GAAGnE,OAAS,GAAKoB,EAAMnG,KAAKkJ,GAAG,GAAG5C,UAAYtG,KAAK+I,IAC7D/I,KAAKiG,GAAG3B,OAAOtE,KAAKkJ,GAAG1E,QAAQzF,QAGnCiK,EAAyBzH,UAAUgF,MAAQ,SAAUzF,GAAKd,KAAKiG,GAAGjB,QAAQlE,IAC1EkI,EAAyBzH,UAAUiF,UAAY,WAE7C,IADA,GAAIL,GAAMnG,KAAK6F,GAAGM,MACXnG,KAAKkJ,GAAGnE,OAAS,GAAKoB,EAAMnG,KAAKkJ,GAAG,GAAG5C,UAAYtG,KAAK+I,IAC7D/I,KAAKiG,GAAG3B,OAAOtE,KAAKkJ,GAAG1E,QAAQzF,MAEjCiB,MAAKiG,GAAGxB,eAGHuE,GACP5H,EAYFE,GAAgB6H,iBAAmB,SAAUC,EAAUjG,GAErD,MADAR,GAAYQ,KAAeA,EAAYzB,GAChC,GAAIoH,GAA2B9I,KAAMoJ,EAAUjG,GAGxD,IAAIkG,GAA8B,SAAUzD,GAE1C,QAASyD,GAA2BhG,EAAQsF,EAAGxE,GAC7CnE,KAAKqD,OAASA,EACdrD,KAAK+I,GAAKJ,EACV3I,KAAK6F,GAAK1B,EACVyB,EAAUrF,KAAKP,MAOjB,MAZAkB,GAASmI,EAA4BzD,GAQrCyD,EAA2B9H,UAAUuE,cAAgB,SAAUC,GAC7D,MAAO/F,MAAKqD,OAAOuB,UAAU,GAAI0E,GAAyBvD,EAAG/F,KAAK+I,GAAI/I,KAAK6F,MAGtEwD,GACP5H,GAEE6H,EAA4B,SAAU1D,GAGxC,QAAS0D,GAAyBvD,EAAG4C,EAAGxE,GACtCnE,KAAKiG,GAAKF,EACV/F,KAAK+I,GAAKJ,EACV3I,KAAK6F,GAAK1B,EACVnE,KAAKkJ,MACLtD,EAAUrF,KAAKP,MAoBjB,MA3BAkB,GAASoI,EAA0B1D,GAUnC0D,EAAyB/H,UAAU6E,KAAO,SAAUnF,GAClD,GAAIkF,GAAMnG,KAAK6F,GAAGM,KAElB,KADAnG,KAAKkJ,GAAG7E,MAAOiC,SAAUH,EAAKpH,MAAOkC,IAC9BjB,KAAKkJ,GAAGnE,OAAS,GAAKoB,EAAMnG,KAAKkJ,GAAG,GAAG5C,UAAYtG,KAAK+I,IAC7D/I,KAAKkJ,GAAG1E,SAGZ8E,EAAyB/H,UAAUgF,MAAQ,SAAUzF,GAAKd,KAAKiG,GAAGjB,QAAQlE,IAC1EwI,EAAyB/H,UAAUiF,UAAY,WAE7C,IADA,GAAIL,GAAMnG,KAAK6F,GAAGM,MACXnG,KAAKkJ,GAAGnE,OAAS,GAAG,CACzB,GAAIqB,GAAOpG,KAAKkJ,GAAG1E,OACf2B,GAAMC,EAAKE,UAAYtG,KAAK+I,IAAM/I,KAAKiG,GAAG3B,OAAO8B,EAAKrH,OAE5DiB,KAAKiG,GAAGxB,eAGH6E,GACPlI,EAYFE,GAAgBiI,iBAAmB,SAAUH,EAAUjG,GAErD,MADAR,GAAYQ,KAAeA,EAAYzB,GAChC,GAAI2H,GAA2BrJ,KAAMoJ,EAAUjG,IAaxD7B,EAAgBkI,uBAAyB,SAAUJ,EAAUjG,GAC3D,GAAIE,GAASrD,IAEb,OADA2C,GAAYQ,KAAeA,EAAYzB,GAChC,GAAIF,GAAoB,SAAUuE,GACvC,GAAI3B,KACJ,OAAOf,GAAOuB,UAAU,SAAU3D,GAChC,GAAIkF,GAAMhD,EAAUgD,KAEpB,KADA/B,EAAEC,MAAOiC,SAAUH,EAAKpH,MAAOkC,IACxBmD,EAAEW,OAAS,GAAKoB,EAAM/B,EAAE,GAAGkC,UAAY8C,GAC5ChF,EAAEI,SAEH,SAAU1D,GAAKiF,EAAEf,QAAQlE,IAAO,WAEjC,IADA,GAAIqF,GAAMhD,EAAUgD,MAAOsD,KACpBrF,EAAEW,OAAS,GAAG,CACnB,GAAIqB,GAAOhC,EAAEI,OACb2B,GAAMC,EAAKE,UAAY8C,GAAYK,EAAIpF,KAAK+B,EAAKrH,OAEnDgH,EAAEzB,OAAOmF,GACT1D,EAAEtB,iBAEHpB,GAGL,IAAIqG,GAA0B,SAAU9D,GAEtC,QAAS8D,GAAuBrG,EAAQsF,EAAGxE,GACzCnE,KAAKqD,OAASA,EACdrD,KAAK+I,GAAKJ,EACV3I,KAAK6F,GAAK1B,EACVyB,EAAUrF,KAAKP,MAGjB,QAAS0I,GAAevE,EAAG4B,GACzBA,EAAEtB,cAUJ,MAnBAvD,GAASwI,EAAwB9D,GAYjC8D,EAAuBnI,UAAUuE,cAAgB,SAAUC,GACzD,MAAO,IAAI5D,GACTnC,KAAK6F,GAAG3B,eAAe6B,EAAG/F,KAAK+I,GAAIL,GACnC1I,KAAKqD,OAAOuB,UAAUmB,KAInB2D,GACPjI,EAeFH,GAAgBqI,aAAe,SAAUP,EAAUjG,GAEjD,MADAR,GAAYQ,KAAeA,EAAYzB,GAChC,GAAIgI,GAAuB1J,KAAMoJ,EAAUjG,GAGpD,IAAIyG,GAA0B,SAAUhE,GAEtC,QAASgE,GAAuBvG,EAAQsF,EAAGxE,GACzCnE,KAAKqD,OAASA,EACdrD,KAAK+I,GAAKJ,EACV3I,KAAK6F,GAAK1B,EACVnE,KAAK6J,OAAQ,EACbjE,EAAUrF,KAAKP,MAGjB,QAAS0I,GAAevE,EAAGvE,GACzBA,EAAKiK,OAAQ,EAUf,MApBA3I,GAAS0I,EAAwBhE,GAajCgE,EAAuBrI,UAAUuE,cAAgB,SAAUC,GACzD,MAAO,IAAI5D,GACTnC,KAAK6F,GAAG3B,eAAelE,KAAMA,KAAK+I,GAAIL,GACtC1I,KAAKqD,OAAOuB,UAAU,GAAIkF,GAAqB/D,EAAG/F,SAI/C4J,GACPnI,GAEEqI,EAAwB,SAAUlE,GAGpC,QAASkE,GAAqB/D,EAAGkD,GAC/BjJ,KAAKiG,GAAKF,EACV/F,KAAK+J,GAAKd,EACVrD,EAAUrF,KAAKP,MAOjB,MAZAkB,GAAS4I,EAAsBlE,GAQ/BkE,EAAqBvI,UAAU6E,KAAO,SAAUnF,GAAKjB,KAAK+J,GAAGF,OAAS7J,KAAKiG,GAAG3B,OAAOrD,IACrF6I,EAAqBvI,UAAUgF,MAAQ,SAAUzF,GAAKd,KAAKiG,GAAGjB,QAAQlE,IACtEgJ,EAAqBvI,UAAUiF,UAAY,WAAcxG,KAAKiG,GAAGxB,eAE1DqF,GACP1I,EAcFE,GAAgB0I,aAAe,SAAUZ,EAAUjG,GAEjD,MADAR,GAAYQ,KAAeA,EAAYzB,GAChC,GAAIkI,GAAuB5J,KAAMoJ,EAAUjG,GAGpD,IAAI8G,GAA+B,SAAUrE,GAE3C,QAASqE,GAA4B5G,EAAQ6G,EAAW/G,GACtDnD,KAAKqD,OAASA,EACdrD,KAAKmK,IAAMD,EACXlK,KAAK6F,GAAK1C,EACVyC,EAAUrF,KAAKP,MAGjB,QAAS0I,GAAevE,EAAGwC,GACzBA,EAAMkD,OAAQ,EAWhB,MApBA3I,GAAS+I,EAA6BrE,GAYtCqE,EAA4B1I,UAAUuE,cAAgB,SAAUC,GAE9D,MADA/F,MAAK6J,OAAQ,EACN,GAAI1H,GACTnC,KAAK6F,GAAG3B,eAAelE,KAAMA,KAAKmK,IAAKzB,GACvC1I,KAAKqD,OAAOuB,UAAU,GAAIwF,GAA0BrE,EAAG/F,SAIpDiK,GACPxI,GAEE2I,EAA6B,SAAUxE,GAGzC,QAASwE,GAA0BrE,EAAGkD,GACpCjJ,KAAKiG,GAAKF,EACV/F,KAAK+J,GAAKd,EACVrD,EAAUrF,KAAKP,MAOjB,MAZAkB,GAASkJ,EAA2BxE,GAQpCwE,EAA0B7I,UAAU6E,KAAO,SAAUnF,GAAKjB,KAAK+J,GAAGF,OAAS7J,KAAKiG,GAAG3B,OAAOrD,IAC1FmJ,EAA0B7I,UAAUgF,MAAQ,SAAUzF,GAAKd,KAAKiG,GAAGjB,QAAQlE,IAC3EsJ,EAA0B7I,UAAUiF,UAAY,WAAcxG,KAAKiG,GAAGxB,eAE/D2F,GACPhJ,EAmCF,OArBAE,GAAgB+I,kBAAoB,SAAUH,EAAW/G,GAEvD,MADAR,GAAYQ,KAAeA,EAAYzB,GAChC,GAAIuI,GAA4BjK,KAAMkK,EAAW/G,IAS1D7B,EAAgBgJ,kBAAoB,SAAUC,EAASpH,GACrDR,EAAYQ,KAAeA,EAAYzB,EACvC,IAAI2B,GAASrD,IACb,OAAO,IAAIwB,GAAoB,SAAUuE,GACvC,MAAO,IAAI5D,GACTgB,EAAUe,eAAe6B,EAAGwE,EAAS,SAAUC,EAAGzE,GAAKA,EAAEtB,gBACzDpB,EAAOuB,UAAUmB,KAClB1C,IAGEhD"} \ No newline at end of file +{"version":3,"file":"rx.lite.time.compat.min.js","sources":["rx.lite.time.compat.js"],"names":["factory","checkGlobal","value","Object","objectTypes","function","object","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","freeSelf","self","freeWindow","window","thisGlobal","this","root","Function","define","amd","Rx","require","call","exp","undefined","tryCatcherGen","tryCatchTarget","apply","arguments","e","errorObj","toArray","x","inherits","internals","AbstractObserver","Observable","observableProto","prototype","AnonymousObservable","ObservableBase","defaultScheduler","defer","empty","never","fromArray","Scheduler","SingleAssignmentDisposable","SerialDisposable","CompositeDisposable","BinaryDisposable","RefCountDisposable","Subject","addRef","helpers","normalize","isFunction","isPromise","isScheduler","fromPromise","tryCatch","fn","TypeError","windowWithTime","timeSpan","timeShiftOrScheduler","scheduler","timeShift","source","observer","createTimer","m","isSpan","isShift","timerD","setDisposable","nextSpan","nextShift","newTotalTime","ts","totalTime","scheduleFuture","s","q","push","onNext","refCountDisposable","shift","onCompleted","groupDisposable","add","subscribe","i","len","length","onError","windowWithTimeOrCount","count","id","windowId","n","newId","newWindow","bufferWithTime","flatMap","bufferWithTimeOrCount","TimeIntervalObservable","__super__","_s","subscribeCore","o","TimeIntervalObserver","_o","_l","now","next","span","interval","error","completed","timeInterval","GenerateAbsoluteObservable","state","cndFn","itrFn","resFn","timeFn","_state","_cndFn","_itrFn","_resFn","_timeFn","scheduleRecursive","recurse","hasResult","result","first","newState","time","scheduleRecursiveFuture","Date","generateWithAbsoluteTime","initialState","condition","iterate","resultSelector","timeSelector","GenerateRelativeObservable","generateWithRelativeTime","DelaySubscription","dt","_dt","scheduleMethod","d","delaySubscription","dueTime","SkipLastWithTimeObservable","_d","SkipLastWithTimeObserver","p","_q","skipLastWithTime","duration","TakeLastWithTimeObservable","TakeLastWithTimeObserver","takeLastWithTime","takeLastBufferWithTime","res","TakeWithTimeObservable","takeWithTime","SkipWithTimeObservable","_open","SkipWithTimeObserver","_p","skipWithTime","SkipUntilWithTimeObservable","startTime","_st","SkipUntilWithTimeObserver","skipUntilWithTime","takeUntilWithTime","endTime","_"],"mappings":"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"} \ No newline at end of file diff --git a/modules/rx-lite-time-compat/rx.lite.time.compat.min.js b/modules/rx-lite-time-compat/rx.lite.time.compat.min.js index 2e5d211ed..eefcabdbf 100644 --- a/modules/rx-lite-time-compat/rx.lite.time.compat.min.js +++ b/modules/rx-lite-time-compat/rx.lite.time.compat.min.js @@ -1,3 +1,3 @@ /* Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.*/ -(function(a){function b(a){return a&&a.Object===Object?a:null}var c={"function":!0,object:!0},d=c[typeof exports]&&exports&&!exports.nodeType?exports:null,e=c[typeof module]&&module&&!module.nodeType?module:null,f=b(d&&e&&"object"==typeof global&&global),g=b(c[typeof self]&&self),h=b(c[typeof window]&&window),i=(e&&e.exports===d?d:null,b(c[typeof this]&&this)),j=f||h!==(i&&i.window)&&h||g||i||Function("return this")();"function"==typeof define&&define.amd?define(["./rx.lite.compat"],function(b,c){return a(j,c,b)}):"object"==typeof module&&module&&module.exports===d?module.exports=a(j,module.exports,require("rx-lite-compat")):j.Rx=a(j,{},j.Rx)}).call(this,function(a,b,c,d){function e(a){return function(){try{return a.apply(this,arguments)}catch(b){return x.e=b,x}}}function f(a){return a.toArray()}function f(a){return a.toArray()}var g=c.internals.inherits,h=c.internals.AbstractObserver,i=c.Observable,j=i.prototype,k=c.AnonymousObservable,l=c.ObservableBase,m=(i.defer,i.empty,i.never,i["throw"],i.fromArray,c.Scheduler["default"]),n=c.SingleAssignmentDisposable,o=c.SerialDisposable,p=c.CompositeDisposable,q=c.BinaryDisposable,r=c.RefCountDisposable,s=c.Subject,t=c.internals.addRef,u=(c.Scheduler.normalize,c.helpers),v=(u.isPromise,u.isFunction),w=c.Scheduler.isScheduler,x=(i.fromPromise,{e:{}}),y=c.internals.tryCatch=function(a){if(!v(a))throw new TypeError("fn must be a function");return e(a)};j.windowWithTime=function(a,b,c){var d,e=this;return null==b&&(d=a),w(c)||(c=m),"number"==typeof b?d=b:w(b)&&(d=a,c=b),new k(function(b){function f(){var a=new n,e=!1,g=!1;l.setDisposable(a),j===i?(e=!0,g=!0):i>j?e=!0:g=!0;var o=e?j:i,p=o-m;m=o,e&&(j+=d),g&&(i+=d),a.setDisposable(c.scheduleFuture(null,p,function(){if(g){var a=new s;k.push(a),b.onNext(t(a,h))}e&&k.shift().onCompleted(),f()}))}var g,h,i=d,j=a,k=[],l=new o,m=0;return g=new p(l),h=new r(g),k.push(new s),b.onNext(t(k[0],h)),f(),g.add(e.subscribe(function(a){for(var b=0,c=k.length;c>b;b++)k[b].onNext(a)},function(a){for(var c=0,d=k.length;d>c;c++)k[c].onError(a);b.onError(a)},function(){for(var a=0,c=k.length;c>a;a++)k[a].onCompleted();b.onCompleted()})),h},e)},j.windowWithTimeOrCount=function(a,b,c){var d=this;return w(c)||(c=m),new k(function(e){function f(b){var d=new n;g.setDisposable(d),d.setDisposable(c.scheduleFuture(null,a,function(){if(b===k){j=0;var a=++k;l.onCompleted(),l=new s,e.onNext(t(l,i)),f(a)}}))}var g=new o,h=new p(g),i=new r(h),j=0,k=0,l=new s;return e.onNext(t(l,i)),f(0),h.add(d.subscribe(function(a){var c=0,d=!1;l.onNext(a),++j===b&&(d=!0,j=0,c=++k,l.onCompleted(),l=new s,e.onNext(t(l,i))),d&&f(c)},function(a){l.onError(a),e.onError(a)},function(){l.onCompleted(),e.onCompleted()})),i},d)},j.bufferWithTime=function(a,b,c){return this.windowWithTime(a,b,c).flatMap(f)},j.bufferWithTimeOrCount=function(a,b,c){return this.windowWithTimeOrCount(a,b,c).flatMap(f)};var z=function(a){function b(b,c){this.source=b,this._s=c,a.call(this)}return g(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new A(a,this._s))},b}(l),A=function(a){function b(b,c){this._o=b,this._s=c,this._l=c.now(),a.call(this)}return g(b,a),b.prototype.next=function(a){var b=this._s.now(),c=b-this._l;this._l=b,this._o.onNext({value:a,interval:c})},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(h);j.timeInterval=function(a){return w(a)||(a=m),new z(this,a)};var B=function(a){function b(b,c,d,e,f,g){this._state=b,this._cndFn=c,this._itrFn=d,this._resFn=e,this._timeFn=f,this._s=g,a.call(this)}function c(a,b){if(a.hasResult&&a.o.onNext(a.newState),a.first)a.first=!1;else if(a.newState=y(a.self._itrFn)(a.newState),a.newState===x)return a.o.onError(a.newState.e);if(a.hasResult=y(a.self._cndFn)(a.newState),a.hasResult===x)return a.o.onError(a.hasResult.e);if(a.hasResult){var c=y(a.self._resFn)(a.newState);if(c===x)return a.o.onError(c.e);var d=y(a.self._timeFn)(a.newState);if(d===x)return a.o.onError(d.e);b(a,d)}else a.o.onCompleted()}return g(b,a),b.prototype.subscribeCore=function(a){var b={o:a,self:this,newState:this._state,first:!0,hasValue:!1};return this._s.scheduleRecursiveFuture(b,new Date(this._s.now()),c)},b}(l);i.generateWithAbsoluteTime=function(a,b,c,d,e,f){return w(f)||(f=m),new B(a,b,c,d,e,f)};var C=function(a){function b(b,c,d,e,f,g){this._state=b,this._cndFn=c,this._itrFn=d,this._resFn=e,this._timeFn=f,this._s=g,a.call(this)}function c(a,b){if(a.hasResult&&a.o.onNext(a.newState),a.first)a.first=!1;else if(a.newState=y(a.self._itrFn)(a.newState),a.newState===x)return a.o.onError(a.newState.e);if(a.hasResult=y(a.self._cndFn)(a.newState),a.hasResult===x)return a.o.onError(a.hasResult.e);if(a.hasResult){var c=y(a.self._resFn)(a.newState);if(c===x)return a.o.onError(c.e);var d=y(a.self._timeFn)(a.newState);if(d===x)return a.o.onError(d.e);b(a,d)}else a.o.onCompleted()}return g(b,a),b.prototype.subscribeCore=function(a){var b={o:a,self:this,newState:this._state,first:!0,hasValue:!1};return this._s.scheduleRecursiveFuture(b,0,c)},b}(l);i.generateWithRelativeTime=function(a,b,c,d,e,f){return w(f)||(f=m),new C(a,b,c,d,e,f)};var D=function(a){function b(b,c,d){this.source=b,this._dt=c,this._s=d,a.call(this)}function c(a,b){var c=b[0],d=b[1],e=b[2];e.setDisposable(c.subscribe(d))}return g(b,a),b.prototype.subscribeCore=function(a){var b=new o;return b.setDisposable(this._s.scheduleFuture([this.source,a,b],this._dt,c)),b},b}(l);j.delaySubscription=function(a,b){return w(b)||(b=m),new D(this,a,b)};var E=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,a.call(this)}return g(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new F(a,this))},b}(l),F=function(a){function b(b,c){this._o=b,this._s=c._s,this._d=c._d,this._q=[],a.call(this)}return g(b,a),b.prototype.next=function(a){var b=this._s.now();for(this._q.push({interval:b,value:a});this._q.length>0&&b-this._q[0].interval>=this._d;)this._o.onNext(this._q.shift().value)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){for(var a=this._s.now();this._q.length>0&&a-this._q[0].interval>=this._d;)this._o.onNext(this._q.shift().value);this._o.onCompleted()},b}(h);j.skipLastWithTime=function(a,b){return w(b)||(b=m),new E(this,a,b)};var G=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,a.call(this)}return g(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new H(a,this._d,this._s))},b}(l),H=function(a){function b(b,c,d){this._o=b,this._d=c,this._s=d,this._q=[],a.call(this)}return g(b,a),b.prototype.next=function(a){var b=this._s.now();for(this._q.push({interval:b,value:a});this._q.length>0&&b-this._q[0].interval>=this._d;)this._q.shift()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){for(var a=this._s.now();this._q.length>0;){var b=this._q.shift();a-b.interval<=this._d&&this._o.onNext(b.value)}this._o.onCompleted()},b}(h);j.takeLastWithTime=function(a,b){return w(b)||(b=m),new G(this,a,b)},j.takeLastBufferWithTime=function(a,b){var c=this;return w(b)||(b=m),new k(function(d){var e=[];return c.subscribe(function(c){var d=b.now();for(e.push({interval:d,value:c});e.length>0&&d-e[0].interval>=a;)e.shift()},function(a){d.onError(a)},function(){for(var c=b.now(),f=[];e.length>0;){var g=e.shift();c-g.interval<=a&&f.push(g.value)}d.onNext(f),d.onCompleted()})},c)};var I=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,a.call(this)}function c(a,b){b.onCompleted()}return g(b,a),b.prototype.subscribeCore=function(a){return new q(this._s.scheduleFuture(a,this._d,c),this.source.subscribe(a))},b}(l);j.takeWithTime=function(a,b){return w(b)||(b=m),new I(this,a,b)};var J=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,this._open=!1,a.call(this)}function c(a,b){b._open=!0}return g(b,a),b.prototype.subscribeCore=function(a){return new q(this._s.scheduleFuture(this,this._d,c),this.source.subscribe(new K(a,this)))},b}(l),K=function(a){function b(b,c){this._o=b,this._p=c,a.call(this)}return g(b,a),b.prototype.next=function(a){this._p._open&&this._o.onNext(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(h);j.skipWithTime=function(a,b){return w(b)||(b=m),new J(this,a,b)};var L=function(a){function b(b,c,d){this.source=b,this._st=c,this._s=d,a.call(this)}function c(a,b){b._open=!0}return g(b,a),b.prototype.subscribeCore=function(a){return this._open=!1,new q(this._s.scheduleFuture(this,this._st,c),this.source.subscribe(new M(a,this)))},b}(l),M=function(a){function b(b,c){this._o=b,this._p=c,a.call(this)}return g(b,a),b.prototype.next=function(a){this._p._open&&this._o.onNext(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(h);return j.skipUntilWithTime=function(a,b){return w(b)||(b=m),new L(this,a,b)},j.takeUntilWithTime=function(a,b){w(b)||(b=m);var c=this;return new k(function(d){return new q(b.scheduleFuture(d,a,function(a,b){b.onCompleted()}),c.subscribe(d))},c)},c}); +(function(a){function b(a){return a&&a.Object===Object?a:null}var c={"function":!0,object:!0},d=c[typeof exports]&&exports&&!exports.nodeType?exports:null,e=c[typeof module]&&module&&!module.nodeType?module:null,f=b(d&&e&&"object"==typeof global&&global),g=b(c[typeof self]&&self),h=b(c[typeof window]&&window),i=(e&&e.exports===d?d:null,b(c[typeof this]&&this)),j=f||h!==(i&&i.window)&&h||g||i||Function("return this")();"function"==typeof define&&define.amd?define(["./rx.lite.compat"],function(b,c){return a(j,c,b)}):"object"==typeof module&&module&&module.exports===d?module.exports=a(j,module.exports,require("rx-lite-compat")):j.Rx=a(j,{},j.Rx)}).call(this,function(a,b,c,d){function e(a){return function(){try{return a.apply(this,arguments)}catch(b){return x.e=b,x}}}function f(a){return a.toArray()}function f(a){return a.toArray()}var g=c.internals.inherits,h=c.internals.AbstractObserver,i=c.Observable,j=i.prototype,k=c.AnonymousObservable,l=c.ObservableBase,m=(i.defer,i.empty,i.never,i["throw"],i.fromArray,c.Scheduler["default"]),n=c.SingleAssignmentDisposable,o=c.SerialDisposable,p=c.CompositeDisposable,q=c.BinaryDisposable,r=c.RefCountDisposable,s=c.Subject,t=c.internals.addRef,u=(c.Scheduler.normalize,c.helpers),v=(u.isPromise,u.isFunction),w=c.Scheduler.isScheduler,x=(i.fromPromise,{e:{}}),y=c.internals.tryCatch=function(a){if(!v(a))throw new TypeError("fn must be a function");return e(a)};j.windowWithTime=function(a,b,c){var d,e=this;return null==b&&(d=a),w(c)||(c=m),"number"==typeof b?d=b:w(b)&&(d=a,c=b),new k(function(b){function f(){var a=new n,e=!1,g=!1;l.setDisposable(a),j===i?(e=!0,g=!0):i>j?e=!0:g=!0;var o=e?j:i,p=o-m;m=o,e&&(j+=d),g&&(i+=d),a.setDisposable(c.scheduleFuture(null,p,function(){if(g){var a=new s;k.push(a),b.onNext(t(a,h))}e&&k.shift().onCompleted(),f()}))}var g,h,i=d,j=a,k=[],l=new o,m=0;return g=new p(l),h=new r(g),k.push(new s),b.onNext(t(k[0],h)),f(),g.add(e.subscribe(function(a){for(var b=0,c=k.length;c>b;b++)k[b].onNext(a)},function(a){for(var c=0,d=k.length;d>c;c++)k[c].onError(a);b.onError(a)},function(){for(var a=0,c=k.length;c>a;a++)k[a].onCompleted();b.onCompleted()})),h},e)},j.windowWithTimeOrCount=function(a,b,c){var d=this;return w(c)||(c=m),new k(function(e){function f(b){var d=new n;g.setDisposable(d),d.setDisposable(c.scheduleFuture(null,a,function(){if(b===k){j=0;var a=++k;l.onCompleted(),l=new s,e.onNext(t(l,i)),f(a)}}))}var g=new o,h=new p(g),i=new r(h),j=0,k=0,l=new s;return e.onNext(t(l,i)),f(0),h.add(d.subscribe(function(a){var c=0,d=!1;l.onNext(a),++j===b&&(d=!0,j=0,c=++k,l.onCompleted(),l=new s,e.onNext(t(l,i))),d&&f(c)},function(a){l.onError(a),e.onError(a)},function(){l.onCompleted(),e.onCompleted()})),i},d)},j.bufferWithTime=function(a,b,c){return this.windowWithTime(a,b,c).flatMap(f)},j.bufferWithTimeOrCount=function(a,b,c){return this.windowWithTimeOrCount(a,b,c).flatMap(f)};var z=function(a){function b(b,c){this.source=b,this._s=c,a.call(this)}return g(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new A(a,this._s))},b}(l),A=function(a){function b(b,c){this._o=b,this._s=c,this._l=c.now(),a.call(this)}return g(b,a),b.prototype.next=function(a){var b=this._s.now(),c=b-this._l;this._l=b,this._o.onNext({value:a,interval:c})},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(h);j.timeInterval=function(a){return w(a)||(a=m),new z(this,a)};var B=function(a){function b(b,c,d,e,f,g){this._state=b,this._cndFn=c,this._itrFn=d,this._resFn=e,this._timeFn=f,this._s=g,a.call(this)}function c(a,b){if(a.hasResult&&a.o.onNext(a.result),a.first)a.first=!1;else if(a.newState=y(a.self._itrFn)(a.newState),a.newState===x)return a.o.onError(a.newState.e);if(a.hasResult=y(a.self._cndFn)(a.newState),a.hasResult===x)return a.o.onError(a.hasResult.e);if(a.hasResult){if(a.result=y(a.self._resFn)(a.newState),a.result===x)return a.o.onError(a.result.e);var c=y(a.self._timeFn)(a.newState);if(c===x)return a.o.onError(c.e);b(a,c)}else a.o.onCompleted()}return g(b,a),b.prototype.subscribeCore=function(a){var b={o:a,self:this,newState:this._state,first:!0,hasResult:!1};return this._s.scheduleRecursiveFuture(b,new Date(this._s.now()),c)},b}(l);i.generateWithAbsoluteTime=function(a,b,c,d,e,f){return w(f)||(f=m),new B(a,b,c,d,e,f)};var C=function(a){function b(b,c,d,e,f,g){this._state=b,this._cndFn=c,this._itrFn=d,this._resFn=e,this._timeFn=f,this._s=g,a.call(this)}function c(a,b){if(a.hasResult&&a.o.onNext(a.result),a.first)a.first=!1;else if(a.newState=y(a.self._itrFn)(a.newState),a.newState===x)return a.o.onError(a.newState.e);if(a.hasResult=y(a.self._cndFn)(a.newState),a.hasResult===x)return a.o.onError(a.hasResult.e);if(a.hasResult){if(a.result=y(a.self._resFn)(a.newState),a.result===x)return a.o.onError(a.result.e);var c=y(a.self._timeFn)(a.newState);if(c===x)return a.o.onError(c.e);b(a,c)}else a.o.onCompleted()}return g(b,a),b.prototype.subscribeCore=function(a){var b={o:a,self:this,newState:this._state,first:!0,hasResult:!1};return this._s.scheduleRecursiveFuture(b,0,c)},b}(l);i.generateWithRelativeTime=function(a,b,c,d,e,f){return w(f)||(f=m),new C(a,b,c,d,e,f)};var D=function(a){function b(b,c,d){this.source=b,this._dt=c,this._s=d,a.call(this)}function c(a,b){var c=b[0],d=b[1],e=b[2];e.setDisposable(c.subscribe(d))}return g(b,a),b.prototype.subscribeCore=function(a){var b=new o;return b.setDisposable(this._s.scheduleFuture([this.source,a,b],this._dt,c)),b},b}(l);j.delaySubscription=function(a,b){return w(b)||(b=m),new D(this,a,b)};var E=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,a.call(this)}return g(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new F(a,this))},b}(l),F=function(a){function b(b,c){this._o=b,this._s=c._s,this._d=c._d,this._q=[],a.call(this)}return g(b,a),b.prototype.next=function(a){var b=this._s.now();for(this._q.push({interval:b,value:a});this._q.length>0&&b-this._q[0].interval>=this._d;)this._o.onNext(this._q.shift().value)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){for(var a=this._s.now();this._q.length>0&&a-this._q[0].interval>=this._d;)this._o.onNext(this._q.shift().value);this._o.onCompleted()},b}(h);j.skipLastWithTime=function(a,b){return w(b)||(b=m),new E(this,a,b)};var G=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,a.call(this)}return g(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new H(a,this._d,this._s))},b}(l),H=function(a){function b(b,c,d){this._o=b,this._d=c,this._s=d,this._q=[],a.call(this)}return g(b,a),b.prototype.next=function(a){var b=this._s.now();for(this._q.push({interval:b,value:a});this._q.length>0&&b-this._q[0].interval>=this._d;)this._q.shift()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){for(var a=this._s.now();this._q.length>0;){var b=this._q.shift();a-b.interval<=this._d&&this._o.onNext(b.value)}this._o.onCompleted()},b}(h);j.takeLastWithTime=function(a,b){return w(b)||(b=m),new G(this,a,b)},j.takeLastBufferWithTime=function(a,b){var c=this;return w(b)||(b=m),new k(function(d){var e=[];return c.subscribe(function(c){var d=b.now();for(e.push({interval:d,value:c});e.length>0&&d-e[0].interval>=a;)e.shift()},function(a){d.onError(a)},function(){for(var c=b.now(),f=[];e.length>0;){var g=e.shift();c-g.interval<=a&&f.push(g.value)}d.onNext(f),d.onCompleted()})},c)};var I=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,a.call(this)}function c(a,b){b.onCompleted()}return g(b,a),b.prototype.subscribeCore=function(a){return new q(this._s.scheduleFuture(a,this._d,c),this.source.subscribe(a))},b}(l);j.takeWithTime=function(a,b){return w(b)||(b=m),new I(this,a,b)};var J=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,this._open=!1,a.call(this)}function c(a,b){b._open=!0}return g(b,a),b.prototype.subscribeCore=function(a){return new q(this._s.scheduleFuture(this,this._d,c),this.source.subscribe(new K(a,this)))},b}(l),K=function(a){function b(b,c){this._o=b,this._p=c,a.call(this)}return g(b,a),b.prototype.next=function(a){this._p._open&&this._o.onNext(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(h);j.skipWithTime=function(a,b){return w(b)||(b=m),new J(this,a,b)};var L=function(a){function b(b,c,d){this.source=b,this._st=c,this._s=d,a.call(this)}function c(a,b){b._open=!0}return g(b,a),b.prototype.subscribeCore=function(a){return this._open=!1,new q(this._s.scheduleFuture(this,this._st,c),this.source.subscribe(new M(a,this)))},b}(l),M=function(a){function b(b,c){this._o=b,this._p=c,a.call(this)}return g(b,a),b.prototype.next=function(a){this._p._open&&this._o.onNext(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(h);return j.skipUntilWithTime=function(a,b){return w(b)||(b=m),new L(this,a,b)},j.takeUntilWithTime=function(a,b){w(b)||(b=m);var c=this;return new k(function(d){return new q(b.scheduleFuture(d,a,function(a,b){b.onCompleted()}),c.subscribe(d))},c)},c}); //# sourceMappingURL=rx.lite.time.compat.map \ No newline at end of file diff --git a/modules/rx-lite-time/rx.lite.time.js b/modules/rx-lite-time/rx.lite.time.js index 92375b6cb..37329710e 100644 --- a/modules/rx-lite-time/rx.lite.time.js +++ b/modules/rx-lite-time/rx.lite.time.js @@ -311,7 +311,7 @@ } function scheduleRecursive(state, recurse) { - state.hasResult && state.o.onNext(state.newState); + state.hasResult && state.o.onNext(state.result); if (state.first) { state.first = false; @@ -322,8 +322,8 @@ state.hasResult = tryCatch(state.self._cndFn)(state.newState); if (state.hasResult === errorObj) { return state.o.onError(state.hasResult.e); } if (state.hasResult) { - var result = tryCatch(state.self._resFn)(state.newState); - if (result === errorObj) { return state.o.onError(result.e); } + state.result = tryCatch(state.self._resFn)(state.newState); + if (state.result === errorObj) { return state.o.onError(state.result.e); } var time = tryCatch(state.self._timeFn)(state.newState); if (time === errorObj) { return state.o.onError(time.e); } recurse(state, time); @@ -338,7 +338,7 @@ self: this, newState: this._state, first: true, - hasValue: false + hasResult: false }; return this._s.scheduleRecursiveFuture(state, new Date(this._s.now()), scheduleRecursive); }; @@ -383,7 +383,7 @@ } function scheduleRecursive(state, recurse) { - state.hasResult && state.o.onNext(state.newState); + state.hasResult && state.o.onNext(state.result); if (state.first) { state.first = false; @@ -391,11 +391,12 @@ state.newState = tryCatch(state.self._itrFn)(state.newState); if (state.newState === errorObj) { return state.o.onError(state.newState.e); } } + state.hasResult = tryCatch(state.self._cndFn)(state.newState); if (state.hasResult === errorObj) { return state.o.onError(state.hasResult.e); } if (state.hasResult) { - var result = tryCatch(state.self._resFn)(state.newState); - if (result === errorObj) { return state.o.onError(result.e); } + state.result = tryCatch(state.self._resFn)(state.newState); + if (state.result === errorObj) { return state.o.onError(state.result.e); } var time = tryCatch(state.self._timeFn)(state.newState); if (time === errorObj) { return state.o.onError(time.e); } recurse(state, time); @@ -410,7 +411,7 @@ self: this, newState: this._state, first: true, - hasValue: false + hasResult: false }; return this._s.scheduleRecursiveFuture(state, 0, scheduleRecursive); }; diff --git a/modules/rx-lite-time/rx.lite.time.map b/modules/rx-lite-time/rx.lite.time.map index b8c2673d9..2c05f7991 100644 --- a/modules/rx-lite-time/rx.lite.time.map +++ b/modules/rx-lite-time/rx.lite.time.map @@ -1 +1 @@ -{"version":3,"file":"rx.lite.time.min.js","sources":["rx.lite.time.js"],"names":["factory","checkGlobal","value","Object","objectTypes","function","object","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","freeSelf","self","freeWindow","window","thisGlobal","this","root","Function","define","amd","Rx","require","call","exp","undefined","tryCatcherGen","tryCatchTarget","apply","arguments","e","errorObj","toArray","x","inherits","internals","AbstractObserver","Observable","observableProto","prototype","AnonymousObservable","ObservableBase","defaultScheduler","defer","empty","never","fromArray","Scheduler","SingleAssignmentDisposable","SerialDisposable","CompositeDisposable","BinaryDisposable","RefCountDisposable","Subject","addRef","helpers","normalize","isFunction","isPromise","isScheduler","fromPromise","tryCatch","fn","TypeError","windowWithTime","timeSpan","timeShiftOrScheduler","scheduler","timeShift","source","observer","createTimer","m","isSpan","isShift","timerD","setDisposable","nextSpan","nextShift","newTotalTime","ts","totalTime","scheduleFuture","s","q","push","onNext","refCountDisposable","shift","onCompleted","groupDisposable","add","subscribe","i","len","length","onError","windowWithTimeOrCount","count","id","windowId","n","newId","newWindow","bufferWithTime","flatMap","bufferWithTimeOrCount","TimeIntervalObservable","__super__","_s","subscribeCore","o","TimeIntervalObserver","_o","_l","now","next","span","interval","error","completed","timeInterval","GenerateAbsoluteObservable","state","cndFn","itrFn","resFn","timeFn","_state","_cndFn","_itrFn","_resFn","_timeFn","scheduleRecursive","recurse","hasResult","newState","first","result","time","hasValue","scheduleRecursiveFuture","Date","generateWithAbsoluteTime","initialState","condition","iterate","resultSelector","timeSelector","GenerateRelativeObservable","generateWithRelativeTime","DelaySubscription","dt","_dt","scheduleMethod","d","delaySubscription","dueTime","SkipLastWithTimeObservable","_d","SkipLastWithTimeObserver","p","_q","skipLastWithTime","duration","TakeLastWithTimeObservable","TakeLastWithTimeObserver","takeLastWithTime","takeLastBufferWithTime","res","TakeWithTimeObservable","takeWithTime","SkipWithTimeObservable","_open","SkipWithTimeObserver","_p","skipWithTime","SkipUntilWithTimeObservable","startTime","_st","SkipUntilWithTimeObserver","skipUntilWithTime","takeUntilWithTime","endTime","_"],"mappings":";CAEE,SAAUA,GAMV,QAASC,GAAYC,GACnB,MAAQA,IAASA,EAAMC,SAAWA,OAAUD,EAAQ,KANtD,GAAIE,IACFC,YAAY,EACZC,QAAU,GAORC,EAAeH,QAAmBI,WAAYA,UAAYA,QAAQC,SAAYD,QAAU,KACxFE,EAAcN,QAAmBO,UAAWA,SAAWA,OAAOF,SAAYE,OAAS,KACnFC,EAAaX,EAAYM,GAAeG,GAAgC,gBAAXG,SAAuBA,QACpFC,EAAWb,EAAYG,QAAmBW,QAASA,MACnDC,EAAaf,EAAYG,QAAmBa,UAAWA,QAEvDC,GADiBR,GAAcA,EAAWF,UAAYD,EAAeA,EAAc,KACtEN,EAAYG,QAAmBe,QAASA,OACrDC,EAAOR,GAAgBI,KAAgBE,GAAcA,EAAWD,SAAYD,GAAeF,GAAYI,GAAcG,SAAS,gBAG5G,mBAAXC,SAAyBA,OAAOC,IACzCD,QAAQ,aAAc,SAAUE,EAAIhB,GAClC,MAAOR,GAAQoB,EAAMZ,EAASgB,KAEL,gBAAXb,SAAuBA,QAAUA,OAAOH,UAAYD,EACpEI,OAAOH,QAAUR,EAAQoB,EAAMT,OAAOH,QAASiB,QAAQ,YAEvDL,EAAKI,GAAKxB,EAAQoB,KAAUA,EAAKI,MAEnCE,KAAKP,KAAM,SAAUC,EAAMO,EAAKH,EAAII,GA+BpC,QAASC,GAAcC,GACrB,MAAO,YACL,IACE,MAAOA,GAAeC,MAAMZ,KAAMa,WAClC,MAAOC,GAEP,MADAC,GAASD,EAAIA,EACNC,IA2Jb,QAASC,GAAQC,GAAK,MAAOA,GAAED,UAa/B,QAASA,GAAQC,GAAK,MAAOA,GAAED,UA1M/B,GAAIE,GAAWb,EAAGc,UAAUD,SAC1BE,EAAmBf,EAAGc,UAAUC,iBAChCC,EAAahB,EAAGgB,WAChBC,EAAkBD,EAAWE,UAC7BC,EAAsBnB,EAAGmB,oBACzBC,EAAiBpB,EAAGoB,eAMpBC,GALkBL,EAAWM,MACXN,EAAWO,MACXP,EAAWQ,MACXR,EAAW,SACPA,EAAWS,UACdzB,EAAG0B,UAAU,YAChCC,EAA6B3B,EAAG2B,2BAChCC,EAAmB5B,EAAG4B,iBACtBC,EAAsB7B,EAAG6B,oBACzBC,EAAmB9B,EAAG8B,iBACtBC,EAAqB/B,EAAG+B,mBACxBC,EAAUhC,EAAGgC,QACbC,EAASjC,EAAGc,UAAUmB,OAEtBC,GADgBlC,EAAG0B,UAAUS,UACnBnC,EAAGkC,SAEbE,GADYF,EAAQG,UACPH,EAAQE,YACrBE,EAActC,EAAG0B,UAAUY,YAGzB5B,GAFsBM,EAAWuB,aAErB9B,OAaZ+B,EAAWxC,EAAGc,UAAU0B,SAAW,SAAkBC,GACvD,IAAKL,EAAWK,GAAO,KAAM,IAAIC,WAAU,wBAC3C,OAAOrC,GAAcoC,GAcvBxB,GAAgB0B,eAAiB,SAAUC,EAAUC,EAAsBC,GACzE,GAAmBC,GAAfC,EAASrD,IASb,OARwB,OAAxBkD,IAAiCE,EAAYH,GAC7CN,EAAYQ,KAAeA,EAAYzB,GACH,gBAAzBwB,GACTE,EAAYF,EACHP,EAAYO,KACrBE,EAAYH,EACZE,EAAYD,GAEP,GAAI1B,GAAoB,SAAU8B,GAWtC,QAASC,KACR,GAAIC,GAAI,GAAIxB,GACVyB,GAAS,EACTC,GAAU,CACZC,GAAOC,cAAcJ,GACjBK,IAAaC,GACfL,GAAS,EACTC,GAAU,GACUI,EAAXD,EACPJ,GAAS,EAEXC,GAAU,CAEZ,IAAIK,GAAeN,EAASI,EAAWC,EACrCE,EAAKD,EAAeE,CACtBA,GAAYF,EACRN,IACFI,GAAYT,GAEVM,IACFI,GAAaV,GAEfI,EAAEI,cAAcT,EAAUe,eAAe,KAAMF,EAAI,WACjD,GAAIN,EAAS,CACX,GAAIS,GAAI,GAAI9B,EACZ+B,GAAEC,KAAKF,GACPb,EAASgB,OAAOhC,EAAO6B,EAAGI,IAE5Bd,GAAUW,EAAEI,QAAQC,cACpBlB,OAvCJ,GAAImB,GAIFH,EAHAT,EAAYV,EACZS,EAAWZ,EACXmB,KAEAT,EAAS,GAAI1B,GACbgC,EAAY,CAoDd,OAnDES,GAAkB,GAAIxC,GAAoByB,GAC1CY,EAAqB,GAAInC,GAAmBsC,GAkC9CN,EAAEC,KAAK,GAAIhC,IACXiB,EAASgB,OAAOhC,EAAO8B,EAAE,GAAIG,IAC7BhB,IACAmB,EAAgBC,IAAItB,EAAOuB,UACzB,SAAU3D,GACR,IAAK,GAAI4D,GAAI,EAAGC,EAAMV,EAAEW,OAAYD,EAAJD,EAASA,IAAOT,EAAES,GAAGP,OAAOrD,IAE9D,SAAUH,GACR,IAAK,GAAI+D,GAAI,EAAGC,EAAMV,EAAEW,OAAYD,EAAJD,EAASA,IAAOT,EAAES,GAAGG,QAAQlE,EAC7DwC,GAAS0B,QAAQlE,IAEnB,WACE,IAAK,GAAI+D,GAAI,EAAGC,EAAMV,EAAEW,OAAYD,EAAJD,EAASA,IAAOT,EAAES,GAAGJ,aACrDnB,GAASmB,iBAGNF,GACNlB,IAUL/B,EAAgB2D,sBAAwB,SAAUhC,EAAUiC,EAAO/B,GACjE,GAAIE,GAASrD,IAEb,OADA2C,GAAYQ,KAAeA,EAAYzB,GAChC,GAAIF,GAAoB,SAAU8B,GAQvC,QAASC,GAAY4B,GACnB,GAAI3B,GAAI,GAAIxB,EACZ2B,GAAOC,cAAcJ,GACrBA,EAAEI,cAAcT,EAAUe,eAAe,KAAMjB,EAAU,WACvD,GAAIkC,IAAOC,EAAX,CACAC,EAAI,CACJ,IAAIC,KAAUF,CACdjB,GAAEM,cACFN,EAAI,GAAI9B,GACRiB,EAASgB,OAAOhC,EAAO6B,EAAGI,IAC1BhB,EAAY+B,OAjBhB,GAAI3B,GAAS,GAAI1B,GACbyC,EAAkB,GAAIxC,GAAoByB,GAC1CY,EAAqB,GAAInC,GAAmBsC,GAC5CW,EAAI,EACJD,EAAW,EACXjB,EAAI,GAAI9B,EAyCZ,OAzBAiB,GAASgB,OAAOhC,EAAO6B,EAAGI,IAC1BhB,EAAY,GAEZmB,EAAgBC,IAAItB,EAAOuB,UACzB,SAAU3D,GACR,GAAIqE,GAAQ,EAAGC,GAAY,CAC3BpB,GAAEG,OAAOrD,KACHoE,IAAMH,IACVK,GAAY,EACZF,EAAI,EACJC,IAAUF,EACVjB,EAAEM,cACFN,EAAI,GAAI9B,GACRiB,EAASgB,OAAOhC,EAAO6B,EAAGI,KAE5BgB,GAAahC,EAAY+B,IAE3B,SAAUxE,GACRqD,EAAEa,QAAQlE,GACVwC,EAAS0B,QAAQlE,IAChB,WACDqD,EAAEM,cACFnB,EAASmB,iBAGNF,GACNlB,IAYL/B,EAAgBkE,eAAiB,SAAUvC,EAAUC,EAAsBC,GACzE,MAAOnD,MAAKgD,eAAeC,EAAUC,EAAsBC,GAAWsC,QAAQzE,IAYhFM,EAAgBoE,sBAAwB,SAAUzC,EAAUiC,EAAO/B,GACjE,MAAOnD,MAAKiF,sBAAsBhC,EAAUiC,EAAO/B,GAAWsC,QAAQzE,GAGxE,IAAI2E,GAA0B,SAAUC,GAEtC,QAASD,GAAuBtC,EAAQc,GACtCnE,KAAKqD,OAASA,EACdrD,KAAK6F,GAAK1B,EACVyB,EAAUrF,KAAKP,MAOjB,MAXAkB,GAASyE,EAAwBC,GAOjCD,EAAuBpE,UAAUuE,cAAgB,SAAUC,GACzD,MAAO/F,MAAKqD,OAAOuB,UAAU,GAAIoB,GAAqBD,EAAG/F,KAAK6F,MAGzDF,GACPlE,GAEEuE,EAAwB,SAAUJ,GAGpC,QAASI,GAAqBD,EAAG5B,GAC/BnE,KAAKiG,GAAKF,EACV/F,KAAK6F,GAAK1B,EACVnE,KAAKkG,GAAK/B,EAAEgC,MACZP,EAAUrF,KAAKP,MAWjB,MAjBAkB,GAAS8E,EAAsBJ,GAS/BI,EAAqBzE,UAAU6E,KAAO,SAAUnF,GAC9C,GAAIkF,GAAMnG,KAAK6F,GAAGM,MAAOE,EAAOF,EAAMnG,KAAKkG,EAC3ClG,MAAKkG,GAAKC,EACVnG,KAAKiG,GAAG3B,QAASvF,MAAOkC,EAAGqF,SAAUD,KAEvCL,EAAqBzE,UAAUgF,MAAQ,SAAUzF,GAAKd,KAAKiG,GAAGjB,QAAQlE,IACtEkF,EAAqBzE,UAAUiF,UAAY,WAAcxG,KAAKiG,GAAGxB,eAE1DuB,GACP5E,EAYFE,GAAgBmF,aAAe,SAAUtD,GAEvC,MADAR,GAAYQ,KAAeA,EAAYzB,GAChC,GAAIiE,GAAuB3F,KAAMmD,GAG1C,IAAIuD,GAA8B,SAAUd,GAE1C,QAASc,GAA2BC,EAAOC,EAAOC,EAAOC,EAAOC,EAAQ5C,GACtEnE,KAAKgH,OAASL,EACd3G,KAAKiH,OAASL,EACd5G,KAAKkH,OAASL,EACd7G,KAAKmH,OAASL,EACd9G,KAAKoH,QAAUL,EACf/G,KAAK6F,GAAK1B,EACVyB,EAAUrF,KAAKP,MAGjB,QAASqH,GAAkBV,EAAOW,GAGhC,GAFAX,EAAMY,WAAaZ,EAAMZ,EAAEzB,OAAOqC,EAAMa,UAEpCb,EAAMc,MACRd,EAAMc,OAAQ,MAGd,IADAd,EAAMa,SAAW3E,EAAS8D,EAAM/G,KAAKsH,QAAQP,EAAMa,UAC/Cb,EAAMa,WAAazG,EAAY,MAAO4F,GAAMZ,EAAEf,QAAQ2B,EAAMa,SAAS1G,EAG3E,IADA6F,EAAMY,UAAY1E,EAAS8D,EAAM/G,KAAKqH,QAAQN,EAAMa,UAChDb,EAAMY,YAAcxG,EAAY,MAAO4F,GAAMZ,EAAEf,QAAQ2B,EAAMY,UAAUzG,EAC3E,IAAI6F,EAAMY,UAAW,CACnB,GAAIG,GAAS7E,EAAS8D,EAAM/G,KAAKuH,QAAQR,EAAMa,SAC/C,IAAIE,IAAW3G,EAAY,MAAO4F,GAAMZ,EAAEf,QAAQ0C,EAAO5G,EACzD,IAAI6G,GAAO9E,EAAS8D,EAAM/G,KAAKwH,SAAST,EAAMa,SAC9C,IAAIG,IAAS5G,EAAY,MAAO4F,GAAMZ,EAAEf,QAAQ2C,EAAK7G,EACrDwG,GAAQX,EAAOgB,OAEfhB,GAAMZ,EAAEtB,cAeZ,MA5CAvD,GAASwF,EAA4Bd,GAiCrCc,EAA2BnF,UAAUuE,cAAgB,SAAUC,GAC7D,GAAIY,IACFZ,EAAGA,EACHnG,KAAMI,KACNwH,SAAUxH,KAAKgH,OACfS,OAAO,EACPG,UAAU,EAEZ,OAAO5H,MAAK6F,GAAGgC,wBAAwBlB,EAAO,GAAImB,MAAK9H,KAAK6F,GAAGM,OAAQkB,IAGlEX,GACPjF,EAqBFJ,GAAW0G,yBAA2B,SAAUC,EAAcC,EAAWC,EAASC,EAAgBC,EAAcjF,GAE9G,MADAR,GAAYQ,KAAeA,EAAYzB,GAChC,GAAIgF,GAA2BsB,EAAcC,EAAWC,EAASC,EAAgBC,EAAcjF,GAGxG,IAAIkF,GAA8B,SAAUzC,GAE1C,QAASyC,GAA2B1B,EAAOC,EAAOC,EAAOC,EAAOC,EAAQ5C,GACtEnE,KAAKgH,OAASL,EACd3G,KAAKiH,OAASL,EACd5G,KAAKkH,OAASL,EACd7G,KAAKmH,OAASL,EACd9G,KAAKoH,QAAUL,EACf/G,KAAK6F,GAAK1B,EACVyB,EAAUrF,KAAKP,MAGjB,QAASqH,GAAkBV,EAAOW,GAGhC,GAFAX,EAAMY,WAAaZ,EAAMZ,EAAEzB,OAAOqC,EAAMa,UAEpCb,EAAMc,MACRd,EAAMc,OAAQ,MAGd,IADAd,EAAMa,SAAW3E,EAAS8D,EAAM/G,KAAKsH,QAAQP,EAAMa,UAC/Cb,EAAMa,WAAazG,EAAY,MAAO4F,GAAMZ,EAAEf,QAAQ2B,EAAMa,SAAS1G,EAG3E,IADA6F,EAAMY,UAAY1E,EAAS8D,EAAM/G,KAAKqH,QAAQN,EAAMa,UAChDb,EAAMY,YAAcxG,EAAY,MAAO4F,GAAMZ,EAAEf,QAAQ2B,EAAMY,UAAUzG,EAC3E,IAAI6F,EAAMY,UAAW,CACnB,GAAIG,GAAS7E,EAAS8D,EAAM/G,KAAKuH,QAAQR,EAAMa,SAC/C,IAAIE,IAAW3G,EAAY,MAAO4F,GAAMZ,EAAEf,QAAQ0C,EAAO5G,EACzD,IAAI6G,GAAO9E,EAAS8D,EAAM/G,KAAKwH,SAAST,EAAMa,SAC9C,IAAIG,IAAS5G,EAAY,MAAO4F,GAAMZ,EAAEf,QAAQ2C,EAAK7G,EACrDwG,GAAQX,EAAOgB,OAEfhB,GAAMZ,EAAEtB,cAeZ,MA5CAvD,GAASmH,EAA4BzC,GAiCrCyC,EAA2B9G,UAAUuE,cAAgB,SAAUC,GAC7D,GAAIY,IACFZ,EAAGA,EACHnG,KAAMI,KACNwH,SAAUxH,KAAKgH,OACfS,OAAO,EACPG,UAAU,EAEZ,OAAO5H,MAAK6F,GAAGgC,wBAAwBlB,EAAO,EAAGU,IAG5CgB,GACP5G,EAqBFJ,GAAWiH,yBAA2B,SAAUN,EAAcC,EAAWC,EAASC,EAAgBC,EAAcjF,GAE9G,MADAR,GAAYQ,KAAeA,EAAYzB,GAChC,GAAI2G,GAA2BL,EAAcC,EAAWC,EAASC,EAAgBC,EAAcjF,GAGxG,IAAIoF,GAAqB,SAAS3C,GAEhC,QAAS2C,GAAkBlF,EAAQmF,EAAIrE,GACrCnE,KAAKqD,OAASA,EACdrD,KAAKyI,IAAMD,EACXxI,KAAK6F,GAAK1B,EACVyB,EAAUrF,KAAKP,MAWjB,QAAS0I,GAAevE,EAAGwC,GACzB,GAAItD,GAASsD,EAAM,GAAIZ,EAAIY,EAAM,GAAIgC,EAAIhC,EAAM,EAC/CgC,GAAE/E,cAAcP,EAAOuB,UAAUmB,IAGnC,MArBA7E,GAASqH,EAAmB3C,GAQ5B2C,EAAkBhH,UAAUuE,cAAgB,SAAUC,GACpD,GAAI4C,GAAI,GAAI1G,EAIZ,OAFA0G,GAAE/E,cAAc5D,KAAK6F,GAAG3B,gBAAgBlE,KAAKqD,OAAQ0C,EAAG4C,GAAI3I,KAAKyI,IAAKC,IAE/DC,GAQFJ,GACP9G,EAaFH,GAAgBsH,kBAAoB,SAAUC,EAAS1F,GAErD,MADAR,GAAYQ,KAAeA,EAAYzB,GAChC,GAAI6G,GAAkBvI,KAAM6I,EAAS1F,GAG9C,IAAI2F,GAA8B,SAAUlD,GAE1C,QAASkD,GAA2BzF,EAAQsF,EAAGxE,GAC7CnE,KAAKqD,OAASA,EACdrD,KAAK+I,GAAKJ,EACV3I,KAAK6F,GAAK1B,EACVyB,EAAUrF,KAAKP,MAOjB,MAZAkB,GAAS4H,EAA4BlD,GAQrCkD,EAA2BvH,UAAUuE,cAAgB,SAAUC,GAC7D,MAAO/F,MAAKqD,OAAOuB,UAAU,GAAIoE,GAAyBjD,EAAG/F,QAGxD8I,GACPrH,GAEEuH,EAA4B,SAAUpD,GAGxC,QAASoD,GAAyBjD,EAAGkD,GACnCjJ,KAAKiG,GAAKF,EACV/F,KAAK6F,GAAKoD,EAAEpD,GACZ7F,KAAK+I,GAAKE,EAAEF,GACZ/I,KAAKkJ,MACLtD,EAAUrF,KAAKP,MAmBjB,MA1BAkB,GAAS8H,EAA0BpD,GAUnCoD,EAAyBzH,UAAU6E,KAAO,SAAUnF,GAClD,GAAIkF,GAAMnG,KAAK6F,GAAGM,KAElB,KADAnG,KAAKkJ,GAAG7E,MAAOiC,SAAUH,EAAKpH,MAAOkC,IAC9BjB,KAAKkJ,GAAGnE,OAAS,GAAKoB,EAAMnG,KAAKkJ,GAAG,GAAG5C,UAAYtG,KAAK+I,IAC7D/I,KAAKiG,GAAG3B,OAAOtE,KAAKkJ,GAAG1E,QAAQzF,QAGnCiK,EAAyBzH,UAAUgF,MAAQ,SAAUzF,GAAKd,KAAKiG,GAAGjB,QAAQlE,IAC1EkI,EAAyBzH,UAAUiF,UAAY,WAE7C,IADA,GAAIL,GAAMnG,KAAK6F,GAAGM,MACXnG,KAAKkJ,GAAGnE,OAAS,GAAKoB,EAAMnG,KAAKkJ,GAAG,GAAG5C,UAAYtG,KAAK+I,IAC7D/I,KAAKiG,GAAG3B,OAAOtE,KAAKkJ,GAAG1E,QAAQzF,MAEjCiB,MAAKiG,GAAGxB,eAGHuE,GACP5H,EAYFE,GAAgB6H,iBAAmB,SAAUC,EAAUjG,GAErD,MADAR,GAAYQ,KAAeA,EAAYzB,GAChC,GAAIoH,GAA2B9I,KAAMoJ,EAAUjG,GAGxD,IAAIkG,GAA8B,SAAUzD,GAE1C,QAASyD,GAA2BhG,EAAQsF,EAAGxE,GAC7CnE,KAAKqD,OAASA,EACdrD,KAAK+I,GAAKJ,EACV3I,KAAK6F,GAAK1B,EACVyB,EAAUrF,KAAKP,MAOjB,MAZAkB,GAASmI,EAA4BzD,GAQrCyD,EAA2B9H,UAAUuE,cAAgB,SAAUC,GAC7D,MAAO/F,MAAKqD,OAAOuB,UAAU,GAAI0E,GAAyBvD,EAAG/F,KAAK+I,GAAI/I,KAAK6F,MAGtEwD,GACP5H,GAEE6H,EAA4B,SAAU1D,GAGxC,QAAS0D,GAAyBvD,EAAG4C,EAAGxE,GACtCnE,KAAKiG,GAAKF,EACV/F,KAAK+I,GAAKJ,EACV3I,KAAK6F,GAAK1B,EACVnE,KAAKkJ,MACLtD,EAAUrF,KAAKP,MAoBjB,MA3BAkB,GAASoI,EAA0B1D,GAUnC0D,EAAyB/H,UAAU6E,KAAO,SAAUnF,GAClD,GAAIkF,GAAMnG,KAAK6F,GAAGM,KAElB,KADAnG,KAAKkJ,GAAG7E,MAAOiC,SAAUH,EAAKpH,MAAOkC,IAC9BjB,KAAKkJ,GAAGnE,OAAS,GAAKoB,EAAMnG,KAAKkJ,GAAG,GAAG5C,UAAYtG,KAAK+I,IAC7D/I,KAAKkJ,GAAG1E,SAGZ8E,EAAyB/H,UAAUgF,MAAQ,SAAUzF,GAAKd,KAAKiG,GAAGjB,QAAQlE,IAC1EwI,EAAyB/H,UAAUiF,UAAY,WAE7C,IADA,GAAIL,GAAMnG,KAAK6F,GAAGM,MACXnG,KAAKkJ,GAAGnE,OAAS,GAAG,CACzB,GAAIqB,GAAOpG,KAAKkJ,GAAG1E,OACf2B,GAAMC,EAAKE,UAAYtG,KAAK+I,IAAM/I,KAAKiG,GAAG3B,OAAO8B,EAAKrH,OAE5DiB,KAAKiG,GAAGxB,eAGH6E,GACPlI,EAYFE,GAAgBiI,iBAAmB,SAAUH,EAAUjG,GAErD,MADAR,GAAYQ,KAAeA,EAAYzB,GAChC,GAAI2H,GAA2BrJ,KAAMoJ,EAAUjG,IAaxD7B,EAAgBkI,uBAAyB,SAAUJ,EAAUjG,GAC3D,GAAIE,GAASrD,IAEb,OADA2C,GAAYQ,KAAeA,EAAYzB,GAChC,GAAIF,GAAoB,SAAUuE,GACvC,GAAI3B,KACJ,OAAOf,GAAOuB,UAAU,SAAU3D,GAChC,GAAIkF,GAAMhD,EAAUgD,KAEpB,KADA/B,EAAEC,MAAOiC,SAAUH,EAAKpH,MAAOkC,IACxBmD,EAAEW,OAAS,GAAKoB,EAAM/B,EAAE,GAAGkC,UAAY8C,GAC5ChF,EAAEI,SAEH,SAAU1D,GAAKiF,EAAEf,QAAQlE,IAAO,WAEjC,IADA,GAAIqF,GAAMhD,EAAUgD,MAAOsD,KACpBrF,EAAEW,OAAS,GAAG,CACnB,GAAIqB,GAAOhC,EAAEI,OACb2B,GAAMC,EAAKE,UAAY8C,GAAYK,EAAIpF,KAAK+B,EAAKrH,OAEnDgH,EAAEzB,OAAOmF,GACT1D,EAAEtB,iBAEHpB,GAGL,IAAIqG,GAA0B,SAAU9D,GAEtC,QAAS8D,GAAuBrG,EAAQsF,EAAGxE,GACzCnE,KAAKqD,OAASA,EACdrD,KAAK+I,GAAKJ,EACV3I,KAAK6F,GAAK1B,EACVyB,EAAUrF,KAAKP,MAGjB,QAAS0I,GAAevE,EAAG4B,GACzBA,EAAEtB,cAUJ,MAnBAvD,GAASwI,EAAwB9D,GAYjC8D,EAAuBnI,UAAUuE,cAAgB,SAAUC,GACzD,MAAO,IAAI5D,GACTnC,KAAK6F,GAAG3B,eAAe6B,EAAG/F,KAAK+I,GAAIL,GACnC1I,KAAKqD,OAAOuB,UAAUmB,KAInB2D,GACPjI,EAeFH,GAAgBqI,aAAe,SAAUP,EAAUjG,GAEjD,MADAR,GAAYQ,KAAeA,EAAYzB,GAChC,GAAIgI,GAAuB1J,KAAMoJ,EAAUjG,GAGpD,IAAIyG,GAA0B,SAAUhE,GAEtC,QAASgE,GAAuBvG,EAAQsF,EAAGxE,GACzCnE,KAAKqD,OAASA,EACdrD,KAAK+I,GAAKJ,EACV3I,KAAK6F,GAAK1B,EACVnE,KAAK6J,OAAQ,EACbjE,EAAUrF,KAAKP,MAGjB,QAAS0I,GAAevE,EAAGvE,GACzBA,EAAKiK,OAAQ,EAUf,MApBA3I,GAAS0I,EAAwBhE,GAajCgE,EAAuBrI,UAAUuE,cAAgB,SAAUC,GACzD,MAAO,IAAI5D,GACTnC,KAAK6F,GAAG3B,eAAelE,KAAMA,KAAK+I,GAAIL,GACtC1I,KAAKqD,OAAOuB,UAAU,GAAIkF,GAAqB/D,EAAG/F,SAI/C4J,GACPnI,GAEEqI,EAAwB,SAAUlE,GAGpC,QAASkE,GAAqB/D,EAAGkD,GAC/BjJ,KAAKiG,GAAKF,EACV/F,KAAK+J,GAAKd,EACVrD,EAAUrF,KAAKP,MAOjB,MAZAkB,GAAS4I,EAAsBlE,GAQ/BkE,EAAqBvI,UAAU6E,KAAO,SAAUnF,GAAKjB,KAAK+J,GAAGF,OAAS7J,KAAKiG,GAAG3B,OAAOrD,IACrF6I,EAAqBvI,UAAUgF,MAAQ,SAAUzF,GAAKd,KAAKiG,GAAGjB,QAAQlE,IACtEgJ,EAAqBvI,UAAUiF,UAAY,WAAcxG,KAAKiG,GAAGxB,eAE1DqF,GACP1I,EAcFE,GAAgB0I,aAAe,SAAUZ,EAAUjG,GAEjD,MADAR,GAAYQ,KAAeA,EAAYzB,GAChC,GAAIkI,GAAuB5J,KAAMoJ,EAAUjG,GAGpD,IAAI8G,GAA+B,SAAUrE,GAE3C,QAASqE,GAA4B5G,EAAQ6G,EAAW/G,GACtDnD,KAAKqD,OAASA,EACdrD,KAAKmK,IAAMD,EACXlK,KAAK6F,GAAK1C,EACVyC,EAAUrF,KAAKP,MAGjB,QAAS0I,GAAevE,EAAGwC,GACzBA,EAAMkD,OAAQ,EAWhB,MApBA3I,GAAS+I,EAA6BrE,GAYtCqE,EAA4B1I,UAAUuE,cAAgB,SAAUC,GAE9D,MADA/F,MAAK6J,OAAQ,EACN,GAAI1H,GACTnC,KAAK6F,GAAG3B,eAAelE,KAAMA,KAAKmK,IAAKzB,GACvC1I,KAAKqD,OAAOuB,UAAU,GAAIwF,GAA0BrE,EAAG/F,SAIpDiK,GACPxI,GAEE2I,EAA6B,SAAUxE,GAGzC,QAASwE,GAA0BrE,EAAGkD,GACpCjJ,KAAKiG,GAAKF,EACV/F,KAAK+J,GAAKd,EACVrD,EAAUrF,KAAKP,MAOjB,MAZAkB,GAASkJ,EAA2BxE,GAQpCwE,EAA0B7I,UAAU6E,KAAO,SAAUnF,GAAKjB,KAAK+J,GAAGF,OAAS7J,KAAKiG,GAAG3B,OAAOrD,IAC1FmJ,EAA0B7I,UAAUgF,MAAQ,SAAUzF,GAAKd,KAAKiG,GAAGjB,QAAQlE,IAC3EsJ,EAA0B7I,UAAUiF,UAAY,WAAcxG,KAAKiG,GAAGxB,eAE/D2F,GACPhJ,EAmCF,OArBAE,GAAgB+I,kBAAoB,SAAUH,EAAW/G,GAEvD,MADAR,GAAYQ,KAAeA,EAAYzB,GAChC,GAAIuI,GAA4BjK,KAAMkK,EAAW/G,IAS1D7B,EAAgBgJ,kBAAoB,SAAUC,EAASpH,GACrDR,EAAYQ,KAAeA,EAAYzB,EACvC,IAAI2B,GAASrD,IACb,OAAO,IAAIwB,GAAoB,SAAUuE,GACvC,MAAO,IAAI5D,GACTgB,EAAUe,eAAe6B,EAAGwE,EAAS,SAAUC,EAAGzE,GAAKA,EAAEtB,gBACzDpB,EAAOuB,UAAUmB,KAClB1C,IAGEhD"} \ No newline at end of file +{"version":3,"file":"rx.lite.time.min.js","sources":["rx.lite.time.js"],"names":["factory","checkGlobal","value","Object","objectTypes","function","object","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","freeSelf","self","freeWindow","window","thisGlobal","this","root","Function","define","amd","Rx","require","call","exp","undefined","tryCatcherGen","tryCatchTarget","apply","arguments","e","errorObj","toArray","x","inherits","internals","AbstractObserver","Observable","observableProto","prototype","AnonymousObservable","ObservableBase","defaultScheduler","defer","empty","never","fromArray","Scheduler","SingleAssignmentDisposable","SerialDisposable","CompositeDisposable","BinaryDisposable","RefCountDisposable","Subject","addRef","helpers","normalize","isFunction","isPromise","isScheduler","fromPromise","tryCatch","fn","TypeError","windowWithTime","timeSpan","timeShiftOrScheduler","scheduler","timeShift","source","observer","createTimer","m","isSpan","isShift","timerD","setDisposable","nextSpan","nextShift","newTotalTime","ts","totalTime","scheduleFuture","s","q","push","onNext","refCountDisposable","shift","onCompleted","groupDisposable","add","subscribe","i","len","length","onError","windowWithTimeOrCount","count","id","windowId","n","newId","newWindow","bufferWithTime","flatMap","bufferWithTimeOrCount","TimeIntervalObservable","__super__","_s","subscribeCore","o","TimeIntervalObserver","_o","_l","now","next","span","interval","error","completed","timeInterval","GenerateAbsoluteObservable","state","cndFn","itrFn","resFn","timeFn","_state","_cndFn","_itrFn","_resFn","_timeFn","scheduleRecursive","recurse","hasResult","result","first","newState","time","scheduleRecursiveFuture","Date","generateWithAbsoluteTime","initialState","condition","iterate","resultSelector","timeSelector","GenerateRelativeObservable","generateWithRelativeTime","DelaySubscription","dt","_dt","scheduleMethod","d","delaySubscription","dueTime","SkipLastWithTimeObservable","_d","SkipLastWithTimeObserver","p","_q","skipLastWithTime","duration","TakeLastWithTimeObservable","TakeLastWithTimeObserver","takeLastWithTime","takeLastBufferWithTime","res","TakeWithTimeObservable","takeWithTime","SkipWithTimeObservable","_open","SkipWithTimeObserver","_p","skipWithTime","SkipUntilWithTimeObservable","startTime","_st","SkipUntilWithTimeObserver","skipUntilWithTime","takeUntilWithTime","endTime","_"],"mappings":"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"} \ No newline at end of file diff --git a/modules/rx-lite-time/rx.lite.time.min.js b/modules/rx-lite-time/rx.lite.time.min.js index 6060fe671..314cfef57 100644 --- a/modules/rx-lite-time/rx.lite.time.min.js +++ b/modules/rx-lite-time/rx.lite.time.min.js @@ -1,3 +1,3 @@ /* Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.*/ -(function(a){function b(a){return a&&a.Object===Object?a:null}var c={"function":!0,object:!0},d=c[typeof exports]&&exports&&!exports.nodeType?exports:null,e=c[typeof module]&&module&&!module.nodeType?module:null,f=b(d&&e&&"object"==typeof global&&global),g=b(c[typeof self]&&self),h=b(c[typeof window]&&window),i=(e&&e.exports===d?d:null,b(c[typeof this]&&this)),j=f||h!==(i&&i.window)&&h||g||i||Function("return this")();"function"==typeof define&&define.amd?define(["./rx.lite"],function(b,c){return a(j,c,b)}):"object"==typeof module&&module&&module.exports===d?module.exports=a(j,module.exports,require("rx-lite")):j.Rx=a(j,{},j.Rx)}).call(this,function(a,b,c,d){function e(a){return function(){try{return a.apply(this,arguments)}catch(b){return x.e=b,x}}}function f(a){return a.toArray()}function f(a){return a.toArray()}var g=c.internals.inherits,h=c.internals.AbstractObserver,i=c.Observable,j=i.prototype,k=c.AnonymousObservable,l=c.ObservableBase,m=(i.defer,i.empty,i.never,i["throw"],i.fromArray,c.Scheduler["default"]),n=c.SingleAssignmentDisposable,o=c.SerialDisposable,p=c.CompositeDisposable,q=c.BinaryDisposable,r=c.RefCountDisposable,s=c.Subject,t=c.internals.addRef,u=(c.Scheduler.normalize,c.helpers),v=(u.isPromise,u.isFunction),w=c.Scheduler.isScheduler,x=(i.fromPromise,{e:{}}),y=c.internals.tryCatch=function(a){if(!v(a))throw new TypeError("fn must be a function");return e(a)};j.windowWithTime=function(a,b,c){var d,e=this;return null==b&&(d=a),w(c)||(c=m),"number"==typeof b?d=b:w(b)&&(d=a,c=b),new k(function(b){function f(){var a=new n,e=!1,g=!1;l.setDisposable(a),j===i?(e=!0,g=!0):i>j?e=!0:g=!0;var o=e?j:i,p=o-m;m=o,e&&(j+=d),g&&(i+=d),a.setDisposable(c.scheduleFuture(null,p,function(){if(g){var a=new s;k.push(a),b.onNext(t(a,h))}e&&k.shift().onCompleted(),f()}))}var g,h,i=d,j=a,k=[],l=new o,m=0;return g=new p(l),h=new r(g),k.push(new s),b.onNext(t(k[0],h)),f(),g.add(e.subscribe(function(a){for(var b=0,c=k.length;c>b;b++)k[b].onNext(a)},function(a){for(var c=0,d=k.length;d>c;c++)k[c].onError(a);b.onError(a)},function(){for(var a=0,c=k.length;c>a;a++)k[a].onCompleted();b.onCompleted()})),h},e)},j.windowWithTimeOrCount=function(a,b,c){var d=this;return w(c)||(c=m),new k(function(e){function f(b){var d=new n;g.setDisposable(d),d.setDisposable(c.scheduleFuture(null,a,function(){if(b===k){j=0;var a=++k;l.onCompleted(),l=new s,e.onNext(t(l,i)),f(a)}}))}var g=new o,h=new p(g),i=new r(h),j=0,k=0,l=new s;return e.onNext(t(l,i)),f(0),h.add(d.subscribe(function(a){var c=0,d=!1;l.onNext(a),++j===b&&(d=!0,j=0,c=++k,l.onCompleted(),l=new s,e.onNext(t(l,i))),d&&f(c)},function(a){l.onError(a),e.onError(a)},function(){l.onCompleted(),e.onCompleted()})),i},d)},j.bufferWithTime=function(a,b,c){return this.windowWithTime(a,b,c).flatMap(f)},j.bufferWithTimeOrCount=function(a,b,c){return this.windowWithTimeOrCount(a,b,c).flatMap(f)};var z=function(a){function b(b,c){this.source=b,this._s=c,a.call(this)}return g(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new A(a,this._s))},b}(l),A=function(a){function b(b,c){this._o=b,this._s=c,this._l=c.now(),a.call(this)}return g(b,a),b.prototype.next=function(a){var b=this._s.now(),c=b-this._l;this._l=b,this._o.onNext({value:a,interval:c})},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(h);j.timeInterval=function(a){return w(a)||(a=m),new z(this,a)};var B=function(a){function b(b,c,d,e,f,g){this._state=b,this._cndFn=c,this._itrFn=d,this._resFn=e,this._timeFn=f,this._s=g,a.call(this)}function c(a,b){if(a.hasResult&&a.o.onNext(a.newState),a.first)a.first=!1;else if(a.newState=y(a.self._itrFn)(a.newState),a.newState===x)return a.o.onError(a.newState.e);if(a.hasResult=y(a.self._cndFn)(a.newState),a.hasResult===x)return a.o.onError(a.hasResult.e);if(a.hasResult){var c=y(a.self._resFn)(a.newState);if(c===x)return a.o.onError(c.e);var d=y(a.self._timeFn)(a.newState);if(d===x)return a.o.onError(d.e);b(a,d)}else a.o.onCompleted()}return g(b,a),b.prototype.subscribeCore=function(a){var b={o:a,self:this,newState:this._state,first:!0,hasValue:!1};return this._s.scheduleRecursiveFuture(b,new Date(this._s.now()),c)},b}(l);i.generateWithAbsoluteTime=function(a,b,c,d,e,f){return w(f)||(f=m),new B(a,b,c,d,e,f)};var C=function(a){function b(b,c,d,e,f,g){this._state=b,this._cndFn=c,this._itrFn=d,this._resFn=e,this._timeFn=f,this._s=g,a.call(this)}function c(a,b){if(a.hasResult&&a.o.onNext(a.newState),a.first)a.first=!1;else if(a.newState=y(a.self._itrFn)(a.newState),a.newState===x)return a.o.onError(a.newState.e);if(a.hasResult=y(a.self._cndFn)(a.newState),a.hasResult===x)return a.o.onError(a.hasResult.e);if(a.hasResult){var c=y(a.self._resFn)(a.newState);if(c===x)return a.o.onError(c.e);var d=y(a.self._timeFn)(a.newState);if(d===x)return a.o.onError(d.e);b(a,d)}else a.o.onCompleted()}return g(b,a),b.prototype.subscribeCore=function(a){var b={o:a,self:this,newState:this._state,first:!0,hasValue:!1};return this._s.scheduleRecursiveFuture(b,0,c)},b}(l);i.generateWithRelativeTime=function(a,b,c,d,e,f){return w(f)||(f=m),new C(a,b,c,d,e,f)};var D=function(a){function b(b,c,d){this.source=b,this._dt=c,this._s=d,a.call(this)}function c(a,b){var c=b[0],d=b[1],e=b[2];e.setDisposable(c.subscribe(d))}return g(b,a),b.prototype.subscribeCore=function(a){var b=new o;return b.setDisposable(this._s.scheduleFuture([this.source,a,b],this._dt,c)),b},b}(l);j.delaySubscription=function(a,b){return w(b)||(b=m),new D(this,a,b)};var E=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,a.call(this)}return g(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new F(a,this))},b}(l),F=function(a){function b(b,c){this._o=b,this._s=c._s,this._d=c._d,this._q=[],a.call(this)}return g(b,a),b.prototype.next=function(a){var b=this._s.now();for(this._q.push({interval:b,value:a});this._q.length>0&&b-this._q[0].interval>=this._d;)this._o.onNext(this._q.shift().value)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){for(var a=this._s.now();this._q.length>0&&a-this._q[0].interval>=this._d;)this._o.onNext(this._q.shift().value);this._o.onCompleted()},b}(h);j.skipLastWithTime=function(a,b){return w(b)||(b=m),new E(this,a,b)};var G=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,a.call(this)}return g(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new H(a,this._d,this._s))},b}(l),H=function(a){function b(b,c,d){this._o=b,this._d=c,this._s=d,this._q=[],a.call(this)}return g(b,a),b.prototype.next=function(a){var b=this._s.now();for(this._q.push({interval:b,value:a});this._q.length>0&&b-this._q[0].interval>=this._d;)this._q.shift()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){for(var a=this._s.now();this._q.length>0;){var b=this._q.shift();a-b.interval<=this._d&&this._o.onNext(b.value)}this._o.onCompleted()},b}(h);j.takeLastWithTime=function(a,b){return w(b)||(b=m),new G(this,a,b)},j.takeLastBufferWithTime=function(a,b){var c=this;return w(b)||(b=m),new k(function(d){var e=[];return c.subscribe(function(c){var d=b.now();for(e.push({interval:d,value:c});e.length>0&&d-e[0].interval>=a;)e.shift()},function(a){d.onError(a)},function(){for(var c=b.now(),f=[];e.length>0;){var g=e.shift();c-g.interval<=a&&f.push(g.value)}d.onNext(f),d.onCompleted()})},c)};var I=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,a.call(this)}function c(a,b){b.onCompleted()}return g(b,a),b.prototype.subscribeCore=function(a){return new q(this._s.scheduleFuture(a,this._d,c),this.source.subscribe(a))},b}(l);j.takeWithTime=function(a,b){return w(b)||(b=m),new I(this,a,b)};var J=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,this._open=!1,a.call(this)}function c(a,b){b._open=!0}return g(b,a),b.prototype.subscribeCore=function(a){return new q(this._s.scheduleFuture(this,this._d,c),this.source.subscribe(new K(a,this)))},b}(l),K=function(a){function b(b,c){this._o=b,this._p=c,a.call(this)}return g(b,a),b.prototype.next=function(a){this._p._open&&this._o.onNext(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(h);j.skipWithTime=function(a,b){return w(b)||(b=m),new J(this,a,b)};var L=function(a){function b(b,c,d){this.source=b,this._st=c,this._s=d,a.call(this)}function c(a,b){b._open=!0}return g(b,a),b.prototype.subscribeCore=function(a){return this._open=!1,new q(this._s.scheduleFuture(this,this._st,c),this.source.subscribe(new M(a,this)))},b}(l),M=function(a){function b(b,c){this._o=b,this._p=c,a.call(this)}return g(b,a),b.prototype.next=function(a){this._p._open&&this._o.onNext(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(h);return j.skipUntilWithTime=function(a,b){return w(b)||(b=m),new L(this,a,b)},j.takeUntilWithTime=function(a,b){w(b)||(b=m);var c=this;return new k(function(d){return new q(b.scheduleFuture(d,a,function(a,b){b.onCompleted()}),c.subscribe(d))},c)},c}); +(function(a){function b(a){return a&&a.Object===Object?a:null}var c={"function":!0,object:!0},d=c[typeof exports]&&exports&&!exports.nodeType?exports:null,e=c[typeof module]&&module&&!module.nodeType?module:null,f=b(d&&e&&"object"==typeof global&&global),g=b(c[typeof self]&&self),h=b(c[typeof window]&&window),i=(e&&e.exports===d?d:null,b(c[typeof this]&&this)),j=f||h!==(i&&i.window)&&h||g||i||Function("return this")();"function"==typeof define&&define.amd?define(["./rx.lite"],function(b,c){return a(j,c,b)}):"object"==typeof module&&module&&module.exports===d?module.exports=a(j,module.exports,require("rx-lite")):j.Rx=a(j,{},j.Rx)}).call(this,function(a,b,c,d){function e(a){return function(){try{return a.apply(this,arguments)}catch(b){return x.e=b,x}}}function f(a){return a.toArray()}function f(a){return a.toArray()}var g=c.internals.inherits,h=c.internals.AbstractObserver,i=c.Observable,j=i.prototype,k=c.AnonymousObservable,l=c.ObservableBase,m=(i.defer,i.empty,i.never,i["throw"],i.fromArray,c.Scheduler["default"]),n=c.SingleAssignmentDisposable,o=c.SerialDisposable,p=c.CompositeDisposable,q=c.BinaryDisposable,r=c.RefCountDisposable,s=c.Subject,t=c.internals.addRef,u=(c.Scheduler.normalize,c.helpers),v=(u.isPromise,u.isFunction),w=c.Scheduler.isScheduler,x=(i.fromPromise,{e:{}}),y=c.internals.tryCatch=function(a){if(!v(a))throw new TypeError("fn must be a function");return e(a)};j.windowWithTime=function(a,b,c){var d,e=this;return null==b&&(d=a),w(c)||(c=m),"number"==typeof b?d=b:w(b)&&(d=a,c=b),new k(function(b){function f(){var a=new n,e=!1,g=!1;l.setDisposable(a),j===i?(e=!0,g=!0):i>j?e=!0:g=!0;var o=e?j:i,p=o-m;m=o,e&&(j+=d),g&&(i+=d),a.setDisposable(c.scheduleFuture(null,p,function(){if(g){var a=new s;k.push(a),b.onNext(t(a,h))}e&&k.shift().onCompleted(),f()}))}var g,h,i=d,j=a,k=[],l=new o,m=0;return g=new p(l),h=new r(g),k.push(new s),b.onNext(t(k[0],h)),f(),g.add(e.subscribe(function(a){for(var b=0,c=k.length;c>b;b++)k[b].onNext(a)},function(a){for(var c=0,d=k.length;d>c;c++)k[c].onError(a);b.onError(a)},function(){for(var a=0,c=k.length;c>a;a++)k[a].onCompleted();b.onCompleted()})),h},e)},j.windowWithTimeOrCount=function(a,b,c){var d=this;return w(c)||(c=m),new k(function(e){function f(b){var d=new n;g.setDisposable(d),d.setDisposable(c.scheduleFuture(null,a,function(){if(b===k){j=0;var a=++k;l.onCompleted(),l=new s,e.onNext(t(l,i)),f(a)}}))}var g=new o,h=new p(g),i=new r(h),j=0,k=0,l=new s;return e.onNext(t(l,i)),f(0),h.add(d.subscribe(function(a){var c=0,d=!1;l.onNext(a),++j===b&&(d=!0,j=0,c=++k,l.onCompleted(),l=new s,e.onNext(t(l,i))),d&&f(c)},function(a){l.onError(a),e.onError(a)},function(){l.onCompleted(),e.onCompleted()})),i},d)},j.bufferWithTime=function(a,b,c){return this.windowWithTime(a,b,c).flatMap(f)},j.bufferWithTimeOrCount=function(a,b,c){return this.windowWithTimeOrCount(a,b,c).flatMap(f)};var z=function(a){function b(b,c){this.source=b,this._s=c,a.call(this)}return g(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new A(a,this._s))},b}(l),A=function(a){function b(b,c){this._o=b,this._s=c,this._l=c.now(),a.call(this)}return g(b,a),b.prototype.next=function(a){var b=this._s.now(),c=b-this._l;this._l=b,this._o.onNext({value:a,interval:c})},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(h);j.timeInterval=function(a){return w(a)||(a=m),new z(this,a)};var B=function(a){function b(b,c,d,e,f,g){this._state=b,this._cndFn=c,this._itrFn=d,this._resFn=e,this._timeFn=f,this._s=g,a.call(this)}function c(a,b){if(a.hasResult&&a.o.onNext(a.result),a.first)a.first=!1;else if(a.newState=y(a.self._itrFn)(a.newState),a.newState===x)return a.o.onError(a.newState.e);if(a.hasResult=y(a.self._cndFn)(a.newState),a.hasResult===x)return a.o.onError(a.hasResult.e);if(a.hasResult){if(a.result=y(a.self._resFn)(a.newState),a.result===x)return a.o.onError(a.result.e);var c=y(a.self._timeFn)(a.newState);if(c===x)return a.o.onError(c.e);b(a,c)}else a.o.onCompleted()}return g(b,a),b.prototype.subscribeCore=function(a){var b={o:a,self:this,newState:this._state,first:!0,hasResult:!1};return this._s.scheduleRecursiveFuture(b,new Date(this._s.now()),c)},b}(l);i.generateWithAbsoluteTime=function(a,b,c,d,e,f){return w(f)||(f=m),new B(a,b,c,d,e,f)};var C=function(a){function b(b,c,d,e,f,g){this._state=b,this._cndFn=c,this._itrFn=d,this._resFn=e,this._timeFn=f,this._s=g,a.call(this)}function c(a,b){if(a.hasResult&&a.o.onNext(a.result),a.first)a.first=!1;else if(a.newState=y(a.self._itrFn)(a.newState),a.newState===x)return a.o.onError(a.newState.e);if(a.hasResult=y(a.self._cndFn)(a.newState),a.hasResult===x)return a.o.onError(a.hasResult.e);if(a.hasResult){if(a.result=y(a.self._resFn)(a.newState),a.result===x)return a.o.onError(a.result.e);var c=y(a.self._timeFn)(a.newState);if(c===x)return a.o.onError(c.e);b(a,c)}else a.o.onCompleted()}return g(b,a),b.prototype.subscribeCore=function(a){var b={o:a,self:this,newState:this._state,first:!0,hasResult:!1};return this._s.scheduleRecursiveFuture(b,0,c)},b}(l);i.generateWithRelativeTime=function(a,b,c,d,e,f){return w(f)||(f=m),new C(a,b,c,d,e,f)};var D=function(a){function b(b,c,d){this.source=b,this._dt=c,this._s=d,a.call(this)}function c(a,b){var c=b[0],d=b[1],e=b[2];e.setDisposable(c.subscribe(d))}return g(b,a),b.prototype.subscribeCore=function(a){var b=new o;return b.setDisposable(this._s.scheduleFuture([this.source,a,b],this._dt,c)),b},b}(l);j.delaySubscription=function(a,b){return w(b)||(b=m),new D(this,a,b)};var E=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,a.call(this)}return g(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new F(a,this))},b}(l),F=function(a){function b(b,c){this._o=b,this._s=c._s,this._d=c._d,this._q=[],a.call(this)}return g(b,a),b.prototype.next=function(a){var b=this._s.now();for(this._q.push({interval:b,value:a});this._q.length>0&&b-this._q[0].interval>=this._d;)this._o.onNext(this._q.shift().value)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){for(var a=this._s.now();this._q.length>0&&a-this._q[0].interval>=this._d;)this._o.onNext(this._q.shift().value);this._o.onCompleted()},b}(h);j.skipLastWithTime=function(a,b){return w(b)||(b=m),new E(this,a,b)};var G=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,a.call(this)}return g(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new H(a,this._d,this._s))},b}(l),H=function(a){function b(b,c,d){this._o=b,this._d=c,this._s=d,this._q=[],a.call(this)}return g(b,a),b.prototype.next=function(a){var b=this._s.now();for(this._q.push({interval:b,value:a});this._q.length>0&&b-this._q[0].interval>=this._d;)this._q.shift()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){for(var a=this._s.now();this._q.length>0;){var b=this._q.shift();a-b.interval<=this._d&&this._o.onNext(b.value)}this._o.onCompleted()},b}(h);j.takeLastWithTime=function(a,b){return w(b)||(b=m),new G(this,a,b)},j.takeLastBufferWithTime=function(a,b){var c=this;return w(b)||(b=m),new k(function(d){var e=[];return c.subscribe(function(c){var d=b.now();for(e.push({interval:d,value:c});e.length>0&&d-e[0].interval>=a;)e.shift()},function(a){d.onError(a)},function(){for(var c=b.now(),f=[];e.length>0;){var g=e.shift();c-g.interval<=a&&f.push(g.value)}d.onNext(f),d.onCompleted()})},c)};var I=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,a.call(this)}function c(a,b){b.onCompleted()}return g(b,a),b.prototype.subscribeCore=function(a){return new q(this._s.scheduleFuture(a,this._d,c),this.source.subscribe(a))},b}(l);j.takeWithTime=function(a,b){return w(b)||(b=m),new I(this,a,b)};var J=function(a){function b(b,c,d){this.source=b,this._d=c,this._s=d,this._open=!1,a.call(this)}function c(a,b){b._open=!0}return g(b,a),b.prototype.subscribeCore=function(a){return new q(this._s.scheduleFuture(this,this._d,c),this.source.subscribe(new K(a,this)))},b}(l),K=function(a){function b(b,c){this._o=b,this._p=c,a.call(this)}return g(b,a),b.prototype.next=function(a){this._p._open&&this._o.onNext(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(h);j.skipWithTime=function(a,b){return w(b)||(b=m),new J(this,a,b)};var L=function(a){function b(b,c,d){this.source=b,this._st=c,this._s=d,a.call(this)}function c(a,b){b._open=!0}return g(b,a),b.prototype.subscribeCore=function(a){return this._open=!1,new q(this._s.scheduleFuture(this,this._st,c),this.source.subscribe(new M(a,this)))},b}(l),M=function(a){function b(b,c){this._o=b,this._p=c,a.call(this)}return g(b,a),b.prototype.next=function(a){this._p._open&&this._o.onNext(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(h);return j.skipUntilWithTime=function(a,b){return w(b)||(b=m),new L(this,a,b)},j.takeUntilWithTime=function(a,b){w(b)||(b=m);var c=this;return new k(function(d){return new q(b.scheduleFuture(d,a,function(a,b){b.onCompleted()}),c.subscribe(d))},c)},c}); //# sourceMappingURL=rx.lite.time.map \ No newline at end of file diff --git a/src/core/linq/observable/generatewithabsolutetime.js b/src/core/linq/observable/generatewithabsolutetime.js index e85ed8ec6..b5f0a92d4 100644 --- a/src/core/linq/observable/generatewithabsolutetime.js +++ b/src/core/linq/observable/generatewithabsolutetime.js @@ -11,11 +11,7 @@ } function scheduleRecursive(state, recurse) { - if (state.hasResult) { - var result = tryCatch(state.self._resFn)(state.newState); - if (result === errorObj) { return state.o.onError(result.e); } - state.o.onNext(result); - } + state.hasResult && state.o.onNext(state.result); if (state.first) { state.first = false; @@ -26,6 +22,8 @@ state.hasResult = tryCatch(state.self._cndFn)(state.newState); if (state.hasResult === errorObj) { return state.o.onError(state.hasResult.e); } if (state.hasResult) { + state.result = tryCatch(state.self._resFn)(state.newState); + if (state.result === errorObj) { return state.o.onError(state.result.e); } var time = tryCatch(state.self._timeFn)(state.newState); if (time === errorObj) { return state.o.onError(time.e); } recurse(state, time); @@ -40,7 +38,7 @@ self: this, newState: this._state, first: true, - hasValue: false + hasResult: false }; return this._s.scheduleRecursiveFuture(state, new Date(this._s.now()), scheduleRecursive); }; diff --git a/src/core/linq/observable/generatewithrelativetime.js b/src/core/linq/observable/generatewithrelativetime.js index 321155d3f..4f740fbba 100644 --- a/src/core/linq/observable/generatewithrelativetime.js +++ b/src/core/linq/observable/generatewithrelativetime.js @@ -11,11 +11,7 @@ } function scheduleRecursive(state, recurse) { - if (state.hasResult) { - var result = tryCatch(state.self._resFn)(state.newState); - if (result === errorObj) { return state.o.onError(result.e); } - state.o.onNext(result); - } + state.hasResult && state.o.onNext(state.result); if (state.first) { state.first = false; @@ -27,6 +23,8 @@ state.hasResult = tryCatch(state.self._cndFn)(state.newState); if (state.hasResult === errorObj) { return state.o.onError(state.hasResult.e); } if (state.hasResult) { + state.result = tryCatch(state.self._resFn)(state.newState); + if (state.result === errorObj) { return state.o.onError(state.result.e); } var time = tryCatch(state.self._timeFn)(state.newState); if (time === errorObj) { return state.o.onError(time.e); } recurse(state, time); diff --git a/src/modular/observable/generate.js b/src/modular/observable/generate.js index 236b8904c..0eff0dc40 100644 --- a/src/modular/observable/generate.js +++ b/src/modular/observable/generate.js @@ -45,7 +45,7 @@ GenerateObservable.prototype.subscribeCore = function (o) { o: o, self: this, first: true, - newState: this._initialState + newState: this._initialState, }; return this._s.scheduleRecursive(state, scheduleRecursive); }; diff --git a/src/modular/observable/generateabsolute.js b/src/modular/observable/generateabsolute.js index 02153729e..c7a807ee1 100644 --- a/src/modular/observable/generateabsolute.js +++ b/src/modular/observable/generateabsolute.js @@ -23,12 +23,7 @@ function GenerateAbsoluteObservable(state, cndFn, itrFn, resFn, timeFn, s) { inherits(GenerateAbsoluteObservable, ObservableBase); function scheduleRecursive(state, recurse) { - if (state.hasResult) { - var result = tryCatch(state.self._resFn)(state.newState); - if (result === errorObj) { return state.o.onError(result.e); } - state.o.onNext(result); - } - + state.hasResult && state.o.onNext(state.result); if (state.first) { state.first = false; @@ -39,6 +34,8 @@ function scheduleRecursive(state, recurse) { state.hasResult = tryCatch(state.self._cndFn)(state.newState); if (state.hasResult === global._Rx.errorObj) { return state.o.onError(state.hasResult.e); } if (state.hasResult) { + state.result = tryCatch(state.self._resFn)(state.newState); + if (state.result === global._Rx.errorObj) { return state.o.onError(state.result.e); } var time = tryCatch(state.self._timeFn)(state.newState); if (time === global._Rx.errorObj) { return state.o.onError(time.e); } recurse(state, time); @@ -53,7 +50,7 @@ GenerateAbsoluteObservable.prototype.subscribeCore = function (o) { self: this, newState: this._state, first: true, - hasValue: false + hasResult: false }; return this._s.scheduleRecursiveFuture(state, new Date(this._s.now()), scheduleRecursive); }; diff --git a/src/modular/observable/generaterelative.js b/src/modular/observable/generaterelative.js index 3a3ff6d02..5764ee237 100644 --- a/src/modular/observable/generaterelative.js +++ b/src/modular/observable/generaterelative.js @@ -23,12 +23,7 @@ function GenerateRelativeObservable(state, cndFn, itrFn, resFn, timeFn, s) { inherits(GenerateRelativeObservable, ObservableBase); function scheduleRecursive(state, recurse) { - if (state.hasResult) { - var result = tryCatch(state.self._resFn)(state.newState); - if (result === global._Rx.errorObj) { return state.o.onError(result.e); } - state.o.onNext(result); - } - + state.hasResult && state.o.onNext(state.result); if (state.first) { state.first = false; @@ -39,6 +34,8 @@ function scheduleRecursive(state, recurse) { state.hasResult = tryCatch(state.self._cndFn)(state.newState); if (state.hasResult === global._Rx.errorObj) { return state.o.onError(state.hasResult.e); } if (state.hasResult) { + state.result = tryCatch(state.self._resFn)(state.newState); + if (state.result === global._Rx.errorObj) { return state.o.onError(state.result.e); } var time = tryCatch(state.self._timeFn)(state.newState); if (time === global._Rx.errorObj) { return state.o.onError(time.e); } recurse(state, time); diff --git a/src/modular/rx.lite.js b/src/modular/rx.lite.js index 3059968e0..51f24d908 100644 --- a/src/modular/rx.lite.js +++ b/src/modular/rx.lite.js @@ -15,7 +15,10 @@ Observable.addToObject({ empty: require('./observable/empty'), from: require('./observable/from'), fromArray: require('./observable/fromarray'), + fromCallback: require('./observable/fromcallback'), fromEvent: require('./observable/fromevent'), + fromEventPattern: require('./observable/fromeventpattern'), + fromNodeCallback: require('./observable/fromnodecallback'), fromPromise: require('./observable/frompromise'), interval: require('./observable/interval'), just: require('./observable/just'), @@ -41,8 +44,10 @@ Observable.addToPrototype({ merge: require('./observable/merge'), mergeAll: require('./observable/mergeall'), scan: require('./observable/scan'), + skip: require('./observable/skip'), skipUntil: require('./observable/skipuntil'), switch: require('./observable/switch'), + take: require('./obserable/take'), takeUntil: require('./observable/takeuntil'), tap: require('./observable/tap'), zip: require('./observable/zip') diff --git a/src/modular/test/toset.js b/src/modular/test/toset.js index 4927821d0..31a26a01e 100644 --- a/src/modular/test/toset.js +++ b/src/modular/test/toset.js @@ -11,6 +11,7 @@ var onNext = ReactiveTest.onNext, subscribe = ReactiveTest.subscribe; Observable.addToPrototype({ + map: require('../observable/map'), toSet: require('../observable/toset') }); diff --git a/src/modular/test/when.js b/src/modular/test/when.js new file mode 100644 index 000000000..87200b134 --- /dev/null +++ b/src/modular/test/when.js @@ -0,0 +1,848 @@ +'use strict'; + +var test = require('tape'); +var Observable = require('../observable'); +var TestScheduler = require('../testing/testscheduler'); +var reactiveAssert = require('../testing/reactiveassert'); +var ReactiveTest = require('../testing/reactivetest'); +var onNext = ReactiveTest.onNext, + onError = ReactiveTest.onError, + onCompleted = ReactiveTest.onCompleted; + +Observable.addToObject({ + never: require('../observable/never'), + when: require('../observable/when') +}); + +Observable.addToPrototype({ + and: require('../observable/and'), + thenDo: require('../observable/thendo') +}); + +function throwError(error) { return function () { throw error; }; } +function multiply (x, y) { return x * y; } +function subtract (x, y) { return x - y; } +function add () { + var sum = 0; + for (var i = 0, len = arguments.length; i < len; i++) { + sum += arguments[i]; + } + return sum; +} + +test('then 1', function (t) { + var scheduler = new TestScheduler(); + + var xs = scheduler.createHotObservable( + onNext(210, 1), + onCompleted(220) + ); + + var results = scheduler.startScheduler(function () { + return Observable.when(xs.thenDo(function (a) { + return a; + })); + }); + + reactiveAssert(t, results.messages, [ + onNext(210, 1), + onCompleted(220) + ]); + + t.end(); +}); + +test('then 1 error', function (t) { + var error = new Error(); + + var scheduler = new TestScheduler(); + + var xs = scheduler.createHotObservable( + onError(210, error) + ); + + var results = scheduler.startScheduler(function () { + return Observable.when(xs.thenDo(function (a) { + return a; + })); + }); + + reactiveAssert(t, results.messages, [ + onError(210, error) + ]); + + t.end(); +}); + +test('then 1 throws', function (t) { + var error = new Error(); + + var scheduler = new TestScheduler(); + + var xs = scheduler.createHotObservable( + onNext(210, 1), + onCompleted(220) + ); + + var results = scheduler.startScheduler(function () { + return Observable.when(xs.thenDo(throwError(error))); + }); + + reactiveAssert(t, results.messages, [ + onError(210, error) + ]); + + t.end(); +}); + +test('and 2', function (t) { + var N = 2; + + var scheduler = new TestScheduler(); + + var obs = []; + for (var i = 0; i < N; i++) { + obs.push(scheduler.createHotObservable(onNext(210, 1), onCompleted(220))); + } + + var results = scheduler.startScheduler(function () { + return Observable.when(obs[0].and(obs[1]).thenDo(add)); + }); + + reactiveAssert(t, results.messages, [ + onNext(210, N), + onCompleted(220) + ]); + + t.end(); +}); + +test('and 2 error', function (t) { + var error = new Error(); + + var N = 2; + + for (var i = 0; i < N; i++) { + var scheduler = new TestScheduler(); + + var obs = []; + for (var j = 0; j < N; j++) { + if (j === i) { + obs.push(scheduler.createHotObservable(onError(210, error))); + } else { + obs.push(scheduler.createHotObservable(onNext(210, 1), onCompleted(220))); + } + } + + var results = scheduler.startScheduler(function () { + return Observable.when(obs[0].and(obs[1]).thenDo(add)); + }); + + reactiveAssert(t, results.messages, [ + onError(210, error) + ]); + } + + t.end(); +}); + +test('then 2 throws', function (t) { + var error = new Error(); + + var N = 2; + + var scheduler = new TestScheduler(); + + var obs = []; + for (var i = 0; i < N; i++) { + obs.push(scheduler.createHotObservable(onNext(210, 1), onCompleted(220))); + } + + var results = scheduler.startScheduler(function () { + return Observable.when(obs[0].and(obs[1]).thenDo(throwError(error))); + }); + + reactiveAssert(t, results.messages, [ + onError(210, error) + ]); + + t.end(); +}); + +test('and 3', function (t) { + var N = 3; + + var scheduler = new TestScheduler(); + + var obs = []; + for (var i = 0; i < N; i++) { + obs.push(scheduler.createHotObservable(onNext(210, 1), onCompleted(220))); + } + + var results = scheduler.startScheduler(function () { + return Observable.when(obs[0].and(obs[1]).and(obs[2]).thenDo(add)); + }); + + reactiveAssert(t, results.messages, [ + onNext(210, N), + onCompleted(220) + ]); + + t.end(); +}); + +test('and 3 error', function (t) { + var error = new Error(); + + var N = 3; + + for (var i = 0; i < N; i++) { + var scheduler = new TestScheduler(); + + var obs = []; + for (var j = 0; j < N; j++) { + if (j === i) { + obs.push(scheduler.createHotObservable(onError(210, error))); + } else { + obs.push(scheduler.createHotObservable(onNext(210, 1), onCompleted(220))); + } + } + + var results = scheduler.startScheduler(function () { + return Observable.when(obs[0].and(obs[1]).and(obs[2]).thenDo(add)); + }); + + reactiveAssert(t, results.messages, [ + onError(210, error) + ]); + } + + t.end(); +}); + +test('then 3 throws', function (t) { + var error = new Error(); + + var N = 3; + + var scheduler = new TestScheduler(); + + var obs = []; + for (var i = 0; i < N; i++) { + obs.push(scheduler.createHotObservable(onNext(210, 1), onCompleted(220))); + } + + var results = scheduler.startScheduler(function () { + return Observable.when(obs[0].and(obs[1]).and(obs[2]).thenDo(throwError(error))); + }); + + reactiveAssert(t, results.messages, [ + onError(210, error) + ]); + + t.end(); +}); + +test('and 4', function (t) { + var N = 4; + var scheduler = new TestScheduler(); + var obs = []; + for (var i = 0; i < N; i++) { + obs.push(scheduler.createHotObservable(onNext(210, 1), onCompleted(220))); + } + + var results = scheduler.startScheduler(function () { + return Observable.when(obs[0].and(obs[1]).and(obs[2]).and(obs[3]).thenDo(add)); + }); + + reactiveAssert(t, results.messages, [ + onNext(210, N), + onCompleted(220) + ]); + + t.end(); +}); + +test('and 4 error', function (t) { + var error = new Error(); + + var N = 4; + + for (var i = 0; i < N; i++) { + var scheduler = new TestScheduler(); + + var obs = []; + for (var j = 0; j < N; j++) { + if (j === i) { + obs.push(scheduler.createHotObservable(onError(210, error))); + } else { + obs.push(scheduler.createHotObservable(onNext(210, 1), onCompleted(220))); + } + } + + var results = scheduler.startScheduler(function () { + return Observable.when(obs[0].and(obs[1]).and(obs[2]).and(obs[3]).thenDo(add)); + }); + + reactiveAssert(t, results.messages, [ + onError(210, error) + ]); + } + + t.end(); +}); + +test('then 4 throws', function (t) { + var error = new Error(); + + var N = 4; + + var scheduler = new TestScheduler(); + + var obs = []; + for (var i = 0; i < N; i++) { + obs.push(scheduler.createHotObservable(onNext(210, 1), onCompleted(220))); + } + + var results = scheduler.startScheduler(function () { + return Observable.when(obs[0].and(obs[1]).and(obs[2]).and(obs[3]).thenDo(throwError(error))); + }); + + reactiveAssert(t, results.messages, [ + onError(210, error) + ]); + + t.end(); +}); + +test('and 5', function (t) { + var N = 5; + + var scheduler = new TestScheduler(); + + var obs = []; + for (var i = 0; i < N; i++) { + obs.push(scheduler.createHotObservable(onNext(210, 1), onCompleted(220))); + } + + var results = scheduler.startScheduler(function () { + return Observable.when(obs[0].and(obs[1]).and(obs[2]).and(obs[3]).and(obs[4]).thenDo(add)); + }); + + reactiveAssert(t, results.messages, [ + onNext(210, N), + onCompleted(220) + ]); + + t.end(); +}); + +test('and 5 error', function (t) { + var error = new Error(); + var N = 5; + for (var i = 0; i < N; i++) { + var scheduler = new TestScheduler(); + var obs = []; + for (var j = 0; j < N; j++) { + if (j === i) { + obs.push(scheduler.createHotObservable(onError(210, error))); + } else { + obs.push(scheduler.createHotObservable(onNext(210, 1), onCompleted(220))); + } + } + + var results = scheduler.startScheduler(function () { + return Observable.when(obs[0].and(obs[1]).and(obs[2]).and(obs[3]).and(obs[4]).thenDo(add)); + }); + + reactiveAssert(t, results.messages, [ + onError(210, error) + ]); + } + + t.end(); +}); + +test('then 5 throws', function (t) { + var error = new Error(); + + var N = 5; + + var scheduler = new TestScheduler(); + + var obs = []; + for (var i = 0; i < N; i++) { + obs.push(scheduler.createHotObservable(onNext(210, 1), onCompleted(220))); + } + + var results = scheduler.startScheduler(function () { + return Observable.when(obs[0].and(obs[1]).and(obs[2]).and(obs[3]).and(obs[4]).thenDo(throwError(error))); + }); + + reactiveAssert(t, results.messages, [ + onError(210, error) + ]); + + t.end(); +}); + +test('and 6', function (t) { + var N = 6; + + var scheduler = new TestScheduler(); + + var obs = []; + for (var i = 0; i < N; i++) { + obs.push(scheduler.createHotObservable(onNext(210, 1), onCompleted(220))); + } + + var results = scheduler.startScheduler(function () { + return Observable.when(obs[0].and(obs[1]).and(obs[2]).and(obs[3]).and(obs[4]).and(obs[5]).thenDo(add)); + }); + + reactiveAssert(t, results.messages, [ + onNext(210, N), + onCompleted(220) + ]); + + t.end(); +}); + +test('and 6 error', function (t) { + var error = new Error(); + + var N = 6; + + for (var i = 0; i < N; i++) { + var scheduler = new TestScheduler(); + + var obs = []; + for (var j = 0; j < N; j++) { + if (j === i) { + obs.push(scheduler.createHotObservable(onError(210, error))); + } else { + obs.push(scheduler.createHotObservable(onNext(210, 1), onCompleted(220))); + } + } + + var results = scheduler.startScheduler(function () { + return Observable.when(obs[0].and(obs[1]).and(obs[2]).and(obs[3]).and(obs[4]).and(obs[5]).thenDo(add)); + }); + + reactiveAssert(t, results.messages, [ + onError(210, error) + ]); + } + + t.end(); +}); + +test('then 6 throws', function (t) { + var error = new Error(); + + var N = 6; + + var scheduler = new TestScheduler(); + + var obs = []; + for (var i = 0; i < N; i++) { + obs.push(scheduler.createHotObservable(onNext(210, 1), onCompleted(220))); + } + + var results = scheduler.startScheduler(function () { + return Observable.when(obs[0].and(obs[1]).and(obs[2]).and(obs[3]).and(obs[4]).and(obs[5]).thenDo(throwError(error))); + }); + + reactiveAssert(t, results.messages, [ + onError(210, error) + ]); + + t.end(); +}); + +test('and 7', function (t) { + var N = 7; + + var scheduler = new TestScheduler(); + + var obs = []; + for (var i = 0; i < N; i++) { + obs.push(scheduler.createHotObservable(onNext(210, 1), onCompleted(220))); + } + + var results = scheduler.startScheduler(function () { + return Observable.when(obs[0].and(obs[1]).and(obs[2]).and(obs[3]).and(obs[4]).and(obs[5]).and(obs[6]).thenDo(add)); + }); + + reactiveAssert(t, results.messages, [ + onNext(210, N), + onCompleted(220) + ]); + + t.end(); +}); + +test('and 7 error', function (t) { + var error = new Error(); + + var N = 7; + + for (var i = 0; i < N; i++) { + var scheduler = new TestScheduler(); + + var obs = []; + for (var j = 0; j < N; j++) { + if (j === i) { + obs.push(scheduler.createHotObservable(onError(210, error))); + } else { + obs.push(scheduler.createHotObservable(onNext(210, 1), onCompleted(220))); + } + } + + var results = scheduler.startScheduler(function () { + return Observable.when(obs[0].and(obs[1]).and(obs[2]).and(obs[3]).and(obs[4]).and(obs[5]).and(obs[6]).thenDo(add)); + }); + + reactiveAssert(t, results.messages, [ + onError(210, error) + ]); + } + + t.end(); +}); + +test('then 7 throws', function (t) { + var error = new Error(); + + var N = 7; + + var scheduler = new TestScheduler(); + + var obs = []; + for (var i = 0; i < N; i++) { + obs.push(scheduler.createHotObservable(onNext(210, 1), onCompleted(220))); + } + + var results = scheduler.startScheduler(function () { + return Observable.when(obs[0].and(obs[1]).and(obs[2]).and(obs[3]).and(obs[4]).and(obs[5]).and(obs[6]).thenDo(throwError(error))); + }); + + reactiveAssert(t, results.messages, [ + onError(210, error) + ]); + + t.end(); +}); + +test('and 8', function (t) { + var N = 8; + + var scheduler = new TestScheduler(); + + var obs = []; + for (var i = 0; i < N; i++) { + obs.push(scheduler.createHotObservable(onNext(210, 1), onCompleted(220))); + } + + var results = scheduler.startScheduler(function () { + return Observable.when(obs[0].and(obs[1]).and(obs[2]).and(obs[3]).and(obs[4]).and(obs[5]).and(obs[6]).and(obs[7]).thenDo(add)); + }); + + reactiveAssert(t, results.messages, [ + onNext(210, N), + onCompleted(220) + ]); + + t.end(); +}); + +test('and 8 error', function (t) { + var error = new Error(); + + var N = 8; + + for (var i = 0; i < N; i++) { + var scheduler = new TestScheduler(); + + var obs = []; + for (var j = 0; j < N; j++) { + if (j === i) { + obs.push(scheduler.createHotObservable(onError(210, error))); + } else { + obs.push(scheduler.createHotObservable(onNext(210, 1), onCompleted(220))); + } + } + + var results = scheduler.startScheduler(function () { + return Observable.when(obs[0].and(obs[1]).and(obs[2]).and(obs[3]).and(obs[4]).and(obs[5]).and(obs[6]).and(obs[7]).thenDo(add)); + }); + + reactiveAssert(t, results.messages, [ + onError(210, error) + ]); + } + + t.end(); +}); + +test('then 8 throws', function (t) { + var error = new Error(); + + var N = 8; + + var scheduler = new TestScheduler(); + + var obs = []; + for (var i = 0; i < N; i++) { + obs.push(scheduler.createHotObservable(onNext(210, 1), onCompleted(220))); + } + + var results = scheduler.startScheduler(function () { + return Observable.when(obs[0].and(obs[1]).and(obs[2]).and(obs[3]).and(obs[4]).and(obs[5]).and(obs[6]).and(obs[7]).thenDo(throwError(error))); + }); + + reactiveAssert(t, results.messages, [ + onError(210, error) + ]); + + t.end(); +}); + +test('and 9', function (t) { + var N = 9; + + var scheduler = new TestScheduler(); + + var obs = []; + for (var i = 0; i < N; i++) { + obs.push(scheduler.createHotObservable(onNext(210, 1), onCompleted(220))); + } + + var results = scheduler.startScheduler(function () { + return Observable.when(obs[0].and(obs[1]).and(obs[2]).and(obs[3]).and(obs[4]).and(obs[5]).and(obs[6]).and(obs[7]).and(obs[8]).thenDo(add)); + }); + + reactiveAssert(t, results.messages, [ + onNext(210, N), + onCompleted(220) + ]); + + t.end(); +}); + +test('and 9 error', function (t) { + var error = new Error(); + + var N = 9; + + for (var i = 0; i < N; i++) { + var scheduler = new TestScheduler(); + + var obs = []; + for (var j = 0; j < N; j++) { + if (j === i) { + obs.push(scheduler.createHotObservable(onError(210, error))); + } else { + obs.push(scheduler.createHotObservable(onNext(210, 1), onCompleted(220))); + } + } + + var results = scheduler.startScheduler(function () { + return Observable.when(obs[0].and(obs[1]).and(obs[2]).and(obs[3]).and(obs[4]).and(obs[5]).and(obs[6]).and(obs[7]).and(obs[8]).thenDo(add)); + }); + + reactiveAssert(t, results.messages, [ + onError(210, error) + ]); + } + + t.end(); +}); + +test('then 9 throws', function (t) { + var error = new Error(); + + var N = 9; + + var scheduler = new TestScheduler(); + + var obs = []; + for (var i = 0; i < N; i++) { + obs.push(scheduler.createHotObservable(onNext(210, 1), onCompleted(220))); + } + + var results = scheduler.startScheduler(function () { + return Observable.when(obs[0].and(obs[1]).and(obs[2]).and(obs[3]).and(obs[4]).and(obs[5]).and(obs[6]).and(obs[7]).and(obs[8]).thenDo(throwError(error))); + }); + + reactiveAssert(t, results.messages, [ + onError(210, error) + ]); + + t.end(); +}); + +test('when multiple data symmetric', function (t) { + var scheduler = new TestScheduler(); + + var xs = scheduler.createHotObservable( + onNext(210, 1), + onNext(220, 2), + onNext(230, 3), + onCompleted(240) + ); + + var ys = scheduler.createHotObservable( + onNext(240, 4), + onNext(250, 5), + onNext(260, 6), + onCompleted(270) + ); + + var results = scheduler.startScheduler(function () { + return Observable.when(xs.and(ys).thenDo(add)); + }); + + reactiveAssert(t, results.messages, [ + onNext(240, 1 + 4), + onNext(250, 2 + 5), + onNext(260, 3 + 6), + onCompleted(270) + ]); + + t.end(); +}); + +test('when multiple data asymmetric', function (t) { + var scheduler = new TestScheduler(); + + var xs = scheduler.createHotObservable( + onNext(210, 1), + onNext(220, 2), + onNext(230, 3), + onCompleted(240) + ); + + var ys = scheduler.createHotObservable( + onNext(240, 4), + onNext(250, 5), + onCompleted(270) + ); + + var results = scheduler.startScheduler(function () { + return Observable.when(xs.and(ys).thenDo(add)); + }); + + reactiveAssert(t, results.messages, [ + onNext(240, 1 + 4), + onNext(250, 2 + 5), + onCompleted(270) + ]); + + t.end(); +}); + +test('when empty empty', function (t) { + var scheduler = new TestScheduler(); + + var xs = scheduler.createHotObservable( + onCompleted(240) + ); + + var ys = scheduler.createHotObservable( + onCompleted(270) + ); + + var results = scheduler.startScheduler(function () { + return Observable.when(xs.and(ys).thenDo(add)); + }); + + reactiveAssert(t, results.messages, [ + onCompleted(270) + ]); + + t.end(); +}); + +test('when never never', function (t) { + var scheduler = new TestScheduler(); + + var xs = Observable.never(); + + var ys = Observable.never(); + + var results = scheduler.startScheduler(function () { + return Observable.when(xs.and(ys).thenDo(add)); + }); + + reactiveAssert(t, results.messages, []); + + t.end(); +}); + +test('when throw non-empty', function (t) { + var error = new Error(); + + var scheduler = new TestScheduler(); + + var xs = scheduler.createHotObservable( + onError(240, error) + ); + + var ys = scheduler.createHotObservable( + onCompleted(270) + ); + + var results = scheduler.startScheduler(function () { + return Observable.when(xs.and(ys).thenDo(add)); + }); + + reactiveAssert(t, results.messages, [ + onError(240, error) + ]); + + t.end(); +}); + +test('complicated when', function (t) { + var scheduler = new TestScheduler(); + + var xs = scheduler.createHotObservable( + onNext(210, 1), + onNext(220, 2), + onNext(230, 3), + onCompleted(240) + ); + + var ys = scheduler.createHotObservable( + onNext(240, 4), + onNext(250, 5), + onNext(260, 6), + onCompleted(270) + ); + + var zs = scheduler.createHotObservable( + onNext(220, 7), + onNext(230, 8), + onNext(240, 9), + onCompleted(300) + ); + + var results = scheduler.startScheduler(function () { + return Observable.when( + xs.and(ys).thenDo(add), + xs.and(zs).thenDo(multiply), + ys.and(zs).thenDo(subtract) + ); + }); + + reactiveAssert(t, results.messages, [ + onNext(220, 1 * 7), + onNext(230, 2 * 8), + onNext(240, 3 + 4), + onNext(250, 5 - 9), + onCompleted(300) + ]); + + t.end(); +}); diff --git a/tests/observable/generatewithabsolutetime.js b/tests/observable/generatewithabsolutetime.js index cca599b89..c56ccb908 100644 --- a/tests/observable/generatewithabsolutetime.js +++ b/tests/observable/generatewithabsolutetime.js @@ -72,7 +72,7 @@ }); results.messages.assertEqual( - onError(202, error)); + onError(201, error)); }); test('generateWithAbsoluteTime absolute time throw iterate', function () { diff --git a/tests/observable/generatewithrelativetime.js b/tests/observable/generatewithrelativetime.js index 8e39b8f0b..78302b743 100644 --- a/tests/observable/generatewithrelativetime.js +++ b/tests/observable/generatewithrelativetime.js @@ -72,7 +72,7 @@ }); results.messages.assertEqual( - onError(202, error)); + onError(201, error)); }); test('generateWithRelativeTime throw iterate', function () {