You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

1 lines
635 KiB

{"version":3,"sources":["webpack:///webpack/bootstrap d4a5e786e3eb1a3d3026","webpack:///./node_modules/rxjs/operators/withLatestFrom.js","webpack:///./node_modules/rxjs/Observable.js","webpack:///./node_modules/rxjs/operators/map.js","webpack:///./node_modules/rxjs/Subscriber.js","webpack:///./node_modules/rxjs/operators/filter.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/rxjs/operators/tap.js","webpack:///./node_modules/rxjs/operators/pluck.js","webpack:///./node_modules/rxjs/util/root.js","webpack:///./lib/effects.ts","webpack:///./node_modules/debug/src/browser.js","webpack:///./node_modules/rxjs/observable/of.js","webpack:///./lib/socket-messages.ts","webpack:///./node_modules/rxjs/operators/ignoreElements.js","webpack:///./node_modules/rxjs/Subscription.js","webpack:///./node_modules/rxjs/BehaviorSubject.js","webpack:///./lib/log.ts","webpack:///./node_modules/rxjs/operators/mergeMap.js","webpack:///./node_modules/rxjs/observable/empty.js","webpack:///./node_modules/component-emitter/index.js","webpack:///./node_modules/engine.io-parser/lib/browser.js","webpack:///./lib/dom-effects.ts","webpack:///./node_modules/rxjs/operators/switchMap.js","webpack:///./lib/utils.ts","webpack:///./lib/browser.utils.ts","webpack:///./node_modules/rxjs/observable/ArrayObservable.js","webpack:///./node_modules/rxjs/observable/EmptyObservable.js","webpack:///./node_modules/rxjs/util/isScheduler.js","webpack:///./node_modules/rxjs/util/isArray.js","webpack:///./node_modules/rxjs/util/errorObject.js","webpack:///./node_modules/rxjs/OuterSubscriber.js","webpack:///./node_modules/rxjs/util/subscribeToResult.js","webpack:///./node_modules/rxjs/symbol/iterator.js","webpack:///./node_modules/parseqs/index.js","webpack:///./node_modules/component-inherit/index.js","webpack:///./node_modules/rxjs/Subject.js","webpack:///./node_modules/rxjs/observable/merge.js","webpack:///./node_modules/rxjs/operators/skip.js","webpack:///./node_modules/rxjs/operators/distinctUntilChanged.js","webpack:///./node_modules/rxjs/observable/fromEvent.js","webpack:///./node_modules/rxjs/util/isFunction.js","webpack:///./node_modules/rxjs/util/tryCatch.js","webpack:///./node_modules/rxjs/symbol/rxSubscriber.js","webpack:///./node_modules/rxjs/symbol/observable.js","webpack:///./node_modules/rxjs/observable/ScalarObservable.js","webpack:///./node_modules/socket.io-parser/index.js","webpack:///./node_modules/engine.io-client/lib/xmlhttprequest.js","webpack:///./node_modules/engine.io-client/lib/transport.js","webpack:///./node_modules/rxjs/observable/timer.js","webpack:///./lib/effects/set-options.effect.ts","webpack:///./node_modules/rxjs/observable/concat.js","webpack:///./lib/messages/BrowserReload.ts","webpack:///./node_modules/rxjs/util/isObject.js","webpack:///./node_modules/rxjs/Observer.js","webpack:///./node_modules/rxjs/util/noop.js","webpack:///./node_modules/rxjs/util/isArrayLike.js","webpack:///./node_modules/rxjs/util/isPromise.js","webpack:///./node_modules/parseuri/index.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/has-binary2/index.js","webpack:///./node_modules/socket.io-parser/is-buffer.js","webpack:///./node_modules/socket.io-client/lib/manager.js","webpack:///./node_modules/engine.io-client/lib/transports/index.js","webpack:///./node_modules/engine.io-client/lib/transports/polling.js","webpack:///./node_modules/yeast/index.js","webpack:///./node_modules/indexof/index.js","webpack:///./node_modules/socket.io-client/lib/socket.js","webpack:///./node_modules/socket.io-client/lib/on.js","webpack:///./node_modules/component-bind/index.js","webpack:///./node_modules/rxjs/util/ObjectUnsubscribedError.js","webpack:///./node_modules/rxjs/operators/share.js","webpack:///./node_modules/rxjs/operators/refCount.js","webpack:///./lib/dom-effects/prop-set.dom-effect.ts","webpack:///./node_modules/rxjs/util/isNumeric.js","webpack:///./node_modules/rxjs/scheduler/async.js","webpack:///./node_modules/rxjs/scheduler/AsyncAction.js","webpack:///./node_modules/rxjs/scheduler/AsyncScheduler.js","webpack:///./lib/dom-effects/style-set.dom-effect.ts","webpack:///./lib/dom-effects/link-replace.dom-effect.ts","webpack:///./lib/dom-effects/set-scroll.dom-effect.ts","webpack:///./lib/dom-effects/set-window-name.dom-effect.ts","webpack:///./lib/messages/ScrollEvent.ts","webpack:///./lib/effects/file-reload.effect.ts","webpack:///./node_modules/rxjs/observable/from.js","webpack:///./node_modules/rxjs/operators/mergeAll.js","webpack:///./node_modules/rxjs/operators/mapTo.js","webpack:///./lib/effects/browser-set-location.effect.ts","webpack:///./lib/effects/simulate-click.effect.ts","webpack:///./lib/effects/set-element-value.effect.ts","webpack:///./lib/effects/set-element-toggle-value.effect.ts","webpack:///./lib/effects/browser-reload.effect.ts","webpack:///./lib/messages/ClickEvent.ts","webpack:///./lib/messages/KeyupEvent.ts","webpack:///./node_modules/timers-browserify/main.js","webpack:///./lib/messages/FormToggleEvent.ts","webpack:///./lib/index.ts","webpack:///./node_modules/rxjs/observable/zip.js","webpack:///./node_modules/rxjs/operators/zip.js","webpack:///./node_modules/rxjs/util/toSubscriber.js","webpack:///./node_modules/rxjs/util/UnsubscriptionError.js","webpack:///./node_modules/rxjs/util/pipe.js","webpack:///./node_modules/rxjs/InnerSubscriber.js","webpack:///./lib/socket.ts","webpack:///./node_modules/socket.io-client/lib/index.js","webpack:///./node_modules/socket.io-client/lib/url.js","webpack:///./node_modules/debug/src/debug.js","webpack:///./node_modules/ms/index.js","webpack:///./node_modules/has-binary2/node_modules/isarray/index.js","webpack:///./node_modules/socket.io-parser/binary.js","webpack:///./node_modules/socket.io-parser/node_modules/isarray/index.js","webpack:///./node_modules/engine.io-client/lib/index.js","webpack:///./node_modules/engine.io-client/lib/socket.js","webpack:///./node_modules/has-cors/index.js","webpack:///./node_modules/engine.io-client/lib/transports/polling-xhr.js","webpack:///./node_modules/engine.io-parser/lib/keys.js","webpack:///./node_modules/arraybuffer.slice/index.js","webpack:///./node_modules/after/index.js","webpack:///./node_modules/engine.io-parser/lib/utf8.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/base64-arraybuffer/lib/base64-arraybuffer.js","webpack:///./node_modules/blob/index.js","webpack:///./node_modules/engine.io-client/lib/transports/polling-jsonp.js","webpack:///./node_modules/engine.io-client/lib/transports/websocket.js","webpack:///ws (ignored)","webpack:///./node_modules/to-array/index.js","webpack:///./node_modules/backo2/index.js","webpack:///./node_modules/rxjs/SubjectSubscription.js","webpack:///./node_modules/rxjs/operators/multicast.js","webpack:///./node_modules/rxjs/observable/ConnectableObservable.js","webpack:///./lib/notify.ts","webpack:///./node_modules/rxjs/observable/TimerObservable.js","webpack:///./node_modules/rxjs/scheduler/Action.js","webpack:///./node_modules/rxjs/Scheduler.js","webpack:///./node_modules/rxjs/util/isDate.js","webpack:///./vendor/logger.ts","webpack:///./vendor/Reloader.ts","webpack:///./node_modules/rxjs/observable/FromObservable.js","webpack:///./node_modules/rxjs/observable/PromiseObservable.js","webpack:///./node_modules/rxjs/observable/IteratorObservable.js","webpack:///./node_modules/rxjs/observable/ArrayLikeObservable.js","webpack:///./node_modules/rxjs/operators/observeOn.js","webpack:///./node_modules/rxjs/Notification.js","webpack:///./node_modules/rxjs/operators/concatAll.js","webpack:///./node_modules/rxjs/util/identity.js","webpack:///./node_modules/rxjs/operators/startWith.js","webpack:///./node_modules/rxjs/operators/take.js","webpack:///./node_modules/rxjs/util/ArgumentOutOfRangeError.js","webpack:///./lib/effects/set-scroll.ts","webpack:///./node_modules/rxjs/operators/partition.js","webpack:///./node_modules/rxjs/util/not.js","webpack:///./lib/messages/BrowserNotify.ts","webpack:///./lib/messages/BrowserLocation.ts","webpack:///./node_modules/rxjs/operators/subscribeOn.js","webpack:///./node_modules/rxjs/observable/SubscribeOnObservable.js","webpack:///./node_modules/rxjs/scheduler/asap.js","webpack:///./node_modules/rxjs/scheduler/AsapAction.js","webpack:///./node_modules/rxjs/util/Immediate.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/rxjs/scheduler/AsapScheduler.js","webpack:///./lib/messages/FileReload.ts","webpack:///./lib/messages/Connection.ts","webpack:///./lib/messages/Disconnect.ts","webpack:///./lib/messages/OptionsSet.ts","webpack:///./lib/scroll-restore.ts","webpack:///./lib/listeners.ts","webpack:///./lib/listeners/form-inputs.listener.ts","webpack:///./node_modules/rxjs/observable/FromEventObservable.js","webpack:///./lib/listeners/clicks.listener.ts","webpack:///./lib/listeners/scroll.listener.ts","webpack:///./lib/listeners/form-toggles.listener.ts","webpack:///./node_modules/rxjs/operators/groupBy.js","webpack:///./node_modules/rxjs/util/Map.js","webpack:///./node_modules/rxjs/util/MapPolyfill.js","webpack:///./node_modules/rxjs/util/FastMap.js"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;AC7DA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,WAAW,gBAAgB;AAC3B;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,0C;;;;;;;ACnIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,aAAa;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,eAAe;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iGAAiG;AACjG;AACA,uFAAuF,gBAAgB;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,kBAAkB;AAClB,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC;AACA;AACA,eAAe,SAAS;AACxB;AACA,eAAe,SAAS;AACxB,gBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,mBAAmB;AAClC,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA,eAAe,oBAAoB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,kBAAkB,EAAE,kBAAkB,oBAAoB,EAAE,eAAe,uBAAuB,EAAE;AAC9I,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,sC;;;;;;;AChTA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT;AACA,WAAW,qCAAqC;AAChD;AACA;AACA;AACA,WAAW,IAAI;AACf;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,+B;;;;;;;ACxFA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC,IAAI,mBAAmB,mBAAmB,eAAe;AACzD,+BAA+B,iBAAiB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kCAAkC;AACjD;AACA,eAAe,wBAAwB;AACvC;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE,aAAa;AAClF;AACA;AACA;AACA,eAAe,sBAAsB;AACrC,eAAe,wBAAwB;AACvC;AACA,eAAe,iBAAiB;AAChC;AACA,gBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,eAAe;AAC3B;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,eAAe;AAC3B,yCAAyC,YAAY;AACrD;AACA,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,eAAe;AAC3B;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,6CAA6C;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,sC;;;;;;;ACxQA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,2CAA2C;AACtD;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kC;;;;;;AC7FA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;ACpBA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT;AACA,WAAW,kBAAkB;AAC7B;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,+B;;;;;;;AChHA;AACA;AACA;AACA;AACA;AACA,gCAAgC,UAAU;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,WAAW,UAAU;AACrB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,uDAAuD;AACrF;AACA;AACA;AACA;AACA;AACA,uBAAuB,YAAY;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;8CCxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,gC;;;;;;;;;;AClBA,gDAAuD;AACvD,mDAAgE;AAChE,mDAAgE;AAChE,4DAAiF;AACjF,sDAAsE;AACtE,yDAA2E;AAC3E,gEAAwF;AACxF,4CAAuD;AACvD,sDAAsE;AAEtE,IAAY,WAUX;AAVD,WAAY,WAAW;IACnB,0CAA2B;IAC3B,sDAAuC;IACvC,gDAAiC;IACjC,0DAA2C;IAC3C,sDAAuC;IACvC,0CAA2B;IAC3B,gDAAiC;IACjC,oDAAqC;IACrC,gEAAiD;AACrD,CAAC,EAVW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAUtB;AAEY,6BAAqB,GAAG,IAAI,iCAAe;IACpD,GAAC,WAAW,CAAC,UAAU,IAAG,qCAAgB;IAC1C,GAAC,WAAW,CAAC,UAAU,IAAG,qCAAgB;IAC1C,GAAC,WAAW,CAAC,aAAa,IAAG,2CAAmB;IAChD,GAAC,WAAW,CAAC,kBAAkB,IAAG,sDAAwB;IAC1D,GAAC,WAAW,CAAC,aAAa,IAAG,2CAAmB;IAChD,GAAC,WAAW,CAAC,eAAe,IAAG,gDAAqB;IACpD,GAAC,WAAW,CAAC,qBAAqB,IAAG,6DAA2B;IAChE,GAAC,WAAW,CAAC,gBAAgB,IAAG,4BAAe;QACjD,CAAC;;;;;;;;AC/BH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;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BAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,cAAc;AAC7B;AACA,gBAAgB,aAAa;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA;AACA,+CAA+C,mGAAmG,EAAE;AACpJ;AACA,wC;;;;;;;AChMA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,2C;;;;;;;;;AChDA,gDAAuD;AACvD,sCAA8C;AAE9C,mCAAwC;AACxC,wCAA8C;AAC9C,sCAA+C;AAC/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CN,CAAC,CAAC,CACL,CAAC;IACN,CAAC;QACH,CAAC;;;;;;;;;AC9GH;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,eAAe;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,oDAAoD;AAC/D;AACA;AACA,WAAW,oFAAoF;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,uCAAuC;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,uCAAuC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,oCAAoC,uCAAuC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,oC;;;;;;;AC5KA;AACA;AACA;AACA,iC;;;;;;;ACFA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,YAAY;AACZ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,2CAA2C,SAAS;AACpD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;;;;;;;AClKA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,WAAW;;AAEX;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA,8BAA8B;AAC9B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,8DAA8D,gBAAgB;AAC9E;;AAEA;;AAEA;;AAEA;AACA,+BAA+B;AAC/B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,yBAAyB;AAC1C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA,8BAA8B,gBAAgB;AAC9C,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;;AAEA;AACA;AACA;AACA,YAAY,oBAAoB,oCAAoC;AACpE;;AAEA;;AAEA;AACA;AACA;;AAEA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,kCAAkC,OAAO;AACzC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY,YAAY;AACxB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,mDAAmD;AACnD,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;;AAEA,qBAAqB;AACrB;AACA,OAAO,OAAO;AACd;AACA;;AAEA;AACA,qBAAqB,mBAAmB;AACxC;AACA;AACA;;AAEA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA,KAAK;;AAEL;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,oBAAoB;AAC3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,mBAAmB;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,mBAAmB,EAAE;AACrB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;AC7lBA,gDAAuD;AACvD,oDAAqE;AACrE,qDAAuE;AACvE,wDAA6E;AAC7E,sDAAyE;AACzE,2DAAkF;AAElF,IAAY,MAMX;AAND,WAAY,MAAM;IACd,4CAAkC;IAClC,8CAAoC;IACpC,oDAA0C;IAC1C,gDAAsC;IACtC,wDAA8C;AAClD,CAAC,EANW,MAAM,GAAN,cAAM,KAAN,cAAM,QAMjB;AAEY,oBAAY,GAAG,IAAI,iCAAe;IAC3C,GAAC,MAAM,CAAC,OAAO,IAAG,sCAAgB;IAClC,GAAC,MAAM,CAAC,QAAQ,IAAG,wCAAiB;IACpC,GAAC,MAAM,CAAC,WAAW,IAAG,8CAAoB;IAC1C,GAAC,MAAM,CAAC,SAAS,IAAG,0CAAkB;IACtC,GAAC,MAAM,CAAC,aAAa,IAAG,mDAAsB;QAChD,CAAC;;;;;;;;;ACrBH;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,aAAa;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,oDAAoD;AAC/D;AACA;AACA,WAAW,oFAAoF;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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C,CAAC;AACxB,CAAC;AAJD,wDAIC;AAED,6BACI,WAAoB,EACpB,cAAuB;IAEvB,IAAM,CAAC,GAAG,cAAc,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;IAC3C,IAAM,CAAC,GAAG,cAAc,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;IAE3C,OAAO;QACH,CAAC,EAAE,CAAC,IAAI,CAAC;QACT,CAAC,EAAE,CAAC;KACP,CAAC;AACN,CAAC;AAXD,kDAWC;;;;;;;;ACvPD;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,aAAa;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa;AACb,aAAa;AACb,aAAa;AACb;AACA,eAAe,KAAK;AACpB,eAAe,UAAU,gBAAgB,iBAAiB;AAC1D;AACA,gBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,2BAA2B,iCAAiC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,2C;;;;;;;ACzHA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,eAAe;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa;AACb,aAAa;AACb,aAAa;AACb;AACA,eAAe,UAAU,gBAAgB,iBAAiB;AAC1D;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,yBAAyB;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,2C;;;;;;;AChFA;AACA;AACA;AACA;AACA;AACA,uC;;;;;;;ACLA;AACA,kDAAkD,0CAA0C,EAAE;AAC9F,mC;;;;;;;ACFA;AACA;AACA,uBAAuB,MAAM;AAC7B,uC;;;;;;;ACHA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,2C;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,gCAAgC;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,kBAAkB,+BAA+B,EAAE;AAC5D;AACA;AACA,gDAAgD,WAAW,EAAE;AAC7D,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6C;;;;;;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;ACrCA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACNA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,mC;;;;;;;ACvKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,mBAAmB;AAC9B,WAAW,OAAO;AAClB;AACA,WAAW,UAAU;AACrB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;ACzFA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA,8BAA8B,6CAA6C;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,gC;;;;;;;AClDA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,qBAAqB;AAC7B,QAAQ,qBAAqB;AAC7B,QAAQ,qBAAqB;AAC7B,QAAQ,qBAAqB;AAC7B;AACA;AACA;AACA;AACA,OAAO;AACP,OAAO;AACP,OAAO;AACP;AACA,SAAS;AACT,SAAS;AACT;AACA,WAAW,SAAS;AACpB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA,8BAA8B,4EAA4E;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,gD;;;;;;;AC3GA;AACA;AACA;AACA,qC;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA,sC;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wC;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sC;;;;;;;ACzBA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,4C;;;;;;;ACxDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,0BAA0B;AAC1B,sBAAsB;AACtB;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA,qFAAqF;AACrF;;AAEA;AACA;AACA;AACA;AACA,KAAK,OAAO;AACZ;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA,KAAK;AACL;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,W;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,oBAAoB;AAChC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC,YAAY,cAAc;AAC1B;AACA;AACA;;AAEA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/YA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;;AAEf;AACA;AACA;AACA,KAAK,YAAY;AACjB;AACA;;;;;;;;ACpCA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,UAAU;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;AC5JA;AACA;AACA;AACA,iC;;;;;;;;;ACDA,+CAA+D;AAC/D,mCAAyC;AAEzC,uCAAyC;AAGzC;;;;GAIG;AACH,0BACI,EAAmC,EACnC,MAAc;IAEd,OAAO,EAAE,CAAC,IAAI,CACV,SAAG,CAAC,iBAAO,IAAI,aAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAA5B,CAA4B,CAAC;IAC5C,wCAAwC;IACxC,+BAAc,EAAE,CACnB,CAAC;AACN,CAAC;AATD,4CASC;AAED,oBAA2B,OAA4B;IACnD,OAAO,CAAC,qBAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC;AAFD,gCAEC;;;;;;;;AC1BD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,YAAY;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,aAAa;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,gBAAgB;AAC3B,WAAW,gBAAgB;AAC3B;AACA,WAAW,UAAU;AACrB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kC;;;;;;;;;AC7GA,sCAA+C;AAE/C,8CAA+D;AAC/D,yCAAmD;AACnD,uCAAgD;AAChD,mCAAwC;AACxC,sDAG0C;AAC1C,6CAAyD;AACzD,sCAA6C;AAE7C,+BAAsC,EAAmB,EAAE,MAAc;IACrE,OAAO,EAAE,CAAC,IAAI,CACV,+BAAc,CAAC,MAAM,CAAC,OAAO,CAAC,EAC9B,eAAM,CAAC,UAAC,EAAgB;YAAf,aAAK,EAAE,eAAO;QAAM,cAAO,CAAC,QAAQ;IAAhB,CAAgB,CAAC,EAC9C,mBAAQ,CAAC,iBAAiB,CAAC,CAC9B,CAAC;AACN,CAAC;AAND,sDAMC;AAED;IACI,OAAO,eAAM;IACT;;OAEG;IACH,OAAE,CAAC,wCAAgB,EAAE,CAAC;IACtB;;OAEG;IACH,OAAE,CAAC,qCAAa,EAAE,CAAC,CAAC,IAAI,CAAC,yBAAW,CAAC,aAAK,CAAC,CAAC,CAC/C,CAAC;AACN,CAAC;AAXD,8CAWC;;;;;;;;ACjCD;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;ACLA;AACA;AACA;AACA,4BAA4B,EAAE;AAC9B,2BAA2B,WAAW,EAAE;AACxC,2BAA2B;AAC3B;AACA,oC;;;;;;;ACPA;AACA;AACA,iBAAiB;AACjB;AACA,gC;;;;;;;ACJA;AACA,qCAAqC,0CAA0C,EAAE;AACjF,uC;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;;AAEA,yGAAyG,IAAI,GAAG,IAAI,SAAS,IAAI;;AAEjI;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,wEAAwE;AACxE;;AAEA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;;AAEA;AACA;AACA,wEAAwE;AACxE,kFAAkF;AAClF;AACA;;AAEA;AACA;;;;;;;ACtCA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;ACvLtC;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,mCAAmC,OAAO;AAC1C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;AC5DA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;ACXA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,QAAQ;AACpB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG,OAAO;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC5jBA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;ACpDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,iBAAiB;AACjD;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,gBAAgB;AACjC;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;ACpPA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA,aAAa,gBAAgB;AAC7B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM,YAAY;;AAElB;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClEA;;AAEA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA,E;;;;;;;ACRA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;;AAEhB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,mCAAmC;AACtD,KAAK;AACL,mBAAmB,qBAAqB;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,+BAA+B;AAC5C;AACA;AACA;;AAEA,aAAa,4BAA4B;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,0BAA0B;AAC3C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;AChaA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvBA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,mD;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA,8BAA8B,kFAAkF;AAChH;AACA;AACA;AACA,iC;;;;;;;ACxBA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,oC;;;;;;;;;ACpFA,mCAAyC;AACzC,mCAAyC;AAEzC,4CAAwC;AACxC,kCAA8B;AAS9B,0BAAiC,EAA8B;IAC3D,OAAO,EAAE,CAAC,IAAI,CACV,SAAG,CAAC,eAAK;QACG,yBAAM,EAAE,iBAAI,EAAE,mBAAK,CAAW;QACtC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACzB,CAAC,CAAC,EACF,SAAG,CAAC,WAAC;QACD,UAAG,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAK,CAAC,CAAC,IAAI,WAAM,CAAC,CAAC,QAAU,CAAC;IAAnE,CAAmE,CACtE,CACJ,CAAC;AACN,CAAC;AAVD,4CAUC;AAED,iBAAwB,QAAwB;IAC5C,OAAO,CAAC,oBAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACtC,CAAC;AAFD,0BAEC;;;;;;;;AC3BD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,WAAW;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;AC9CA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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AC,QAAQ;YAC1B,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC;IACP,CAAC,CAAC,CACL,CAAC;AACN,CAAC;AAdD,4CAcC;;;;;;;;AC/BD;AACA;AACA;AACA,gC;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,OAAO;AAClB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA,gCAAgC,uCAAuC;AACvE;AACA;AACA;AACA,oC;;;;;;;ACpDA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,UAAU;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,WAAW,IAAI;AACf,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA,8BAA8B,8CAA8C;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,iC;;;;;;;;;AC7DA,+CAA+D;AAC/D,mCAAyC;AACzC,8CAA+D;AAG/D,uCAAyC;AAEzC,kCACI,EAA+B,EAC/B,MAAc;IAEd,OAAO,EAAE,CAAC,IAAI,CACV,+BAAc,CAAC,MAAM,CAAC,OAAO,CAAC,EAC9B,SAAG,CAAC,UAAC,EAAe;YAAd,aAAK,EAAE,cAAM;QACf,IAAI,KAAK,CAAC,IAAI,EAAE;YACZ,OAAO,CAAE,MAAM,CAAC,QAAgB;gBAC5B,MAAM,CAAC,QAAQ,CAAC,QAAQ;oBAC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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,gCAAgC,8BAA8B;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,+BAA+B,IAAI;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,+B;;;;;;;ACxRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wC;;;;;;;ACnBA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0GAA0G,0CAA0C,EAAE;AACtJ;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,+C;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,iBAAiB,EAAE;AAClE;AACA;AACA;AACA,gC;;;;;;;ACxBA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,2C;;;;;;;;;ACnCA,sCAA4C;AAC5C,0CAA6C;AAC7C,gDAAuD;AACvD,mCAAwC;AACxC,sCAA6C;AAE7C;;;;GAIG;AACH,qCAAqC;AACrC,2BAA2B;AAC3B,2DAA2D;AAC3D,+CAA+C;AAC/C,+BAA+B;AAC/B,QAAQ;AACR,IAAI;AACJ,EAAE;AACF,MAAM;AACN,yBAAyB;AACzB,iBAAiB;AACjB,iBAAiB;AACjB,MAAM;AACN,mCAAmC;AACnC,yBAAyB;AACzB,IAAI;AAEJ;IACI,OAAO,OAAE,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAFD,gCAEC;AAED;IACI,OAAO,OAAE,CAAC,QAAQ,CAAC,CAAC;AACxB,CAAC;AAFD,oCAEC;AAED;IACI,OAAO,OAAE,CAAC,SAAS,CAAC,CAAC;AACzB,CAAC;AAFD,sCAEC;AAED;IACI,OAAO,IAAI,iCAAe,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;AACjE,CAAC;AAFD,kCAEC;AAED;IACI;;OAEG;IAEH,IAAM,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC;IAC3D,IAAM,SAAS,GAAG,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC;IACrD,IAAM,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC3C,IAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;IAE3B,IAAM,OAAO,GAAG,uBAAU,CAAC,MAAM,CAAC,aAAG;QACjC,EAAE,CAAC,OAAO,GAAG,UAAS,MAAM;YACxB,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC3B,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CAAC;IACN,CAAC,CAAC,CAAC,IAAI,CAAC,aAAK,EAAE,CAAC,CAAC;IAEjB,IAAM,GAAG,GAAG,IAAI,iCAAe,CAAC,EAAE,CAAC,CAAC;IAEpC;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,EAAE,CAAC;IAErC,OAAO,EAAE,OAAO,WAAE,GAAG,OAAE,CAAC;AAC5B,CAAC;AA1BD,gCA0BC;;;;;;;;ACrED;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;AC5FA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;;AAEA;AACA;AACA,cAAc;AACd;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,iBAAiB,SAAS;AAC1B,4BAA4B;AAC5B;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA,yCAAyC,SAAS;AAClD;AACA;AACA;AACA;AACA,yCAAyC,SAAS;AAClD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;;;;;;;ACzMA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvJA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;ACJA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC,UAAU;AACV;;AAEA;AACA;;AAEA;AACA,uBAAuB;AACvB;AACA;AACA,GAAG;AACH;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA,iCAAiC;AACjC;AACA;;AAEA;AACA;;AAEA;AACA,6BAA6B;AAC7B,GAAG;AACH,mBAAmB,iBAAiB;AACpC;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,wCAAwC;AACxC,KAAK,yBAAyB;AAC9B,qBAAqB,gBAAgB;AACrC;AACA;AACA,KAAK,mDAAmD;AACxD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5IA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;;ACHA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACTA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2FAA2F;;AAE3F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;;AAElC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA,8CAA8C,WAAW;AACzD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,8BAA8B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6CAA6C,OAAO;AACpD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;;AAEA;AACA;AACA,sCAAsC,OAAO;AAC7C;AACA;AACA;AACA;;;;;;;;;ACruBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;;;;;;AChBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA;;AAEA;AACA;AACA,0BAA0B,iDAAiD;AAC3E;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT,2DAA2D;AAC3D;AACA,OAAO;AACP;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC3ZA;AACA;AACA;AACA,YAAY,MAAM;AAClB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0BAA0B,sCAAsC;;AAEhE,kBAAkB,gBAAgB;AAClC,gBAAgB,cAAc;AAC9B,oBAAoB,aAAa;;AAEjC;AACA;AACA;;AAEA;AACA;AACA,6BAA6B,SAAS;AACtC;AACA;AACA;AACA;;;;;;;AC5BA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;;;;;;sDC3BA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA,KAAK;AACL,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,sCAAsC;AACtC;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAEA;AACA;AACA;AACA;AACA,GAAG;AAAA;AACH,EAAE;AACF,mBAAmB;AACnB;AACA,GAAG,OAAO;AACV;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO;AACT;AACA;;AAEA,CAAC;;;;;;;;AC9PD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;;AAEA;AACA;AACA;;AAEA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,eAAe,SAAS;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;;;;;;AClED;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;;AAEA;AACA;;AAEA;AACA;AACA,oCAAoC;AACpC;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,CAAC;;;;;;;;;AC9FD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,mBAAmB;;AAEnB;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;ACtOA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS,OAAO;AAChB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,OAAO;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;;AAEA;AACA;AACA;;;;;;;;AC7RA,e;;;;;;ACAA;;AAEA;AACA;;AAEA;;AAEA,4BAA4B,iBAAiB;AAC7C;AACA;;AAEA;AACA;;;;;;;;ACXA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;ACnFA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,+C;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,qC;;;;;;;AC1DA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,eAAe,cAAc;AAC7B,gBAAgB,2BAA2B;AAC3C,eAAe,8BAA8B;AAC7C,kBAAkB,8BAA8B;AAChD,iBAAiB,qCAAqC;AACtD,kBAAkB,sDAAsD;AACxE,iBAAiB,qCAAqC;AACtD,cAAc,kCAAkC;AAChD,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,iD;;;;;;;;;ACzKA,gDAAuD;AAEvD,IAAM,MAAM,GAAG;IACX,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,OAAO;IACjB,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,CAAC;IACR,GAAG,EAAE,CAAC;IACN,sBAAsB,EAAE,KAAK;IAC7B,eAAe,EAAE,SAAS;IAC1B,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,QAAQ;IACnB,aAAa,EAAE,MAAM;CACxB,CAAC;AAEF;;;GAGG;AACH,oBAA2B,OAAO;IAC9B,IAAI,SAAS,GAAG,MAAM,CAAC;IACvB,IAAI,IAAI,CAAC;IAET,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;QACvB,IACI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YACrD,gBAAgB,EAClB;YACE,wEAAwE;YACxE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC/C;aAAM;YACH,KAAK,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;gBACnC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBAC3C,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;iBAC/C;aACJ;SACJ;KACJ;IAED,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,GAAG,eAAe,CAAC;IAE1B,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;QAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;KAClC;SAAM;QACH,KAAK,IAAI,IAAI,IAAI,SAAS,EAAE;YACxB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;SACtC;KACJ;IAED,OAAO,IAAI,iCAAe,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAhCD,gCAgCC;;;;;;;;ACvDD;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,iCAAiC,aAAa;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,eAAe;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,WAAW;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa;AACb;AACA,eAAe,YAAY;AAC3B;AACA,eAAe,OAAO;AACtB;AACA,eAAe,UAAU;AACzB;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,kBAAkB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACD;AACA,2C;;;;;;;AC1GA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA,uCAAuC,gBAAgB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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Ae,mBAAmB;AAClC;AACA;AACA,eAAe,UAAU;AACzB;AACA,gBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,0C;;;;;;;ACzHA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa;AACb;AACA,eAAe,eAAe;AAC9B,eAAe,UAAU;AACzB;AACA,gBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,wDAAwD,WAAW,EAAE;AACrE,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,gEAAgE,4CAA4C;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E,uCAAuC;AACnH;AACA,iBAAiB;AACjB;AACA,6EAA6E,mCAAmC;AAChH;AACA,iBAAiB;AACjB;AACA;AACA,wDAAwD,WAAW,EAAE;AACrE,iBAAiB;AACjB;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6C;;;;;;;ACxHA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,6BAA6B,SAAS;AACtC,6BAA6B,kBAAkB;AAC/C;AACA;AACA;AACA;AACA,iEAAiE,eAAe;AAChF;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,6BAA6B,SAAS;AACtC,6BAA6B,qBAAqB;AAClD;AACA;AACA;AACA;AACA,gEAAgE,aAAa;AAC7E;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8C;;;;;;;AClKA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,2BAA2B,kCAAkC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,+C;;;;;;;ACrEA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,YAAY;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA,IAAI;AACJ;AACA,SAAS;AACT;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,qC;;;;;;;AClHA;AACA;AACA;AACA,mDAAmD,iBAAiB;AACpE;AACA,SAAS,kBAAkB,GAAG,oBAAoB,GAAG,gBAAgB;AACrE;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA,eAAe,yBAAyB;AACxC,eAAe,yBAAyB;AACxC,eAAe,iBAAiB;AAChC,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kCAAkC;AACjD;AACA,eAAe,yBAAyB;AACxC,eAAe,iBAAiB;AAChC,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB,gBAAgB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,IAAI;AACnB,gBAAgB,gBAAgB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,kBAAkB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,wC;;;;;;;AC9HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,UAAU,kBAAkB,iBAAiB;AACxD;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;AC/CA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,YAAY,wBAAwB;AACpC;AACA;AACA,WAAW,OAAO;AAClB,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,gC;;;;;;;AC1FA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,mD;;;;;;;;;ACzBA,qCAA6C;AAE7C,+CAA+D;AAC/D,2CAAqD;AACrD,sCAA8C;AAC9C,8CAA0D;AAC1D,mCAAyC;AACzC,8CAA+D;AAC/D,mCAAyC;AAIzC,yBACI,EAA+B,EAC/B,MAAc;IAEd;QACI;;WAEG;QACH,IAAM,YAAY,GAAsB,EAAE,CAAC,IAAI,CAC3C,+BAAc,CACV,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAK,CAAC,sBAAsB,CAAC,CAAC,CACrD,CACJ,CAAC;QAEF;;WAEG;QACG;;;wBAEU,EAFT,iBAAS,EAAE,gBAAQ,CAET;QAEjB;;;WAGG;QACG;;;oBAEM,EAFL,eAAO,EAAE,kBAAU,CAEb;QAEb,OAAO,aAAK;QACR;;WAEG;QACH,SAAS,CAAC,IAAI,CACV,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DAEC;;;;;;;;;;ACXD,qCAA6C;AAC7C,sCAA+C;AAC/C,mCAAyC;AAEzC,8CAA+D;AAC/D,4DAA4E;AAO5E,iCACI,EAA+B,EAC/B,MAAc;IAEd,OAAO,EAAE,CAAC,IAAI,CACV,+BAAc,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAK,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,EACnE,eAAM,CAAC,UAAC,EAAmB;YAAhB,uBAAe;QAAM,sBAAe,KAAK,IAAI;IAAxB,CAAwB,CAAC,EACzD,SAAG,CAAC,UAAC,EAAO;YAAN,aAAK;QAAM,uDAAkB,CAAC,KAAK,CAAC;IAAzB,CAAyB,CAAC,CAC9C,CAAC;AACN,CAAC;AATD,0DASC;;;;;;;;ACtBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,uC;;;;;;;AC9BA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,mCAAmC,eAAe;AAClD,mCAAmC,yBAAyB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,WAAW;AAC1C,mCAAmC,yBAAyB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACD;AACA,iD;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,YAAY;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gC;;;;;;;ACtCA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,sC;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,qC;;;;;;;AChNA;AACA;;AAEA;AACA;AACA;;AAEA,uBAAuB;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0CAA0C,sBAAsB,EAAE;AAClE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,CAAC;;;;;;;;;ACzLD;AACA;AACA;AACA,mBAAmB,sBA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AAC,KAAK,CAAC;YAEhC,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC,CACL,CAAC;IACN,CAAC,CAAC,CACL,CAAC;AACN,CAAC;AAlCD,gDAkCC;;;;;;;;AClDD;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,mBAAmB,KAAK;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA+E;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa;AACb,aAAa;AACb;AACA,eAAe,gBAAgB;AAC/B;AACA,eAAe,OAAO;AACtB;AACA,eAAe,qBAAqB;AACpC,eAAe,2BAA2B;AAC1C;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,SAAS;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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,mBAAmB;AAC1C,uBAAuB,sBAAsB;AAC7C,uBAAuB,oBAAoB;AAC3C,uBAAuB;AACvB;AACA;AACA;AACA,qBAAqB,+CAA+C;AACpE;AACA;AACA;AACA,OAAO;AACP,OAAO;AACP,OAAO;AACP;AACA,WAAW,sBAAsB;AACjC;AACA,WAAW,sBAAsB;AACjC;AACA,WAAW,2DAA2D;AACtE;AACA;AACA,YAAY,mCAAmC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,mC;;;;;;;ACnRA;AACA;AACA;AACA,+CAA+C,kCAAkC,EAAE;AACnF,+B;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,eAAe;AACtC;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,uC;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,mC","file":"index.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 95);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap d4a5e786e3eb1a3d3026","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/* tslint:enable:max-line-length */\n/**\n * Combines the source Observable with other Observables to create an Observable\n * whose values are calculated from the latest values of each, only when the\n * source emits.\n *\n * <span class=\"informal\">Whenever the source Observable emits a value, it\n * computes a formula using that value plus the latest values from other input\n * Observables, then emits the output of that formula.</span>\n *\n * <img src=\"./img/withLatestFrom.png\" width=\"100%\">\n *\n * `withLatestFrom` combines each value from the source Observable (the\n * instance) with the latest values from the other input Observables only when\n * the source emits a value, optionally using a `project` function to determine\n * the value to be emitted on the output Observable. All input Observables must\n * emit at least one value before the output Observable will emit a value.\n *\n * @example <caption>On every click event, emit an array with the latest timer event plus the click event</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var timer = Rx.Observable.interval(1000);\n * var result = clicks.withLatestFrom(timer);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link combineLatest}\n *\n * @param {ObservableInput} other An input Observable to combine with the source\n * Observable. More than one input Observables may be given as argument.\n * @param {Function} [project] Projection function for combining values\n * together. Receives all values in order of the Observables passed, where the\n * first parameter is a value from the source Observable. (e.g.\n * `a.withLatestFrom(b, c, (a1, b1, c1) => a1 + b1 + c1)`). If this is not\n * passed, arrays will be emitted on the output Observable.\n * @return {Observable} An Observable of projected values from the most recent\n * values from each input Observable, or an array of the most recent values from\n * each input Observable.\n * @method withLatestFrom\n * @owner Observable\n */\nfunction withLatestFrom() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i - 0] = arguments[_i];\n }\n return function (source) {\n var project;\n if (typeof args[args.length - 1] === 'function') {\n project = args.pop();\n }\n var observables = args;\n return source.lift(new WithLatestFromOperator(observables, project));\n };\n}\nexports.withLatestFrom = withLatestFrom;\nvar WithLatestFromOperator = (function () {\n function WithLatestFromOperator(observables, project) {\n this.observables = observables;\n this.project = project;\n }\n WithLatestFromOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new WithLatestFromSubscriber(subscriber, this.observables, this.project));\n };\n return WithLatestFromOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar WithLatestFromSubscriber = (function (_super) {\n __extends(WithLatestFromSubscriber, _super);\n function WithLatestFromSubscriber(destination, observables, project) {\n _super.call(this, destination);\n this.observables = observables;\n this.project = project;\n this.toRespond = [];\n var len = observables.length;\n this.values = new Array(len);\n for (var i = 0; i < len; i++) {\n this.toRespond.push(i);\n }\n for (var i = 0; i < len; i++) {\n var observable = observables[i];\n this.add(subscribeToResult_1.subscribeToResult(this, observable, observable, i));\n }\n }\n WithLatestFromSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.values[outerIndex] = innerValue;\n var toRespond = this.toRespond;\n if (toRespond.length > 0) {\n var found = toRespond.indexOf(outerIndex);\n if (found !== -1) {\n toRespond.splice(found, 1);\n }\n }\n };\n WithLatestFromSubscriber.prototype.notifyComplete = function () {\n // noop\n };\n WithLatestFromSubscriber.prototype._next = function (value) {\n if (this.toRespond.length === 0) {\n var args = [value].concat(this.values);\n if (this.project) {\n this._tryProject(args);\n }\n else {\n this.destination.next(args);\n }\n }\n };\n WithLatestFromSubscriber.prototype._tryProject = function (args) {\n var result;\n try {\n result = this.project.apply(this, args);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return WithLatestFromSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=withLatestFrom.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/operators/withLatestFrom.js\n// module id = 0\n// module chunks = 0","\"use strict\";\nvar root_1 = require('./util/root');\nvar toSubscriber_1 = require('./util/toSubscriber');\nvar observable_1 = require('./symbol/observable');\nvar pipe_1 = require('./util/pipe');\n/**\n * A representation of any set of values over any amount of time. This is the most basic building block\n * of RxJS.\n *\n * @class Observable<T>\n */\nvar Observable = (function () {\n /**\n * @constructor\n * @param {Function} subscribe the function that is called when the Observable is\n * initially subscribed to. This function is given a Subscriber, to which new values\n * can be `next`ed, or an `error` method can be called to raise an error, or\n * `complete` can be called to notify of a successful completion.\n */\n function Observable(subscribe) {\n this._isScalar = false;\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n /**\n * Creates a new Observable, with this Observable as the source, and the passed\n * operator defined as the new observable's operator.\n * @method lift\n * @param {Operator} operator the operator defining the operation to take on the observable\n * @return {Observable} a new observable with the Operator applied\n */\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n /**\n * Invokes an execution of an Observable and registers Observer handlers for notifications it will emit.\n *\n * <span class=\"informal\">Use it when you have all these Observables, but still nothing is happening.</span>\n *\n * `subscribe` is not a regular operator, but a method that calls Observable's internal `subscribe` function. It\n * might be for example a function that you passed to a {@link create} static factory, but most of the time it is\n * a library implementation, which defines what and when will be emitted by an Observable. This means that calling\n * `subscribe` is actually the moment when Observable starts its work, not when it is created, as it is often\n * thought.\n *\n * Apart from starting the execution of an Observable, this method allows you to listen for values\n * that an Observable emits, as well as for when it completes or errors. You can achieve this in two\n * following ways.\n *\n * The first way is creating an object that implements {@link Observer} interface. It should have methods\n * defined by that interface, but note that it should be just a regular JavaScript object, which you can create\n * yourself in any way you want (ES6 class, classic function constructor, object literal etc.). In particular do\n * not attempt to use any RxJS implementation details to create Observers - you don't need them. Remember also\n * that your object does not have to implement all methods. If you find yourself creating a method that doesn't\n * do anything, you can simply omit it. Note however, that if `error` method is not provided, all errors will\n * be left uncaught.\n *\n * The second way is to give up on Observer object altogether and simply provide callback functions in place of its methods.\n * This means you can provide three functions as arguments to `subscribe`, where first function is equivalent\n * of a `next` method, second of an `error` method and third of a `complete` method. Just as in case of Observer,\n * if you do not need to listen for something, you can omit a function, preferably by passing `undefined` or `null`,\n * since `subscribe` recognizes these functions by where they were placed in function call. When it comes\n * to `error` function, just as before, if not provided, errors emitted by an Observable will be thrown.\n *\n * Whatever style of calling `subscribe` you use, in both cases it returns a Subscription object.\n * This object allows you to call `unsubscribe` on it, which in turn will stop work that an Observable does and will clean\n * up all resources that an Observable used. Note that cancelling a subscription will not call `complete` callback\n * provided to `subscribe` function, which is reserved for a regular completion signal that comes from an Observable.\n *\n * Remember that callbacks provided to `subscribe` are not guaranteed to be called asynchronously.\n * It is an Observable itself that decides when these functions will be called. For example {@link of}\n * by default emits all its values synchronously. Always check documentation for how given Observable\n * will behave when subscribed and if its default behavior can be modified with a {@link Scheduler}.\n *\n * @example <caption>Subscribe with an Observer</caption>\n * const sumObserver = {\n * sum: 0,\n * next(value) {\n * console.log('Adding: ' + value);\n * this.sum = this.sum + value;\n * },\n * error() { // We actually could just remove this method,\n * }, // since we do not really care about errors right now.\n * complete() {\n * console.log('Sum equals: ' + this.sum);\n * }\n * };\n *\n * Rx.Observable.of(1, 2, 3) // Synchronously emits 1, 2, 3 and then completes.\n * .subscribe(sumObserver);\n *\n * // Logs:\n * // \"Adding: 1\"\n * // \"Adding: 2\"\n * // \"Adding: 3\"\n * // \"Sum equals: 6\"\n *\n *\n * @example <caption>Subscribe with functions</caption>\n * let sum = 0;\n *\n * Rx.Observable.of(1, 2, 3)\n * .subscribe(\n * function(value) {\n * console.log('Adding: ' + value);\n * sum = sum + value;\n * },\n * undefined,\n * function() {\n * console.log('Sum equals: ' + sum);\n * }\n * );\n *\n * // Logs:\n * // \"Adding: 1\"\n * // \"Adding: 2\"\n * // \"Adding: 3\"\n * // \"Sum equals: 6\"\n *\n *\n * @example <caption>Cancel a subscription</caption>\n * const subscription = Rx.Observable.interval(1000).subscribe(\n * num => console.log(num),\n * undefined,\n * () => console.log('completed!') // Will not be called, even\n * ); // when cancelling subscription\n *\n *\n * setTimeout(() => {\n * subscription.unsubscribe();\n * console.log('unsubscribed!');\n * }, 2500);\n *\n * // Logs:\n * // 0 after 1s\n * // 1 after 2s\n * // \"unsubscribed!\" after 2.5s\n *\n *\n * @param {Observer|Function} observerOrNext (optional) Either an observer with methods to be called,\n * or the first of three possible handlers, which is the handler for each value emitted from the subscribed\n * Observable.\n * @param {Function} error (optional) A handler for a terminal event resulting from an error. If no error handler is provided,\n * the error will be thrown as unhandled.\n * @param {Function} complete (optional) A handler for a terminal event resulting from successful completion.\n * @return {ISubscription} a subscription reference to the registered handlers\n * @method subscribe\n */\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var operator = this.operator;\n var sink = toSubscriber_1.toSubscriber(observerOrNext, error, complete);\n if (operator) {\n operator.call(sink, this.source);\n }\n else {\n sink.add(this.source || !sink.syncErrorThrowable ? this._subscribe(sink) : this._trySubscribe(sink));\n }\n if (sink.syncErrorThrowable) {\n sink.syncErrorThrowable = false;\n if (sink.syncErrorThrown) {\n throw sink.syncErrorValue;\n }\n }\n return sink;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.syncErrorThrown = true;\n sink.syncErrorValue = err;\n sink.error(err);\n }\n };\n /**\n * @method forEach\n * @param {Function} next a handler for each value emitted by the observable\n * @param {PromiseConstructor} [PromiseCtor] a constructor function used to instantiate the Promise\n * @return {Promise} a promise that either resolves on observable completion or\n * rejects with the handled error\n */\n Observable.prototype.forEach = function (next, PromiseCtor) {\n var _this = this;\n if (!PromiseCtor) {\n if (root_1.root.Rx && root_1.root.Rx.config && root_1.root.Rx.config.Promise) {\n PromiseCtor = root_1.root.Rx.config.Promise;\n }\n else if (root_1.root.Promise) {\n PromiseCtor = root_1.root.Promise;\n }\n }\n if (!PromiseCtor) {\n throw new Error('no Promise impl found');\n }\n return new PromiseCtor(function (resolve, reject) {\n // Must be declared in a separate statement to avoid a RefernceError when\n // accessing subscription below in the closure due to Temporal Dead Zone.\n var subscription;\n subscription = _this.subscribe(function (value) {\n if (subscription) {\n // if there is a subscription, then we can surmise\n // the next handling is asynchronous. Any errors thrown\n // need to be rejected explicitly and unsubscribe must be\n // called manually\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscription.unsubscribe();\n }\n }\n else {\n // if there is NO subscription, then we're getting a nexted\n // value synchronously during subscription. We can just call it.\n // If it errors, Observable's `subscribe` will ensure the\n // unsubscription logic is called, then synchronously rethrow the error.\n // After that, Promise will trap the error and send it\n // down the rejection path.\n next(value);\n }\n }, reject, resolve);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n return this.source.subscribe(subscriber);\n };\n /**\n * An interop point defined by the es7-observable spec https://github.com/zenparsing/es-observable\n * @method Symbol.observable\n * @return {Observable} this instance of the observable\n */\n Observable.prototype[observable_1.observable] = function () {\n return this;\n };\n /* tslint:enable:max-line-length */\n /**\n * Used to stitch together functional operators into a chain.\n * @method pipe\n * @return {Observable} the Observable result of all of the operators having\n * been called in the order they were passed in.\n *\n * @example\n *\n * import { map, filter, scan } from 'rxjs/operators';\n *\n * Rx.Observable.interval(1000)\n * .pipe(\n * filter(x => x % 2 === 0),\n * map(x => x + x),\n * scan((acc, x) => acc + x)\n * )\n * .subscribe(x => console.log(x))\n */\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i - 0] = arguments[_i];\n }\n if (operations.length === 0) {\n return this;\n }\n return pipe_1.pipeFromArray(operations)(this);\n };\n /* tslint:enable:max-line-length */\n Observable.prototype.toPromise = function (PromiseCtor) {\n var _this = this;\n if (!PromiseCtor) {\n if (root_1.root.Rx && root_1.root.Rx.config && root_1.root.Rx.config.Promise) {\n PromiseCtor = root_1.root.Rx.config.Promise;\n }\n else if (root_1.root.Promise) {\n PromiseCtor = root_1.root.Promise;\n }\n }\n if (!PromiseCtor) {\n throw new Error('no Promise impl found');\n }\n return new PromiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return value = x; }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n // HACK: Since TypeScript inherits static properties too, we have to\n // fight against TypeScript here so Subject can have a different static create signature\n /**\n * Creates a new cold Observable by calling the Observable constructor\n * @static true\n * @owner Observable\n * @method create\n * @param {Function} subscribe? the subscriber function to be passed to the Observable constructor\n * @return {Observable} a new cold observable\n */\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexports.Observable = Observable;\n//# sourceMappingURL=Observable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/Observable.js\n// module id = 1\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/**\n * Applies a given `project` function to each value emitted by the source\n * Observable, and emits the resulting values as an Observable.\n *\n * <span class=\"informal\">Like [Array.prototype.map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map),\n * it passes each source value through a transformation function to get\n * corresponding output values.</span>\n *\n * <img src=\"./img/map.png\" width=\"100%\">\n *\n * Similar to the well known `Array.prototype.map` function, this operator\n * applies a projection to each value and emits that projection in the output\n * Observable.\n *\n * @example <caption>Map every click to the clientX position of that click</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var positions = clicks.map(ev => ev.clientX);\n * positions.subscribe(x => console.log(x));\n *\n * @see {@link mapTo}\n * @see {@link pluck}\n *\n * @param {function(value: T, index: number): R} project The function to apply\n * to each `value` emitted by the source Observable. The `index` parameter is\n * the number `i` for the i-th emission that has happened since the\n * subscription, starting from the number `0`.\n * @param {any} [thisArg] An optional argument to define what `this` is in the\n * `project` function.\n * @return {Observable<R>} An Observable that emits the values from the source\n * Observable transformed by the given `project` function.\n * @method map\n * @owner Observable\n */\nfunction map(project, thisArg) {\n return function mapOperation(source) {\n if (typeof project !== 'function') {\n throw new TypeError('argument is not a function. Are you looking for `mapTo()`?');\n }\n return source.lift(new MapOperator(project, thisArg));\n };\n}\nexports.map = map;\nvar MapOperator = (function () {\n function MapOperator(project, thisArg) {\n this.project = project;\n this.thisArg = thisArg;\n }\n MapOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MapSubscriber(subscriber, this.project, this.thisArg));\n };\n return MapOperator;\n}());\nexports.MapOperator = MapOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar MapSubscriber = (function (_super) {\n __extends(MapSubscriber, _super);\n function MapSubscriber(destination, project, thisArg) {\n _super.call(this, destination);\n this.project = project;\n this.count = 0;\n this.thisArg = thisArg || this;\n }\n // NOTE: This looks unoptimized, but it's actually purposefully NOT\n // using try/catch optimizations.\n MapSubscriber.prototype._next = function (value) {\n var result;\n try {\n result = this.project.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return MapSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=map.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/operators/map.js\n// module id = 2\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar isFunction_1 = require('./util/isFunction');\nvar Subscription_1 = require('./Subscription');\nvar Observer_1 = require('./Observer');\nvar rxSubscriber_1 = require('./symbol/rxSubscriber');\n/**\n * Implements the {@link Observer} interface and extends the\n * {@link Subscription} class. While the {@link Observer} is the public API for\n * consuming the values of an {@link Observable}, all Observers get converted to\n * a Subscriber, in order to provide Subscription-like capabilities such as\n * `unsubscribe`. Subscriber is a common type in RxJS, and crucial for\n * implementing operators, but it is rarely used as a public API.\n *\n * @class Subscriber<T>\n */\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n /**\n * @param {Observer|function(value: T): void} [destinationOrNext] A partially\n * defined Observer or a `next` callback function.\n * @param {function(e: ?any): void} [error] The `error` callback of an\n * Observer.\n * @param {function(): void} [complete] The `complete` callback of an\n * Observer.\n */\n function Subscriber(destinationOrNext, error, complete) {\n _super.call(this);\n this.syncErrorValue = null;\n this.syncErrorThrown = false;\n this.syncErrorThrowable = false;\n this.isStopped = false;\n switch (arguments.length) {\n case 0:\n this.destination = Observer_1.empty;\n break;\n case 1:\n if (!destinationOrNext) {\n this.destination = Observer_1.empty;\n break;\n }\n if (typeof destinationOrNext === 'object') {\n if (destinationOrNext instanceof Subscriber) {\n this.syncErrorThrowable = destinationOrNext.syncErrorThrowable;\n this.destination = destinationOrNext;\n this.destination.add(this);\n }\n else {\n this.syncErrorThrowable = true;\n this.destination = new SafeSubscriber(this, destinationOrNext);\n }\n break;\n }\n default:\n this.syncErrorThrowable = true;\n this.destination = new SafeSubscriber(this, destinationOrNext, error, complete);\n break;\n }\n }\n Subscriber.prototype[rxSubscriber_1.rxSubscriber] = function () { return this; };\n /**\n * A static factory for a Subscriber, given a (potentially partial) definition\n * of an Observer.\n * @param {function(x: ?T): void} [next] The `next` callback of an Observer.\n * @param {function(e: ?any): void} [error] The `error` callback of an\n * Observer.\n * @param {function(): void} [complete] The `complete` callback of an\n * Observer.\n * @return {Subscriber<T>} A Subscriber wrapping the (partially defined)\n * Observer represented by the given arguments.\n */\n Subscriber.create = function (next, error, complete) {\n var subscriber = new Subscriber(next, error, complete);\n subscriber.syncErrorThrowable = false;\n return subscriber;\n };\n /**\n * The {@link Observer} callback to receive notifications of type `next` from\n * the Observable, with a value. The Observable may call this method 0 or more\n * times.\n * @param {T} [value] The `next` value.\n * @return {void}\n */\n Subscriber.prototype.next = function (value) {\n if (!this.isStopped) {\n this._next(value);\n }\n };\n /**\n * The {@link Observer} callback to receive notifications of type `error` from\n * the Observable, with an attached {@link Error}. Notifies the Observer that\n * the Observable has experienced an error condition.\n * @param {any} [err] The `error` exception.\n * @return {void}\n */\n Subscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n this.isStopped = true;\n this._error(err);\n }\n };\n /**\n * The {@link Observer} callback to receive a valueless notification of type\n * `complete` from the Observable. Notifies the Observer that the Observable\n * has finished sending push-based notifications.\n * @return {void}\n */\n Subscriber.prototype.complete = function () {\n if (!this.isStopped) {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n this.destination.error(err);\n this.unsubscribe();\n };\n Subscriber.prototype._complete = function () {\n this.destination.complete();\n this.unsubscribe();\n };\n Subscriber.prototype._unsubscribeAndRecycle = function () {\n var _a = this, _parent = _a._parent, _parents = _a._parents;\n this._parent = null;\n this._parents = null;\n this.unsubscribe();\n this.closed = false;\n this.isStopped = false;\n this._parent = _parent;\n this._parents = _parents;\n return this;\n };\n return Subscriber;\n}(Subscription_1.Subscription));\nexports.Subscriber = Subscriber;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(_parentSubscriber, observerOrNext, error, complete) {\n _super.call(this);\n this._parentSubscriber = _parentSubscriber;\n var next;\n var context = this;\n if (isFunction_1.isFunction(observerOrNext)) {\n next = observerOrNext;\n }\n else if (observerOrNext) {\n next = observerOrNext.next;\n error = observerOrNext.error;\n complete = observerOrNext.complete;\n if (observerOrNext !== Observer_1.empty) {\n context = Object.create(observerOrNext);\n if (isFunction_1.isFunction(context.unsubscribe)) {\n this.add(context.unsubscribe.bind(context));\n }\n context.unsubscribe = this.unsubscribe.bind(this);\n }\n }\n this._context = context;\n this._next = next;\n this._error = error;\n this._complete = complete;\n }\n SafeSubscriber.prototype.next = function (value) {\n if (!this.isStopped && this._next) {\n var _parentSubscriber = this._parentSubscriber;\n if (!_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._next, value);\n }\n else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n if (this._error) {\n if (!_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._error, err);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, this._error, err);\n this.unsubscribe();\n }\n }\n else if (!_parentSubscriber.syncErrorThrowable) {\n this.unsubscribe();\n throw err;\n }\n else {\n _parentSubscriber.syncErrorValue = err;\n _parentSubscriber.syncErrorThrown = true;\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.complete = function () {\n var _this = this;\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n if (this._complete) {\n var wrappedComplete = function () { return _this._complete.call(_this._context); };\n if (!_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(wrappedComplete);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, wrappedComplete);\n this.unsubscribe();\n }\n }\n else {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) {\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n this.unsubscribe();\n throw err;\n }\n };\n SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) {\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n parent.syncErrorValue = err;\n parent.syncErrorThrown = true;\n return true;\n }\n return false;\n };\n SafeSubscriber.prototype._unsubscribe = function () {\n var _parentSubscriber = this._parentSubscriber;\n this._context = null;\n this._parentSubscriber = null;\n _parentSubscriber.unsubscribe();\n };\n return SafeSubscriber;\n}(Subscriber));\n//# sourceMappingURL=Subscriber.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/Subscriber.js\n// module id = 3\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/* tslint:enable:max-line-length */\n/**\n * Filter items emitted by the source Observable by only emitting those that\n * satisfy a specified predicate.\n *\n * <span class=\"informal\">Like\n * [Array.prototype.filter()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter),\n * it only emits a value from the source if it passes a criterion function.</span>\n *\n * <img src=\"./img/filter.png\" width=\"100%\">\n *\n * Similar to the well-known `Array.prototype.filter` method, this operator\n * takes values from the source Observable, passes them through a `predicate`\n * function and only emits those values that yielded `true`.\n *\n * @example <caption>Emit only click events whose target was a DIV element</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var clicksOnDivs = clicks.filter(ev => ev.target.tagName === 'DIV');\n * clicksOnDivs.subscribe(x => console.log(x));\n *\n * @see {@link distinct}\n * @see {@link distinctUntilChanged}\n * @see {@link distinctUntilKeyChanged}\n * @see {@link ignoreElements}\n * @see {@link partition}\n * @see {@link skip}\n *\n * @param {function(value: T, index: number): boolean} predicate A function that\n * evaluates each value emitted by the source Observable. If it returns `true`,\n * the value is emitted, if `false` the value is not passed to the output\n * Observable. The `index` parameter is the number `i` for the i-th source\n * emission that has happened since the subscription, starting from the number\n * `0`.\n * @param {any} [thisArg] An optional argument to determine the value of `this`\n * in the `predicate` function.\n * @return {Observable} An Observable of values from the source that were\n * allowed by the `predicate` function.\n * @method filter\n * @owner Observable\n */\nfunction filter(predicate, thisArg) {\n return function filterOperatorFunction(source) {\n return source.lift(new FilterOperator(predicate, thisArg));\n };\n}\nexports.filter = filter;\nvar FilterOperator = (function () {\n function FilterOperator(predicate, thisArg) {\n this.predicate = predicate;\n this.thisArg = thisArg;\n }\n FilterOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new FilterSubscriber(subscriber, this.predicate, this.thisArg));\n };\n return FilterOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar FilterSubscriber = (function (_super) {\n __extends(FilterSubscriber, _super);\n function FilterSubscriber(destination, predicate, thisArg) {\n _super.call(this, destination);\n this.predicate = predicate;\n this.thisArg = thisArg;\n this.count = 0;\n }\n // the try catch block below is left specifically for\n // optimization and perf reasons. a tryCatcher is not necessary here.\n FilterSubscriber.prototype._next = function (value) {\n var result;\n try {\n result = this.predicate.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n if (result) {\n this.destination.next(value);\n }\n };\n return FilterSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=filter.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/operators/filter.js\n// module id = 4\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 5\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/* tslint:enable:max-line-length */\n/**\n * Perform a side effect for every emission on the source Observable, but return\n * an Observable that is identical to the source.\n *\n * <span class=\"informal\">Intercepts each emission on the source and runs a\n * function, but returns an output which is identical to the source as long as errors don't occur.</span>\n *\n * <img src=\"./img/do.png\" width=\"100%\">\n *\n * Returns a mirrored Observable of the source Observable, but modified so that\n * the provided Observer is called to perform a side effect for every value,\n * error, and completion emitted by the source. Any errors that are thrown in\n * the aforementioned Observer or handlers are safely sent down the error path\n * of the output Observable.\n *\n * This operator is useful for debugging your Observables for the correct values\n * or performing other side effects.\n *\n * Note: this is different to a `subscribe` on the Observable. If the Observable\n * returned by `do` is not subscribed, the side effects specified by the\n * Observer will never happen. `do` therefore simply spies on existing\n * execution, it does not trigger an execution to happen like `subscribe` does.\n *\n * @example <caption>Map every click to the clientX position of that click, while also logging the click event</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var positions = clicks\n * .do(ev => console.log(ev))\n * .map(ev => ev.clientX);\n * positions.subscribe(x => console.log(x));\n *\n * @see {@link map}\n * @see {@link subscribe}\n *\n * @param {Observer|function} [nextOrObserver] A normal Observer object or a\n * callback for `next`.\n * @param {function} [error] Callback for errors in the source.\n * @param {function} [complete] Callback for the completion of the source.\n * @return {Observable} An Observable identical to the source, but runs the\n * specified Observer or callback(s) for each item.\n * @name tap\n */\nfunction tap(nextOrObserver, error, complete) {\n return function tapOperatorFunction(source) {\n return source.lift(new DoOperator(nextOrObserver, error, complete));\n };\n}\nexports.tap = tap;\nvar DoOperator = (function () {\n function DoOperator(nextOrObserver, error, complete) {\n this.nextOrObserver = nextOrObserver;\n this.error = error;\n this.complete = complete;\n }\n DoOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DoSubscriber(subscriber, this.nextOrObserver, this.error, this.complete));\n };\n return DoOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DoSubscriber = (function (_super) {\n __extends(DoSubscriber, _super);\n function DoSubscriber(destination, nextOrObserver, error, complete) {\n _super.call(this, destination);\n var safeSubscriber = new Subscriber_1.Subscriber(nextOrObserver, error, complete);\n safeSubscriber.syncErrorThrowable = true;\n this.add(safeSubscriber);\n this.safeSubscriber = safeSubscriber;\n }\n DoSubscriber.prototype._next = function (value) {\n var safeSubscriber = this.safeSubscriber;\n safeSubscriber.next(value);\n if (safeSubscriber.syncErrorThrown) {\n this.destination.error(safeSubscriber.syncErrorValue);\n }\n else {\n this.destination.next(value);\n }\n };\n DoSubscriber.prototype._error = function (err) {\n var safeSubscriber = this.safeSubscriber;\n safeSubscriber.error(err);\n if (safeSubscriber.syncErrorThrown) {\n this.destination.error(safeSubscriber.syncErrorValue);\n }\n else {\n this.destination.error(err);\n }\n };\n DoSubscriber.prototype._complete = function () {\n var safeSubscriber = this.safeSubscriber;\n safeSubscriber.complete();\n if (safeSubscriber.syncErrorThrown) {\n this.destination.error(safeSubscriber.syncErrorValue);\n }\n else {\n this.destination.complete();\n }\n };\n return DoSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=tap.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/operators/tap.js\n// module id = 6\n// module chunks = 0","\"use strict\";\nvar map_1 = require('./map');\n/**\n * Maps each source value (an object) to its specified nested property.\n *\n * <span class=\"informal\">Like {@link map}, but meant only for picking one of\n * the nested properties of every emitted object.</span>\n *\n * <img src=\"./img/pluck.png\" width=\"100%\">\n *\n * Given a list of strings describing a path to an object property, retrieves\n * the value of a specified nested property from all values in the source\n * Observable. If a property can't be resolved, it will return `undefined` for\n * that value.\n *\n * @example <caption>Map every click to the tagName of the clicked target element</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var tagNames = clicks.pluck('target', 'tagName');\n * tagNames.subscribe(x => console.log(x));\n *\n * @see {@link map}\n *\n * @param {...string} properties The nested properties to pluck from each source\n * value (an object).\n * @return {Observable} A new Observable of property values from the source values.\n * @method pluck\n * @owner Observable\n */\nfunction pluck() {\n var properties = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n properties[_i - 0] = arguments[_i];\n }\n var length = properties.length;\n if (length === 0) {\n throw new Error('list of properties cannot be empty.');\n }\n return function (source) { return map_1.map(plucker(properties, length))(source); };\n}\nexports.pluck = pluck;\nfunction plucker(props, length) {\n var mapper = function (x) {\n var currentProp = x;\n for (var i = 0; i < length; i++) {\n var p = currentProp[props[i]];\n if (typeof p !== 'undefined') {\n currentProp = p;\n }\n else {\n return undefined;\n }\n }\n return currentProp;\n };\n return mapper;\n}\n//# sourceMappingURL=pluck.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/operators/pluck.js\n// module id = 7\n// module chunks = 0","\"use strict\";\n// CommonJS / Node have global context exposed as \"global\" variable.\n// We don't want to include the whole node.d.ts this this compilation unit so we'll just fake\n// the global \"global\" var for now.\nvar __window = typeof window !== 'undefined' && window;\nvar __self = typeof self !== 'undefined' && typeof WorkerGlobalScope !== 'undefined' &&\n self instanceof WorkerGlobalScope && self;\nvar __global = typeof global !== 'undefined' && global;\nvar _root = __window || __global || __self;\nexports.root = _root;\n// Workaround Closure Compiler restriction: The body of a goog.module cannot use throw.\n// This is needed when used with angular/tsickle which inserts a goog.module statement.\n// Wrap in IIFE\n(function () {\n if (!_root) {\n throw new Error('RxJS could not find any global context (window, self, global)');\n }\n})();\n//# sourceMappingURL=root.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/util/root.js\n// module id = 8\n// module chunks = 0","import { BehaviorSubject } from \"rxjs/BehaviorSubject\";\nimport { setOptionsEffect } from \"./effects/set-options.effect\";\nimport { fileReloadEffect } from \"./effects/file-reload.effect\";\nimport { browserSetLocationEffect } from \"./effects/browser-set-location.effect\";\nimport { simulateClickEffect } from \"./effects/simulate-click.effect\";\nimport { setElementValueEffect } from \"./effects/set-element-value.effect\";\nimport { setElementToggleValueEffect } from \"./effects/set-element-toggle-value.effect\";\nimport { setScrollEffect } from \"./effects/set-scroll\";\nimport { browserReloadEffect } from \"./effects/browser-reload.effect\";\n\nexport enum EffectNames {\n FileReload = \"@@FileReload\",\n PreBrowserReload = \"@@PreBrowserReload\",\n BrowserReload = \"@@BrowserReload\",\n BrowserSetLocation = \"@@BrowserSetLocation\",\n BrowserSetScroll = \"@@BrowserSetScroll\",\n SetOptions = \"@@SetOptions\",\n SimulateClick = \"@@SimulateClick\",\n SetElementValue = \"@@SetElementValue\",\n SetElementToggleValue = \"@@SetElementToggleValue\"\n}\n\nexport const effectOutputHandlers$ = new BehaviorSubject({\n [EffectNames.SetOptions]: setOptionsEffect,\n [EffectNames.FileReload]: fileReloadEffect,\n [EffectNames.BrowserReload]: browserReloadEffect,\n [EffectNames.BrowserSetLocation]: browserSetLocationEffect,\n [EffectNames.SimulateClick]: simulateClickEffect,\n [EffectNames.SetElementValue]: setElementValueEffect,\n [EffectNames.SetElementToggleValue]: setElementToggleValueEffect,\n [EffectNames.BrowserSetScroll]: setScrollEffect\n});\n\n\n\n// WEBPACK FOOTER //\n// ./lib/effects.ts","/**\n * This is the web browser implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = require('./debug');\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = 'undefined' != typeof chrome\n && 'undefined' != typeof chrome.storage\n ? chrome.storage.local\n : localstorage();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n 'lightseagreen',\n 'forestgreen',\n 'goldenrod',\n 'dodgerblue',\n 'darkorchid',\n 'crimson'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\nfunction useColors() {\n // NB: In an Electron preload script, document will be defined but not fully\n // initialized. Since we know we're in Chrome, we'll just detect this case\n // explicitly\n if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {\n return true;\n }\n\n // is webkit? http://stackoverflow.com/a/16459606/376773\n // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n // is firebug? http://stackoverflow.com/a/398120/376773\n (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n // is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n // double check webkit in userAgent just in case we are in a worker\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nexports.formatters.j = function(v) {\n try {\n return JSON.stringify(v);\n } catch (err) {\n return '[UnexpectedJSONParseError]: ' + err.message;\n }\n};\n\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var useColors = this.useColors;\n\n args[0] = (useColors ? '%c' : '')\n + this.namespace\n + (useColors ? ' %c' : ' ')\n + args[0]\n + (useColors ? '%c ' : ' ')\n + '+' + exports.humanize(this.diff);\n\n if (!useColors) return;\n\n var c = 'color: ' + this.color;\n args.splice(1, 0, c, 'color: inherit')\n\n // the final \"%c\" is somewhat tricky, because there could be other\n // arguments passed either before or after the %c, so we need to\n // figure out the correct index to insert the CSS into\n var index = 0;\n var lastC = 0;\n args[0].replace(/%[a-zA-Z%]/g, function(match) {\n if ('%%' === match) return;\n index++;\n if ('%c' === match) {\n // we only are interested in the *last* %c\n // (the user may have provided their own)\n lastC = index;\n }\n });\n\n args.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\n\nfunction log() {\n // this hackery is required for IE8/9, where\n // the `console.log` function doesn't have 'apply'\n return 'object' === typeof console\n && console.log\n && Function.prototype.apply.call(console.log, console, arguments);\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n try {\n if (null == namespaces) {\n exports.storage.removeItem('debug');\n } else {\n exports.storage.debug = namespaces;\n }\n } catch(e) {}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n var r;\n try {\n r = exports.storage.debug;\n } catch(e) {}\n\n // If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n if (!r && typeof process !== 'undefined' && 'env' in process) {\n r = process.env.DEBUG;\n }\n\n return r;\n}\n\n/**\n * Enable namespaces listed in `localStorage.debug` initially.\n */\n\nexports.enable(load());\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n try {\n return window.localStorage;\n } catch (e) {}\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/debug/src/browser.js\n// module id = 10\n// module chunks = 0","\"use strict\";\nvar ArrayObservable_1 = require('./ArrayObservable');\nexports.of = ArrayObservable_1.ArrayObservable.of;\n//# sourceMappingURL=of.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/observable/of.js\n// module id = 11\n// module chunks = 0","import { BehaviorSubject } from \"rxjs/BehaviorSubject\";\nimport { withLatestFrom } from \"rxjs/operators/withLatestFrom\";\nimport { ignoreElements } from \"rxjs/operators/ignoreElements\";\nimport { tap } from \"rxjs/operators/tap\";\nimport { pluck } from \"rxjs/operators/pluck\";\nimport { incomingScrollHandler } from \"./messages/ScrollEvent\";\nimport { incomingHandler$ } from \"./messages/ClickEvent\";\nimport { incomingKeyupHandler } from \"./messages/KeyupEvent\";\nimport { incomingBrowserNotify } from \"./messages/BrowserNotify\";\nimport { incomingBrowserLocation } from \"./messages/BrowserLocation\";\nimport { incomingBrowserReload } from \"./messages/BrowserReload\";\nimport { incomingFileReload } from \"./messages/FileReload\";\nimport { incomingConnection } from \"./messages/Connection\";\nimport { incomingDisconnect } from \"./messages/Disconnect\";\nimport { incomingInputsToggles } from \"./messages/FormToggleEvent\";\nimport { incomingOptionsSet } from \"./messages/OptionsSet\";\n\nexport enum IncomingSocketNames {\n Connection = \"connection\",\n Disconnect = \"disconnect\",\n FileReload = \"file:reload\",\n BrowserReload = \"browser:reload\",\n BrowserLocation = \"browser:location\",\n BrowserNotify = \"browser:notify\",\n Scroll = \"scroll\",\n Click = \"click\",\n Keyup = \"input:text\",\n InputToggle = \"input:toggles\",\n OptionsSet = \"options:set\"\n}\n\nexport enum OutgoingSocketEvents {\n Scroll = \"@@outgoing/scroll\",\n Click = \"@@outgoing/click\",\n Keyup = \"@@outgoing/keyup\",\n InputToggle = \"@@outgoing/Toggle\"\n}\n\nexport type SocketEvent = [IncomingSocketNames, any];\nexport type OutgoingSocketEvent = [OutgoingSocketEvents, any];\n\nexport const socketHandlers$ = new BehaviorSubject({\n [IncomingSocketNames.Connection]: incomingConnection,\n [IncomingSocketNames.Disconnect]: incomingDisconnect,\n [IncomingSocketNames.FileReload]: incomingFileReload,\n [IncomingSocketNames.BrowserReload]: incomingBrowserReload,\n [IncomingSocketNames.BrowserLocation]: incomingBrowserLocation,\n [IncomingSocketNames.BrowserNotify]: incomingBrowserNotify,\n [IncomingSocketNames.Scroll]: incomingScrollHandler,\n [IncomingSocketNames.Click]: incomingHandler$,\n [IncomingSocketNames.Keyup]: incomingKeyupHandler,\n [IncomingSocketNames.InputToggle]: incomingInputsToggles,\n [IncomingSocketNames.OptionsSet]: incomingOptionsSet,\n [OutgoingSocketEvents.Scroll]: emitWithPathname(IncomingSocketNames.Scroll),\n [OutgoingSocketEvents.Click]: emitWithPathname(IncomingSocketNames.Click),\n [OutgoingSocketEvents.Keyup]: emitWithPathname(IncomingSocketNames.Keyup),\n [OutgoingSocketEvents.InputToggle]: emitWithPathname(\n IncomingSocketNames.InputToggle\n )\n});\n\nfunction emitWithPathname(name) {\n return function(xs, inputs) {\n return xs.pipe(\n withLatestFrom(\n inputs.io$,\n inputs.window$.pipe(pluck(\"location\", \"pathname\"))\n ),\n tap(([event, io, pathname]) =>\n io.emit(name, { ...event, pathname })\n ),\n ignoreElements()\n );\n };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/socket-messages.ts","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar noop_1 = require('../util/noop');\n/**\n * Ignores all items emitted by the source Observable and only passes calls of `complete` or `error`.\n *\n * <img src=\"./img/ignoreElements.png\" width=\"100%\">\n *\n * @return {Observable} An empty Observable that only calls `complete`\n * or `error`, based on which one is called by the source Observable.\n * @method ignoreElements\n * @owner Observable\n */\nfunction ignoreElements() {\n return function ignoreElementsOperatorFunction(source) {\n return source.lift(new IgnoreElementsOperator());\n };\n}\nexports.ignoreElements = ignoreElements;\nvar IgnoreElementsOperator = (function () {\n function IgnoreElementsOperator() {\n }\n IgnoreElementsOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new IgnoreElementsSubscriber(subscriber));\n };\n return IgnoreElementsOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar IgnoreElementsSubscriber = (function (_super) {\n __extends(IgnoreElementsSubscriber, _super);\n function IgnoreElementsSubscriber() {\n _super.apply(this, arguments);\n }\n IgnoreElementsSubscriber.prototype._next = function (unused) {\n noop_1.noop();\n };\n return IgnoreElementsSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=ignoreElements.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/operators/ignoreElements.js\n// module id = 13\n// module chunks = 0","\"use strict\";\nvar isArray_1 = require('./util/isArray');\nvar isObject_1 = require('./util/isObject');\nvar isFunction_1 = require('./util/isFunction');\nvar tryCatch_1 = require('./util/tryCatch');\nvar errorObject_1 = require('./util/errorObject');\nvar UnsubscriptionError_1 = require('./util/UnsubscriptionError');\n/**\n * Represents a disposable resource, such as the execution of an Observable. A\n * Subscription has one important method, `unsubscribe`, that takes no argument\n * and just disposes the resource held by the subscription.\n *\n * Additionally, subscriptions may be grouped together through the `add()`\n * method, which will attach a child Subscription to the current Subscription.\n * When a Subscription is unsubscribed, all its children (and its grandchildren)\n * will be unsubscribed as well.\n *\n * @class Subscription\n */\nvar Subscription = (function () {\n /**\n * @param {function(): void} [unsubscribe] A function describing how to\n * perform the disposal of resources when the `unsubscribe` method is called.\n */\n function Subscription(unsubscribe) {\n /**\n * A flag to indicate whether this Subscription has already been unsubscribed.\n * @type {boolean}\n */\n this.closed = false;\n this._parent = null;\n this._parents = null;\n this._subscriptions = null;\n if (unsubscribe) {\n this._unsubscribe = unsubscribe;\n }\n }\n /**\n * Disposes the resources held by the subscription. May, for instance, cancel\n * an ongoing Observable execution or cancel any other type of work that\n * started when the Subscription was created.\n * @return {void}\n */\n Subscription.prototype.unsubscribe = function () {\n var hasErrors = false;\n var errors;\n if (this.closed) {\n return;\n }\n var _a = this, _parent = _a._parent, _parents = _a._parents, _unsubscribe = _a._unsubscribe, _subscriptions = _a._subscriptions;\n this.closed = true;\n this._parent = null;\n this._parents = null;\n // null out _subscriptions first so any child subscriptions that attempt\n // to remove themselves from this subscription will noop\n this._subscriptions = null;\n var index = -1;\n var len = _parents ? _parents.length : 0;\n // if this._parent is null, then so is this._parents, and we\n // don't have to remove ourselves from any parent subscriptions.\n while (_parent) {\n _parent.remove(this);\n // if this._parents is null or index >= len,\n // then _parent is set to null, and the loop exits\n _parent = ++index < len && _parents[index] || null;\n }\n if (isFunction_1.isFunction(_unsubscribe)) {\n var trial = tryCatch_1.tryCatch(_unsubscribe).call(this);\n if (trial === errorObject_1.errorObject) {\n hasErrors = true;\n errors = errors || (errorObject_1.errorObject.e instanceof UnsubscriptionError_1.UnsubscriptionError ?\n flattenUnsubscriptionErrors(errorObject_1.errorObject.e.errors) : [errorObject_1.errorObject.e]);\n }\n }\n if (isArray_1.isArray(_subscriptions)) {\n index = -1;\n len = _subscriptions.length;\n while (++index < len) {\n var sub = _subscriptions[index];\n if (isObject_1.isObject(sub)) {\n var trial = tryCatch_1.tryCatch(sub.unsubscribe).call(sub);\n if (trial === errorObject_1.errorObject) {\n hasErrors = true;\n errors = errors || [];\n var err = errorObject_1.errorObject.e;\n if (err instanceof UnsubscriptionError_1.UnsubscriptionError) {\n errors = errors.concat(flattenUnsubscriptionErrors(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n }\n if (hasErrors) {\n throw new UnsubscriptionError_1.UnsubscriptionError(errors);\n }\n };\n /**\n * Adds a tear down to be called during the unsubscribe() of this\n * Subscription.\n *\n * If the tear down being added is a subscription that is already\n * unsubscribed, is the same reference `add` is being called on, or is\n * `Subscription.EMPTY`, it will not be added.\n *\n * If this subscription is already in an `closed` state, the passed\n * tear down logic will be executed immediately.\n *\n * @param {TeardownLogic} teardown The additional logic to execute on\n * teardown.\n * @return {Subscription} Returns the Subscription used or created to be\n * added to the inner subscriptions list. This Subscription can be used with\n * `remove()` to remove the passed teardown logic from the inner subscriptions\n * list.\n */\n Subscription.prototype.add = function (teardown) {\n if (!teardown || (teardown === Subscription.EMPTY)) {\n return Subscription.EMPTY;\n }\n if (teardown === this) {\n return this;\n }\n var subscription = teardown;\n switch (typeof teardown) {\n case 'function':\n subscription = new Subscription(teardown);\n case 'object':\n if (subscription.closed || typeof subscription.unsubscribe !== 'function') {\n return subscription;\n }\n else if (this.closed) {\n subscription.unsubscribe();\n return subscription;\n }\n else if (typeof subscription._addParent !== 'function' /* quack quack */) {\n var tmp = subscription;\n subscription = new Subscription();\n subscription._subscriptions = [tmp];\n }\n break;\n default:\n throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');\n }\n var subscriptions = this._subscriptions || (this._subscriptions = []);\n subscriptions.push(subscription);\n subscription._addParent(this);\n return subscription;\n };\n /**\n * Removes a Subscription from the internal list of subscriptions that will\n * unsubscribe during the unsubscribe process of this Subscription.\n * @param {Subscription} subscription The subscription to remove.\n * @return {void}\n */\n Subscription.prototype.remove = function (subscription) {\n var subscriptions = this._subscriptions;\n if (subscriptions) {\n var subscriptionIndex = subscriptions.indexOf(subscription);\n if (subscriptionIndex !== -1) {\n subscriptions.splice(subscriptionIndex, 1);\n }\n }\n };\n Subscription.prototype._addParent = function (parent) {\n var _a = this, _parent = _a._parent, _parents = _a._parents;\n if (!_parent || _parent === parent) {\n // If we don't have a parent, or the new parent is the same as the\n // current parent, then set this._parent to the new parent.\n this._parent = parent;\n }\n else if (!_parents) {\n // If there's already one parent, but not multiple, allocate an Array to\n // store the rest of the parent Subscriptions.\n this._parents = [parent];\n }\n else if (_parents.indexOf(parent) === -1) {\n // Only add the new parent to the _parents list if it's not already there.\n _parents.push(parent);\n }\n };\n Subscription.EMPTY = (function (empty) {\n empty.closed = true;\n return empty;\n }(new Subscription()));\n return Subscription;\n}());\nexports.Subscription = Subscription;\nfunction flattenUnsubscriptionErrors(errors) {\n return errors.reduce(function (errs, err) { return errs.concat((err instanceof UnsubscriptionError_1.UnsubscriptionError) ? err.errors : err); }, []);\n}\n//# sourceMappingURL=Subscription.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/Subscription.js\n// module id = 14\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subject_1 = require('./Subject');\nvar ObjectUnsubscribedError_1 = require('./util/ObjectUnsubscribedError');\n/**\n * @class BehaviorSubject<T>\n */\nvar BehaviorSubject = (function (_super) {\n __extends(BehaviorSubject, _super);\n function BehaviorSubject(_value) {\n _super.call(this);\n this._value = _value;\n }\n Object.defineProperty(BehaviorSubject.prototype, \"value\", {\n get: function () {\n return this.getValue();\n },\n enumerable: true,\n configurable: true\n });\n BehaviorSubject.prototype._subscribe = function (subscriber) {\n var subscription = _super.prototype._subscribe.call(this, subscriber);\n if (subscription && !subscription.closed) {\n subscriber.next(this._value);\n }\n return subscription;\n };\n BehaviorSubject.prototype.getValue = function () {\n if (this.hasError) {\n throw this.thrownError;\n }\n else if (this.closed) {\n throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n }\n else {\n return this._value;\n }\n };\n BehaviorSubject.prototype.next = function (value) {\n _super.prototype.next.call(this, this._value = value);\n };\n return BehaviorSubject;\n}(Subject_1.Subject));\nexports.BehaviorSubject = BehaviorSubject;\n//# sourceMappingURL=BehaviorSubject.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/BehaviorSubject.js\n// module id = 15\n// module chunks = 0","import { BehaviorSubject } from \"rxjs/BehaviorSubject\";\nimport { timer } from \"rxjs/observable/timer\";\nimport { Observable } from \"rxjs/Observable\";\nimport { of } from \"rxjs/observable/of\";\nimport { Nanologger } from \"../vendor/logger\";\nimport { filter } from \"rxjs/operators/filter\";\nimport { tap } from \"rxjs/operators/tap\";\nimport { withLatestFrom } from \"rxjs/operators/withLatestFrom\";\nimport { switchMap } from \"rxjs/operators/switchMap\";\nimport { Inputs } from \"./index\";\nimport { pluck } from \"rxjs/operators/pluck\";\n\nexport function initLogger(options: IBrowserSyncOptions) {\n const log = new Nanologger(options.logPrefix, {\n colors: { magenta: \"#0F2634\" }\n });\n return of(log);\n}\n\nexport enum LogNames {\n Log = \"@@Log\",\n Info = \"@@Log.info\",\n Debug = \"@@Log.debug\"\n}\n\nexport enum Overlay {\n Info = \"@@Overlay.info\"\n}\n\nexport type ConsolePayload = [LogNames, any[]];\n\nexport function consoleInfo(...args): [LogNames.Log, ConsolePayload] {\n return [LogNames.Log, [LogNames.Info, args]];\n}\n\nexport function consoleDebug(...args): [LogNames.Log, ConsolePayload] {\n return [LogNames.Log, [LogNames.Debug, args]];\n}\n\nexport type OverlayInfoPayload = [string, number];\n\nexport function overlayInfo(\n message: string,\n timeout = 2000\n): [Overlay.Info, OverlayInfoPayload] {\n return [Overlay.Info, [message, timeout]];\n}\n\nexport const logHandler$ = new BehaviorSubject({\n [LogNames.Log]: (xs: Observable<[LogNames, any]>, inputs: Inputs) => {\n return xs.pipe(\n /**\n * access injectNotification from the options stream\n */\n withLatestFrom(\n inputs.logInstance$,\n inputs.option$.pipe(pluck(\"injectNotification\"))\n ),\n /**\n * only accept messages if injectNotification !== console\n */\n filter(\n ([, , injectNotification]) => injectNotification === \"console\"\n ),\n tap(([event, log]) => {\n switch (event[0]) {\n case LogNames.Info: {\n return log.info.apply(log, event[1]);\n }\n case LogNames.Debug: {\n return log.debug.apply(log, event[1]);\n }\n }\n })\n );\n },\n [Overlay.Info]: (xs: Observable<[LogNames, any]>, inputs: Inputs) => {\n return xs.pipe(\n withLatestFrom(\n inputs.option$,\n inputs.notifyElement$,\n inputs.document$\n ),\n /**\n * Reject all notifications if notify: false\n */\n filter(([, options]) => Boolean(options.notify)),\n /**\n * Set the HTML of the notify element\n */\n tap(([event, options, element, document]) => {\n element.innerHTML = event[0];\n element.style.display = \"block\";\n document.body.appendChild(element);\n }),\n /**\n * Now remove the element after the given timeout\n */\n switchMap(([event, options, element, document]) => {\n return timer(event[1] || 2000).pipe(\n tap(() => {\n element.style.display = \"none\";\n if (element.parentNode) {\n document.body.removeChild(element);\n }\n })\n );\n })\n );\n }\n});\n\n\n\n// WEBPACK FOOTER //\n// ./lib/log.ts","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar subscribeToResult_1 = require('../util/subscribeToResult');\nvar OuterSubscriber_1 = require('../OuterSubscriber');\n/* tslint:enable:max-line-length */\n/**\n * Projects each source value to an Observable which is merged in the output\n * Observable.\n *\n * <span class=\"informal\">Maps each value to an Observable, then flattens all of\n * these inner Observables using {@link mergeAll}.</span>\n *\n * <img src=\"./img/mergeMap.png\" width=\"100%\">\n *\n * Returns an Observable that emits items based on applying a function that you\n * supply to each item emitted by the source Observable, where that function\n * returns an Observable, and then merging those resulting Observables and\n * emitting the results of this merger.\n *\n * @example <caption>Map and flatten each letter to an Observable ticking every 1 second</caption>\n * var letters = Rx.Observable.of('a', 'b', 'c');\n * var result = letters.mergeMap(x =>\n * Rx.Observable.interval(1000).map(i => x+i)\n * );\n * result.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // a0\n * // b0\n * // c0\n * // a1\n * // b1\n * // c1\n * // continues to list a,b,c with respective ascending integers\n *\n * @see {@link concatMap}\n * @see {@link exhaustMap}\n * @see {@link merge}\n * @see {@link mergeAll}\n * @see {@link mergeMapTo}\n * @see {@link mergeScan}\n * @see {@link switchMap}\n *\n * @param {function(value: T, ?index: number): ObservableInput} project A function\n * that, when applied to an item emitted by the source Observable, returns an\n * Observable.\n * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]\n * A function to produce the value on the output Observable based on the values\n * and the indices of the source (outer) emission and the inner Observable\n * emission. The arguments passed to this function are:\n * - `outerValue`: the value that came from the source\n * - `innerValue`: the value that came from the projected Observable\n * - `outerIndex`: the \"index\" of the value that came from the source\n * - `innerIndex`: the \"index\" of the value from the projected Observable\n * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input\n * Observables being subscribed to concurrently.\n * @return {Observable} An Observable that emits the result of applying the\n * projection function (and the optional `resultSelector`) to each item emitted\n * by the source Observable and merging the results of the Observables obtained\n * from this transformation.\n * @method mergeMap\n * @owner Observable\n */\nfunction mergeMap(project, resultSelector, concurrent) {\n if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n return function mergeMapOperatorFunction(source) {\n if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n resultSelector = null;\n }\n return source.lift(new MergeMapOperator(project, resultSelector, concurrent));\n };\n}\nexports.mergeMap = mergeMap;\nvar MergeMapOperator = (function () {\n function MergeMapOperator(project, resultSelector, concurrent) {\n if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n this.project = project;\n this.resultSelector = resultSelector;\n this.concurrent = concurrent;\n }\n MergeMapOperator.prototype.call = function (observer, source) {\n return source.subscribe(new MergeMapSubscriber(observer, this.project, this.resultSelector, this.concurrent));\n };\n return MergeMapOperator;\n}());\nexports.MergeMapOperator = MergeMapOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar MergeMapSubscriber = (function (_super) {\n __extends(MergeMapSubscriber, _super);\n function MergeMapSubscriber(destination, project, resultSelector, concurrent) {\n if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n _super.call(this, destination);\n this.project = project;\n this.resultSelector = resultSelector;\n this.concurrent = concurrent;\n this.hasCompleted = false;\n this.buffer = [];\n this.active = 0;\n this.index = 0;\n }\n MergeMapSubscriber.prototype._next = function (value) {\n if (this.active < this.concurrent) {\n this._tryNext(value);\n }\n else {\n this.buffer.push(value);\n }\n };\n MergeMapSubscriber.prototype._tryNext = function (value) {\n var result;\n var index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.active++;\n this._innerSub(result, value, index);\n };\n MergeMapSubscriber.prototype._innerSub = function (ish, value, index) {\n this.add(subscribeToResult_1.subscribeToResult(this, ish, value, index));\n };\n MergeMapSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (this.active === 0 && this.buffer.length === 0) {\n this.destination.complete();\n }\n };\n MergeMapSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n if (this.resultSelector) {\n this._notifyResultSelector(outerValue, innerValue, outerIndex, innerIndex);\n }\n else {\n this.destination.next(innerValue);\n }\n };\n MergeMapSubscriber.prototype._notifyResultSelector = function (outerValue, innerValue, outerIndex, innerIndex) {\n var result;\n try {\n result = this.resultSelector(outerValue, innerValue, outerIndex, innerIndex);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n MergeMapSubscriber.prototype.notifyComplete = function (innerSub) {\n var buffer = this.buffer;\n this.remove(innerSub);\n this.active--;\n if (buffer.length > 0) {\n this._next(buffer.shift());\n }\n else if (this.active === 0 && this.hasCompleted) {\n this.destination.complete();\n }\n };\n return MergeMapSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\nexports.MergeMapSubscriber = MergeMapSubscriber;\n//# sourceMappingURL=mergeMap.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/operators/mergeMap.js\n// module id = 17\n// module chunks = 0","\"use strict\";\nvar EmptyObservable_1 = require('./EmptyObservable');\nexports.empty = EmptyObservable_1.EmptyObservable.create;\n//# sourceMappingURL=empty.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/observable/empty.js\n// module id = 18\n// module chunks = 0","\r\n/**\r\n * Expose `Emitter`.\r\n */\r\n\r\nif (typeof module !== 'undefined') {\r\n module.exports = Emitter;\r\n}\r\n\r\n/**\r\n * Initialize a new `Emitter`.\r\n *\r\n * @api public\r\n */\r\n\r\nfunction Emitter(obj) {\r\n if (obj) return mixin(obj);\r\n};\r\n\r\n/**\r\n * Mixin the emitter properties.\r\n *\r\n * @param {Object} obj\r\n * @return {Object}\r\n * @api private\r\n */\r\n\r\nfunction mixin(obj) {\r\n for (var key in Emitter.prototype) {\r\n obj[key] = Emitter.prototype[key];\r\n }\r\n return obj;\r\n}\r\n\r\n/**\r\n * Listen on the given `event` with `fn`.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.on =\r\nEmitter.prototype.addEventListener = function(event, fn){\r\n this._callbacks = this._callbacks || {};\r\n (this._callbacks['$' + event] = this._callbacks['$' + event] || [])\r\n .push(fn);\r\n return this;\r\n};\r\n\r\n/**\r\n * Adds an `event` listener that will be invoked a single\r\n * time then automatically removed.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.once = function(event, fn){\r\n function on() {\r\n this.off(event, on);\r\n fn.apply(this, arguments);\r\n }\r\n\r\n on.fn = fn;\r\n this.on(event, on);\r\n return this;\r\n};\r\n\r\n/**\r\n * Remove the given callback for `event` or all\r\n * registered callbacks.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.off =\r\nEmitter.prototype.removeListener =\r\nEmitter.prototype.removeAllListeners =\r\nEmitter.prototype.removeEventListener = function(event, fn){\r\n this._callbacks = this._callbacks || {};\r\n\r\n // all\r\n if (0 == arguments.length) {\r\n this._callbacks = {};\r\n return this;\r\n }\r\n\r\n // specific event\r\n var callbacks = this._callbacks['$' + event];\r\n if (!callbacks) return this;\r\n\r\n // remove all handlers\r\n if (1 == arguments.length) {\r\n delete this._callbacks['$' + event];\r\n return this;\r\n }\r\n\r\n // remove specific handler\r\n var cb;\r\n for (var i = 0; i < callbacks.length; i++) {\r\n cb = callbacks[i];\r\n if (cb === fn || cb.fn === fn) {\r\n callbacks.splice(i, 1);\r\n break;\r\n }\r\n }\r\n return this;\r\n};\r\n\r\n/**\r\n * Emit `event` with the given args.\r\n *\r\n * @param {String} event\r\n * @param {Mixed} ...\r\n * @return {Emitter}\r\n */\r\n\r\nEmitter.prototype.emit = function(event){\r\n this._callbacks = this._callbacks || {};\r\n var args = [].slice.call(arguments, 1)\r\n , callbacks = this._callbacks['$' + event];\r\n\r\n if (callbacks) {\r\n callbacks = callbacks.slice(0);\r\n for (var i = 0, len = callbacks.length; i < len; ++i) {\r\n callbacks[i].apply(this, args);\r\n }\r\n }\r\n\r\n return this;\r\n};\r\n\r\n/**\r\n * Return array of callbacks for `event`.\r\n *\r\n * @param {String} event\r\n * @return {Array}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.listeners = function(event){\r\n this._callbacks = this._callbacks || {};\r\n return this._callbacks['$' + event] || [];\r\n};\r\n\r\n/**\r\n * Check if this emitter has `event` handlers.\r\n *\r\n * @param {String} event\r\n * @return {Boolean}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.hasListeners = function(event){\r\n return !! this.listeners(event).length;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/component-emitter/index.js\n// module id = 19\n// module chunks = 0","/**\n * Module dependencies.\n */\n\nvar keys = require('./keys');\nvar hasBinary = require('has-binary2');\nvar sliceBuffer = require('arraybuffer.slice');\nvar after = require('after');\nvar utf8 = require('./utf8');\n\nvar base64encoder;\nif (global && global.ArrayBuffer) {\n base64encoder = require('base64-arraybuffer');\n}\n\n/**\n * Check if we are running an android browser. That requires us to use\n * ArrayBuffer with polling transports...\n *\n * http://ghinda.net/jpeg-blob-ajax-android/\n */\n\nvar isAndroid = typeof navigator !== 'undefined' && /Android/i.test(navigator.userAgent);\n\n/**\n * Check if we are running in PhantomJS.\n * Uploading a Blob with PhantomJS does not work correctly, as reported here:\n * https://github.com/ariya/phantomjs/issues/11395\n * @type boolean\n */\nvar isPhantomJS = typeof navigator !== 'undefined' && /PhantomJS/i.test(navigator.userAgent);\n\n/**\n * When true, avoids using Blobs to encode payloads.\n * @type boolean\n */\nvar dontSendBlobs = isAndroid || isPhantomJS;\n\n/**\n * Current protocol version.\n */\n\nexports.protocol = 3;\n\n/**\n * Packet types.\n */\n\nvar packets = exports.packets = {\n open: 0 // non-ws\n , close: 1 // non-ws\n , ping: 2\n , pong: 3\n , message: 4\n , upgrade: 5\n , noop: 6\n};\n\nvar packetslist = keys(packets);\n\n/**\n * Premade error packet.\n */\n\nvar err = { type: 'error', data: 'parser error' };\n\n/**\n * Create a blob api even for blob builder when vendor prefixes exist\n */\n\nvar Blob = require('blob');\n\n/**\n * Encodes a packet.\n *\n * <packet type id> [ <data> ]\n *\n * Example:\n *\n * 5hello world\n * 3\n * 4\n *\n * Binary is encoded in an identical principle\n *\n * @api private\n */\n\nexports.encodePacket = function (packet, supportsBinary, utf8encode, callback) {\n if (typeof supportsBinary === 'function') {\n callback = supportsBinary;\n supportsBinary = false;\n }\n\n if (typeof utf8encode === 'function') {\n callback = utf8encode;\n utf8encode = null;\n }\n\n var data = (packet.data === undefined)\n ? undefined\n : packet.data.buffer || packet.data;\n\n if (global.ArrayBuffer && data instanceof ArrayBuffer) {\n return encodeArrayBuffer(packet, supportsBinary, callback);\n } else if (Blob && data instanceof global.Blob) {\n return encodeBlob(packet, supportsBinary, callback);\n }\n\n // might be an object with { base64: true, data: dataAsBase64String }\n if (data && data.base64) {\n return encodeBase64Object(packet, callback);\n }\n\n // Sending data as a utf-8 string\n var encoded = packets[packet.type];\n\n // data fragment is optional\n if (undefined !== packet.data) {\n encoded += utf8encode ? utf8.encode(String(packet.data), { strict: false }) : String(packet.data);\n }\n\n return callback('' + encoded);\n\n};\n\nfunction encodeBase64Object(packet, callback) {\n // packet data is an object { base64: true, data: dataAsBase64String }\n var message = 'b' + exports.packets[packet.type] + packet.data.data;\n return callback(message);\n}\n\n/**\n * Encode packet helpers for binary types\n */\n\nfunction encodeArrayBuffer(packet, supportsBinary, callback) {\n if (!supportsBinary) {\n return exports.encodeBase64Packet(packet, callback);\n }\n\n var data = packet.data;\n var contentArray = new Uint8Array(data);\n var resultBuffer = new Uint8Array(1 + data.byteLength);\n\n resultBuffer[0] = packets[packet.type];\n for (var i = 0; i < contentArray.length; i++) {\n resultBuffer[i+1] = contentArray[i];\n }\n\n return callback(resultBuffer.buffer);\n}\n\nfunction encodeBlobAsArrayBuffer(packet, supportsBinary, callback) {\n if (!supportsBinary) {\n return exports.encodeBase64Packet(packet, callback);\n }\n\n var fr = new FileReader();\n fr.onload = function() {\n packet.data = fr.result;\n exports.encodePacket(packet, supportsBinary, true, callback);\n };\n return fr.readAsArrayBuffer(packet.data);\n}\n\nfunction encodeBlob(packet, supportsBinary, callback) {\n if (!supportsBinary) {\n return exports.encodeBase64Packet(packet, callback);\n }\n\n if (dontSendBlobs) {\n return encodeBlobAsArrayBuffer(packet, supportsBinary, callback);\n }\n\n var length = new Uint8Array(1);\n length[0] = packets[packet.type];\n var blob = new Blob([length.buffer, packet.data]);\n\n return callback(blob);\n}\n\n/**\n * Encodes a packet with binary data in a base64 string\n *\n * @param {Object} packet, has `type` and `data`\n * @return {String} base64 encoded message\n */\n\nexports.encodeBase64Packet = function(packet, callback) {\n var message = 'b' + exports.packets[packet.type];\n if (Blob && packet.data instanceof global.Blob) {\n var fr = new FileReader();\n fr.onload = function() {\n var b64 = fr.result.split(',')[1];\n callback(message + b64);\n };\n return fr.readAsDataURL(packet.data);\n }\n\n var b64data;\n try {\n b64data = String.fromCharCode.apply(null, new Uint8Array(packet.data));\n } catch (e) {\n // iPhone Safari doesn't let you apply with typed arrays\n var typed = new Uint8Array(packet.data);\n var basic = new Array(typed.length);\n for (var i = 0; i < typed.length; i++) {\n basic[i] = typed[i];\n }\n b64data = String.fromCharCode.apply(null, basic);\n }\n message += global.btoa(b64data);\n return callback(message);\n};\n\n/**\n * Decodes a packet. Changes format to Blob if requested.\n *\n * @return {Object} with `type` and `data` (if any)\n * @api private\n */\n\nexports.decodePacket = function (data, binaryType, utf8decode) {\n if (data === undefined) {\n return err;\n }\n // String data\n if (typeof data === 'string') {\n if (data.charAt(0) === 'b') {\n return exports.decodeBase64Packet(data.substr(1), binaryType);\n }\n\n if (utf8decode) {\n data = tryDecode(data);\n if (data === false) {\n return err;\n }\n }\n var type = data.charAt(0);\n\n if (Number(type) != type || !packetslist[type]) {\n return err;\n }\n\n if (data.length > 1) {\n return { type: packetslist[type], data: data.substring(1) };\n } else {\n return { type: packetslist[type] };\n }\n }\n\n var asArray = new Uint8Array(data);\n var type = asArray[0];\n var rest = sliceBuffer(data, 1);\n if (Blob && binaryType === 'blob') {\n rest = new Blob([rest]);\n }\n return { type: packetslist[type], data: rest };\n};\n\nfunction tryDecode(data) {\n try {\n data = utf8.decode(data, { strict: false });\n } catch (e) {\n return false;\n }\n return data;\n}\n\n/**\n * Decodes a packet encoded in a base64 string\n *\n * @param {String} base64 encoded message\n * @return {Object} with `type` and `data` (if any)\n */\n\nexports.decodeBase64Packet = function(msg, binaryType) {\n var type = packetslist[msg.charAt(0)];\n if (!base64encoder) {\n return { type: type, data: { base64: true, data: msg.substr(1) } };\n }\n\n var data = base64encoder.decode(msg.substr(1));\n\n if (binaryType === 'blob' && Blob) {\n data = new Blob([data]);\n }\n\n return { type: type, data: data };\n};\n\n/**\n * Encodes multiple messages (payload).\n *\n * <length>:data\n *\n * Example:\n *\n * 11:hello world2:hi\n *\n * If any contents are binary, they will be encoded as base64 strings. Base64\n * encoded strings are marked with a b before the length specifier\n *\n * @param {Array} packets\n * @api private\n */\n\nexports.encodePayload = function (packets, supportsBinary, callback) {\n if (typeof supportsBinary === 'function') {\n callback = supportsBinary;\n supportsBinary = null;\n }\n\n var isBinary = hasBinary(packets);\n\n if (supportsBinary && isBinary) {\n if (Blob && !dontSendBlobs) {\n return exports.encodePayloadAsBlob(packets, callback);\n }\n\n return exports.encodePayloadAsArrayBuffer(packets, callback);\n }\n\n if (!packets.length) {\n return callback('0:');\n }\n\n function setLengthHeader(message) {\n return message.length + ':' + message;\n }\n\n function encodeOne(packet, doneCallback) {\n exports.encodePacket(packet, !isBinary ? false : supportsBinary, false, function(message) {\n doneCallback(null, setLengthHeader(message));\n });\n }\n\n map(packets, encodeOne, function(err, results) {\n return callback(results.join(''));\n });\n};\n\n/**\n * Async array map using after\n */\n\nfunction map(ary, each, done) {\n var result = new Array(ary.length);\n var next = after(ary.length, done);\n\n var eachWithIndex = function(i, el, cb) {\n each(el, function(error, msg) {\n result[i] = msg;\n cb(error, result);\n });\n };\n\n for (var i = 0; i < ary.length; i++) {\n eachWithIndex(i, ary[i], next);\n }\n}\n\n/*\n * Decodes data when a payload is maybe expected. Possible binary contents are\n * decoded from their base64 representation\n *\n * @param {String} data, callback method\n * @api public\n */\n\nexports.decodePayload = function (data, binaryType, callback) {\n if (typeof data !== 'string') {\n return exports.decodePayloadAsBinary(data, binaryType, callback);\n }\n\n if (typeof binaryType === 'function') {\n callback = binaryType;\n binaryType = null;\n }\n\n var packet;\n if (data === '') {\n // parser error - ignoring payload\n return callback(err, 0, 1);\n }\n\n var length = '', n, msg;\n\n for (var i = 0, l = data.length; i < l; i++) {\n var chr = data.charAt(i);\n\n if (chr !== ':') {\n length += chr;\n continue;\n }\n\n if (length === '' || (length != (n = Number(length)))) {\n // parser error - ignoring payload\n return callback(err, 0, 1);\n }\n\n msg = data.substr(i + 1, n);\n\n if (length != msg.length) {\n // parser error - ignoring payload\n return callback(err, 0, 1);\n }\n\n if (msg.length) {\n packet = exports.decodePacket(msg, binaryType, false);\n\n if (err.type === packet.type && err.data === packet.data) {\n // parser error in individual packet - ignoring payload\n return callback(err, 0, 1);\n }\n\n var ret = callback(packet, i + n, l);\n if (false === ret) return;\n }\n\n // advance cursor\n i += n;\n length = '';\n }\n\n if (length !== '') {\n // parser error - ignoring payload\n return callback(err, 0, 1);\n }\n\n};\n\n/**\n * Encodes multiple messages (payload) as binary.\n *\n * <1 = binary, 0 = string><number from 0-9><number from 0-9>[...]<number\n * 255><data>\n *\n * Example:\n * 1 3 255 1 2 3, if the binary contents are interpreted as 8 bit integers\n *\n * @param {Array} packets\n * @return {ArrayBuffer} encoded payload\n * @api private\n */\n\nexports.encodePayloadAsArrayBuffer = function(packets, callback) {\n if (!packets.length) {\n return callback(new ArrayBuffer(0));\n }\n\n function encodeOne(packet, doneCallback) {\n exports.encodePacket(packet, true, true, function(data) {\n return doneCallback(null, data);\n });\n }\n\n map(packets, encodeOne, function(err, encodedPackets) {\n var totalLength = encodedPackets.reduce(function(acc, p) {\n var len;\n if (typeof p === 'string'){\n len = p.length;\n } else {\n len = p.byteLength;\n }\n return acc + len.toString().length + len + 2; // string/binary identifier + separator = 2\n }, 0);\n\n var resultArray = new Uint8Array(totalLength);\n\n var bufferIndex = 0;\n encodedPackets.forEach(function(p) {\n var isString = typeof p === 'string';\n var ab = p;\n if (isString) {\n var view = new Uint8Array(p.length);\n for (var i = 0; i < p.length; i++) {\n view[i] = p.charCodeAt(i);\n }\n ab = view.buffer;\n }\n\n if (isString) { // not true binary\n resultArray[bufferIndex++] = 0;\n } else { // true binary\n resultArray[bufferIndex++] = 1;\n }\n\n var lenStr = ab.byteLength.toString();\n for (var i = 0; i < lenStr.length; i++) {\n resultArray[bufferIndex++] = parseInt(lenStr[i]);\n }\n resultArray[bufferIndex++] = 255;\n\n var view = new Uint8Array(ab);\n for (var i = 0; i < view.length; i++) {\n resultArray[bufferIndex++] = view[i];\n }\n });\n\n return callback(resultArray.buffer);\n });\n};\n\n/**\n * Encode as Blob\n */\n\nexports.encodePayloadAsBlob = function(packets, callback) {\n function encodeOne(packet, doneCallback) {\n exports.encodePacket(packet, true, true, function(encoded) {\n var binaryIdentifier = new Uint8Array(1);\n binaryIdentifier[0] = 1;\n if (typeof encoded === 'string') {\n var view = new Uint8Array(encoded.length);\n for (var i = 0; i < encoded.length; i++) {\n view[i] = encoded.charCodeAt(i);\n }\n encoded = view.buffer;\n binaryIdentifier[0] = 0;\n }\n\n var len = (encoded instanceof ArrayBuffer)\n ? encoded.byteLength\n : encoded.size;\n\n var lenStr = len.toString();\n var lengthAry = new Uint8Array(lenStr.length + 1);\n for (var i = 0; i < lenStr.length; i++) {\n lengthAry[i] = parseInt(lenStr[i]);\n }\n lengthAry[lenStr.length] = 255;\n\n if (Blob) {\n var blob = new Blob([binaryIdentifier.buffer, lengthAry.buffer, encoded]);\n doneCallback(null, blob);\n }\n });\n }\n\n map(packets, encodeOne, function(err, results) {\n return callback(new Blob(results));\n });\n};\n\n/*\n * Decodes data when a payload is maybe expected. Strings are decoded by\n * interpreting each byte as a key code for entries marked to start with 0. See\n * description of encodePayloadAsBinary\n *\n * @param {ArrayBuffer} data, callback method\n * @api public\n */\n\nexports.decodePayloadAsBinary = function (data, binaryType, callback) {\n if (typeof binaryType === 'function') {\n callback = binaryType;\n binaryType = null;\n }\n\n var bufferTail = data;\n var buffers = [];\n\n while (bufferTail.byteLength > 0) {\n var tailArray = new Uint8Array(bufferTail);\n var isString = tailArray[0] === 0;\n var msgLength = '';\n\n for (var i = 1; ; i++) {\n if (tailArray[i] === 255) break;\n\n // 310 = char length of Number.MAX_VALUE\n if (msgLength.length > 310) {\n return callback(err, 0, 1);\n }\n\n msgLength += tailArray[i];\n }\n\n bufferTail = sliceBuffer(bufferTail, 2 + msgLength.length);\n msgLength = parseInt(msgLength);\n\n var msg = sliceBuffer(bufferTail, 0, msgLength);\n if (isString) {\n try {\n msg = String.fromCharCode.apply(null, new Uint8Array(msg));\n } catch (e) {\n // iPhone Safari doesn't let you apply to typed arrays\n var typed = new Uint8Array(msg);\n msg = '';\n for (var i = 0; i < typed.length; i++) {\n msg += String.fromCharCode(typed[i]);\n }\n }\n }\n\n buffers.push(msg);\n bufferTail = sliceBuffer(bufferTail, msgLength);\n }\n\n var total = buffers.length;\n buffers.forEach(function(buffer, i) {\n callback(exports.decodePacket(buffer, binaryType, true), i, total);\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/engine.io-parser/lib/browser.js\n// module id = 20\n// module chunks = 0","import { BehaviorSubject } from \"rxjs/BehaviorSubject\";\nimport { propSetDomEffect } from \"./dom-effects/prop-set.dom-effect\";\nimport { styleSetDomEffect } from \"./dom-effects/style-set.dom-effect\";\nimport { linkReplaceDomEffect } from \"./dom-effects/link-replace.dom-effect\";\nimport { setScrollDomEffect } from \"./dom-effects/set-scroll.dom-effect\";\nimport { setWindowNameDomEffect } from \"./dom-effects/set-window-name.dom-effect\";\n\nexport enum Events {\n PropSet = \"@@BSDOM.Events.PropSet\",\n StyleSet = \"@@BSDOM.Events.StyleSet\",\n LinkReplace = \"@@BSDOM.Events.LinkReplace\",\n SetScroll = \"@@BSDOM.Events.SetScroll\",\n SetWindowName = \"@@BSDOM.Events.SetWindowName\"\n}\n\nexport const domHandlers$ = new BehaviorSubject({\n [Events.PropSet]: propSetDomEffect,\n [Events.StyleSet]: styleSetDomEffect,\n [Events.LinkReplace]: linkReplaceDomEffect,\n [Events.SetScroll]: setScrollDomEffect,\n [Events.SetWindowName]: setWindowNameDomEffect\n});\n\n\n\n// WEBPACK FOOTER //\n// ./lib/dom-effects.ts","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/* tslint:enable:max-line-length */\n/**\n * Projects each source value to an Observable which is merged in the output\n * Observable, emitting values only from the most recently projected Observable.\n *\n * <span class=\"informal\">Maps each value to an Observable, then flattens all of\n * these inner Observables using {@link switch}.</span>\n *\n * <img src=\"./img/switchMap.png\" width=\"100%\">\n *\n * Returns an Observable that emits items based on applying a function that you\n * supply to each item emitted by the source Observable, where that function\n * returns an (so-called \"inner\") Observable. Each time it observes one of these\n * inner Observables, the output Observable begins emitting the items emitted by\n * that inner Observable. When a new inner Observable is emitted, `switchMap`\n * stops emitting items from the earlier-emitted inner Observable and begins\n * emitting items from the new one. It continues to behave like this for\n * subsequent inner Observables.\n *\n * @example <caption>Rerun an interval Observable on every click event</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.switchMap((ev) => Rx.Observable.interval(1000));\n * result.subscribe(x => console.log(x));\n *\n * @see {@link concatMap}\n * @see {@link exhaustMap}\n * @see {@link mergeMap}\n * @see {@link switch}\n * @see {@link switchMapTo}\n *\n * @param {function(value: T, ?index: number): ObservableInput} project A function\n * that, when applied to an item emitted by the source Observable, returns an\n * Observable.\n * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]\n * A function to produce the value on the output Observable based on the values\n * and the indices of the source (outer) emission and the inner Observable\n * emission. The arguments passed to this function are:\n * - `outerValue`: the value that came from the source\n * - `innerValue`: the value that came from the projected Observable\n * - `outerIndex`: the \"index\" of the value that came from the source\n * - `innerIndex`: the \"index\" of the value from the projected Observable\n * @return {Observable} An Observable that emits the result of applying the\n * projection function (and the optional `resultSelector`) to each item emitted\n * by the source Observable and taking only the values from the most recently\n * projected inner Observable.\n * @method switchMap\n * @owner Observable\n */\nfunction switchMap(project, resultSelector) {\n return function switchMapOperatorFunction(source) {\n return source.lift(new SwitchMapOperator(project, resultSelector));\n };\n}\nexports.switchMap = switchMap;\nvar SwitchMapOperator = (function () {\n function SwitchMapOperator(project, resultSelector) {\n this.project = project;\n this.resultSelector = resultSelector;\n }\n SwitchMapOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SwitchMapSubscriber(subscriber, this.project, this.resultSelector));\n };\n return SwitchMapOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SwitchMapSubscriber = (function (_super) {\n __extends(SwitchMapSubscriber, _super);\n function SwitchMapSubscriber(destination, project, resultSelector) {\n _super.call(this, destination);\n this.project = project;\n this.resultSelector = resultSelector;\n this.index = 0;\n }\n SwitchMapSubscriber.prototype._next = function (value) {\n var result;\n var index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (error) {\n this.destination.error(error);\n return;\n }\n this._innerSub(result, value, index);\n };\n SwitchMapSubscriber.prototype._innerSub = function (result, value, index) {\n var innerSubscription = this.innerSubscription;\n if (innerSubscription) {\n innerSubscription.unsubscribe();\n }\n this.add(this.innerSubscription = subscribeToResult_1.subscribeToResult(this, result, value, index));\n };\n SwitchMapSubscriber.prototype._complete = function () {\n var innerSubscription = this.innerSubscription;\n if (!innerSubscription || innerSubscription.closed) {\n _super.prototype._complete.call(this);\n }\n };\n SwitchMapSubscriber.prototype._unsubscribe = function () {\n this.innerSubscription = null;\n };\n SwitchMapSubscriber.prototype.notifyComplete = function (innerSub) {\n this.remove(innerSub);\n this.innerSubscription = null;\n if (this.isStopped) {\n _super.prototype._complete.call(this);\n }\n };\n SwitchMapSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n if (this.resultSelector) {\n this._tryNotifyNext(outerValue, innerValue, outerIndex, innerIndex);\n }\n else {\n this.destination.next(innerValue);\n }\n };\n SwitchMapSubscriber.prototype._tryNotifyNext = function (outerValue, innerValue, outerIndex, innerIndex) {\n var result;\n try {\n result = this.resultSelector(outerValue, innerValue, outerIndex, innerIndex);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return SwitchMapSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=switchMap.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/operators/switchMap.js\n// module id = 22\n// module chunks = 0","import { concat } from \"rxjs/observable/concat\";\nimport { timer } from \"rxjs/observable/timer\";\nimport { of } from \"rxjs/observable/of\";\nimport { switchMap } from \"rxjs/operators/switchMap\";\nimport { startWith } from \"rxjs/operators/startWith\";\nimport { mapTo } from \"rxjs/operators/mapTo\";\n\nexport function each(incoming) {\n return [].slice.call(incoming || []);\n}\n\nexport const splitUrl = function(url) {\n let hash, index, params;\n if ((index = url.indexOf(\"#\")) >= 0) {\n hash = url.slice(index);\n url = url.slice(0, index);\n } else {\n hash = \"\";\n }\n\n if ((index = url.indexOf(\"?\")) >= 0) {\n params = url.slice(index);\n url = url.slice(0, index);\n } else {\n params = \"\";\n }\n\n return { url, params, hash };\n};\n\nexport const pathFromUrl = function(url) {\n let path;\n ({ url } = splitUrl(url));\n if (url.indexOf(\"file://\") === 0) {\n path = url.replace(new RegExp(`^file://(localhost)?`), \"\");\n } else {\n // http : // hostname :8080 /\n path = url.replace(new RegExp(`^([^:]+:)?//([^:/]+)(:\\\\d*)?/`), \"/\");\n }\n\n // decodeURI has special handling of stuff like semicolons, so use decodeURIComponent\n return decodeURIComponent(path);\n};\n\nexport const pickBestMatch = function(path, objects, pathFunc): any {\n let score;\n let bestMatch = { score: 0, object: null };\n\n objects.forEach(object => {\n score = numberOfMatchingSegments(path, pathFunc(object));\n if (score > bestMatch.score) {\n bestMatch = { object, score };\n }\n });\n\n if (bestMatch.score > 0) {\n return bestMatch;\n } else {\n return null;\n }\n};\n\nexport const numberOfMatchingSegments = function(path1, path2) {\n // get rid of leading slashes and normalize to lower case\n path1 = path1.replace(/^\\/+/, \"\").toLowerCase();\n path2 = path2.replace(/^\\/+/, \"\").toLowerCase();\n\n if (path1 === path2) {\n return 10000;\n }\n\n const comps1 = path1.split(\"/\").reverse();\n const comps2 = path2.split(\"/\").reverse();\n const len = Math.min(comps1.length, comps2.length);\n\n let eqCount = 0;\n while (eqCount < len && comps1[eqCount] === comps2[eqCount]) {\n ++eqCount;\n }\n\n return eqCount;\n};\n\nexport const pathsMatch = (path1, path2) =>\n numberOfMatchingSegments(path1, path2) > 0;\n\nexport function getLocation(url: string) {\n var location = document.createElement(\"a\");\n location.href = url;\n\n if (location.host === \"\") {\n location.href = location.href;\n }\n\n return location;\n}\n\n/**\n * @param {string} search\n * @param {string} key\n * @param {string} suffix\n */\nexport function updateSearch(search, key, suffix) {\n if (search === \"\") {\n return \"?\" + suffix;\n }\n\n return (\n \"?\" +\n search\n .slice(1)\n .split(\"&\")\n .map(function(item) {\n return item.split(\"=\");\n })\n .filter(function(tuple) {\n return tuple[0] !== key;\n })\n .map(function(item) {\n return [item[0], item[1]].join(\"=\");\n })\n .concat(suffix)\n .join(\"&\")\n );\n}\n\nconst blacklist = [\n // never allow .map files through\n function(incoming) {\n return incoming.ext === \"map\";\n }\n];\n\n/**\n * @param incoming\n * @returns {boolean}\n */\nexport function isBlacklisted(incoming) {\n return blacklist.some(function(fn) {\n return fn(incoming);\n });\n}\n\nexport function createTimedBooleanSwitch(source$, timeout = 1000) {\n return source$.pipe(\n switchMap(() => {\n return concat(of(false), timer(timeout).pipe(mapTo(true)));\n }),\n startWith(true)\n );\n}\n\nexport function array(incoming) {\n return [].slice.call(incoming);\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/utils.ts","/**\n * @returns {window}\n */\nimport * as ScrollEvent from \"./messages/ScrollEvent\";\nimport ICoords = ScrollEvent.ICoords;\n\nexport function getWindow() {\n return window;\n}\n\n/**\n * @returns {HTMLDocument}\n */\nexport function getDocument() {\n return document;\n}\n\n/**\n * Get the current x/y position crossbow\n * @returns {{x: *, y: *}}\n */\nexport function getBrowserScrollPosition(window, document): ICoords {\n let scrollX;\n let scrollY;\n const dElement = document.documentElement;\n const dBody = document.body;\n\n if (window.pageYOffset !== undefined) {\n scrollX = window.pageXOffset;\n scrollY = window.pageYOffset;\n } else {\n scrollX = dElement.scrollLeft || dBody.scrollLeft || 0;\n scrollY = dElement.scrollTop || dBody.scrollTop || 0;\n }\n\n return {\n x: scrollX,\n y: scrollY\n };\n}\n\n/**\n * @returns {{x: number, y: number}}\n */\nexport function getDocumentScrollSpace(\n document: Document\n): ScrollEvent.ICoords {\n const dElement = document.documentElement;\n const dBody = document.body;\n return {\n x: dBody.scrollHeight - dElement.clientWidth,\n y: dBody.scrollHeight - dElement.clientHeight\n };\n}\n\n/**\n * Saves scroll position into cookies\n */\nexport function saveScrollPosition(window, document) {\n const pos = getBrowserScrollPosition(window, document);\n document.cookie = \"bs_scroll_pos=\" + [pos.x, pos.y].join(\",\");\n}\n\n/**\n * Restores scroll position from cookies\n */\nexport function restoreScrollPosition() {\n const pos = getDocument()\n .cookie.replace(\n /(?:(?:^|.*;\\s*)bs_scroll_pos\\s*\\=\\s*([^;]*).*$)|^.*$/,\n \"$1\"\n )\n .split(\",\");\n getWindow().scrollTo(Number(pos[0]), Number(pos[1]));\n}\n\n/**\n * @param tagName\n * @param elem\n * @returns {*|number}\n */\nexport function getElementIndex(tagName, elem) {\n var allElems = getDocument().getElementsByTagName(tagName);\n return Array.prototype.indexOf.call(allElems, elem);\n}\n\n/**\n * Force Change event on radio & checkboxes (IE)\n */\nexport function forceChange(elem) {\n elem.blur();\n elem.focus();\n}\n\n/**\n * @param elem\n * @returns {{tagName: (elem.tagName|*), index: *}}\n */\nexport function getElementData(elem) {\n var tagName = elem.tagName;\n var index = getElementIndex(tagName, elem);\n return {\n tagName: tagName,\n index: index\n };\n}\n\n/**\n * @param {string} tagName\n * @param {number} index\n */\nexport function getSingleElement(tagName, index) {\n var elems = getDocument().getElementsByTagName(tagName);\n return elems[index];\n}\n\n/**\n * Get the body element\n */\nexport function getBody() {\n return getDocument().getElementsByTagName(\"body\")[0];\n}\n\n/**\n * @param {{x: number, y: number}} pos\n */\nexport function setScroll(pos) {\n getWindow().scrollTo(pos.x, pos.y);\n}\n\n/**\n * Hard reload\n */\nexport function reloadBrowser() {\n getWindow().location.reload(true);\n}\n\n/**\n * Foreach polyfill\n * @param coll\n * @param fn\n */\nexport function forEach(coll, fn) {\n for (var i = 0, n = coll.length; i < n; i += 1) {\n fn(coll[i], i, coll);\n }\n}\n\n/**\n * Are we dealing with old IE?\n * @returns {boolean}\n */\nexport function isOldIe() {\n return typeof getWindow().attachEvent !== \"undefined\";\n}\n\n/**\n * Split the URL information\n * @returns {object}\n */\nexport function getLocation(url) {\n const location = getDocument().createElement(\"a\");\n location.href = url;\n\n if (location.host === \"\") {\n location.href = location.href;\n }\n\n return location;\n}\n\n/**\n * @param {String} val\n * @returns {boolean}\n */\nexport function isUndefined(val) {\n return \"undefined\" === typeof val;\n}\n\n/**\n * @param obj\n * @param path\n */\nexport function getByPath(obj, path) {\n for (\n var i = 0, tempPath = path.split(\".\"), len = tempPath.length;\n i < len;\n i++\n ) {\n if (!obj || typeof obj !== \"object\") {\n return false;\n }\n obj = obj[tempPath[i]];\n }\n\n if (typeof obj === \"undefined\") {\n return false;\n }\n\n return obj;\n}\n\nexport function getScrollPosition(\n window: Window,\n document: Document\n): ScrollEvent.Data {\n const pos = getBrowserScrollPosition(window, document);\n return {\n raw: pos, // Get px of x and y axis of scroll\n proportional: getScrollTopPercentage(pos, document) // Get % of y axis of scroll\n };\n}\n\nexport function getScrollPositionForElement(\n element: HTMLElement\n): ScrollEvent.Data {\n const raw: ICoords = {\n x: element.scrollLeft,\n y: element.scrollTop\n };\n const scrollSpace: ICoords = {\n x: element.scrollWidth,\n y: element.scrollHeight\n };\n return {\n raw, // Get px of x and y axis of scroll\n proportional: getScrollPercentage(scrollSpace, raw).y // Get % of y axis of scroll\n };\n}\n\nexport function getScrollTopPercentage(pos, document): number {\n const scrollSpace = getDocumentScrollSpace(document);\n const percentage = getScrollPercentage(scrollSpace, pos);\n return percentage.y;\n}\n\nexport function getScrollPercentage(\n scrollSpace: ICoords,\n scrollPosition: ICoords\n): ICoords {\n const x = scrollPosition.x / scrollSpace.x;\n const y = scrollPosition.y / scrollSpace.y;\n\n return {\n x: x || 0,\n y: y\n };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/browser.utils.ts","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\nvar ScalarObservable_1 = require('./ScalarObservable');\nvar EmptyObservable_1 = require('./EmptyObservable');\nvar isScheduler_1 = require('../util/isScheduler');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar ArrayObservable = (function (_super) {\n __extends(ArrayObservable, _super);\n function ArrayObservable(array, scheduler) {\n _super.call(this);\n this.array = array;\n this.scheduler = scheduler;\n if (!scheduler && array.length === 1) {\n this._isScalar = true;\n this.value = array[0];\n }\n }\n ArrayObservable.create = function (array, scheduler) {\n return new ArrayObservable(array, scheduler);\n };\n /**\n * Creates an Observable that emits some values you specify as arguments,\n * immediately one after the other, and then emits a complete notification.\n *\n * <span class=\"informal\">Emits the arguments you provide, then completes.\n * </span>\n *\n * <img src=\"./img/of.png\" width=\"100%\">\n *\n * This static operator is useful for creating a simple Observable that only\n * emits the arguments given, and the complete notification thereafter. It can\n * be used for composing with other Observables, such as with {@link concat}.\n * By default, it uses a `null` IScheduler, which means the `next`\n * notifications are sent synchronously, although with a different IScheduler\n * it is possible to determine when those notifications will be delivered.\n *\n * @example <caption>Emit 10, 20, 30, then 'a', 'b', 'c', then start ticking every second.</caption>\n * var numbers = Rx.Observable.of(10, 20, 30);\n * var letters = Rx.Observable.of('a', 'b', 'c');\n * var interval = Rx.Observable.interval(1000);\n * var result = numbers.concat(letters).concat(interval);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link create}\n * @see {@link empty}\n * @see {@link never}\n * @see {@link throw}\n *\n * @param {...T} values Arguments that represent `next` values to be emitted.\n * @param {Scheduler} [scheduler] A {@link IScheduler} to use for scheduling\n * the emissions of the `next` notifications.\n * @return {Observable<T>} An Observable that emits each given input value.\n * @static true\n * @name of\n * @owner Observable\n */\n ArrayObservable.of = function () {\n var array = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n array[_i - 0] = arguments[_i];\n }\n var scheduler = array[array.length - 1];\n if (isScheduler_1.isScheduler(scheduler)) {\n array.pop();\n }\n else {\n scheduler = null;\n }\n var len = array.length;\n if (len > 1) {\n return new ArrayObservable(array, scheduler);\n }\n else if (len === 1) {\n return new ScalarObservable_1.ScalarObservable(array[0], scheduler);\n }\n else {\n return new EmptyObservable_1.EmptyObservable(scheduler);\n }\n };\n ArrayObservable.dispatch = function (state) {\n var array = state.array, index = state.index, count = state.count, subscriber = state.subscriber;\n if (index >= count) {\n subscriber.complete();\n return;\n }\n subscriber.next(array[index]);\n if (subscriber.closed) {\n return;\n }\n state.index = index + 1;\n this.schedule(state);\n };\n ArrayObservable.prototype._subscribe = function (subscriber) {\n var index = 0;\n var array = this.array;\n var count = array.length;\n var scheduler = this.scheduler;\n if (scheduler) {\n return scheduler.schedule(ArrayObservable.dispatch, 0, {\n array: array, index: index, count: count, subscriber: subscriber\n });\n }\n else {\n for (var i = 0; i < count && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n }\n };\n return ArrayObservable;\n}(Observable_1.Observable));\nexports.ArrayObservable = ArrayObservable;\n//# sourceMappingURL=ArrayObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/observable/ArrayObservable.js\n// module id = 25\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar EmptyObservable = (function (_super) {\n __extends(EmptyObservable, _super);\n function EmptyObservable(scheduler) {\n _super.call(this);\n this.scheduler = scheduler;\n }\n /**\n * Creates an Observable that emits no items to the Observer and immediately\n * emits a complete notification.\n *\n * <span class=\"informal\">Just emits 'complete', and nothing else.\n * </span>\n *\n * <img src=\"./img/empty.png\" width=\"100%\">\n *\n * This static operator is useful for creating a simple Observable that only\n * emits the complete notification. It can be used for composing with other\n * Observables, such as in a {@link mergeMap}.\n *\n * @example <caption>Emit the number 7, then complete.</caption>\n * var result = Rx.Observable.empty().startWith(7);\n * result.subscribe(x => console.log(x));\n *\n * @example <caption>Map and flatten only odd numbers to the sequence 'a', 'b', 'c'</caption>\n * var interval = Rx.Observable.interval(1000);\n * var result = interval.mergeMap(x =>\n * x % 2 === 1 ? Rx.Observable.of('a', 'b', 'c') : Rx.Observable.empty()\n * );\n * result.subscribe(x => console.log(x));\n *\n * // Results in the following to the console:\n * // x is equal to the count on the interval eg(0,1,2,3,...)\n * // x will occur every 1000ms\n * // if x % 2 is equal to 1 print abc\n * // if x % 2 is not equal to 1 nothing will be output\n *\n * @see {@link create}\n * @see {@link never}\n * @see {@link of}\n * @see {@link throw}\n *\n * @param {Scheduler} [scheduler] A {@link IScheduler} to use for scheduling\n * the emission of the complete notification.\n * @return {Observable} An \"empty\" Observable: emits only the complete\n * notification.\n * @static true\n * @name empty\n * @owner Observable\n */\n EmptyObservable.create = function (scheduler) {\n return new EmptyObservable(scheduler);\n };\n EmptyObservable.dispatch = function (arg) {\n var subscriber = arg.subscriber;\n subscriber.complete();\n };\n EmptyObservable.prototype._subscribe = function (subscriber) {\n var scheduler = this.scheduler;\n if (scheduler) {\n return scheduler.schedule(EmptyObservable.dispatch, 0, { subscriber: subscriber });\n }\n else {\n subscriber.complete();\n }\n };\n return EmptyObservable;\n}(Observable_1.Observable));\nexports.EmptyObservable = EmptyObservable;\n//# sourceMappingURL=EmptyObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/observable/EmptyObservable.js\n// module id = 26\n// module chunks = 0","\"use strict\";\nfunction isScheduler(value) {\n return value && typeof value.schedule === 'function';\n}\nexports.isScheduler = isScheduler;\n//# sourceMappingURL=isScheduler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/util/isScheduler.js\n// module id = 27\n// module chunks = 0","\"use strict\";\nexports.isArray = Array.isArray || (function (x) { return x && typeof x.length === 'number'; });\n//# sourceMappingURL=isArray.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/util/isArray.js\n// module id = 28\n// module chunks = 0","\"use strict\";\n// typeof any so that it we don't have to cast when comparing a result to the error object\nexports.errorObject = { e: {} };\n//# sourceMappingURL=errorObject.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/util/errorObject.js\n// module id = 29\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('./Subscriber');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar OuterSubscriber = (function (_super) {\n __extends(OuterSubscriber, _super);\n function OuterSubscriber() {\n _super.apply(this, arguments);\n }\n OuterSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.destination.next(innerValue);\n };\n OuterSubscriber.prototype.notifyError = function (error, innerSub) {\n this.destination.error(error);\n };\n OuterSubscriber.prototype.notifyComplete = function (innerSub) {\n this.destination.complete();\n };\n return OuterSubscriber;\n}(Subscriber_1.Subscriber));\nexports.OuterSubscriber = OuterSubscriber;\n//# sourceMappingURL=OuterSubscriber.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/OuterSubscriber.js\n// module id = 30\n// module chunks = 0","\"use strict\";\nvar root_1 = require('./root');\nvar isArrayLike_1 = require('./isArrayLike');\nvar isPromise_1 = require('./isPromise');\nvar isObject_1 = require('./isObject');\nvar Observable_1 = require('../Observable');\nvar iterator_1 = require('../symbol/iterator');\nvar InnerSubscriber_1 = require('../InnerSubscriber');\nvar observable_1 = require('../symbol/observable');\nfunction subscribeToResult(outerSubscriber, result, outerValue, outerIndex) {\n var destination = new InnerSubscriber_1.InnerSubscriber(outerSubscriber, outerValue, outerIndex);\n if (destination.closed) {\n return null;\n }\n if (result instanceof Observable_1.Observable) {\n if (result._isScalar) {\n destination.next(result.value);\n destination.complete();\n return null;\n }\n else {\n destination.syncErrorThrowable = true;\n return result.subscribe(destination);\n }\n }\n else if (isArrayLike_1.isArrayLike(result)) {\n for (var i = 0, len = result.length; i < len && !destination.closed; i++) {\n destination.next(result[i]);\n }\n if (!destination.closed) {\n destination.complete();\n }\n }\n else if (isPromise_1.isPromise(result)) {\n result.then(function (value) {\n if (!destination.closed) {\n destination.next(value);\n destination.complete();\n }\n }, function (err) { return destination.error(err); })\n .then(null, function (err) {\n // Escaping the Promise trap: globally throw unhandled errors\n root_1.root.setTimeout(function () { throw err; });\n });\n return destination;\n }\n else if (result && typeof result[iterator_1.iterator] === 'function') {\n var iterator = result[iterator_1.iterator]();\n do {\n var item = iterator.next();\n if (item.done) {\n destination.complete();\n break;\n }\n destination.next(item.value);\n if (destination.closed) {\n break;\n }\n } while (true);\n }\n else if (result && typeof result[observable_1.observable] === 'function') {\n var obs = result[observable_1.observable]();\n if (typeof obs.subscribe !== 'function') {\n destination.error(new TypeError('Provided object does not correctly implement Symbol.observable'));\n }\n else {\n return obs.subscribe(new InnerSubscriber_1.InnerSubscriber(outerSubscriber, outerValue, outerIndex));\n }\n }\n else {\n var value = isObject_1.isObject(result) ? 'an invalid object' : \"'\" + result + \"'\";\n var msg = (\"You provided \" + value + \" where a stream was expected.\")\n + ' You can provide an Observable, Promise, Array, or Iterable.';\n destination.error(new TypeError(msg));\n }\n return null;\n}\nexports.subscribeToResult = subscribeToResult;\n//# sourceMappingURL=subscribeToResult.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/util/subscribeToResult.js\n// module id = 31\n// module chunks = 0","\"use strict\";\nvar root_1 = require('../util/root');\nfunction symbolIteratorPonyfill(root) {\n var Symbol = root.Symbol;\n if (typeof Symbol === 'function') {\n if (!Symbol.iterator) {\n Symbol.iterator = Symbol('iterator polyfill');\n }\n return Symbol.iterator;\n }\n else {\n // [for Mozilla Gecko 27-35:](https://mzl.la/2ewE1zC)\n var Set_1 = root.Set;\n if (Set_1 && typeof new Set_1()['@@iterator'] === 'function') {\n return '@@iterator';\n }\n var Map_1 = root.Map;\n // required for compatability with es6-shim\n if (Map_1) {\n var keys = Object.getOwnPropertyNames(Map_1.prototype);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n // according to spec, Map.prototype[@@iterator] and Map.orototype.entries must be equal.\n if (key !== 'entries' && key !== 'size' && Map_1.prototype[key] === Map_1.prototype['entries']) {\n return key;\n }\n }\n }\n return '@@iterator';\n }\n}\nexports.symbolIteratorPonyfill = symbolIteratorPonyfill;\nexports.iterator = symbolIteratorPonyfill(root_1.root);\n/**\n * @deprecated use iterator instead\n */\nexports.$$iterator = exports.iterator;\n//# sourceMappingURL=iterator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/symbol/iterator.js\n// module id = 32\n// module chunks = 0","/**\r\n * Compiles a querystring\r\n * Returns string representation of the object\r\n *\r\n * @param {Object}\r\n * @api private\r\n */\r\n\r\nexports.encode = function (obj) {\r\n var str = '';\r\n\r\n for (var i in obj) {\r\n if (obj.hasOwnProperty(i)) {\r\n if (str.length) str += '&';\r\n str += encodeURIComponent(i) + '=' + encodeURIComponent(obj[i]);\r\n }\r\n }\r\n\r\n return str;\r\n};\r\n\r\n/**\r\n * Parses a simple querystring into an object\r\n *\r\n * @param {String} qs\r\n * @api private\r\n */\r\n\r\nexports.decode = function(qs){\r\n var qry = {};\r\n var pairs = qs.split('&');\r\n for (var i = 0, l = pairs.length; i < l; i++) {\r\n var pair = pairs[i].split('=');\r\n qry[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\r\n }\r\n return qry;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/parseqs/index.js\n// module id = 33\n// module chunks = 0","\nmodule.exports = function(a, b){\n var fn = function(){};\n fn.prototype = b.prototype;\n a.prototype = new fn;\n a.prototype.constructor = a;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/component-inherit/index.js\n// module id = 34\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('./Observable');\nvar Subscriber_1 = require('./Subscriber');\nvar Subscription_1 = require('./Subscription');\nvar ObjectUnsubscribedError_1 = require('./util/ObjectUnsubscribedError');\nvar SubjectSubscription_1 = require('./SubjectSubscription');\nvar rxSubscriber_1 = require('./symbol/rxSubscriber');\n/**\n * @class SubjectSubscriber<T>\n */\nvar SubjectSubscriber = (function (_super) {\n __extends(SubjectSubscriber, _super);\n function SubjectSubscriber(destination) {\n _super.call(this, destination);\n this.destination = destination;\n }\n return SubjectSubscriber;\n}(Subscriber_1.Subscriber));\nexports.SubjectSubscriber = SubjectSubscriber;\n/**\n * @class Subject<T>\n */\nvar Subject = (function (_super) {\n __extends(Subject, _super);\n function Subject() {\n _super.call(this);\n this.observers = [];\n this.closed = false;\n this.isStopped = false;\n this.hasError = false;\n this.thrownError = null;\n }\n Subject.prototype[rxSubscriber_1.rxSubscriber] = function () {\n return new SubjectSubscriber(this);\n };\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype.next = function (value) {\n if (this.closed) {\n throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n }\n if (!this.isStopped) {\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].next(value);\n }\n }\n };\n Subject.prototype.error = function (err) {\n if (this.closed) {\n throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n }\n this.hasError = true;\n this.thrownError = err;\n this.isStopped = true;\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].error(err);\n }\n this.observers.length = 0;\n };\n Subject.prototype.complete = function () {\n if (this.closed) {\n throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n }\n this.isStopped = true;\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].complete();\n }\n this.observers.length = 0;\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = true;\n this.closed = true;\n this.observers = null;\n };\n Subject.prototype._trySubscribe = function (subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n }\n else {\n return _super.prototype._trySubscribe.call(this, subscriber);\n }\n };\n Subject.prototype._subscribe = function (subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n }\n else if (this.hasError) {\n subscriber.error(this.thrownError);\n return Subscription_1.Subscription.EMPTY;\n }\n else if (this.isStopped) {\n subscriber.complete();\n return Subscription_1.Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n return new SubjectSubscription_1.SubjectSubscription(this, subscriber);\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new Observable_1.Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(Observable_1.Observable));\nexports.Subject = Subject;\n/**\n * @class AnonymousSubject<T>\n */\nvar AnonymousSubject = (function (_super) {\n __extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n _super.call(this);\n this.destination = destination;\n this.source = source;\n }\n AnonymousSubject.prototype.next = function (value) {\n var destination = this.destination;\n if (destination && destination.next) {\n destination.next(value);\n }\n };\n AnonymousSubject.prototype.error = function (err) {\n var destination = this.destination;\n if (destination && destination.error) {\n this.destination.error(err);\n }\n };\n AnonymousSubject.prototype.complete = function () {\n var destination = this.destination;\n if (destination && destination.complete) {\n this.destination.complete();\n }\n };\n AnonymousSubject.prototype._subscribe = function (subscriber) {\n var source = this.source;\n if (source) {\n return this.source.subscribe(subscriber);\n }\n else {\n return Subscription_1.Subscription.EMPTY;\n }\n };\n return AnonymousSubject;\n}(Subject));\nexports.AnonymousSubject = AnonymousSubject;\n//# sourceMappingURL=Subject.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/Subject.js\n// module id = 35\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../Observable');\nvar ArrayObservable_1 = require('./ArrayObservable');\nvar isScheduler_1 = require('../util/isScheduler');\nvar mergeAll_1 = require('../operators/mergeAll');\n/* tslint:enable:max-line-length */\n/**\n * Creates an output Observable which concurrently emits all values from every\n * given input Observable.\n *\n * <span class=\"informal\">Flattens multiple Observables together by blending\n * their values into one Observable.</span>\n *\n * <img src=\"./img/merge.png\" width=\"100%\">\n *\n * `merge` subscribes to each given input Observable (as arguments), and simply\n * forwards (without doing any transformation) all the values from all the input\n * Observables to the output Observable. The output Observable only completes\n * once all input Observables have completed. Any error delivered by an input\n * Observable will be immediately emitted on the output Observable.\n *\n * @example <caption>Merge together two Observables: 1s interval and clicks</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var timer = Rx.Observable.interval(1000);\n * var clicksOrTimer = Rx.Observable.merge(clicks, timer);\n * clicksOrTimer.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // timer will emit ascending values, one every second(1000ms) to console\n * // clicks logs MouseEvents to console everytime the \"document\" is clicked\n * // Since the two streams are merged you see these happening\n * // as they occur.\n *\n * @example <caption>Merge together 3 Observables, but only 2 run concurrently</caption>\n * var timer1 = Rx.Observable.interval(1000).take(10);\n * var timer2 = Rx.Observable.interval(2000).take(6);\n * var timer3 = Rx.Observable.interval(500).take(10);\n * var concurrent = 2; // the argument\n * var merged = Rx.Observable.merge(timer1, timer2, timer3, concurrent);\n * merged.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // - First timer1 and timer2 will run concurrently\n * // - timer1 will emit a value every 1000ms for 10 iterations\n * // - timer2 will emit a value every 2000ms for 6 iterations\n * // - after timer1 hits it's max iteration, timer2 will\n * // continue, and timer3 will start to run concurrently with timer2\n * // - when timer2 hits it's max iteration it terminates, and\n * // timer3 will continue to emit a value every 500ms until it is complete\n *\n * @see {@link mergeAll}\n * @see {@link mergeMap}\n * @see {@link mergeMapTo}\n * @see {@link mergeScan}\n *\n * @param {...ObservableInput} observables Input Observables to merge together.\n * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input\n * Observables being subscribed to concurrently.\n * @param {Scheduler} [scheduler=null] The IScheduler to use for managing\n * concurrency of input Observables.\n * @return {Observable} an Observable that emits items that are the result of\n * every input Observable.\n * @static true\n * @name merge\n * @owner Observable\n */\nfunction merge() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i - 0] = arguments[_i];\n }\n var concurrent = Number.POSITIVE_INFINITY;\n var scheduler = null;\n var last = observables[observables.length - 1];\n if (isScheduler_1.isScheduler(last)) {\n scheduler = observables.pop();\n if (observables.length > 1 && typeof observables[observables.length - 1] === 'number') {\n concurrent = observables.pop();\n }\n }\n else if (typeof last === 'number') {\n concurrent = observables.pop();\n }\n if (scheduler === null && observables.length === 1 && observables[0] instanceof Observable_1.Observable) {\n return observables[0];\n }\n return mergeAll_1.mergeAll(concurrent)(new ArrayObservable_1.ArrayObservable(observables, scheduler));\n}\nexports.merge = merge;\n//# sourceMappingURL=merge.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/observable/merge.js\n// module id = 36\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/**\n * Returns an Observable that skips the first `count` items emitted by the source Observable.\n *\n * <img src=\"./img/skip.png\" width=\"100%\">\n *\n * @param {Number} count - The number of times, items emitted by source Observable should be skipped.\n * @return {Observable} An Observable that skips values emitted by the source Observable.\n *\n * @method skip\n * @owner Observable\n */\nfunction skip(count) {\n return function (source) { return source.lift(new SkipOperator(count)); };\n}\nexports.skip = skip;\nvar SkipOperator = (function () {\n function SkipOperator(total) {\n this.total = total;\n }\n SkipOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SkipSubscriber(subscriber, this.total));\n };\n return SkipOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SkipSubscriber = (function (_super) {\n __extends(SkipSubscriber, _super);\n function SkipSubscriber(destination, total) {\n _super.call(this, destination);\n this.total = total;\n this.count = 0;\n }\n SkipSubscriber.prototype._next = function (x) {\n if (++this.count > this.total) {\n this.destination.next(x);\n }\n };\n return SkipSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=skip.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/operators/skip.js\n// module id = 37\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar tryCatch_1 = require('../util/tryCatch');\nvar errorObject_1 = require('../util/errorObject');\n/* tslint:enable:max-line-length */\n/**\n * Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from the previous item.\n *\n * If a comparator function is provided, then it will be called for each item to test for whether or not that value should be emitted.\n *\n * If a comparator function is not provided, an equality check is used by default.\n *\n * @example <caption>A simple example with numbers</caption>\n * Observable.of(1, 1, 2, 2, 2, 1, 1, 2, 3, 3, 4)\n * .distinctUntilChanged()\n * .subscribe(x => console.log(x)); // 1, 2, 1, 2, 3, 4\n *\n * @example <caption>An example using a compare function</caption>\n * interface Person {\n * age: number,\n * name: string\n * }\n *\n * Observable.of<Person>(\n * { age: 4, name: 'Foo'},\n * { age: 7, name: 'Bar'},\n * { age: 5, name: 'Foo'})\n * { age: 6, name: 'Foo'})\n * .distinctUntilChanged((p: Person, q: Person) => p.name === q.name)\n * .subscribe(x => console.log(x));\n *\n * // displays:\n * // { age: 4, name: 'Foo' }\n * // { age: 7, name: 'Bar' }\n * // { age: 5, name: 'Foo' }\n *\n * @see {@link distinct}\n * @see {@link distinctUntilKeyChanged}\n *\n * @param {function} [compare] Optional comparison function called to test if an item is distinct from the previous item in the source.\n * @return {Observable} An Observable that emits items from the source Observable with distinct values.\n * @method distinctUntilChanged\n * @owner Observable\n */\nfunction distinctUntilChanged(compare, keySelector) {\n return function (source) { return source.lift(new DistinctUntilChangedOperator(compare, keySelector)); };\n}\nexports.distinctUntilChanged = distinctUntilChanged;\nvar DistinctUntilChangedOperator = (function () {\n function DistinctUntilChangedOperator(compare, keySelector) {\n this.compare = compare;\n this.keySelector = keySelector;\n }\n DistinctUntilChangedOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DistinctUntilChangedSubscriber(subscriber, this.compare, this.keySelector));\n };\n return DistinctUntilChangedOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DistinctUntilChangedSubscriber = (function (_super) {\n __extends(DistinctUntilChangedSubscriber, _super);\n function DistinctUntilChangedSubscriber(destination, compare, keySelector) {\n _super.call(this, destination);\n this.keySelector = keySelector;\n this.hasKey = false;\n if (typeof compare === 'function') {\n this.compare = compare;\n }\n }\n DistinctUntilChangedSubscriber.prototype.compare = function (x, y) {\n return x === y;\n };\n DistinctUntilChangedSubscriber.prototype._next = function (value) {\n var keySelector = this.keySelector;\n var key = value;\n if (keySelector) {\n key = tryCatch_1.tryCatch(this.keySelector)(value);\n if (key === errorObject_1.errorObject) {\n return this.destination.error(errorObject_1.errorObject.e);\n }\n }\n var result = false;\n if (this.hasKey) {\n result = tryCatch_1.tryCatch(this.compare)(this.key, key);\n if (result === errorObject_1.errorObject) {\n return this.destination.error(errorObject_1.errorObject.e);\n }\n }\n else {\n this.hasKey = true;\n }\n if (Boolean(result) === false) {\n this.key = key;\n this.destination.next(value);\n }\n };\n return DistinctUntilChangedSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=distinctUntilChanged.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/operators/distinctUntilChanged.js\n// module id = 38\n// module chunks = 0","\"use strict\";\nvar FromEventObservable_1 = require('./FromEventObservable');\nexports.fromEvent = FromEventObservable_1.FromEventObservable.create;\n//# sourceMappingURL=fromEvent.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/observable/fromEvent.js\n// module id = 39\n// module chunks = 0","\"use strict\";\nfunction isFunction(x) {\n return typeof x === 'function';\n}\nexports.isFunction = isFunction;\n//# sourceMappingURL=isFunction.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/util/isFunction.js\n// module id = 40\n// module chunks = 0","\"use strict\";\nvar errorObject_1 = require('./errorObject');\nvar tryCatchTarget;\nfunction tryCatcher() {\n try {\n return tryCatchTarget.apply(this, arguments);\n }\n catch (e) {\n errorObject_1.errorObject.e = e;\n return errorObject_1.errorObject;\n }\n}\nfunction tryCatch(fn) {\n tryCatchTarget = fn;\n return tryCatcher;\n}\nexports.tryCatch = tryCatch;\n;\n//# sourceMappingURL=tryCatch.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/util/tryCatch.js\n// module id = 41\n// module chunks = 0","\"use strict\";\nvar root_1 = require('../util/root');\nvar Symbol = root_1.root.Symbol;\nexports.rxSubscriber = (typeof Symbol === 'function' && typeof Symbol.for === 'function') ?\n Symbol.for('rxSubscriber') : '@@rxSubscriber';\n/**\n * @deprecated use rxSubscriber instead\n */\nexports.$$rxSubscriber = exports.rxSubscriber;\n//# sourceMappingURL=rxSubscriber.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/symbol/rxSubscriber.js\n// module id = 42\n// module chunks = 0","\"use strict\";\nvar root_1 = require('../util/root');\nfunction getSymbolObservable(context) {\n var $$observable;\n var Symbol = context.Symbol;\n if (typeof Symbol === 'function') {\n if (Symbol.observable) {\n $$observable = Symbol.observable;\n }\n else {\n $$observable = Symbol('observable');\n Symbol.observable = $$observable;\n }\n }\n else {\n $$observable = '@@observable';\n }\n return $$observable;\n}\nexports.getSymbolObservable = getSymbolObservable;\nexports.observable = getSymbolObservable(root_1.root);\n/**\n * @deprecated use observable instead\n */\nexports.$$observable = exports.observable;\n//# sourceMappingURL=observable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/symbol/observable.js\n// module id = 43\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar ScalarObservable = (function (_super) {\n __extends(ScalarObservable, _super);\n function ScalarObservable(value, scheduler) {\n _super.call(this);\n this.value = value;\n this.scheduler = scheduler;\n this._isScalar = true;\n if (scheduler) {\n this._isScalar = false;\n }\n }\n ScalarObservable.create = function (value, scheduler) {\n return new ScalarObservable(value, scheduler);\n };\n ScalarObservable.dispatch = function (state) {\n var done = state.done, value = state.value, subscriber = state.subscriber;\n if (done) {\n subscriber.complete();\n return;\n }\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n state.done = true;\n this.schedule(state);\n };\n ScalarObservable.prototype._subscribe = function (subscriber) {\n var value = this.value;\n var scheduler = this.scheduler;\n if (scheduler) {\n return scheduler.schedule(ScalarObservable.dispatch, 0, {\n done: false, value: value, subscriber: subscriber\n });\n }\n else {\n subscriber.next(value);\n if (!subscriber.closed) {\n subscriber.complete();\n }\n }\n };\n return ScalarObservable;\n}(Observable_1.Observable));\nexports.ScalarObservable = ScalarObservable;\n//# sourceMappingURL=ScalarObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/observable/ScalarObservable.js\n// module id = 44\n// module chunks = 0","\n/**\n * Module dependencies.\n */\n\nvar debug = require('debug')('socket.io-parser');\nvar Emitter = require('component-emitter');\nvar hasBin = require('has-binary2');\nvar binary = require('./binary');\nvar isBuf = require('./is-buffer');\n\n/**\n * Protocol version.\n *\n * @api public\n */\n\nexports.protocol = 4;\n\n/**\n * Packet types.\n *\n * @api public\n */\n\nexports.types = [\n 'CONNECT',\n 'DISCONNECT',\n 'EVENT',\n 'ACK',\n 'ERROR',\n 'BINARY_EVENT',\n 'BINARY_ACK'\n];\n\n/**\n * Packet type `connect`.\n *\n * @api public\n */\n\nexports.CONNECT = 0;\n\n/**\n * Packet type `disconnect`.\n *\n * @api public\n */\n\nexports.DISCONNECT = 1;\n\n/**\n * Packet type `event`.\n *\n * @api public\n */\n\nexports.EVENT = 2;\n\n/**\n * Packet type `ack`.\n *\n * @api public\n */\n\nexports.ACK = 3;\n\n/**\n * Packet type `error`.\n *\n * @api public\n */\n\nexports.ERROR = 4;\n\n/**\n * Packet type 'binary event'\n *\n * @api public\n */\n\nexports.BINARY_EVENT = 5;\n\n/**\n * Packet type `binary ack`. For acks with binary arguments.\n *\n * @api public\n */\n\nexports.BINARY_ACK = 6;\n\n/**\n * Encoder constructor.\n *\n * @api public\n */\n\nexports.Encoder = Encoder;\n\n/**\n * Decoder constructor.\n *\n * @api public\n */\n\nexports.Decoder = Decoder;\n\n/**\n * A socket.io Encoder instance\n *\n * @api public\n */\n\nfunction Encoder() {}\n\n/**\n * Encode a packet as a single string if non-binary, or as a\n * buffer sequence, depending on packet type.\n *\n * @param {Object} obj - packet object\n * @param {Function} callback - function to handle encodings (likely engine.write)\n * @return Calls callback with Array of encodings\n * @api public\n */\n\nEncoder.prototype.encode = function(obj, callback){\n if ((obj.type === exports.EVENT || obj.type === exports.ACK) && hasBin(obj.data)) {\n obj.type = obj.type === exports.EVENT ? exports.BINARY_EVENT : exports.BINARY_ACK;\n }\n\n debug('encoding packet %j', obj);\n\n if (exports.BINARY_EVENT === obj.type || exports.BINARY_ACK === obj.type) {\n encodeAsBinary(obj, callback);\n }\n else {\n var encoding = encodeAsString(obj);\n callback([encoding]);\n }\n};\n\n/**\n * Encode packet as string.\n *\n * @param {Object} packet\n * @return {String} encoded\n * @api private\n */\n\nfunction encodeAsString(obj) {\n\n // first is type\n var str = '' + obj.type;\n\n // attachments if we have them\n if (exports.BINARY_EVENT === obj.type || exports.BINARY_ACK === obj.type) {\n str += obj.attachments + '-';\n }\n\n // if we have a namespace other than `/`\n // we append it followed by a comma `,`\n if (obj.nsp && '/' !== obj.nsp) {\n str += obj.nsp + ',';\n }\n\n // immediately followed by the id\n if (null != obj.id) {\n str += obj.id;\n }\n\n // json data\n if (null != obj.data) {\n str += JSON.stringify(obj.data);\n }\n\n debug('encoded %j as %s', obj, str);\n return str;\n}\n\n/**\n * Encode packet as 'buffer sequence' by removing blobs, and\n * deconstructing packet into object with placeholders and\n * a list of buffers.\n *\n * @param {Object} packet\n * @return {Buffer} encoded\n * @api private\n */\n\nfunction encodeAsBinary(obj, callback) {\n\n function writeEncoding(bloblessData) {\n var deconstruction = binary.deconstructPacket(bloblessData);\n var pack = encodeAsString(deconstruction.packet);\n var buffers = deconstruction.buffers;\n\n buffers.unshift(pack); // add packet info to beginning of data list\n callback(buffers); // write all the buffers\n }\n\n binary.removeBlobs(obj, writeEncoding);\n}\n\n/**\n * A socket.io Decoder instance\n *\n * @return {Object} decoder\n * @api public\n */\n\nfunction Decoder() {\n this.reconstructor = null;\n}\n\n/**\n * Mix in `Emitter` with Decoder.\n */\n\nEmitter(Decoder.prototype);\n\n/**\n * Decodes an ecoded packet string into packet JSON.\n *\n * @param {String} obj - encoded packet\n * @return {Object} packet\n * @api public\n */\n\nDecoder.prototype.add = function(obj) {\n var packet;\n if (typeof obj === 'string') {\n packet = decodeString(obj);\n if (exports.BINARY_EVENT === packet.type || exports.BINARY_ACK === packet.type) { // binary packet's json\n this.reconstructor = new BinaryReconstructor(packet);\n\n // no attachments, labeled binary but no binary data to follow\n if (this.reconstructor.reconPack.attachments === 0) {\n this.emit('decoded', packet);\n }\n } else { // non-binary full packet\n this.emit('decoded', packet);\n }\n }\n else if (isBuf(obj) || obj.base64) { // raw binary data\n if (!this.reconstructor) {\n throw new Error('got binary data when not reconstructing a packet');\n } else {\n packet = this.reconstructor.takeBinaryData(obj);\n if (packet) { // received final buffer\n this.reconstructor = null;\n this.emit('decoded', packet);\n }\n }\n }\n else {\n throw new Error('Unknown type: ' + obj);\n }\n};\n\n/**\n * Decode a packet String (JSON data)\n *\n * @param {String} str\n * @return {Object} packet\n * @api private\n */\n\nfunction decodeString(str) {\n var i = 0;\n // look up type\n var p = {\n type: Number(str.charAt(0))\n };\n\n if (null == exports.types[p.type]) return error();\n\n // look up attachments if type binary\n if (exports.BINARY_EVENT === p.type || exports.BINARY_ACK === p.type) {\n var buf = '';\n while (str.charAt(++i) !== '-') {\n buf += str.charAt(i);\n if (i == str.length) break;\n }\n if (buf != Number(buf) || str.charAt(i) !== '-') {\n throw new Error('Illegal attachments');\n }\n p.attachments = Number(buf);\n }\n\n // look up namespace (if any)\n if ('/' === str.charAt(i + 1)) {\n p.nsp = '';\n while (++i) {\n var c = str.charAt(i);\n if (',' === c) break;\n p.nsp += c;\n if (i === str.length) break;\n }\n } else {\n p.nsp = '/';\n }\n\n // look up id\n var next = str.charAt(i + 1);\n if ('' !== next && Number(next) == next) {\n p.id = '';\n while (++i) {\n var c = str.charAt(i);\n if (null == c || Number(c) != c) {\n --i;\n break;\n }\n p.id += str.charAt(i);\n if (i === str.length) break;\n }\n p.id = Number(p.id);\n }\n\n // look up json data\n if (str.charAt(++i)) {\n p = tryParse(p, str.substr(i));\n }\n\n debug('decoded %s as %j', str, p);\n return p;\n}\n\nfunction tryParse(p, str) {\n try {\n p.data = JSON.parse(str);\n } catch(e){\n return error();\n }\n return p; \n}\n\n/**\n * Deallocates a parser's resources\n *\n * @api public\n */\n\nDecoder.prototype.destroy = function() {\n if (this.reconstructor) {\n this.reconstructor.finishedReconstruction();\n }\n};\n\n/**\n * A manager of a binary event's 'buffer sequence'. Should\n * be constructed whenever a packet of type BINARY_EVENT is\n * decoded.\n *\n * @param {Object} packet\n * @return {BinaryReconstructor} initialized reconstructor\n * @api private\n */\n\nfunction BinaryReconstructor(packet) {\n this.reconPack = packet;\n this.buffers = [];\n}\n\n/**\n * Method to be called when binary data received from connection\n * after a BINARY_EVENT packet.\n *\n * @param {Buffer | ArrayBuffer} binData - the raw binary data received\n * @return {null | Object} returns null if more binary data is expected or\n * a reconstructed packet object if all buffers have been received.\n * @api private\n */\n\nBinaryReconstructor.prototype.takeBinaryData = function(binData) {\n this.buffers.push(binData);\n if (this.buffers.length === this.reconPack.attachments) { // done with buffer list\n var packet = binary.reconstructPacket(this.reconPack, this.buffers);\n this.finishedReconstruction();\n return packet;\n }\n return null;\n};\n\n/**\n * Cleans up binary packet reconstruction variables.\n *\n * @api private\n */\n\nBinaryReconstructor.prototype.finishedReconstruction = function() {\n this.reconPack = null;\n this.buffers = [];\n};\n\nfunction error() {\n return {\n type: exports.ERROR,\n data: 'parser error'\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/socket.io-parser/index.js\n// module id = 45\n// module chunks = 0","// browser shim for xmlhttprequest module\n\nvar hasCORS = require('has-cors');\n\nmodule.exports = function (opts) {\n var xdomain = opts.xdomain;\n\n // scheme must be same when usign XDomainRequest\n // http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx\n var xscheme = opts.xscheme;\n\n // XDomainRequest has a flow of not sending cookie, therefore it should be disabled as a default.\n // https://github.com/Automattic/engine.io-client/pull/217\n var enablesXDR = opts.enablesXDR;\n\n // XMLHttpRequest can be disabled on IE\n try {\n if ('undefined' !== typeof XMLHttpRequest && (!xdomain || hasCORS)) {\n return new XMLHttpRequest();\n }\n } catch (e) { }\n\n // Use XDomainRequest for IE8 if enablesXDR is true\n // because loading bar keeps flashing when using jsonp-polling\n // https://github.com/yujiosaka/socke.io-ie8-loading-example\n try {\n if ('undefined' !== typeof XDomainRequest && !xscheme && enablesXDR) {\n return new XDomainRequest();\n }\n } catch (e) { }\n\n if (!xdomain) {\n try {\n return new global[['Active'].concat('Object').join('X')]('Microsoft.XMLHTTP');\n } catch (e) { }\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/engine.io-client/lib/xmlhttprequest.js\n// module id = 46\n// module chunks = 0","/**\n * Module dependencies.\n */\n\nvar parser = require('engine.io-parser');\nvar Emitter = require('component-emitter');\n\n/**\n * Module exports.\n */\n\nmodule.exports = Transport;\n\n/**\n * Transport abstract constructor.\n *\n * @param {Object} options.\n * @api private\n */\n\nfunction Transport (opts) {\n this.path = opts.path;\n this.hostname = opts.hostname;\n this.port = opts.port;\n this.secure = opts.secure;\n this.query = opts.query;\n this.timestampParam = opts.timestampParam;\n this.timestampRequests = opts.timestampRequests;\n this.readyState = '';\n this.agent = opts.agent || false;\n this.socket = opts.socket;\n this.enablesXDR = opts.enablesXDR;\n\n // SSL options for Node.js client\n this.pfx = opts.pfx;\n this.key = opts.key;\n this.passphrase = opts.passphrase;\n this.cert = opts.cert;\n this.ca = opts.ca;\n this.ciphers = opts.ciphers;\n this.rejectUnauthorized = opts.rejectUnauthorized;\n this.forceNode = opts.forceNode;\n\n // other options for Node.js client\n this.extraHeaders = opts.extraHeaders;\n this.localAddress = opts.localAddress;\n}\n\n/**\n * Mix in `Emitter`.\n */\n\nEmitter(Transport.prototype);\n\n/**\n * Emits an error.\n *\n * @param {String} str\n * @return {Transport} for chaining\n * @api public\n */\n\nTransport.prototype.onError = function (msg, desc) {\n var err = new Error(msg);\n err.type = 'TransportError';\n err.description = desc;\n this.emit('error', err);\n return this;\n};\n\n/**\n * Opens the transport.\n *\n * @api public\n */\n\nTransport.prototype.open = function () {\n if ('closed' === this.readyState || '' === this.readyState) {\n this.readyState = 'opening';\n this.doOpen();\n }\n\n return this;\n};\n\n/**\n * Closes the transport.\n *\n * @api private\n */\n\nTransport.prototype.close = function () {\n if ('opening' === this.readyState || 'open' === this.readyState) {\n this.doClose();\n this.onClose();\n }\n\n return this;\n};\n\n/**\n * Sends multiple packets.\n *\n * @param {Array} packets\n * @api private\n */\n\nTransport.prototype.send = function (packets) {\n if ('open' === this.readyState) {\n this.write(packets);\n } else {\n throw new Error('Transport not open');\n }\n};\n\n/**\n * Called upon open\n *\n * @api private\n */\n\nTransport.prototype.onOpen = function () {\n this.readyState = 'open';\n this.writable = true;\n this.emit('open');\n};\n\n/**\n * Called with data.\n *\n * @param {String} data\n * @api private\n */\n\nTransport.prototype.onData = function (data) {\n var packet = parser.decodePacket(data, this.socket.binaryType);\n this.onPacket(packet);\n};\n\n/**\n * Called with a decoded packet.\n */\n\nTransport.prototype.onPacket = function (packet) {\n this.emit('packet', packet);\n};\n\n/**\n * Called upon close.\n *\n * @api private\n */\n\nTransport.prototype.onClose = function () {\n this.readyState = 'closed';\n this.emit('close');\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/engine.io-client/lib/transport.js\n// module id = 47\n// module chunks = 0","\"use strict\";\nvar TimerObservable_1 = require('./TimerObservable');\nexports.timer = TimerObservable_1.TimerObservable.create;\n//# sourceMappingURL=timer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/observable/timer.js\n// module id = 48\n// module chunks = 0","import { Inputs } from \"../index\";\nimport { Observable } from \"rxjs/Observable\";\nimport { ignoreElements } from \"rxjs/operators/ignoreElements\";\nimport { tap } from \"rxjs/operators/tap\";\nimport { map } from \"rxjs/operators/map\";\nimport { EffectNames } from \"../effects\";\nimport { consoleInfo } from \"../log\";\n\n/**\n * Set the local client options\n * @param xs\n * @param inputs\n */\nexport function setOptionsEffect(\n xs: Observable<IBrowserSyncOptions>,\n inputs: Inputs\n) {\n return xs.pipe(\n tap(options => inputs.option$.next(options)),\n // map(() => consoleInfo('set options'))\n ignoreElements()\n );\n}\n\nexport function setOptions(options: IBrowserSyncOptions) {\n return [EffectNames.SetOptions, options];\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/effects/set-options.effect.ts","\"use strict\";\nvar isScheduler_1 = require('../util/isScheduler');\nvar of_1 = require('./of');\nvar from_1 = require('./from');\nvar concatAll_1 = require('../operators/concatAll');\n/* tslint:enable:max-line-length */\n/**\n * Creates an output Observable which sequentially emits all values from given\n * Observable and then moves on to the next.\n *\n * <span class=\"informal\">Concatenates multiple Observables together by\n * sequentially emitting their values, one Observable after the other.</span>\n *\n * <img src=\"./img/concat.png\" width=\"100%\">\n *\n * `concat` joins multiple Observables together, by subscribing to them one at a time and\n * merging their results into the output Observable. You can pass either an array of\n * Observables, or put them directly as arguments. Passing an empty array will result\n * in Observable that completes immediately.\n *\n * `concat` will subscribe to first input Observable and emit all its values, without\n * changing or affecting them in any way. When that Observable completes, it will\n * subscribe to then next Observable passed and, again, emit its values. This will be\n * repeated, until the operator runs out of Observables. When last input Observable completes,\n * `concat` will complete as well. At any given moment only one Observable passed to operator\n * emits values. If you would like to emit values from passed Observables concurrently, check out\n * {@link merge} instead, especially with optional `concurrent` parameter. As a matter of fact,\n * `concat` is an equivalent of `merge` operator with `concurrent` parameter set to `1`.\n *\n * Note that if some input Observable never completes, `concat` will also never complete\n * and Observables following the one that did not complete will never be subscribed. On the other\n * hand, if some Observable simply completes immediately after it is subscribed, it will be\n * invisible for `concat`, which will just move on to the next Observable.\n *\n * If any Observable in chain errors, instead of passing control to the next Observable,\n * `concat` will error immediately as well. Observables that would be subscribed after\n * the one that emitted error, never will.\n *\n * If you pass to `concat` the same Observable many times, its stream of values\n * will be \"replayed\" on every subscription, which means you can repeat given Observable\n * as many times as you like. If passing the same Observable to `concat` 1000 times becomes tedious,\n * you can always use {@link repeat}.\n *\n * @example <caption>Concatenate a timer counting from 0 to 3 with a synchronous sequence from 1 to 10</caption>\n * var timer = Rx.Observable.interval(1000).take(4);\n * var sequence = Rx.Observable.range(1, 10);\n * var result = Rx.Observable.concat(timer, sequence);\n * result.subscribe(x => console.log(x));\n *\n * // results in:\n * // 0 -1000ms-> 1 -1000ms-> 2 -1000ms-> 3 -immediate-> 1 ... 10\n *\n *\n * @example <caption>Concatenate an array of 3 Observables</caption>\n * var timer1 = Rx.Observable.interval(1000).take(10);\n * var timer2 = Rx.Observable.interval(2000).take(6);\n * var timer3 = Rx.Observable.interval(500).take(10);\n * var result = Rx.Observable.concat([timer1, timer2, timer3]); // note that array is passed\n * result.subscribe(x => console.log(x));\n *\n * // results in the following:\n * // (Prints to console sequentially)\n * // -1000ms-> 0 -1000ms-> 1 -1000ms-> ... 9\n * // -2000ms-> 0 -2000ms-> 1 -2000ms-> ... 5\n * // -500ms-> 0 -500ms-> 1 -500ms-> ... 9\n *\n *\n * @example <caption>Concatenate the same Observable to repeat it</caption>\n * const timer = Rx.Observable.interval(1000).take(2);\n *\n * Rx.Observable.concat(timer, timer) // concating the same Observable!\n * .subscribe(\n * value => console.log(value),\n * err => {},\n * () => console.log('...and it is done!')\n * );\n *\n * // Logs:\n * // 0 after 1s\n * // 1 after 2s\n * // 0 after 3s\n * // 1 after 4s\n * // \"...and it is done!\" also after 4s\n *\n * @see {@link concatAll}\n * @see {@link concatMap}\n * @see {@link concatMapTo}\n *\n * @param {ObservableInput} input1 An input Observable to concatenate with others.\n * @param {ObservableInput} input2 An input Observable to concatenate with others.\n * More than one input Observables may be given as argument.\n * @param {Scheduler} [scheduler=null] An optional IScheduler to schedule each\n * Observable subscription on.\n * @return {Observable} All values of each passed Observable merged into a\n * single Observable, in order, in serial fashion.\n * @static true\n * @name concat\n * @owner Observable\n */\nfunction concat() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i - 0] = arguments[_i];\n }\n if (observables.length === 1 || (observables.length === 2 && isScheduler_1.isScheduler(observables[1]))) {\n return from_1.from(observables[0]);\n }\n return concatAll_1.concatAll()(of_1.of.apply(void 0, observables));\n}\nexports.concat = concat;\n//# sourceMappingURL=concat.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/observable/concat.js\n// module id = 50\n// module chunks = 0","import { Inputs } from \"../index\";\nimport { filter } from \"rxjs/operators/filter\";\nimport { Observable } from \"rxjs/Observable\";\nimport { withLatestFrom } from \"rxjs/operators/withLatestFrom\";\nimport { mergeMap } from \"rxjs/operators/mergeMap\";\nimport { concat } from \"rxjs/observable/concat\";\nimport { of } from \"rxjs/observable/of\";\nimport {\n browserReload,\n preBrowserReload\n} from \"../effects/browser-reload.effect\";\nimport { subscribeOn } from \"rxjs/operators/subscribeOn\";\nimport { async } from \"rxjs/scheduler/async\";\n\nexport function incomingBrowserReload(xs: Observable<any>, inputs: Inputs) {\n return xs.pipe(\n withLatestFrom(inputs.option$),\n filter(([event, options]) => options.codeSync),\n mergeMap(reloadBrowserSafe)\n );\n}\n\nexport function reloadBrowserSafe() {\n return concat(\n /**\n * Emit a warning message allowing others to do some work\n */\n of(preBrowserReload()),\n /**\n * On the next tick, perform the reload\n */\n of(browserReload()).pipe(subscribeOn(async))\n );\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/messages/BrowserReload.ts","\"use strict\";\nfunction isObject(x) {\n return x != null && typeof x === 'object';\n}\nexports.isObject = isObject;\n//# sourceMappingURL=isObject.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/util/isObject.js\n// module id = 52\n// module chunks = 0","\"use strict\";\nexports.empty = {\n closed: true,\n next: function (value) { },\n error: function (err) { throw err; },\n complete: function () { }\n};\n//# sourceMappingURL=Observer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/Observer.js\n// module id = 53\n// module chunks = 0","\"use strict\";\n/* tslint:disable:no-empty */\nfunction noop() { }\nexports.noop = noop;\n//# sourceMappingURL=noop.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/util/noop.js\n// module id = 54\n// module chunks = 0","\"use strict\";\nexports.isArrayLike = (function (x) { return x && typeof x.length === 'number'; });\n//# sourceMappingURL=isArrayLike.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/util/isArrayLike.js\n// module id = 55\n// module chunks = 0","\"use strict\";\nfunction isPromise(value) {\n return value && typeof value.subscribe !== 'function' && typeof value.then === 'function';\n}\nexports.isPromise = isPromise;\n//# sourceMappingURL=isPromise.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/util/isPromise.js\n// module id = 56\n// module chunks = 0","/**\r\n * Parses an URI\r\n *\r\n * @author Steven Levithan <stevenlevithan.com> (MIT license)\r\n * @api private\r\n */\r\n\r\nvar re = /^(?:(?![^:@]+:[^:@\\/]*@)(http|https|ws|wss):\\/\\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/;\r\n\r\nvar parts = [\r\n 'source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'anchor'\r\n];\r\n\r\nmodule.exports = function parseuri(str) {\r\n var src = str,\r\n b = str.indexOf('['),\r\n e = str.indexOf(']');\r\n\r\n if (b != -1 && e != -1) {\r\n str = str.substring(0, b) + str.substring(b, e).replace(/:/g, ';') + str.substring(e, str.length);\r\n }\r\n\r\n var m = re.exec(str || ''),\r\n uri = {},\r\n i = 14;\r\n\r\n while (i--) {\r\n uri[parts[i]] = m[i] || '';\r\n }\r\n\r\n if (b != -1 && e != -1) {\r\n uri.source = src;\r\n uri.host = uri.host.substring(1, uri.host.length - 1).replace(/;/g, ':');\r\n uri.authority = uri.authority.replace('[', '').replace(']', '').replace(/;/g, ':');\r\n uri.ipv6uri = true;\r\n }\r\n\r\n return uri;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/parseuri/index.js\n// module id = 57\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/process/browser.js\n// module id = 58\n// module chunks = 0","/* global Blob File */\n\n/*\n * Module requirements.\n */\n\nvar isArray = require('isarray');\n\nvar toString = Object.prototype.toString;\nvar withNativeBlob = typeof global.Blob === 'function' || toString.call(global.Blob) === '[object BlobConstructor]';\nvar withNativeFile = typeof global.File === 'function' || toString.call(global.File) === '[object FileConstructor]';\n\n/**\n * Module exports.\n */\n\nmodule.exports = hasBinary;\n\n/**\n * Checks for binary data.\n *\n * Supports Buffer, ArrayBuffer, Blob and File.\n *\n * @param {Object} anything\n * @api public\n */\n\nfunction hasBinary (obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n if (isArray(obj)) {\n for (var i = 0, l = obj.length; i < l; i++) {\n if (hasBinary(obj[i])) {\n return true;\n }\n }\n return false;\n }\n\n if ((typeof global.Buffer === 'function' && global.Buffer.isBuffer && global.Buffer.isBuffer(obj)) ||\n (typeof global.ArrayBuffer === 'function' && obj instanceof ArrayBuffer) ||\n (withNativeBlob && obj instanceof Blob) ||\n (withNativeFile && obj instanceof File)\n ) {\n return true;\n }\n\n // see: https://github.com/Automattic/has-binary/pull/4\n if (obj.toJSON && typeof obj.toJSON === 'function' && arguments.length === 1) {\n return hasBinary(obj.toJSON(), true);\n }\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key) && hasBinary(obj[key])) {\n return true;\n }\n }\n\n return false;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/has-binary2/index.js\n// module id = 59\n// module chunks = 0","\nmodule.exports = isBuf;\n\n/**\n * Returns true if obj is a buffer or an arraybuffer.\n *\n * @api private\n */\n\nfunction isBuf(obj) {\n return (global.Buffer && global.Buffer.isBuffer(obj)) ||\n (global.ArrayBuffer && obj instanceof ArrayBuffer);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/socket.io-parser/is-buffer.js\n// module id = 60\n// module chunks = 0","\n/**\n * Module dependencies.\n */\n\nvar eio = require('engine.io-client');\nvar Socket = require('./socket');\nvar Emitter = require('component-emitter');\nvar parser = require('socket.io-parser');\nvar on = require('./on');\nvar bind = require('component-bind');\nvar debug = require('debug')('socket.io-client:manager');\nvar indexOf = require('indexof');\nvar Backoff = require('backo2');\n\n/**\n * IE6+ hasOwnProperty\n */\n\nvar has = Object.prototype.hasOwnProperty;\n\n/**\n * Module exports\n */\n\nmodule.exports = Manager;\n\n/**\n * `Manager` constructor.\n *\n * @param {String} engine instance or engine uri/opts\n * @param {Object} options\n * @api public\n */\n\nfunction Manager (uri, opts) {\n if (!(this instanceof Manager)) return new Manager(uri, opts);\n if (uri && ('object' === typeof uri)) {\n opts = uri;\n uri = undefined;\n }\n opts = opts || {};\n\n opts.path = opts.path || '/socket.io';\n this.nsps = {};\n this.subs = [];\n this.opts = opts;\n this.reconnection(opts.reconnection !== false);\n this.reconnectionAttempts(opts.reconnectionAttempts || Infinity);\n this.reconnectionDelay(opts.reconnectionDelay || 1000);\n this.reconnectionDelayMax(opts.reconnectionDelayMax || 5000);\n this.randomizationFactor(opts.randomizationFactor || 0.5);\n this.backoff = new Backoff({\n min: this.reconnectionDelay(),\n max: this.reconnectionDelayMax(),\n jitter: this.randomizationFactor()\n });\n this.timeout(null == opts.timeout ? 20000 : opts.timeout);\n this.readyState = 'closed';\n this.uri = uri;\n this.connecting = [];\n this.lastPing = null;\n this.encoding = false;\n this.packetBuffer = [];\n var _parser = opts.parser || parser;\n this.encoder = new _parser.Encoder();\n this.decoder = new _parser.Decoder();\n this.autoConnect = opts.autoConnect !== false;\n if (this.autoConnect) this.open();\n}\n\n/**\n * Propagate given event to sockets and emit on `this`\n *\n * @api private\n */\n\nManager.prototype.emitAll = function () {\n this.emit.apply(this, arguments);\n for (var nsp in this.nsps) {\n if (has.call(this.nsps, nsp)) {\n this.nsps[nsp].emit.apply(this.nsps[nsp], arguments);\n }\n }\n};\n\n/**\n * Update `socket.id` of all sockets\n *\n * @api private\n */\n\nManager.prototype.updateSocketIds = function () {\n for (var nsp in this.nsps) {\n if (has.call(this.nsps, nsp)) {\n this.nsps[nsp].id = this.generateId(nsp);\n }\n }\n};\n\n/**\n * generate `socket.id` for the given `nsp`\n *\n * @param {String} nsp\n * @return {String}\n * @api private\n */\n\nManager.prototype.generateId = function (nsp) {\n return (nsp === '/' ? '' : (nsp + '#')) + this.engine.id;\n};\n\n/**\n * Mix in `Emitter`.\n */\n\nEmitter(Manager.prototype);\n\n/**\n * Sets the `reconnection` config.\n *\n * @param {Boolean} true/false if it should automatically reconnect\n * @return {Manager} self or value\n * @api public\n */\n\nManager.prototype.reconnection = function (v) {\n if (!arguments.length) return this._reconnection;\n this._reconnection = !!v;\n return this;\n};\n\n/**\n * Sets the reconnection attempts config.\n *\n * @param {Number} max reconnection attempts before giving up\n * @return {Manager} self or value\n * @api public\n */\n\nManager.prototype.reconnectionAttempts = function (v) {\n if (!arguments.length) return this._reconnectionAttempts;\n this._reconnectionAttempts = v;\n return this;\n};\n\n/**\n * Sets the delay between reconnections.\n *\n * @param {Number} delay\n * @return {Manager} self or value\n * @api public\n */\n\nManager.prototype.reconnectionDelay = function (v) {\n if (!arguments.length) return this._reconnectionDelay;\n this._reconnectionDelay = v;\n this.backoff && this.backoff.setMin(v);\n return this;\n};\n\nManager.prototype.randomizationFactor = function (v) {\n if (!arguments.length) return this._randomizationFactor;\n this._randomizationFactor = v;\n this.backoff && this.backoff.setJitter(v);\n return this;\n};\n\n/**\n * Sets the maximum delay between reconnections.\n *\n * @param {Number} delay\n * @return {Manager} self or value\n * @api public\n */\n\nManager.prototype.reconnectionDelayMax = function (v) {\n if (!arguments.length) return this._reconnectionDelayMax;\n this._reconnectionDelayMax = v;\n this.backoff && this.backoff.setMax(v);\n return this;\n};\n\n/**\n * Sets the connection timeout. `false` to disable\n *\n * @return {Manager} self or value\n * @api public\n */\n\nManager.prototype.timeout = function (v) {\n if (!arguments.length) return this._timeout;\n this._timeout = v;\n return this;\n};\n\n/**\n * Starts trying to reconnect if reconnection is enabled and we have not\n * started reconnecting yet\n *\n * @api private\n */\n\nManager.prototype.maybeReconnectOnOpen = function () {\n // Only try to reconnect if it's the first time we're connecting\n if (!this.reconnecting && this._reconnection && this.backoff.attempts === 0) {\n // keeps reconnection from firing twice for the same reconnection loop\n this.reconnect();\n }\n};\n\n/**\n * Sets the current transport `socket`.\n *\n * @param {Function} optional, callback\n * @return {Manager} self\n * @api public\n */\n\nManager.prototype.open =\nManager.prototype.connect = function (fn, opts) {\n debug('readyState %s', this.readyState);\n if (~this.readyState.indexOf('open')) return this;\n\n debug('opening %s', this.uri);\n this.engine = eio(this.uri, this.opts);\n var socket = this.engine;\n var self = this;\n this.readyState = 'opening';\n this.skipReconnect = false;\n\n // emit `open`\n var openSub = on(socket, 'open', function () {\n self.onopen();\n fn && fn();\n });\n\n // emit `connect_error`\n var errorSub = on(socket, 'error', function (data) {\n debug('connect_error');\n self.cleanup();\n self.readyState = 'closed';\n self.emitAll('connect_error', data);\n if (fn) {\n var err = new Error('Connection error');\n err.data = data;\n fn(err);\n } else {\n // Only do this if there is no fn to handle the error\n self.maybeReconnectOnOpen();\n }\n });\n\n // emit `connect_timeout`\n if (false !== this._timeout) {\n var timeout = this._timeout;\n debug('connect attempt will timeout after %d', timeout);\n\n // set timer\n var timer = setTimeout(function () {\n debug('connect attempt timed out after %d', timeout);\n openSub.destroy();\n socket.close();\n socket.emit('error', 'timeout');\n self.emitAll('connect_timeout', timeout);\n }, timeout);\n\n this.subs.push({\n destroy: function () {\n clearTimeout(timer);\n }\n });\n }\n\n this.subs.push(openSub);\n this.subs.push(errorSub);\n\n return this;\n};\n\n/**\n * Called upon transport open.\n *\n * @api private\n */\n\nManager.prototype.onopen = function () {\n debug('open');\n\n // clear old subs\n this.cleanup();\n\n // mark as open\n this.readyState = 'open';\n this.emit('open');\n\n // add new subs\n var socket = this.engine;\n this.subs.push(on(socket, 'data', bind(this, 'ondata')));\n this.subs.push(on(socket, 'ping', bind(this, 'onping')));\n this.subs.push(on(socket, 'pong', bind(this, 'onpong')));\n this.subs.push(on(socket, 'error', bind(this, 'onerror')));\n this.subs.push(on(socket, 'close', bind(this, 'onclose')));\n this.subs.push(on(this.decoder, 'decoded', bind(this, 'ondecoded')));\n};\n\n/**\n * Called upon a ping.\n *\n * @api private\n */\n\nManager.prototype.onping = function () {\n this.lastPing = new Date();\n this.emitAll('ping');\n};\n\n/**\n * Called upon a packet.\n *\n * @api private\n */\n\nManager.prototype.onpong = function () {\n this.emitAll('pong', new Date() - this.lastPing);\n};\n\n/**\n * Called with data.\n *\n * @api private\n */\n\nManager.prototype.ondata = function (data) {\n this.decoder.add(data);\n};\n\n/**\n * Called when parser fully decodes a packet.\n *\n * @api private\n */\n\nManager.prototype.ondecoded = function (packet) {\n this.emit('packet', packet);\n};\n\n/**\n * Called upon socket error.\n *\n * @api private\n */\n\nManager.prototype.onerror = function (err) {\n debug('error', err);\n this.emitAll('error', err);\n};\n\n/**\n * Creates a new socket for the given `nsp`.\n *\n * @return {Socket}\n * @api public\n */\n\nManager.prototype.socket = function (nsp, opts) {\n var socket = this.nsps[nsp];\n if (!socket) {\n socket = new Socket(this, nsp, opts);\n this.nsps[nsp] = socket;\n var self = this;\n socket.on('connecting', onConnecting);\n socket.on('connect', function () {\n socket.id = self.generateId(nsp);\n });\n\n if (this.autoConnect) {\n // manually call here since connecting event is fired before listening\n onConnecting();\n }\n }\n\n function onConnecting () {\n if (!~indexOf(self.connecting, socket)) {\n self.connecting.push(socket);\n }\n }\n\n return socket;\n};\n\n/**\n * Called upon a socket close.\n *\n * @param {Socket} socket\n */\n\nManager.prototype.destroy = function (socket) {\n var index = indexOf(this.connecting, socket);\n if (~index) this.connecting.splice(index, 1);\n if (this.connecting.length) return;\n\n this.close();\n};\n\n/**\n * Writes a packet.\n *\n * @param {Object} packet\n * @api private\n */\n\nManager.prototype.packet = function (packet) {\n debug('writing packet %j', packet);\n var self = this;\n if (packet.query && packet.type === 0) packet.nsp += '?' + packet.query;\n\n if (!self.encoding) {\n // encode, then write to engine with result\n self.encoding = true;\n this.encoder.encode(packet, function (encodedPackets) {\n for (var i = 0; i < encodedPackets.length; i++) {\n self.engine.write(encodedPackets[i], packet.options);\n }\n self.encoding = false;\n self.processPacketQueue();\n });\n } else { // add packet to the queue\n self.packetBuffer.push(packet);\n }\n};\n\n/**\n * If packet buffer is non-empty, begins encoding the\n * next packet in line.\n *\n * @api private\n */\n\nManager.prototype.processPacketQueue = function () {\n if (this.packetBuffer.length > 0 && !this.encoding) {\n var pack = this.packetBuffer.shift();\n this.packet(pack);\n }\n};\n\n/**\n * Clean up transport subscriptions and packet buffer.\n *\n * @api private\n */\n\nManager.prototype.cleanup = function () {\n debug('cleanup');\n\n var subsLength = this.subs.length;\n for (var i = 0; i < subsLength; i++) {\n var sub = this.subs.shift();\n sub.destroy();\n }\n\n this.packetBuffer = [];\n this.encoding = false;\n this.lastPing = null;\n\n this.decoder.destroy();\n};\n\n/**\n * Close the current socket.\n *\n * @api private\n */\n\nManager.prototype.close =\nManager.prototype.disconnect = function () {\n debug('disconnect');\n this.skipReconnect = true;\n this.reconnecting = false;\n if ('opening' === this.readyState) {\n // `onclose` will not fire because\n // an open event never happened\n this.cleanup();\n }\n this.backoff.reset();\n this.readyState = 'closed';\n if (this.engine) this.engine.close();\n};\n\n/**\n * Called upon engine close.\n *\n * @api private\n */\n\nManager.prototype.onclose = function (reason) {\n debug('onclose');\n\n this.cleanup();\n this.backoff.reset();\n this.readyState = 'closed';\n this.emit('close', reason);\n\n if (this._reconnection && !this.skipReconnect) {\n this.reconnect();\n }\n};\n\n/**\n * Attempt a reconnection.\n *\n * @api private\n */\n\nManager.prototype.reconnect = function () {\n if (this.reconnecting || this.skipReconnect) return this;\n\n var self = this;\n\n if (this.backoff.attempts >= this._reconnectionAttempts) {\n debug('reconnect failed');\n this.backoff.reset();\n this.emitAll('reconnect_failed');\n this.reconnecting = false;\n } else {\n var delay = this.backoff.duration();\n debug('will wait %dms before reconnect attempt', delay);\n\n this.reconnecting = true;\n var timer = setTimeout(function () {\n if (self.skipReconnect) return;\n\n debug('attempting reconnect');\n self.emitAll('reconnect_attempt', self.backoff.attempts);\n self.emitAll('reconnecting', self.backoff.attempts);\n\n // check again for the case socket closed in above events\n if (self.skipReconnect) return;\n\n self.open(function (err) {\n if (err) {\n debug('reconnect attempt error');\n self.reconnecting = false;\n self.reconnect();\n self.emitAll('reconnect_error', err.data);\n } else {\n debug('reconnect success');\n self.onreconnect();\n }\n });\n }, delay);\n\n this.subs.push({\n destroy: function () {\n clearTimeout(timer);\n }\n });\n }\n};\n\n/**\n * Called upon successful reconnect.\n *\n * @api private\n */\n\nManager.prototype.onreconnect = function () {\n var attempt = this.backoff.attempts;\n this.reconnecting = false;\n this.backoff.reset();\n this.updateSocketIds();\n this.emitAll('reconnect', attempt);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/socket.io-client/lib/manager.js\n// module id = 61\n// module chunks = 0","/**\n * Module dependencies\n */\n\nvar XMLHttpRequest = require('xmlhttprequest-ssl');\nvar XHR = require('./polling-xhr');\nvar JSONP = require('./polling-jsonp');\nvar websocket = require('./websocket');\n\n/**\n * Export transports.\n */\n\nexports.polling = polling;\nexports.websocket = websocket;\n\n/**\n * Polling transport polymorphic constructor.\n * Decides on xhr vs jsonp based on feature detection.\n *\n * @api private\n */\n\nfunction polling (opts) {\n var xhr;\n var xd = false;\n var xs = false;\n var jsonp = false !== opts.jsonp;\n\n if (global.location) {\n var isSSL = 'https:' === location.protocol;\n var port = location.port;\n\n // some user agents have empty `location.port`\n if (!port) {\n port = isSSL ? 443 : 80;\n }\n\n xd = opts.hostname !== location.hostname || port !== opts.port;\n xs = opts.secure !== isSSL;\n }\n\n opts.xdomain = xd;\n opts.xscheme = xs;\n xhr = new XMLHttpRequest(opts);\n\n if ('open' in xhr && !opts.forceJSONP) {\n return new XHR(opts);\n } else {\n if (!jsonp) throw new Error('JSONP disabled');\n return new JSONP(opts);\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/engine.io-client/lib/transports/index.js\n// module id = 62\n// module chunks = 0","/**\n * Module dependencies.\n */\n\nvar Transport = require('../transport');\nvar parseqs = require('parseqs');\nvar parser = require('engine.io-parser');\nvar inherit = require('component-inherit');\nvar yeast = require('yeast');\nvar debug = require('debug')('engine.io-client:polling');\n\n/**\n * Module exports.\n */\n\nmodule.exports = Polling;\n\n/**\n * Is XHR2 supported?\n */\n\nvar hasXHR2 = (function () {\n var XMLHttpRequest = require('xmlhttprequest-ssl');\n var xhr = new XMLHttpRequest({ xdomain: false });\n return null != xhr.responseType;\n})();\n\n/**\n * Polling interface.\n *\n * @param {Object} opts\n * @api private\n */\n\nfunction Polling (opts) {\n var forceBase64 = (opts && opts.forceBase64);\n if (!hasXHR2 || forceBase64) {\n this.supportsBinary = false;\n }\n Transport.call(this, opts);\n}\n\n/**\n * Inherits from Transport.\n */\n\ninherit(Polling, Transport);\n\n/**\n * Transport name.\n */\n\nPolling.prototype.name = 'polling';\n\n/**\n * Opens the socket (triggers polling). We write a PING message to determine\n * when the transport is open.\n *\n * @api private\n */\n\nPolling.prototype.doOpen = function () {\n this.poll();\n};\n\n/**\n * Pauses polling.\n *\n * @param {Function} callback upon buffers are flushed and transport is paused\n * @api private\n */\n\nPolling.prototype.pause = function (onPause) {\n var self = this;\n\n this.readyState = 'pausing';\n\n function pause () {\n debug('paused');\n self.readyState = 'paused';\n onPause();\n }\n\n if (this.polling || !this.writable) {\n var total = 0;\n\n if (this.polling) {\n debug('we are currently polling - waiting to pause');\n total++;\n this.once('pollComplete', function () {\n debug('pre-pause polling complete');\n --total || pause();\n });\n }\n\n if (!this.writable) {\n debug('we are currently writing - waiting to pause');\n total++;\n this.once('drain', function () {\n debug('pre-pause writing complete');\n --total || pause();\n });\n }\n } else {\n pause();\n }\n};\n\n/**\n * Starts polling cycle.\n *\n * @api public\n */\n\nPolling.prototype.poll = function () {\n debug('polling');\n this.polling = true;\n this.doPoll();\n this.emit('poll');\n};\n\n/**\n * Overloads onData to detect payloads.\n *\n * @api private\n */\n\nPolling.prototype.onData = function (data) {\n var self = this;\n debug('polling got data %s', data);\n var callback = function (packet, index, total) {\n // if its the first message we consider the transport open\n if ('opening' === self.readyState) {\n self.onOpen();\n }\n\n // if its a close packet, we close the ongoing requests\n if ('close' === packet.type) {\n self.onClose();\n return false;\n }\n\n // otherwise bypass onData and handle the message\n self.onPacket(packet);\n };\n\n // decode payload\n parser.decodePayload(data, this.socket.binaryType, callback);\n\n // if an event did not trigger closing\n if ('closed' !== this.readyState) {\n // if we got data we're not polling\n this.polling = false;\n this.emit('pollComplete');\n\n if ('open' === this.readyState) {\n this.poll();\n } else {\n debug('ignoring poll - transport state \"%s\"', this.readyState);\n }\n }\n};\n\n/**\n * For polling, send a close packet.\n *\n * @api private\n */\n\nPolling.prototype.doClose = function () {\n var self = this;\n\n function close () {\n debug('writing close packet');\n self.write([{ type: 'close' }]);\n }\n\n if ('open' === this.readyState) {\n debug('transport open - closing');\n close();\n } else {\n // in case we're trying to close while\n // handshaking is in progress (GH-164)\n debug('transport not open - deferring close');\n this.once('open', close);\n }\n};\n\n/**\n * Writes a packets payload.\n *\n * @param {Array} data packets\n * @param {Function} drain callback\n * @api private\n */\n\nPolling.prototype.write = function (packets) {\n var self = this;\n this.writable = false;\n var callbackfn = function () {\n self.writable = true;\n self.emit('drain');\n };\n\n parser.encodePayload(packets, this.supportsBinary, function (data) {\n self.doWrite(data, callbackfn);\n });\n};\n\n/**\n * Generates uri for connection.\n *\n * @api private\n */\n\nPolling.prototype.uri = function () {\n var query = this.query || {};\n var schema = this.secure ? 'https' : 'http';\n var port = '';\n\n // cache busting is forced\n if (false !== this.timestampRequests) {\n query[this.timestampParam] = yeast();\n }\n\n if (!this.supportsBinary && !query.sid) {\n query.b64 = 1;\n }\n\n query = parseqs.encode(query);\n\n // avoid port if default for schema\n if (this.port && (('https' === schema && Number(this.port) !== 443) ||\n ('http' === schema && Number(this.port) !== 80))) {\n port = ':' + this.port;\n }\n\n // prepend ? to query\n if (query.length) {\n query = '?' + query;\n }\n\n var ipv6 = this.hostname.indexOf(':') !== -1;\n return schema + '://' + (ipv6 ? '[' + this.hostname + ']' : this.hostname) + port + this.path + query;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/engine.io-client/lib/transports/polling.js\n// module id = 63\n// module chunks = 0","'use strict';\n\nvar alphabet = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_'.split('')\n , length = 64\n , map = {}\n , seed = 0\n , i = 0\n , prev;\n\n/**\n * Return a string representing the specified number.\n *\n * @param {Number} num The number to convert.\n * @returns {String} The string representation of the number.\n * @api public\n */\nfunction encode(num) {\n var encoded = '';\n\n do {\n encoded = alphabet[num % length] + encoded;\n num = Math.floor(num / length);\n } while (num > 0);\n\n return encoded;\n}\n\n/**\n * Return the integer value specified by the given string.\n *\n * @param {String} str The string to convert.\n * @returns {Number} The integer value represented by the string.\n * @api public\n */\nfunction decode(str) {\n var decoded = 0;\n\n for (i = 0; i < str.length; i++) {\n decoded = decoded * length + map[str.charAt(i)];\n }\n\n return decoded;\n}\n\n/**\n * Yeast: A tiny growing id generator.\n *\n * @returns {String} A unique id.\n * @api public\n */\nfunction yeast() {\n var now = encode(+new Date());\n\n if (now !== prev) return seed = 0, prev = now;\n return now +'.'+ encode(seed++);\n}\n\n//\n// Map each character to its index.\n//\nfor (; i < length; i++) map[alphabet[i]] = i;\n\n//\n// Expose the `yeast`, `encode` and `decode` functions.\n//\nyeast.encode = encode;\nyeast.decode = decode;\nmodule.exports = yeast;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/yeast/index.js\n// module id = 64\n// module chunks = 0","\nvar indexOf = [].indexOf;\n\nmodule.exports = function(arr, obj){\n if (indexOf) return arr.indexOf(obj);\n for (var i = 0; i < arr.length; ++i) {\n if (arr[i] === obj) return i;\n }\n return -1;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/indexof/index.js\n// module id = 65\n// module chunks = 0","\n/**\n * Module dependencies.\n */\n\nvar parser = require('socket.io-parser');\nvar Emitter = require('component-emitter');\nvar toArray = require('to-array');\nvar on = require('./on');\nvar bind = require('component-bind');\nvar debug = require('debug')('socket.io-client:socket');\nvar parseqs = require('parseqs');\n\n/**\n * Module exports.\n */\n\nmodule.exports = exports = Socket;\n\n/**\n * Internal events (blacklisted).\n * These events can't be emitted by the user.\n *\n * @api private\n */\n\nvar events = {\n connect: 1,\n connect_error: 1,\n connect_timeout: 1,\n connecting: 1,\n disconnect: 1,\n error: 1,\n reconnect: 1,\n reconnect_attempt: 1,\n reconnect_failed: 1,\n reconnect_error: 1,\n reconnecting: 1,\n ping: 1,\n pong: 1\n};\n\n/**\n * Shortcut to `Emitter#emit`.\n */\n\nvar emit = Emitter.prototype.emit;\n\n/**\n * `Socket` constructor.\n *\n * @api public\n */\n\nfunction Socket (io, nsp, opts) {\n this.io = io;\n this.nsp = nsp;\n this.json = this; // compat\n this.ids = 0;\n this.acks = {};\n this.receiveBuffer = [];\n this.sendBuffer = [];\n this.connected = false;\n this.disconnected = true;\n if (opts && opts.query) {\n this.query = opts.query;\n }\n if (this.io.autoConnect) this.open();\n}\n\n/**\n * Mix in `Emitter`.\n */\n\nEmitter(Socket.prototype);\n\n/**\n * Subscribe to open, close and packet events\n *\n * @api private\n */\n\nSocket.prototype.subEvents = function () {\n if (this.subs) return;\n\n var io = this.io;\n this.subs = [\n on(io, 'open', bind(this, 'onopen')),\n on(io, 'packet', bind(this, 'onpacket')),\n on(io, 'close', bind(this, 'onclose'))\n ];\n};\n\n/**\n * \"Opens\" the socket.\n *\n * @api public\n */\n\nSocket.prototype.open =\nSocket.prototype.connect = function () {\n if (this.connected) return this;\n\n this.subEvents();\n this.io.open(); // ensure open\n if ('open' === this.io.readyState) this.onopen();\n this.emit('connecting');\n return this;\n};\n\n/**\n * Sends a `message` event.\n *\n * @return {Socket} self\n * @api public\n */\n\nSocket.prototype.send = function () {\n var args = toArray(arguments);\n args.unshift('message');\n this.emit.apply(this, args);\n return this;\n};\n\n/**\n * Override `emit`.\n * If the event is in `events`, it's emitted normally.\n *\n * @param {String} event name\n * @return {Socket} self\n * @api public\n */\n\nSocket.prototype.emit = function (ev) {\n if (events.hasOwnProperty(ev)) {\n emit.apply(this, arguments);\n return this;\n }\n\n var args = toArray(arguments);\n var packet = { type: parser.EVENT, data: args };\n\n packet.options = {};\n packet.options.compress = !this.flags || false !== this.flags.compress;\n\n // event ack callback\n if ('function' === typeof args[args.length - 1]) {\n debug('emitting packet with ack id %d', this.ids);\n this.acks[this.ids] = args.pop();\n packet.id = this.ids++;\n }\n\n if (this.connected) {\n this.packet(packet);\n } else {\n this.sendBuffer.push(packet);\n }\n\n delete this.flags;\n\n return this;\n};\n\n/**\n * Sends a packet.\n *\n * @param {Object} packet\n * @api private\n */\n\nSocket.prototype.packet = function (packet) {\n packet.nsp = this.nsp;\n this.io.packet(packet);\n};\n\n/**\n * Called upon engine `open`.\n *\n * @api private\n */\n\nSocket.prototype.onopen = function () {\n debug('transport is open - connecting');\n\n // write connect packet if necessary\n if ('/' !== this.nsp) {\n if (this.query) {\n var query = typeof this.query === 'object' ? parseqs.encode(this.query) : this.query;\n debug('sending connect packet with query %s', query);\n this.packet({type: parser.CONNECT, query: query});\n } else {\n this.packet({type: parser.CONNECT});\n }\n }\n};\n\n/**\n * Called upon engine `close`.\n *\n * @param {String} reason\n * @api private\n */\n\nSocket.prototype.onclose = function (reason) {\n debug('close (%s)', reason);\n this.connected = false;\n this.disconnected = true;\n delete this.id;\n this.emit('disconnect', reason);\n};\n\n/**\n * Called with socket packet.\n *\n * @param {Object} packet\n * @api private\n */\n\nSocket.prototype.onpacket = function (packet) {\n if (packet.nsp !== this.nsp) return;\n\n switch (packet.type) {\n case parser.CONNECT:\n this.onconnect();\n break;\n\n case parser.EVENT:\n this.onevent(packet);\n break;\n\n case parser.BINARY_EVENT:\n this.onevent(packet);\n break;\n\n case parser.ACK:\n this.onack(packet);\n break;\n\n case parser.BINARY_ACK:\n this.onack(packet);\n break;\n\n case parser.DISCONNECT:\n this.ondisconnect();\n break;\n\n case parser.ERROR:\n this.emit('error', packet.data);\n break;\n }\n};\n\n/**\n * Called upon a server event.\n *\n * @param {Object} packet\n * @api private\n */\n\nSocket.prototype.onevent = function (packet) {\n var args = packet.data || [];\n debug('emitting event %j', args);\n\n if (null != packet.id) {\n debug('attaching ack callback to event');\n args.push(this.ack(packet.id));\n }\n\n if (this.connected) {\n emit.apply(this, args);\n } else {\n this.receiveBuffer.push(args);\n }\n};\n\n/**\n * Produces an ack callback to emit with an event.\n *\n * @api private\n */\n\nSocket.prototype.ack = function (id) {\n var self = this;\n var sent = false;\n return function () {\n // prevent double callbacks\n if (sent) return;\n sent = true;\n var args = toArray(arguments);\n debug('sending ack %j', args);\n\n self.packet({\n type: parser.ACK,\n id: id,\n data: args\n });\n };\n};\n\n/**\n * Called upon a server acknowlegement.\n *\n * @param {Object} packet\n * @api private\n */\n\nSocket.prototype.onack = function (packet) {\n var ack = this.acks[packet.id];\n if ('function' === typeof ack) {\n debug('calling ack %s with %j', packet.id, packet.data);\n ack.apply(this, packet.data);\n delete this.acks[packet.id];\n } else {\n debug('bad ack %s', packet.id);\n }\n};\n\n/**\n * Called upon server connect.\n *\n * @api private\n */\n\nSocket.prototype.onconnect = function () {\n this.connected = true;\n this.disconnected = false;\n this.emit('connect');\n this.emitBuffered();\n};\n\n/**\n * Emit buffered events (received and emitted).\n *\n * @api private\n */\n\nSocket.prototype.emitBuffered = function () {\n var i;\n for (i = 0; i < this.receiveBuffer.length; i++) {\n emit.apply(this, this.receiveBuffer[i]);\n }\n this.receiveBuffer = [];\n\n for (i = 0; i < this.sendBuffer.length; i++) {\n this.packet(this.sendBuffer[i]);\n }\n this.sendBuffer = [];\n};\n\n/**\n * Called upon server disconnect.\n *\n * @api private\n */\n\nSocket.prototype.ondisconnect = function () {\n debug('server disconnect (%s)', this.nsp);\n this.destroy();\n this.onclose('io server disconnect');\n};\n\n/**\n * Called upon forced client/server side disconnections,\n * this method ensures the manager stops tracking us and\n * that reconnections don't get triggered for this.\n *\n * @api private.\n */\n\nSocket.prototype.destroy = function () {\n if (this.subs) {\n // clean subscriptions to avoid reconnections\n for (var i = 0; i < this.subs.length; i++) {\n this.subs[i].destroy();\n }\n this.subs = null;\n }\n\n this.io.destroy(this);\n};\n\n/**\n * Disconnects the socket manually.\n *\n * @return {Socket} self\n * @api public\n */\n\nSocket.prototype.close =\nSocket.prototype.disconnect = function () {\n if (this.connected) {\n debug('performing disconnect (%s)', this.nsp);\n this.packet({ type: parser.DISCONNECT });\n }\n\n // remove socket from pool\n this.destroy();\n\n if (this.connected) {\n // fire events\n this.onclose('io client disconnect');\n }\n return this;\n};\n\n/**\n * Sets the compress flag.\n *\n * @param {Boolean} if `true`, compresses the sending data\n * @return {Socket} self\n * @api public\n */\n\nSocket.prototype.compress = function (compress) {\n this.flags = this.flags || {};\n this.flags.compress = compress;\n return this;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/socket.io-client/lib/socket.js\n// module id = 66\n// module chunks = 0","\n/**\n * Module exports.\n */\n\nmodule.exports = on;\n\n/**\n * Helper for subscriptions.\n *\n * @param {Object|EventEmitter} obj with `Emitter` mixin or `EventEmitter`\n * @param {String} event name\n * @param {Function} callback\n * @api public\n */\n\nfunction on (obj, ev, fn) {\n obj.on(ev, fn);\n return {\n destroy: function () {\n obj.removeListener(ev, fn);\n }\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/socket.io-client/lib/on.js\n// module id = 67\n// module chunks = 0","/**\n * Slice reference.\n */\n\nvar slice = [].slice;\n\n/**\n * Bind `obj` to `fn`.\n *\n * @param {Object} obj\n * @param {Function|String} fn or string\n * @return {Function}\n * @api public\n */\n\nmodule.exports = function(obj, fn){\n if ('string' == typeof fn) fn = obj[fn];\n if ('function' != typeof fn) throw new Error('bind() requires a function');\n var args = slice.call(arguments, 2);\n return function(){\n return fn.apply(obj, args.concat(slice.call(arguments)));\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/component-bind/index.js\n// module id = 68\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n/**\n * An error thrown when an action is invalid because the object has been\n * unsubscribed.\n *\n * @see {@link Subject}\n * @see {@link BehaviorSubject}\n *\n * @class ObjectUnsubscribedError\n */\nvar ObjectUnsubscribedError = (function (_super) {\n __extends(ObjectUnsubscribedError, _super);\n function ObjectUnsubscribedError() {\n var err = _super.call(this, 'object unsubscribed');\n this.name = err.name = 'ObjectUnsubscribedError';\n this.stack = err.stack;\n this.message = err.message;\n }\n return ObjectUnsubscribedError;\n}(Error));\nexports.ObjectUnsubscribedError = ObjectUnsubscribedError;\n//# sourceMappingURL=ObjectUnsubscribedError.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/util/ObjectUnsubscribedError.js\n// module id = 69\n// module chunks = 0","\"use strict\";\nvar multicast_1 = require('./multicast');\nvar refCount_1 = require('./refCount');\nvar Subject_1 = require('../Subject');\nfunction shareSubjectFactory() {\n return new Subject_1.Subject();\n}\n/**\n * Returns a new Observable that multicasts (shares) the original Observable. As long as there is at least one\n * Subscriber this Observable will be subscribed and emitting data. When all subscribers have unsubscribed it will\n * unsubscribe from the source Observable. Because the Observable is multicasting it makes the stream `hot`.\n * This is an alias for .multicast(() => new Subject()).refCount().\n *\n * <img src=\"./img/share.png\" width=\"100%\">\n *\n * @return {Observable<T>} An Observable that upon connection causes the source Observable to emit items to its Observers.\n * @method share\n * @owner Observable\n */\nfunction share() {\n return function (source) { return refCount_1.refCount()(multicast_1.multicast(shareSubjectFactory)(source)); };\n}\nexports.share = share;\n;\n//# sourceMappingURL=share.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/operators/share.js\n// module id = 70\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nfunction refCount() {\n return function refCountOperatorFunction(source) {\n return source.lift(new RefCountOperator(source));\n };\n}\nexports.refCount = refCount;\nvar RefCountOperator = (function () {\n function RefCountOperator(connectable) {\n this.connectable = connectable;\n }\n RefCountOperator.prototype.call = function (subscriber, source) {\n var connectable = this.connectable;\n connectable._refCount++;\n var refCounter = new RefCountSubscriber(subscriber, connectable);\n var subscription = source.subscribe(refCounter);\n if (!refCounter.closed) {\n refCounter.connection = connectable.connect();\n }\n return subscription;\n };\n return RefCountOperator;\n}());\nvar RefCountSubscriber = (function (_super) {\n __extends(RefCountSubscriber, _super);\n function RefCountSubscriber(destination, connectable) {\n _super.call(this, destination);\n this.connectable = connectable;\n }\n RefCountSubscriber.prototype._unsubscribe = function () {\n var connectable = this.connectable;\n if (!connectable) {\n this.connection = null;\n return;\n }\n this.connectable = null;\n var refCount = connectable._refCount;\n if (refCount <= 0) {\n this.connection = null;\n return;\n }\n connectable._refCount = refCount - 1;\n if (refCount > 1) {\n this.connection = null;\n return;\n }\n ///\n // Compare the local RefCountSubscriber's connection Subscription to the\n // connection Subscription on the shared ConnectableObservable. In cases\n // where the ConnectableObservable source synchronously emits values, and\n // the RefCountSubscriber's downstream Observers synchronously unsubscribe,\n // execution continues to here before the RefCountOperator has a chance to\n // supply the RefCountSubscriber with the shared connection Subscription.\n // For example:\n // ```\n // Observable.range(0, 10)\n // .publish()\n // .refCount()\n // .take(5)\n // .subscribe();\n // ```\n // In order to account for this case, RefCountSubscriber should only dispose\n // the ConnectableObservable's shared connection Subscription if the\n // connection Subscription exists, *and* either:\n // a. RefCountSubscriber doesn't have a reference to the shared connection\n // Subscription yet, or,\n // b. RefCountSubscriber's connection Subscription reference is identical\n // to the shared connection Subscription\n ///\n var connection = this.connection;\n var sharedConnection = connectable._connection;\n this.connection = null;\n if (sharedConnection && (!connection || sharedConnection === connection)) {\n sharedConnection.unsubscribe();\n }\n };\n return RefCountSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=refCount.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/operators/refCount.js\n// module id = 71\n// module chunks = 0","import { map } from \"rxjs/operators/map\";\nimport { tap } from \"rxjs/operators/tap\";\nimport { Observable } from \"rxjs/Observable\";\nimport { Events } from \"../dom-effects\";\nimport * as Log from \"../log\";\n\nexport interface PropSetPayload {\n target: Element;\n prop: string;\n value: string;\n pathname: string;\n}\n\nexport function propSetDomEffect(xs: Observable<PropSetPayload>) {\n return xs.pipe(\n tap(event => {\n const { target, prop, value } = event;\n target[prop] = value;\n }),\n map(e =>\n Log.consoleInfo(`[PropSet]`, e.target, `${e.prop} = ${e.pathname}`)\n )\n );\n}\n\nexport function propSet(incoming: PropSetPayload): [Events.PropSet, any] {\n return [Events.PropSet, incoming];\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/dom-effects/prop-set.dom-effect.ts","\"use strict\";\nvar isArray_1 = require('../util/isArray');\nfunction isNumeric(val) {\n // parseFloat NaNs numeric-cast false positives (null|true|false|\"\")\n // ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n // subtraction forces infinities to NaN\n // adding 1 corrects loss of precision from parseFloat (#15100)\n return !isArray_1.isArray(val) && (val - parseFloat(val) + 1) >= 0;\n}\nexports.isNumeric = isNumeric;\n;\n//# sourceMappingURL=isNumeric.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/util/isNumeric.js\n// module id = 73\n// module chunks = 0","\"use strict\";\nvar AsyncAction_1 = require('./AsyncAction');\nvar AsyncScheduler_1 = require('./AsyncScheduler');\n/**\n *\n * Async Scheduler\n *\n * <span class=\"informal\">Schedule task as if you used setTimeout(task, duration)</span>\n *\n * `async` scheduler schedules tasks asynchronously, by putting them on the JavaScript\n * event loop queue. It is best used to delay tasks in time or to schedule tasks repeating\n * in intervals.\n *\n * If you just want to \"defer\" task, that is to perform it right after currently\n * executing synchronous code ends (commonly achieved by `setTimeout(deferredTask, 0)`),\n * better choice will be the {@link asap} scheduler.\n *\n * @example <caption>Use async scheduler to delay task</caption>\n * const task = () => console.log('it works!');\n *\n * Rx.Scheduler.async.schedule(task, 2000);\n *\n * // After 2 seconds logs:\n * // \"it works!\"\n *\n *\n * @example <caption>Use async scheduler to repeat task in intervals</caption>\n * function task(state) {\n * console.log(state);\n * this.schedule(state + 1, 1000); // `this` references currently executing Action,\n * // which we reschedule with new state and delay\n * }\n *\n * Rx.Scheduler.async.schedule(task, 3000, 0);\n *\n * // Logs:\n * // 0 after 3s\n * // 1 after 4s\n * // 2 after 5s\n * // 3 after 6s\n *\n * @static true\n * @name async\n * @owner Scheduler\n */\nexports.async = new AsyncScheduler_1.AsyncScheduler(AsyncAction_1.AsyncAction);\n//# sourceMappingURL=async.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/scheduler/async.js\n// module id = 74\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar root_1 = require('../util/root');\nvar Action_1 = require('./Action');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar AsyncAction = (function (_super) {\n __extends(AsyncAction, _super);\n function AsyncAction(scheduler, work) {\n _super.call(this, scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n this.pending = false;\n }\n AsyncAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n if (this.closed) {\n return this;\n }\n // Always replace the current state with the new state.\n this.state = state;\n // Set the pending flag indicating that this action has been scheduled, or\n // has recursively rescheduled itself.\n this.pending = true;\n var id = this.id;\n var scheduler = this.scheduler;\n //\n // Important implementation note:\n //\n // Actions only execute once by default, unless rescheduled from within the\n // scheduled callback. This allows us to implement single and repeat\n // actions via the same code path, without adding API surface area, as well\n // as mimic traditional recursion but across asynchronous boundaries.\n //\n // However, JS runtimes and timers distinguish between intervals achieved by\n // serial `setTimeout` calls vs. a single `setInterval` call. An interval of\n // serial `setTimeout` calls can be individually delayed, which delays\n // scheduling the next `setTimeout`, and so on. `setInterval` attempts to\n // guarantee the interval callback will be invoked more precisely to the\n // interval period, regardless of load.\n //\n // Therefore, we use `setInterval` to schedule single and repeat actions.\n // If the action reschedules itself with the same delay, the interval is not\n // canceled. If the action doesn't reschedule, or reschedules with a\n // different delay, the interval will be canceled after scheduled callback\n // execution.\n //\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.delay = delay;\n // If this action has already an async Id, don't request a new one.\n this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);\n return this;\n };\n AsyncAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n return root_1.root.setInterval(scheduler.flush.bind(scheduler, this), delay);\n };\n AsyncAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n // If this action is rescheduled with the same delay time, don't clear the interval id.\n if (delay !== null && this.delay === delay && this.pending === false) {\n return id;\n }\n // Otherwise, if the action's delay time is different from the current delay,\n // or the action has been rescheduled before it's executed, clear the interval id\n return root_1.root.clearInterval(id) && undefined || undefined;\n };\n /**\n * Immediately executes this action and the `work` it contains.\n * @return {any}\n */\n AsyncAction.prototype.execute = function (state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n var error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n // Dequeue if the action didn't reschedule itself. Don't call\n // unsubscribe(), because the action could reschedule later.\n // For example:\n // ```\n // scheduler.schedule(function doWork(counter) {\n // /* ... I'm a busy worker bee ... */\n // var originalAction = this;\n // /* wait 100ms before rescheduling the action */\n // setTimeout(function () {\n // originalAction.schedule(counter + 1);\n // }, 100);\n // }, 1000);\n // ```\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n };\n AsyncAction.prototype._execute = function (state, delay) {\n var errored = false;\n var errorValue = undefined;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = !!e && e || new Error(e);\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n };\n AsyncAction.prototype._unsubscribe = function () {\n var id = this.id;\n var scheduler = this.scheduler;\n var actions = scheduler.actions;\n var index = actions.indexOf(this);\n this.work = null;\n this.state = null;\n this.pending = false;\n this.scheduler = null;\n if (index !== -1) {\n actions.splice(index, 1);\n }\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n };\n return AsyncAction;\n}(Action_1.Action));\nexports.AsyncAction = AsyncAction;\n//# sourceMappingURL=AsyncAction.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/scheduler/AsyncAction.js\n// module id = 75\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Scheduler_1 = require('../Scheduler');\nvar AsyncScheduler = (function (_super) {\n __extends(AsyncScheduler, _super);\n function AsyncScheduler() {\n _super.apply(this, arguments);\n this.actions = [];\n /**\n * A flag to indicate whether the Scheduler is currently executing a batch of\n * queued actions.\n * @type {boolean}\n */\n this.active = false;\n /**\n * An internal ID used to track the latest asynchronous task such as those\n * coming from `setTimeout`, `setInterval`, `requestAnimationFrame`, and\n * others.\n * @type {any}\n */\n this.scheduled = undefined;\n }\n AsyncScheduler.prototype.flush = function (action) {\n var actions = this.actions;\n if (this.active) {\n actions.push(action);\n return;\n }\n var error;\n this.active = true;\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (action = actions.shift()); // exhaust the scheduler queue\n this.active = false;\n if (error) {\n while (action = actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsyncScheduler;\n}(Scheduler_1.Scheduler));\nexports.AsyncScheduler = AsyncScheduler;\n//# sourceMappingURL=AsyncScheduler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/scheduler/AsyncScheduler.js\n// module id = 76\n// module chunks = 0","import { map } from \"rxjs/operators/map\";\nimport { Events } from \"../dom-effects\";\nimport { tap } from \"rxjs/operators/tap\";\nimport { Observable } from \"rxjs/Observable\";\nimport * as Log from \"../log\";\n\nexport interface StyleSetPayload {\n style: string;\n styleName: string;\n value: string;\n newValue: string;\n pathName: string;\n}\n\nexport function styleSetDomEffect(xs: Observable<StyleSetPayload>) {\n return xs.pipe(\n tap(event => {\n const { style, styleName, newValue } = event;\n style[styleName] = newValue;\n }),\n map(e => Log.consoleInfo(`[StyleSet] ${e.styleName} = ${e.pathName}`))\n );\n}\n\nexport function styleSet(incoming: StyleSetPayload): [Events.StyleSet, any] {\n return [Events.StyleSet, incoming];\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/dom-effects/style-set.dom-effect.ts","import { map } from \"rxjs/operators/map\";\nimport { Inputs } from \"../index\";\nimport { filter } from \"rxjs/operators/filter\";\nimport { withLatestFrom } from \"rxjs/operators/withLatestFrom\";\nimport { Observable } from \"rxjs/Observable\";\nimport * as Log from \"../log\";\nimport { pluck } from \"rxjs/operators/pluck\";\nimport { Events } from \"../dom-effects\";\n\nexport type LinkReplacePayload = {\n target: HTMLLinkElement;\n nextHref: string;\n prevHref: string;\n pathname: string;\n basename: string;\n};\n\nexport function linkReplaceDomEffect(\n xs: Observable<LinkReplacePayload>,\n inputs: Inputs\n) {\n return xs.pipe(\n withLatestFrom<LinkReplacePayload, any>(\n inputs.option$.pipe(pluck(\"injectNotification\"))\n ),\n filter(([, inject]) => inject),\n map(([incoming, inject]) => {\n const message = `[LinkReplace] ${incoming.basename}`;\n if (inject === \"overlay\") {\n return Log.overlayInfo(message);\n }\n return Log.consoleInfo(message);\n })\n );\n}\n\nexport function linkReplace(\n incoming: LinkReplacePayload\n): [Events.LinkReplace, LinkReplacePayload] {\n return [Events.LinkReplace, incoming];\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/dom-effects/link-replace.dom-effect.ts","import { Inputs } from \"../index\";\nimport { ignoreElements } from \"rxjs/operators/ignoreElements\";\nimport { withLatestFrom } from \"rxjs/operators/withLatestFrom\";\nimport { tap } from \"rxjs/operators/tap\";\nimport { Observable } from \"rxjs/Observable\";\nimport { Events } from \"../dom-effects\";\n\nexport type SetScrollPayload = { x: number; y: number };\n\nexport function setScroll(\n x: number,\n y: number\n): [Events.SetScroll, SetScrollPayload] {\n return [Events.SetScroll, { x, y }];\n}\n\nexport function setScrollDomEffect(\n xs: Observable<SetScrollPayload>,\n inputs: Inputs\n) {\n return xs.pipe(\n withLatestFrom(inputs.window$),\n tap(([event, window]) => window.scrollTo(event.x, event.y)),\n ignoreElements()\n );\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/dom-effects/set-scroll.dom-effect.ts","import { Inputs } from \"../index\";\nimport { ignoreElements } from \"rxjs/operators/ignoreElements\";\nimport { withLatestFrom } from \"rxjs/operators/withLatestFrom\";\nimport { tap } from \"rxjs/operators/tap\";\nimport { Observable } from \"rxjs/Observable\";\nimport { Events } from \"../dom-effects\";\n\nexport function setWindowNameDomEffect(xs: Observable<string>, inputs: Inputs) {\n return xs.pipe(\n withLatestFrom(inputs.window$),\n tap(([value, window]) => (window.name = value)),\n ignoreElements()\n );\n}\n\nexport function setWindowName(\n incoming: string\n): [Events.SetWindowName, string] {\n return [Events.SetWindowName, incoming];\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/dom-effects/set-window-name.dom-effect.ts","import { OutgoingSocketEvents } from \"../socket-messages\";\nimport { Inputs } from \"../index\";\nimport { pluck } from \"rxjs/operators/pluck\";\nimport { filter } from \"rxjs/operators/filter\";\nimport { map } from \"rxjs/operators/map\";\nimport { Observable } from \"rxjs/Observable\";\nimport { withLatestFrom } from \"rxjs/operators/withLatestFrom\";\nimport { EffectNames } from \"../effects\";\n\nexport interface ICoords {\n x: number;\n y: number;\n}\n\nexport interface Data {\n raw: ICoords;\n proportional: number;\n}\n\nexport interface OutgoingPayload {\n position: Data;\n tagName: string;\n index: number;\n mappingIndex: number;\n}\n\nexport interface IncomingPayload extends OutgoingPayload {\n override?: boolean;\n pathname: string;\n}\n\nexport function outgoing(\n data: Data,\n tagName: string,\n index: number,\n mappingIndex: number = -1\n): [OutgoingSocketEvents.Scroll, OutgoingPayload] {\n return [\n OutgoingSocketEvents.Scroll,\n { position: data, tagName, index, mappingIndex }\n ];\n}\n\nexport function incomingScrollHandler(\n xs: Observable<IncomingPayload>,\n inputs: Inputs\n) {\n return xs.pipe(\n withLatestFrom(\n inputs.option$.pipe(pluck(\"ghostMode\", \"scroll\")),\n inputs.window$.pipe(pluck(\"location\", \"pathname\"))\n ),\n filter(([event, canScroll, pathname]) => {\n return canScroll && event.pathname === pathname;\n }),\n map(([event]) => {\n return [EffectNames.BrowserSetScroll, event];\n })\n );\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/messages/ScrollEvent.ts","import { FileReloadEventPayload } from \"../../types/socket\";\nimport { EffectNames } from \"../effects\";\nimport { Inputs } from \"../index\";\nimport { reload } from \"../../vendor/Reloader\";\nimport { withLatestFrom } from \"rxjs/operators/withLatestFrom\";\nimport { mergeMap } from \"rxjs/operators/mergeMap\";\nimport { Observable } from \"rxjs/Observable\";\n\nexport function fileReload(event: FileReloadEventPayload) {\n return [EffectNames.FileReload, event];\n}\n\n/**\n * Attempt to reload files in place\n * @param xs\n * @param inputs\n */\nexport function fileReloadEffect(\n xs: Observable<FileReloadEventPayload>,\n inputs: Inputs\n) {\n return xs.pipe(\n withLatestFrom(inputs.option$, inputs.document$, inputs.navigator$),\n mergeMap(([event, options, document, navigator]) => {\n return reload(document, navigator)(event, {\n tagNames: options.tagNames,\n liveCSS: true,\n liveImg: true\n });\n })\n );\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/effects/file-reload.effect.ts","\"use strict\";\nvar FromObservable_1 = require('./FromObservable');\nexports.from = FromObservable_1.FromObservable.create;\n//# sourceMappingURL=from.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/observable/from.js\n// module id = 83\n// module chunks = 0","\"use strict\";\nvar mergeMap_1 = require('./mergeMap');\nvar identity_1 = require('../util/identity');\n/**\n * Converts a higher-order Observable into a first-order Observable which\n * concurrently delivers all values that are emitted on the inner Observables.\n *\n * <span class=\"informal\">Flattens an Observable-of-Observables.</span>\n *\n * <img src=\"./img/mergeAll.png\" width=\"100%\">\n *\n * `mergeAll` subscribes to an Observable that emits Observables, also known as\n * a higher-order Observable. Each time it observes one of these emitted inner\n * Observables, it subscribes to that and delivers all the values from the\n * inner Observable on the output Observable. The output Observable only\n * completes once all inner Observables have completed. Any error delivered by\n * a inner Observable will be immediately emitted on the output Observable.\n *\n * @example <caption>Spawn a new interval Observable for each click event, and blend their outputs as one Observable</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var higherOrder = clicks.map((ev) => Rx.Observable.interval(1000));\n * var firstOrder = higherOrder.mergeAll();\n * firstOrder.subscribe(x => console.log(x));\n *\n * @example <caption>Count from 0 to 9 every second for each click, but only allow 2 concurrent timers</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var higherOrder = clicks.map((ev) => Rx.Observable.interval(1000).take(10));\n * var firstOrder = higherOrder.mergeAll(2);\n * firstOrder.subscribe(x => console.log(x));\n *\n * @see {@link combineAll}\n * @see {@link concatAll}\n * @see {@link exhaust}\n * @see {@link merge}\n * @see {@link mergeMap}\n * @see {@link mergeMapTo}\n * @see {@link mergeScan}\n * @see {@link switch}\n * @see {@link zipAll}\n *\n * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of inner\n * Observables being subscribed to concurrently.\n * @return {Observable} An Observable that emits values coming from all the\n * inner Observables emitted by the source Observable.\n * @method mergeAll\n * @owner Observable\n */\nfunction mergeAll(concurrent) {\n if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n return mergeMap_1.mergeMap(identity_1.identity, null, concurrent);\n}\nexports.mergeAll = mergeAll;\n//# sourceMappingURL=mergeAll.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/operators/mergeAll.js\n// module id = 84\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/**\n * Emits the given constant value on the output Observable every time the source\n * Observable emits a value.\n *\n * <span class=\"informal\">Like {@link map}, but it maps every source value to\n * the same output value every time.</span>\n *\n * <img src=\"./img/mapTo.png\" width=\"100%\">\n *\n * Takes a constant `value` as argument, and emits that whenever the source\n * Observable emits a value. In other words, ignores the actual source value,\n * and simply uses the emission moment to know when to emit the given `value`.\n *\n * @example <caption>Map every click to the string 'Hi'</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var greetings = clicks.mapTo('Hi');\n * greetings.subscribe(x => console.log(x));\n *\n * @see {@link map}\n *\n * @param {any} value The value to map each source value to.\n * @return {Observable} An Observable that emits the given `value` every time\n * the source Observable emits something.\n * @method mapTo\n * @owner Observable\n */\nfunction mapTo(value) {\n return function (source) { return source.lift(new MapToOperator(value)); };\n}\nexports.mapTo = mapTo;\nvar MapToOperator = (function () {\n function MapToOperator(value) {\n this.value = value;\n }\n MapToOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MapToSubscriber(subscriber, this.value));\n };\n return MapToOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar MapToSubscriber = (function (_super) {\n __extends(MapToSubscriber, _super);\n function MapToSubscriber(destination, value) {\n _super.call(this, destination);\n this.value = value;\n }\n MapToSubscriber.prototype._next = function (x) {\n this.destination.next(this.value);\n };\n return MapToSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=mapTo.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/operators/mapTo.js\n// module id = 85\n// module chunks = 0","import { Inputs } from \"../index\";\nimport { ignoreElements } from \"rxjs/operators/ignoreElements\";\nimport { tap } from \"rxjs/operators/tap\";\nimport { withLatestFrom } from \"rxjs/operators/withLatestFrom\";\nimport { Observable } from \"rxjs/Observable\";\nimport { IncomingPayload } from \"../messages/BrowserLocation\";\nimport { EffectNames } from \"../effects\";\n\nexport function browserSetLocationEffect(\n xs: Observable<IncomingPayload>,\n inputs: Inputs\n) {\n return xs.pipe(\n withLatestFrom(inputs.window$),\n tap(([event, window]) => {\n if (event.path) {\n return ((window.location as any) =\n window.location.protocol +\n \"//\" +\n window.location.host +\n event.path);\n }\n if (event.url) {\n return ((window.location as any) = event.url);\n }\n }),\n ignoreElements()\n );\n}\n\nexport function browserSetLocation(input: IncomingPayload) {\n return [EffectNames.BrowserSetLocation, input];\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/effects/browser-set-location.effect.ts","import { Inputs } from \"../index\";\nimport { Observable } from \"rxjs/Observable\";\nimport { ignoreElements } from \"rxjs/operators/ignoreElements\";\nimport * as ClickEvent from \"../messages/ClickEvent\";\nimport { tap } from \"rxjs/operators/tap\";\nimport { withLatestFrom } from \"rxjs/operators/withLatestFrom\";\nimport { EffectNames } from \"../effects\";\nimport { IncomingPayload } from \"../messages/ClickEvent\";\n\nexport function simulateClickEffect(\n xs: Observable<ClickEvent.IncomingPayload>,\n inputs: Inputs\n) {\n return xs.pipe(\n withLatestFrom(inputs.window$, inputs.document$),\n tap(([event, window, document]) => {\n const elems = document.getElementsByTagName(event.tagName);\n const match = elems[event.index];\n\n if (match) {\n if (document.createEvent) {\n window.setTimeout(function() {\n const evObj = document.createEvent(\"MouseEvents\");\n evObj.initEvent(\"click\", true, true);\n match.dispatchEvent(evObj);\n }, 0);\n } else {\n window.setTimeout(function() {\n if ((document as any).createEventObject) {\n const evObj = (document as any).createEventObject();\n evObj.cancelBubble = true;\n (match as any).fireEvent(\"on\" + \"click\", evObj);\n }\n }, 0);\n }\n }\n }),\n ignoreElements()\n );\n}\n\nexport function simulateClick(event: IncomingPayload) {\n return [EffectNames.SimulateClick, event];\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/effects/simulate-click.effect.ts","import { Inputs } from \"../index\";\nimport { Observable } from \"rxjs/Observable\";\nimport * as KeyupEvent from \"../messages/KeyupEvent\";\nimport { tap } from \"rxjs/operators/tap\";\nimport { withLatestFrom } from \"rxjs/operators/withLatestFrom\";\nimport { EffectNames } from \"../effects\";\n\nexport function setElementValueEffect(\n xs: Observable<KeyupEvent.IncomingPayload>,\n inputs: Inputs\n) {\n return xs.pipe(\n withLatestFrom(inputs.document$),\n tap(([event, document]) => {\n const elems = document.getElementsByTagName(event.tagName);\n const match = elems[event.index];\n if (match) {\n (match as HTMLInputElement).value = event.value;\n }\n })\n );\n}\n\nexport function setElementValue(event: KeyupEvent.IncomingPayload) {\n return [EffectNames.SetElementValue, event];\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/effects/set-element-value.effect.ts","import { Inputs } from \"../index\";\nimport { Observable } from \"rxjs/Observable\";\nimport * as FormToggleEvent from \"../messages/FormToggleEvent\";\nimport { tap } from \"rxjs/operators/tap\";\nimport { withLatestFrom } from \"rxjs/operators/withLatestFrom\";\nimport { EffectNames } from \"../effects\";\n\nexport function setElementToggleValueEffect(\n xs: Observable<FormToggleEvent.IncomingPayload>,\n inputs: Inputs\n) {\n return xs.pipe(\n withLatestFrom(inputs.document$),\n tap(([event, document]) => {\n const elems = document.getElementsByTagName(event.tagName);\n const match = <HTMLInputElement>elems[event.index];\n if (match) {\n if (event.type === \"radio\") {\n match.checked = true;\n }\n if (event.type === \"checkbox\") {\n match.checked = event.checked;\n }\n if (event.tagName === \"SELECT\") {\n match.value = event.value;\n }\n }\n })\n );\n}\n\nexport function setElementToggleValue(event: FormToggleEvent.IncomingPayload) {\n return [EffectNames.SetElementToggleValue, event];\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/effects/set-element-toggle-value.effect.ts","import { EffectNames } from \"../effects\";\nimport { Inputs } from \"../index\";\nimport { Observable } from \"rxjs/Observable\";\nimport { tap } from \"rxjs/operators/tap\";\nimport { withLatestFrom } from \"rxjs/operators/withLatestFrom\";\n\nexport function browserReload() {\n return [EffectNames.BrowserReload];\n}\n\nexport function preBrowserReload() {\n return [EffectNames.PreBrowserReload];\n}\n\nexport function browserReloadEffect(xs: Observable<any>, inputs: Inputs) {\n return xs.pipe(\n withLatestFrom(inputs.window$),\n tap(([, window]) => window.location.reload(true))\n );\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/effects/browser-reload.effect.ts","import { OutgoingSocketEvents } from \"../socket-messages\";\nimport { Inputs } from \"../index\";\nimport { Observable } from \"rxjs/Observable\";\nimport { pluck } from \"rxjs/operators/pluck\";\nimport { filter } from \"rxjs/operators/filter\";\nimport { map } from \"rxjs/operators/map\";\nimport { withLatestFrom } from \"rxjs/operators/withLatestFrom\";\nimport { simulateClick } from \"../effects/simulate-click.effect\";\n\nexport interface ElementData {\n tagName: string;\n index: number;\n}\n\nexport interface IncomingPayload extends ElementData {\n pathname: string;\n}\n\nexport function outgoing(\n data: ElementData\n): [OutgoingSocketEvents.Click, ElementData] {\n return [OutgoingSocketEvents.Click, data];\n}\n\nexport function incomingHandler$(\n xs: Observable<IncomingPayload>,\n inputs: Inputs\n) {\n return xs.pipe(\n withLatestFrom(\n inputs.option$.pipe(pluck(\"ghostMode\", \"clicks\")),\n inputs.window$.pipe(pluck(\"location\", \"pathname\"))\n ),\n filter(([event, canClick, pathname]) => {\n return canClick && event.pathname === pathname;\n }),\n map(([event]) => {\n return simulateClick(event);\n })\n );\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/messages/ClickEvent.ts","import { OutgoingSocketEvents } from \"../socket-messages\";\nimport * as ClickEvent from \"./ClickEvent\";\nimport { Inputs } from \"../index\";\nimport { pluck } from \"rxjs/operators/pluck\";\nimport { filter } from \"rxjs/operators/filter\";\nimport { map } from \"rxjs/operators/map\";\nimport { Observable } from \"rxjs/Observable\";\nimport { withLatestFrom } from \"rxjs/operators/withLatestFrom\";\nimport { setElementValue } from \"../effects/set-element-value.effect\";\n\nexport interface Payload {\n value: any;\n tagName: string;\n index: number;\n}\n\nexport type OutgoingPayload = Payload;\n\nexport interface IncomingPayload extends OutgoingPayload {\n pathname: string;\n}\n\nexport function outgoing(\n element: ClickEvent.ElementData,\n value: any\n): [OutgoingSocketEvents.Keyup, OutgoingPayload] {\n return [\n OutgoingSocketEvents.Keyup,\n {\n ...element,\n value\n }\n ];\n}\n\nexport function incomingKeyupHandler(\n xs: Observable<IncomingPayload>,\n inputs: Inputs\n) {\n return xs.pipe(\n withLatestFrom(\n inputs.option$.pipe(pluck(\"ghostMode\", \"forms\", \"inputs\")),\n inputs.window$.pipe(pluck(\"location\", \"pathname\"))\n ),\n filter(([event, canKeyup, pathname]) => {\n return canKeyup && event.pathname === pathname;\n }),\n map(([event]) => setElementValue(event))\n );\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/messages/KeyupEvent.ts","var apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, window, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(window, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\nexports.setImmediate = setImmediate;\nexports.clearImmediate = clearImmediate;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/timers-browserify/main.js\n// module id = 93\n// module chunks = 0","import { OutgoingSocketEvents } from \"../socket-messages\";\nimport * as ClickEvent from \"./ClickEvent\";\nimport { Inputs } from \"../index\";\nimport { pluck } from \"rxjs/operators/pluck\";\nimport { filter } from \"rxjs/operators/filter\";\nimport { map } from \"rxjs/operators/map\";\nimport { Observable } from \"rxjs/Observable\";\nimport { withLatestFrom } from \"rxjs/operators/withLatestFrom\";\nimport { setElementToggleValue } from \"../effects/set-element-toggle-value.effect\";\n\nexport interface Payload {\n tagName: string;\n index: number;\n value: any;\n type: any;\n checked: any;\n}\n\nexport type OutgoingPayload = Payload;\n\nexport interface IncomingPayload extends OutgoingPayload {\n pathname: string;\n}\n\nexport function outgoing(\n element: ClickEvent.ElementData,\n props: { value: string; type: string; checked: boolean }\n): [OutgoingSocketEvents.InputToggle, OutgoingPayload] {\n return [\n OutgoingSocketEvents.InputToggle,\n {\n ...element,\n ...props\n }\n ];\n}\n\nexport function incomingInputsToggles(\n xs: Observable<IncomingPayload>,\n inputs: Inputs\n) {\n return xs.pipe(\n withLatestFrom(\n inputs.option$.pipe(pluck(\"ghostMode\", \"forms\", \"toggles\")),\n inputs.window$.pipe(pluck(\"location\", \"pathname\"))\n ),\n filter(([, toggles]) => toggles === true),\n map(([event]) => setElementToggleValue(event))\n );\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/messages/FormToggleEvent.ts","///<reference path=\"types.ts\"/>\nimport { Observable } from \"rxjs/Observable\";\nimport { BehaviorSubject } from \"rxjs/BehaviorSubject\";\nimport { zip } from \"rxjs/observable/zip\";\nimport { initDocument, initOptions, initSocket, initWindow } from \"./socket\";\nimport { initNotify } from \"./notify\";\nimport { domHandlers$ } from \"./dom-effects\";\nimport { SocketEvent, socketHandlers$ } from \"./socket-messages\";\nimport { merge } from \"rxjs/observable/merge\";\nimport { initLogger, logHandler$ } from \"./log\";\nimport { effectOutputHandlers$ } from \"./effects\";\nimport { Nanologger } from \"../vendor/logger\";\nimport { scrollRestoreHandlers$ } from \"./scroll-restore\";\nimport { initListeners } from \"./listeners\";\nimport { groupBy } from \"rxjs/operators/groupBy\";\nimport { withLatestFrom } from \"rxjs/operators/withLatestFrom\";\nimport { mergeMap } from \"rxjs/operators/mergeMap\";\nimport { share } from \"rxjs/operators/share\";\nimport { filter } from \"rxjs/operators/filter\";\nimport { pluck } from \"rxjs/operators/pluck\";\nimport { tap } from \"rxjs/operators/tap\";\nimport { of } from \"rxjs/observable/of\";\n\nexport interface Inputs {\n window$: Observable<Window>;\n document$: Observable<Document>;\n socket$: Observable<SocketEvent>;\n option$: BehaviorSubject<IBrowserSyncOptions>;\n navigator$: Observable<Navigator>;\n notifyElement$: BehaviorSubject<HTMLElement>;\n logInstance$: Observable<Nanologger>;\n io$: BehaviorSubject<any>;\n outgoing$: Observable<any>;\n}\n\nconst window$ = initWindow();\nconst document$ = initDocument();\nconst { socket$, io$ } = initSocket();\nconst option$ = initOptions();\nconst navigator$ = of(navigator);\nconst notifyElement$ = initNotify(option$.getValue());\nconst logInstance$ = initLogger(option$.getValue());\nconst outgoing$ = initListeners(window, document, socket$, option$);\n\nconst inputs: Inputs = {\n window$,\n document$,\n socket$,\n option$,\n navigator$,\n notifyElement$,\n logInstance$,\n io$,\n outgoing$\n};\n\nfunction getStream(name: string, inputs) {\n return function(handlers$, inputStream$) {\n return inputStream$.pipe(\n groupBy(([keyName]) => {\n return keyName;\n }),\n withLatestFrom(handlers$),\n filter(([x, handlers]) => {\n return typeof handlers[x.key] === \"function\";\n }),\n mergeMap(([x, handlers]) => {\n return handlers[x.key](x.pipe(pluck(String(1))), inputs);\n }),\n share()\n );\n };\n}\n\nconst combinedEffectHandler$ = zip(\n effectOutputHandlers$,\n scrollRestoreHandlers$,\n (...args) => {\n return args.reduce((acc, item) => ({ ...acc, ...item }), {});\n }\n);\n\nconst output$ = getStream(\"[socket]\", inputs)(\n socketHandlers$,\n merge(inputs.socket$, outgoing$)\n);\n\nconst effect$ = getStream(\"[effect]\", inputs)(combinedEffectHandler$, output$);\nconst dom$ = getStream(\"[dom-effect]\", inputs)(domHandlers$, effect$);\n\nconst merged$ = merge(output$, effect$, dom$);\n\nconst log$ = getStream(\"[log]\", inputs)(logHandler$, merged$);\n\nlog$.subscribe();\n\n// resume$.next(true);\n\n// var socket = require(\"./socket\");\n// var shims = require(\"./client-shims\");\n// var notify = require(\"./notify\");\n// // var codeSync = require(\"./code-sync\");\n// const { BrowserSync } = require(\"./browser-sync\");\n// var ghostMode = require(\"./ghostmode\");\n// var events = require(\"./events\");\n// var utils = require(\"./browser.utils\");\n//\n// const mitt = require(\"mitt\").default;\n//\n// var shouldReload = false;\n// var initialised = false;\n//\n// /**\n// * @param options\n// */\n// function init(options: bs.InitOptions) {\n// if (shouldReload && options.reloadOnRestart) {\n// utils.reloadBrowser();\n// }\n//\n// var BS = window.___browserSync___ || {};\n// var emitter = mitt();\n//\n// if (!BS.client) {\n// BS.client = true;\n//\n// var browserSync = new BrowserSync({ options, emitter, socket });\n//\n// // codeSync.init(browserSync);\n//\n// // // Always init on page load\n// // ghostMode.init(browserSync);\n// //\n// // notify.init(browserSync);\n// //\n// // if (options.notify) {\n// // notify.flash(\"Connected to BrowserSync\");\n// // }\n// }\n//\n// // if (!initialised) {\n// // socket.on(\"disconnect\", function() {\n// // if (options.notify) {\n// // notify.flash(\"Disconnected from BrowserSync\");\n// // }\n// // shouldReload = true;\n// // });\n// // initialised = true;\n// // }\n// }\n//\n// /**\n// * Handle individual socket connections\n// */\n// socket.on(\"connection\", init);\n\n\n\n// WEBPACK FOOTER //\n// ./lib/index.ts","\"use strict\";\nvar zip_1 = require('../operators/zip');\nexports.zip = zip_1.zipStatic;\n//# sourceMappingURL=zip.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/observable/zip.js\n// module id = 97\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar ArrayObservable_1 = require('../observable/ArrayObservable');\nvar isArray_1 = require('../util/isArray');\nvar Subscriber_1 = require('../Subscriber');\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\nvar iterator_1 = require('../symbol/iterator');\n/* tslint:enable:max-line-length */\n/**\n * @param observables\n * @return {Observable<R>}\n * @method zip\n * @owner Observable\n */\nfunction zip() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i - 0] = arguments[_i];\n }\n return function zipOperatorFunction(source) {\n return source.lift.call(zipStatic.apply(void 0, [source].concat(observables)));\n };\n}\nexports.zip = zip;\n/* tslint:enable:max-line-length */\n/**\n * Combines multiple Observables to create an Observable whose values are calculated from the values, in order, of each\n * of its input Observables.\n *\n * If the latest parameter is a function, this function is used to compute the created value from the input values.\n * Otherwise, an array of the input values is returned.\n *\n * @example <caption>Combine age and name from different sources</caption>\n *\n * let age$ = Observable.of<number>(27, 25, 29);\n * let name$ = Observable.of<string>('Foo', 'Bar', 'Beer');\n * let isDev$ = Observable.of<boolean>(true, true, false);\n *\n * Observable\n * .zip(age$,\n * name$,\n * isDev$,\n * (age: number, name: string, isDev: boolean) => ({ age, name, isDev }))\n * .subscribe(x => console.log(x));\n *\n * // outputs\n * // { age: 27, name: 'Foo', isDev: true }\n * // { age: 25, name: 'Bar', isDev: true }\n * // { age: 29, name: 'Beer', isDev: false }\n *\n * @param observables\n * @return {Observable<R>}\n * @static true\n * @name zip\n * @owner Observable\n */\nfunction zipStatic() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i - 0] = arguments[_i];\n }\n var project = observables[observables.length - 1];\n if (typeof project === 'function') {\n observables.pop();\n }\n return new ArrayObservable_1.ArrayObservable(observables).lift(new ZipOperator(project));\n}\nexports.zipStatic = zipStatic;\nvar ZipOperator = (function () {\n function ZipOperator(project) {\n this.project = project;\n }\n ZipOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ZipSubscriber(subscriber, this.project));\n };\n return ZipOperator;\n}());\nexports.ZipOperator = ZipOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ZipSubscriber = (function (_super) {\n __extends(ZipSubscriber, _super);\n function ZipSubscriber(destination, project, values) {\n if (values === void 0) { values = Object.create(null); }\n _super.call(this, destination);\n this.iterators = [];\n this.active = 0;\n this.project = (typeof project === 'function') ? project : null;\n this.values = values;\n }\n ZipSubscriber.prototype._next = function (value) {\n var iterators = this.iterators;\n if (isArray_1.isArray(value)) {\n iterators.push(new StaticArrayIterator(value));\n }\n else if (typeof value[iterator_1.iterator] === 'function') {\n iterators.push(new StaticIterator(value[iterator_1.iterator]()));\n }\n else {\n iterators.push(new ZipBufferIterator(this.destination, this, value));\n }\n };\n ZipSubscriber.prototype._complete = function () {\n var iterators = this.iterators;\n var len = iterators.length;\n if (len === 0) {\n this.destination.complete();\n return;\n }\n this.active = len;\n for (var i = 0; i < len; i++) {\n var iterator = iterators[i];\n if (iterator.stillUnsubscribed) {\n this.add(iterator.subscribe(iterator, i));\n }\n else {\n this.active--; // not an observable\n }\n }\n };\n ZipSubscriber.prototype.notifyInactive = function () {\n this.active--;\n if (this.active === 0) {\n this.destination.complete();\n }\n };\n ZipSubscriber.prototype.checkIterators = function () {\n var iterators = this.iterators;\n var len = iterators.length;\n var destination = this.destination;\n // abort if not all of them have values\n for (var i = 0; i < len; i++) {\n var iterator = iterators[i];\n if (typeof iterator.hasValue === 'function' && !iterator.hasValue()) {\n return;\n }\n }\n var shouldComplete = false;\n var args = [];\n for (var i = 0; i < len; i++) {\n var iterator = iterators[i];\n var result = iterator.next();\n // check to see if it's completed now that you've gotten\n // the next value.\n if (iterator.hasCompleted()) {\n shouldComplete = true;\n }\n if (result.done) {\n destination.complete();\n return;\n }\n args.push(result.value);\n }\n if (this.project) {\n this._tryProject(args);\n }\n else {\n destination.next(args);\n }\n if (shouldComplete) {\n destination.complete();\n }\n };\n ZipSubscriber.prototype._tryProject = function (args) {\n var result;\n try {\n result = this.project.apply(this, args);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return ZipSubscriber;\n}(Subscriber_1.Subscriber));\nexports.ZipSubscriber = ZipSubscriber;\nvar StaticIterator = (function () {\n function StaticIterator(iterator) {\n this.iterator = iterator;\n this.nextResult = iterator.next();\n }\n StaticIterator.prototype.hasValue = function () {\n return true;\n };\n StaticIterator.prototype.next = function () {\n var result = this.nextResult;\n this.nextResult = this.iterator.next();\n return result;\n };\n StaticIterator.prototype.hasCompleted = function () {\n var nextResult = this.nextResult;\n return nextResult && nextResult.done;\n };\n return StaticIterator;\n}());\nvar StaticArrayIterator = (function () {\n function StaticArrayIterator(array) {\n this.array = array;\n this.index = 0;\n this.length = 0;\n this.length = array.length;\n }\n StaticArrayIterator.prototype[iterator_1.iterator] = function () {\n return this;\n };\n StaticArrayIterator.prototype.next = function (value) {\n var i = this.index++;\n var array = this.array;\n return i < this.length ? { value: array[i], done: false } : { value: null, done: true };\n };\n StaticArrayIterator.prototype.hasValue = function () {\n return this.array.length > this.index;\n };\n StaticArrayIterator.prototype.hasCompleted = function () {\n return this.array.length === this.index;\n };\n return StaticArrayIterator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ZipBufferIterator = (function (_super) {\n __extends(ZipBufferIterator, _super);\n function ZipBufferIterator(destination, parent, observable) {\n _super.call(this, destination);\n this.parent = parent;\n this.observable = observable;\n this.stillUnsubscribed = true;\n this.buffer = [];\n this.isComplete = false;\n }\n ZipBufferIterator.prototype[iterator_1.iterator] = function () {\n return this;\n };\n // NOTE: there is actually a name collision here with Subscriber.next and Iterator.next\n // this is legit because `next()` will never be called by a subscription in this case.\n ZipBufferIterator.prototype.next = function () {\n var buffer = this.buffer;\n if (buffer.length === 0 && this.isComplete) {\n return { value: null, done: true };\n }\n else {\n return { value: buffer.shift(), done: false };\n }\n };\n ZipBufferIterator.prototype.hasValue = function () {\n return this.buffer.length > 0;\n };\n ZipBufferIterator.prototype.hasCompleted = function () {\n return this.buffer.length === 0 && this.isComplete;\n };\n ZipBufferIterator.prototype.notifyComplete = function () {\n if (this.buffer.length > 0) {\n this.isComplete = true;\n this.parent.notifyInactive();\n }\n else {\n this.destination.complete();\n }\n };\n ZipBufferIterator.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.buffer.push(innerValue);\n this.parent.checkIterators();\n };\n ZipBufferIterator.prototype.subscribe = function (value, index) {\n return subscribeToResult_1.subscribeToResult(this, this.observable, this, index);\n };\n return ZipBufferIterator;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=zip.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/operators/zip.js\n// module id = 98\n// module chunks = 0","\"use strict\";\nvar Subscriber_1 = require('../Subscriber');\nvar rxSubscriber_1 = require('../symbol/rxSubscriber');\nvar Observer_1 = require('../Observer');\nfunction toSubscriber(nextOrObserver, error, complete) {\n if (nextOrObserver) {\n if (nextOrObserver instanceof Subscriber_1.Subscriber) {\n return nextOrObserver;\n }\n if (nextOrObserver[rxSubscriber_1.rxSubscriber]) {\n return nextOrObserver[rxSubscriber_1.rxSubscriber]();\n }\n }\n if (!nextOrObserver && !error && !complete) {\n return new Subscriber_1.Subscriber(Observer_1.empty);\n }\n return new Subscriber_1.Subscriber(nextOrObserver, error, complete);\n}\nexports.toSubscriber = toSubscriber;\n//# sourceMappingURL=toSubscriber.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/util/toSubscriber.js\n// module id = 99\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n/**\n * An error thrown when one or more errors have occurred during the\n * `unsubscribe` of a {@link Subscription}.\n */\nvar UnsubscriptionError = (function (_super) {\n __extends(UnsubscriptionError, _super);\n function UnsubscriptionError(errors) {\n _super.call(this);\n this.errors = errors;\n var err = Error.call(this, errors ?\n errors.length + \" errors occurred during unsubscription:\\n \" + errors.map(function (err, i) { return ((i + 1) + \") \" + err.toString()); }).join('\\n ') : '');\n this.name = err.name = 'UnsubscriptionError';\n this.stack = err.stack;\n this.message = err.message;\n }\n return UnsubscriptionError;\n}(Error));\nexports.UnsubscriptionError = UnsubscriptionError;\n//# sourceMappingURL=UnsubscriptionError.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/util/UnsubscriptionError.js\n// module id = 100\n// module chunks = 0","\"use strict\";\nvar noop_1 = require('./noop');\n/* tslint:enable:max-line-length */\nfunction pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i - 0] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexports.pipe = pipe;\n/* @internal */\nfunction pipeFromArray(fns) {\n if (!fns) {\n return noop_1.noop;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\nexports.pipeFromArray = pipeFromArray;\n//# sourceMappingURL=pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/util/pipe.js\n// module id = 101\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('./Subscriber');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar InnerSubscriber = (function (_super) {\n __extends(InnerSubscriber, _super);\n function InnerSubscriber(parent, outerValue, outerIndex) {\n _super.call(this);\n this.parent = parent;\n this.outerValue = outerValue;\n this.outerIndex = outerIndex;\n this.index = 0;\n }\n InnerSubscriber.prototype._next = function (value) {\n this.parent.notifyNext(this.outerValue, value, this.outerIndex, this.index++, this);\n };\n InnerSubscriber.prototype._error = function (error) {\n this.parent.notifyError(error, this);\n this.unsubscribe();\n };\n InnerSubscriber.prototype._complete = function () {\n this.parent.notifyComplete(this);\n this.unsubscribe();\n };\n return InnerSubscriber;\n}(Subscriber_1.Subscriber));\nexports.InnerSubscriber = InnerSubscriber;\n//# sourceMappingURL=InnerSubscriber.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/InnerSubscriber.js\n// module id = 102\n// module chunks = 0","import socket = require(\"socket.io-client\");\nimport { Observable } from \"rxjs/Observable\";\nimport { BehaviorSubject } from \"rxjs/BehaviorSubject\";\nimport { of } from \"rxjs/observable/of\";\nimport { share } from \"rxjs/operators/share\";\n\n/**\n * Alias for socket.emit\n * @param name\n * @param data\n */\n// export function emit(name, data) {\n// if (io && io.emit) {\n// // send relative path of where the event is sent\n// data.url = window.location.pathname;\n// io.emit(name, data);\n// }\n// }\n//\n// /**\n// * Alias for socket.on\n// * @param name\n// * @param func\n// */\n// export function on(name, func) {\n// io.on(name, func);\n// }\n\nexport function initWindow() {\n return of(window);\n}\n\nexport function initDocument() {\n return of(document);\n}\n\nexport function initNavigator() {\n return of(navigator);\n}\n\nexport function initOptions() {\n return new BehaviorSubject(window.___browserSync___.options);\n}\n\nexport function initSocket() {\n /**\n * @type {{emit: emit, on: on}}\n */\n\n const socketConfig = window.___browserSync___.socketConfig;\n const socketUrl = window.___browserSync___.socketUrl;\n const io = socket(socketUrl, socketConfig);\n const onevent = io.onevent;\n\n const socket$ = Observable.create(obs => {\n io.onevent = function(packet) {\n onevent.call(this, packet);\n obs.next(packet.data);\n };\n }).pipe(share());\n\n const io$ = new BehaviorSubject(io);\n\n /**\n * *****BACK-COMPAT*******\n * Scripts that come after Browsersync may rely on the previous window.___browserSync___.socket\n */\n window.___browserSync___.socket = io;\n\n return { socket$, io$ };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/socket.ts","\n/**\n * Module dependencies.\n */\n\nvar url = require('./url');\nvar parser = require('socket.io-parser');\nvar Manager = require('./manager');\nvar debug = require('debug')('socket.io-client');\n\n/**\n * Module exports.\n */\n\nmodule.exports = exports = lookup;\n\n/**\n * Managers cache.\n */\n\nvar cache = exports.managers = {};\n\n/**\n * Looks up an existing `Manager` for multiplexing.\n * If the user summons:\n *\n * `io('http://localhost/a');`\n * `io('http://localhost/b');`\n *\n * We reuse the existing instance based on same scheme/port/host,\n * and we initialize sockets for each namespace.\n *\n * @api public\n */\n\nfunction lookup (uri, opts) {\n if (typeof uri === 'object') {\n opts = uri;\n uri = undefined;\n }\n\n opts = opts || {};\n\n var parsed = url(uri);\n var source = parsed.source;\n var id = parsed.id;\n var path = parsed.path;\n var sameNamespace = cache[id] && path in cache[id].nsps;\n var newConnection = opts.forceNew || opts['force new connection'] ||\n false === opts.multiplex || sameNamespace;\n\n var io;\n\n if (newConnection) {\n debug('ignoring socket cache for %s', source);\n io = Manager(source, opts);\n } else {\n if (!cache[id]) {\n debug('new io instance for %s', source);\n cache[id] = Manager(source, opts);\n }\n io = cache[id];\n }\n if (parsed.query && !opts.query) {\n opts.query = parsed.query;\n }\n return io.socket(parsed.path, opts);\n}\n\n/**\n * Protocol version.\n *\n * @api public\n */\n\nexports.protocol = parser.protocol;\n\n/**\n * `connect`.\n *\n * @param {String} uri\n * @api public\n */\n\nexports.connect = lookup;\n\n/**\n * Expose constructors for standalone build.\n *\n * @api public\n */\n\nexports.Manager = require('./manager');\nexports.Socket = require('./socket');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/socket.io-client/lib/index.js\n// module id = 104\n// module chunks = 0","\n/**\n * Module dependencies.\n */\n\nvar parseuri = require('parseuri');\nvar debug = require('debug')('socket.io-client:url');\n\n/**\n * Module exports.\n */\n\nmodule.exports = url;\n\n/**\n * URL parser.\n *\n * @param {String} url\n * @param {Object} An object meant to mimic window.location.\n * Defaults to window.location.\n * @api public\n */\n\nfunction url (uri, loc) {\n var obj = uri;\n\n // default to window.location\n loc = loc || global.location;\n if (null == uri) uri = loc.protocol + '//' + loc.host;\n\n // relative path support\n if ('string' === typeof uri) {\n if ('/' === uri.charAt(0)) {\n if ('/' === uri.charAt(1)) {\n uri = loc.protocol + uri;\n } else {\n uri = loc.host + uri;\n }\n }\n\n if (!/^(https?|wss?):\\/\\//.test(uri)) {\n debug('protocol-less url %s', uri);\n if ('undefined' !== typeof loc) {\n uri = loc.protocol + '//' + uri;\n } else {\n uri = 'https://' + uri;\n }\n }\n\n // parse\n debug('parse %s', uri);\n obj = parseuri(uri);\n }\n\n // make sure we treat `localhost:80` and `localhost` equally\n if (!obj.port) {\n if (/^(http|ws)$/.test(obj.protocol)) {\n obj.port = '80';\n } else if (/^(http|ws)s$/.test(obj.protocol)) {\n obj.port = '443';\n }\n }\n\n obj.path = obj.path || '/';\n\n var ipv6 = obj.host.indexOf(':') !== -1;\n var host = ipv6 ? '[' + obj.host + ']' : obj.host;\n\n // define unique id\n obj.id = obj.protocol + '://' + host + ':' + obj.port;\n // define href\n obj.href = obj.protocol + '://' + host + (loc && loc.port === obj.port ? '' : (':' + obj.port));\n\n return obj;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/socket.io-client/lib/url.js\n// module id = 105\n// module chunks = 0","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = createDebug.debug = createDebug['default'] = createDebug;\nexports.coerce = coerce;\nexports.disable = disable;\nexports.enable = enable;\nexports.enabled = enabled;\nexports.humanize = require('ms');\n\n/**\n * The currently active debug mode names, and names to skip.\n */\n\nexports.names = [];\nexports.skips = [];\n\n/**\n * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n *\n * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n */\n\nexports.formatters = {};\n\n/**\n * Previous log timestamp.\n */\n\nvar prevTime;\n\n/**\n * Select a color.\n * @param {String} namespace\n * @return {Number}\n * @api private\n */\n\nfunction selectColor(namespace) {\n var hash = 0, i;\n\n for (i in namespace) {\n hash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return exports.colors[Math.abs(hash) % exports.colors.length];\n}\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {String} namespace\n * @return {Function}\n * @api public\n */\n\nfunction createDebug(namespace) {\n\n function debug() {\n // disabled?\n if (!debug.enabled) return;\n\n var self = debug;\n\n // set `diff` timestamp\n var curr = +new Date();\n var ms = curr - (prevTime || curr);\n self.diff = ms;\n self.prev = prevTime;\n self.curr = curr;\n prevTime = curr;\n\n // turn the `arguments` into a proper Array\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n args[0] = exports.coerce(args[0]);\n\n if ('string' !== typeof args[0]) {\n // anything else let's inspect with %O\n args.unshift('%O');\n }\n\n // apply any `formatters` transformations\n var index = 0;\n args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {\n // if we encounter an escaped % then don't increase the array index\n if (match === '%%') return match;\n index++;\n var formatter = exports.formatters[format];\n if ('function' === typeof formatter) {\n var val = args[index];\n match = formatter.call(self, val);\n\n // now we need to remove `args[index]` since it's inlined in the `format`\n args.splice(index, 1);\n index--;\n }\n return match;\n });\n\n // apply env-specific formatting (colors, etc.)\n exports.formatArgs.call(self, args);\n\n var logFn = debug.log || exports.log || console.log.bind(console);\n logFn.apply(self, args);\n }\n\n debug.namespace = namespace;\n debug.enabled = exports.enabled(namespace);\n debug.useColors = exports.useColors();\n debug.color = selectColor(namespace);\n\n // env-specific initialization logic for debug instances\n if ('function' === typeof exports.init) {\n exports.init(debug);\n }\n\n return debug;\n}\n\n/**\n * Enables a debug mode by namespaces. This can include modes\n * separated by a colon and wildcards.\n *\n * @param {String} namespaces\n * @api public\n */\n\nfunction enable(namespaces) {\n exports.save(namespaces);\n\n exports.names = [];\n exports.skips = [];\n\n var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n var len = split.length;\n\n for (var i = 0; i < len; i++) {\n if (!split[i]) continue; // ignore empty strings\n namespaces = split[i].replace(/\\*/g, '.*?');\n if (namespaces[0] === '-') {\n exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n } else {\n exports.names.push(new RegExp('^' + namespaces + '$'));\n }\n }\n}\n\n/**\n * Disable debug output.\n *\n * @api public\n */\n\nfunction disable() {\n exports.enable('');\n}\n\n/**\n * Returns true if the given mode name is enabled, false otherwise.\n *\n * @param {String} name\n * @return {Boolean}\n * @api public\n */\n\nfunction enabled(name) {\n var i, len;\n for (i = 0, len = exports.skips.length; i < len; i++) {\n if (exports.skips[i].test(name)) {\n return false;\n }\n }\n for (i = 0, len = exports.names.length; i < len; i++) {\n if (exports.names[i].test(name)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Coerce `val`.\n *\n * @param {Mixed} val\n * @return {Mixed}\n * @api private\n */\n\nfunction coerce(val) {\n if (val instanceof Error) return val.stack || val.message;\n return val;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/debug/src/debug.js\n// module id = 106\n// module chunks = 0","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isNaN(val) === false) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n if (ms >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (ms >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (ms >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (ms >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n return plural(ms, d, 'day') ||\n plural(ms, h, 'hour') ||\n plural(ms, m, 'minute') ||\n plural(ms, s, 'second') ||\n ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, n, name) {\n if (ms < n) {\n return;\n }\n if (ms < n * 1.5) {\n return Math.floor(ms / n) + ' ' + name;\n }\n return Math.ceil(ms / n) + ' ' + name + 's';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ms/index.js\n// module id = 107\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/has-binary2/node_modules/isarray/index.js\n// module id = 108\n// module chunks = 0","/*global Blob,File*/\n\n/**\n * Module requirements\n */\n\nvar isArray = require('isarray');\nvar isBuf = require('./is-buffer');\nvar toString = Object.prototype.toString;\nvar withNativeBlob = typeof global.Blob === 'function' || toString.call(global.Blob) === '[object BlobConstructor]';\nvar withNativeFile = typeof global.File === 'function' || toString.call(global.File) === '[object FileConstructor]';\n\n/**\n * Replaces every Buffer | ArrayBuffer in packet with a numbered placeholder.\n * Anything with blobs or files should be fed through removeBlobs before coming\n * here.\n *\n * @param {Object} packet - socket.io event packet\n * @return {Object} with deconstructed packet and list of buffers\n * @api public\n */\n\nexports.deconstructPacket = function(packet) {\n var buffers = [];\n var packetData = packet.data;\n var pack = packet;\n pack.data = _deconstructPacket(packetData, buffers);\n pack.attachments = buffers.length; // number of binary 'attachments'\n return {packet: pack, buffers: buffers};\n};\n\nfunction _deconstructPacket(data, buffers) {\n if (!data) return data;\n\n if (isBuf(data)) {\n var placeholder = { _placeholder: true, num: buffers.length };\n buffers.push(data);\n return placeholder;\n } else if (isArray(data)) {\n var newData = new Array(data.length);\n for (var i = 0; i < data.length; i++) {\n newData[i] = _deconstructPacket(data[i], buffers);\n }\n return newData;\n } else if (typeof data === 'object' && !(data instanceof Date)) {\n var newData = {};\n for (var key in data) {\n newData[key] = _deconstructPacket(data[key], buffers);\n }\n return newData;\n }\n return data;\n}\n\n/**\n * Reconstructs a binary packet from its placeholder packet and buffers\n *\n * @param {Object} packet - event packet with placeholders\n * @param {Array} buffers - binary buffers to put in placeholder positions\n * @return {Object} reconstructed packet\n * @api public\n */\n\nexports.reconstructPacket = function(packet, buffers) {\n packet.data = _reconstructPacket(packet.data, buffers);\n packet.attachments = undefined; // no longer useful\n return packet;\n};\n\nfunction _reconstructPacket(data, buffers) {\n if (!data) return data;\n\n if (data && data._placeholder) {\n return buffers[data.num]; // appropriate buffer (should be natural order anyway)\n } else if (isArray(data)) {\n for (var i = 0; i < data.length; i++) {\n data[i] = _reconstructPacket(data[i], buffers);\n }\n } else if (typeof data === 'object') {\n for (var key in data) {\n data[key] = _reconstructPacket(data[key], buffers);\n }\n }\n\n return data;\n}\n\n/**\n * Asynchronously removes Blobs or Files from data via\n * FileReader's readAsArrayBuffer method. Used before encoding\n * data as msgpack. Calls callback with the blobless data.\n *\n * @param {Object} data\n * @param {Function} callback\n * @api private\n */\n\nexports.removeBlobs = function(data, callback) {\n function _removeBlobs(obj, curKey, containingObject) {\n if (!obj) return obj;\n\n // convert any blob\n if ((withNativeBlob && obj instanceof Blob) ||\n (withNativeFile && obj instanceof File)) {\n pendingBlobs++;\n\n // async filereader\n var fileReader = new FileReader();\n fileReader.onload = function() { // this.result == arraybuffer\n if (containingObject) {\n containingObject[curKey] = this.result;\n }\n else {\n bloblessData = this.result;\n }\n\n // if nothing pending its callback time\n if(! --pendingBlobs) {\n callback(bloblessData);\n }\n };\n\n fileReader.readAsArrayBuffer(obj); // blob -> arraybuffer\n } else if (isArray(obj)) { // handle array\n for (var i = 0; i < obj.length; i++) {\n _removeBlobs(obj[i], i, obj);\n }\n } else if (typeof obj === 'object' && !isBuf(obj)) { // and object\n for (var key in obj) {\n _removeBlobs(obj[key], key, obj);\n }\n }\n }\n\n var pendingBlobs = 0;\n var bloblessData = data;\n _removeBlobs(bloblessData);\n if (!pendingBlobs) {\n callback(bloblessData);\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/socket.io-parser/binary.js\n// module id = 109\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/socket.io-parser/node_modules/isarray/index.js\n// module id = 110\n// module chunks = 0","\nmodule.exports = require('./socket');\n\n/**\n * Exports parser\n *\n * @api public\n *\n */\nmodule.exports.parser = require('engine.io-parser');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/engine.io-client/lib/index.js\n// module id = 111\n// module chunks = 0","/**\n * Module dependencies.\n */\n\nvar transports = require('./transports/index');\nvar Emitter = require('component-emitter');\nvar debug = require('debug')('engine.io-client:socket');\nvar index = require('indexof');\nvar parser = require('engine.io-parser');\nvar parseuri = require('parseuri');\nvar parseqs = require('parseqs');\n\n/**\n * Module exports.\n */\n\nmodule.exports = Socket;\n\n/**\n * Socket constructor.\n *\n * @param {String|Object} uri or options\n * @param {Object} options\n * @api public\n */\n\nfunction Socket (uri, opts) {\n if (!(this instanceof Socket)) return new Socket(uri, opts);\n\n opts = opts || {};\n\n if (uri && 'object' === typeof uri) {\n opts = uri;\n uri = null;\n }\n\n if (uri) {\n uri = parseuri(uri);\n opts.hostname = uri.host;\n opts.secure = uri.protocol === 'https' || uri.protocol === 'wss';\n opts.port = uri.port;\n if (uri.query) opts.query = uri.query;\n } else if (opts.host) {\n opts.hostname = parseuri(opts.host).host;\n }\n\n this.secure = null != opts.secure ? opts.secure\n : (global.location && 'https:' === location.protocol);\n\n if (opts.hostname && !opts.port) {\n // if no port is specified manually, use the protocol default\n opts.port = this.secure ? '443' : '80';\n }\n\n this.agent = opts.agent || false;\n this.hostname = opts.hostname ||\n (global.location ? location.hostname : 'localhost');\n this.port = opts.port || (global.location && location.port\n ? location.port\n : (this.secure ? 443 : 80));\n this.query = opts.query || {};\n if ('string' === typeof this.query) this.query = parseqs.decode(this.query);\n this.upgrade = false !== opts.upgrade;\n this.path = (opts.path || '/engine.io').replace(/\\/$/, '') + '/';\n this.forceJSONP = !!opts.forceJSONP;\n this.jsonp = false !== opts.jsonp;\n this.forceBase64 = !!opts.forceBase64;\n this.enablesXDR = !!opts.enablesXDR;\n this.timestampParam = opts.timestampParam || 't';\n this.timestampRequests = opts.timestampRequests;\n this.transports = opts.transports || ['polling', 'websocket'];\n this.transportOptions = opts.transportOptions || {};\n this.readyState = '';\n this.writeBuffer = [];\n this.prevBufferLen = 0;\n this.policyPort = opts.policyPort || 843;\n this.rememberUpgrade = opts.rememberUpgrade || false;\n this.binaryType = null;\n this.onlyBinaryUpgrades = opts.onlyBinaryUpgrades;\n this.perMessageDeflate = false !== opts.perMessageDeflate ? (opts.perMessageDeflate || {}) : false;\n\n if (true === this.perMessageDeflate) this.perMessageDeflate = {};\n if (this.perMessageDeflate && null == this.perMessageDeflate.threshold) {\n this.perMessageDeflate.threshold = 1024;\n }\n\n // SSL options for Node.js client\n this.pfx = opts.pfx || null;\n this.key = opts.key || null;\n this.passphrase = opts.passphrase || null;\n this.cert = opts.cert || null;\n this.ca = opts.ca || null;\n this.ciphers = opts.ciphers || null;\n this.rejectUnauthorized = opts.rejectUnauthorized === undefined ? true : opts.rejectUnauthorized;\n this.forceNode = !!opts.forceNode;\n\n // other options for Node.js client\n var freeGlobal = typeof global === 'object' && global;\n if (freeGlobal.global === freeGlobal) {\n if (opts.extraHeaders && Object.keys(opts.extraHeaders).length > 0) {\n this.extraHeaders = opts.extraHeaders;\n }\n\n if (opts.localAddress) {\n this.localAddress = opts.localAddress;\n }\n }\n\n // set on handshake\n this.id = null;\n this.upgrades = null;\n this.pingInterval = null;\n this.pingTimeout = null;\n\n // set on heartbeat\n this.pingIntervalTimer = null;\n this.pingTimeoutTimer = null;\n\n this.open();\n}\n\nSocket.priorWebsocketSuccess = false;\n\n/**\n * Mix in `Emitter`.\n */\n\nEmitter(Socket.prototype);\n\n/**\n * Protocol version.\n *\n * @api public\n */\n\nSocket.protocol = parser.protocol; // this is an int\n\n/**\n * Expose deps for legacy compatibility\n * and standalone browser access.\n */\n\nSocket.Socket = Socket;\nSocket.Transport = require('./transport');\nSocket.transports = require('./transports/index');\nSocket.parser = require('engine.io-parser');\n\n/**\n * Creates transport of the given type.\n *\n * @param {String} transport name\n * @return {Transport}\n * @api private\n */\n\nSocket.prototype.createTransport = function (name) {\n debug('creating transport \"%s\"', name);\n var query = clone(this.query);\n\n // append engine.io protocol identifier\n query.EIO = parser.protocol;\n\n // transport name\n query.transport = name;\n\n // per-transport options\n var options = this.transportOptions[name] || {};\n\n // session id if we already have one\n if (this.id) query.sid = this.id;\n\n var transport = new transports[name]({\n query: query,\n socket: this,\n agent: options.agent || this.agent,\n hostname: options.hostname || this.hostname,\n port: options.port || this.port,\n secure: options.secure || this.secure,\n path: options.path || this.path,\n forceJSONP: options.forceJSONP || this.forceJSONP,\n jsonp: options.jsonp || this.jsonp,\n forceBase64: options.forceBase64 || this.forceBase64,\n enablesXDR: options.enablesXDR || this.enablesXDR,\n timestampRequests: options.timestampRequests || this.timestampRequests,\n timestampParam: options.timestampParam || this.timestampParam,\n policyPort: options.policyPort || this.policyPort,\n pfx: options.pfx || this.pfx,\n key: options.key || this.key,\n passphrase: options.passphrase || this.passphrase,\n cert: options.cert || this.cert,\n ca: options.ca || this.ca,\n ciphers: options.ciphers || this.ciphers,\n rejectUnauthorized: options.rejectUnauthorized || this.rejectUnauthorized,\n perMessageDeflate: options.perMessageDeflate || this.perMessageDeflate,\n extraHeaders: options.extraHeaders || this.extraHeaders,\n forceNode: options.forceNode || this.forceNode,\n localAddress: options.localAddress || this.localAddress,\n requestTimeout: options.requestTimeout || this.requestTimeout,\n protocols: options.protocols || void (0)\n });\n\n return transport;\n};\n\nfunction clone (obj) {\n var o = {};\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n o[i] = obj[i];\n }\n }\n return o;\n}\n\n/**\n * Initializes transport to use and starts probe.\n *\n * @api private\n */\nSocket.prototype.open = function () {\n var transport;\n if (this.rememberUpgrade && Socket.priorWebsocketSuccess && this.transports.indexOf('websocket') !== -1) {\n transport = 'websocket';\n } else if (0 === this.transports.length) {\n // Emit error on next tick so it can be listened to\n var self = this;\n setTimeout(function () {\n self.emit('error', 'No transports available');\n }, 0);\n return;\n } else {\n transport = this.transports[0];\n }\n this.readyState = 'opening';\n\n // Retry with the next transport if the transport is disabled (jsonp: false)\n try {\n transport = this.createTransport(transport);\n } catch (e) {\n this.transports.shift();\n this.open();\n return;\n }\n\n transport.open();\n this.setTransport(transport);\n};\n\n/**\n * Sets the current transport. Disables the existing one (if any).\n *\n * @api private\n */\n\nSocket.prototype.setTransport = function (transport) {\n debug('setting transport %s', transport.name);\n var self = this;\n\n if (this.transport) {\n debug('clearing existing transport %s', this.transport.name);\n this.transport.removeAllListeners();\n }\n\n // set up transport\n this.transport = transport;\n\n // set up transport listeners\n transport\n .on('drain', function () {\n self.onDrain();\n })\n .on('packet', function (packet) {\n self.onPacket(packet);\n })\n .on('error', function (e) {\n self.onError(e);\n })\n .on('close', function () {\n self.onClose('transport close');\n });\n};\n\n/**\n * Probes a transport.\n *\n * @param {String} transport name\n * @api private\n */\n\nSocket.prototype.probe = function (name) {\n debug('probing transport \"%s\"', name);\n var transport = this.createTransport(name, { probe: 1 });\n var failed = false;\n var self = this;\n\n Socket.priorWebsocketSuccess = false;\n\n function onTransportOpen () {\n if (self.onlyBinaryUpgrades) {\n var upgradeLosesBinary = !this.supportsBinary && self.transport.supportsBinary;\n failed = failed || upgradeLosesBinary;\n }\n if (failed) return;\n\n debug('probe transport \"%s\" opened', name);\n transport.send([{ type: 'ping', data: 'probe' }]);\n transport.once('packet', function (msg) {\n if (failed) return;\n if ('pong' === msg.type && 'probe' === msg.data) {\n debug('probe transport \"%s\" pong', name);\n self.upgrading = true;\n self.emit('upgrading', transport);\n if (!transport) return;\n Socket.priorWebsocketSuccess = 'websocket' === transport.name;\n\n debug('pausing current transport \"%s\"', self.transport.name);\n self.transport.pause(function () {\n if (failed) return;\n if ('closed' === self.readyState) return;\n debug('changing transport and sending upgrade packet');\n\n cleanup();\n\n self.setTransport(transport);\n transport.send([{ type: 'upgrade' }]);\n self.emit('upgrade', transport);\n transport = null;\n self.upgrading = false;\n self.flush();\n });\n } else {\n debug('probe transport \"%s\" failed', name);\n var err = new Error('probe error');\n err.transport = transport.name;\n self.emit('upgradeError', err);\n }\n });\n }\n\n function freezeTransport () {\n if (failed) return;\n\n // Any callback called by transport should be ignored since now\n failed = true;\n\n cleanup();\n\n transport.close();\n transport = null;\n }\n\n // Handle any error that happens while probing\n function onerror (err) {\n var error = new Error('probe error: ' + err);\n error.transport = transport.name;\n\n freezeTransport();\n\n debug('probe transport \"%s\" failed because of error: %s', name, err);\n\n self.emit('upgradeError', error);\n }\n\n function onTransportClose () {\n onerror('transport closed');\n }\n\n // When the socket is closed while we're probing\n function onclose () {\n onerror('socket closed');\n }\n\n // When the socket is upgraded while we're probing\n function onupgrade (to) {\n if (transport && to.name !== transport.name) {\n debug('\"%s\" works - aborting \"%s\"', to.name, transport.name);\n freezeTransport();\n }\n }\n\n // Remove all listeners on the transport and on self\n function cleanup () {\n transport.removeListener('open', onTransportOpen);\n transport.removeListener('error', onerror);\n transport.removeListener('close', onTransportClose);\n self.removeListener('close', onclose);\n self.removeListener('upgrading', onupgrade);\n }\n\n transport.once('open', onTransportOpen);\n transport.once('error', onerror);\n transport.once('close', onTransportClose);\n\n this.once('close', onclose);\n this.once('upgrading', onupgrade);\n\n transport.open();\n};\n\n/**\n * Called when connection is deemed open.\n *\n * @api public\n */\n\nSocket.prototype.onOpen = function () {\n debug('socket open');\n this.readyState = 'open';\n Socket.priorWebsocketSuccess = 'websocket' === this.transport.name;\n this.emit('open');\n this.flush();\n\n // we check for `readyState` in case an `open`\n // listener already closed the socket\n if ('open' === this.readyState && this.upgrade && this.transport.pause) {\n debug('starting upgrade probes');\n for (var i = 0, l = this.upgrades.length; i < l; i++) {\n this.probe(this.upgrades[i]);\n }\n }\n};\n\n/**\n * Handles a packet.\n *\n * @api private\n */\n\nSocket.prototype.onPacket = function (packet) {\n if ('opening' === this.readyState || 'open' === this.readyState ||\n 'closing' === this.readyState) {\n debug('socket receive: type \"%s\", data \"%s\"', packet.type, packet.data);\n\n this.emit('packet', packet);\n\n // Socket is live - any packet counts\n this.emit('heartbeat');\n\n switch (packet.type) {\n case 'open':\n this.onHandshake(JSON.parse(packet.data));\n break;\n\n case 'pong':\n this.setPing();\n this.emit('pong');\n break;\n\n case 'error':\n var err = new Error('server error');\n err.code = packet.data;\n this.onError(err);\n break;\n\n case 'message':\n this.emit('data', packet.data);\n this.emit('message', packet.data);\n break;\n }\n } else {\n debug('packet received with socket readyState \"%s\"', this.readyState);\n }\n};\n\n/**\n * Called upon handshake completion.\n *\n * @param {Object} handshake obj\n * @api private\n */\n\nSocket.prototype.onHandshake = function (data) {\n this.emit('handshake', data);\n this.id = data.sid;\n this.transport.query.sid = data.sid;\n this.upgrades = this.filterUpgrades(data.upgrades);\n this.pingInterval = data.pingInterval;\n this.pingTimeout = data.pingTimeout;\n this.onOpen();\n // In case open handler closes socket\n if ('closed' === this.readyState) return;\n this.setPing();\n\n // Prolong liveness of socket on heartbeat\n this.removeListener('heartbeat', this.onHeartbeat);\n this.on('heartbeat', this.onHeartbeat);\n};\n\n/**\n * Resets ping timeout.\n *\n * @api private\n */\n\nSocket.prototype.onHeartbeat = function (timeout) {\n clearTimeout(this.pingTimeoutTimer);\n var self = this;\n self.pingTimeoutTimer = setTimeout(function () {\n if ('closed' === self.readyState) return;\n self.onClose('ping timeout');\n }, timeout || (self.pingInterval + self.pingTimeout));\n};\n\n/**\n * Pings server every `this.pingInterval` and expects response\n * within `this.pingTimeout` or closes connection.\n *\n * @api private\n */\n\nSocket.prototype.setPing = function () {\n var self = this;\n clearTimeout(self.pingIntervalTimer);\n self.pingIntervalTimer = setTimeout(function () {\n debug('writing ping packet - expecting pong within %sms', self.pingTimeout);\n self.ping();\n self.onHeartbeat(self.pingTimeout);\n }, self.pingInterval);\n};\n\n/**\n* Sends a ping packet.\n*\n* @api private\n*/\n\nSocket.prototype.ping = function () {\n var self = this;\n this.sendPacket('ping', function () {\n self.emit('ping');\n });\n};\n\n/**\n * Called on `drain` event\n *\n * @api private\n */\n\nSocket.prototype.onDrain = function () {\n this.writeBuffer.splice(0, this.prevBufferLen);\n\n // setting prevBufferLen = 0 is very important\n // for example, when upgrading, upgrade packet is sent over,\n // and a nonzero prevBufferLen could cause problems on `drain`\n this.prevBufferLen = 0;\n\n if (0 === this.writeBuffer.length) {\n this.emit('drain');\n } else {\n this.flush();\n }\n};\n\n/**\n * Flush write buffers.\n *\n * @api private\n */\n\nSocket.prototype.flush = function () {\n if ('closed' !== this.readyState && this.transport.writable &&\n !this.upgrading && this.writeBuffer.length) {\n debug('flushing %d packets in socket', this.writeBuffer.length);\n this.transport.send(this.writeBuffer);\n // keep track of current length of writeBuffer\n // splice writeBuffer and callbackBuffer on `drain`\n this.prevBufferLen = this.writeBuffer.length;\n this.emit('flush');\n }\n};\n\n/**\n * Sends a message.\n *\n * @param {String} message.\n * @param {Function} callback function.\n * @param {Object} options.\n * @return {Socket} for chaining.\n * @api public\n */\n\nSocket.prototype.write =\nSocket.prototype.send = function (msg, options, fn) {\n this.sendPacket('message', msg, options, fn);\n return this;\n};\n\n/**\n * Sends a packet.\n *\n * @param {String} packet type.\n * @param {String} data.\n * @param {Object} options.\n * @param {Function} callback function.\n * @api private\n */\n\nSocket.prototype.sendPacket = function (type, data, options, fn) {\n if ('function' === typeof data) {\n fn = data;\n data = undefined;\n }\n\n if ('function' === typeof options) {\n fn = options;\n options = null;\n }\n\n if ('closing' === this.readyState || 'closed' === this.readyState) {\n return;\n }\n\n options = options || {};\n options.compress = false !== options.compress;\n\n var packet = {\n type: type,\n data: data,\n options: options\n };\n this.emit('packetCreate', packet);\n this.writeBuffer.push(packet);\n if (fn) this.once('flush', fn);\n this.flush();\n};\n\n/**\n * Closes the connection.\n *\n * @api private\n */\n\nSocket.prototype.close = function () {\n if ('opening' === this.readyState || 'open' === this.readyState) {\n this.readyState = 'closing';\n\n var self = this;\n\n if (this.writeBuffer.length) {\n this.once('drain', function () {\n if (this.upgrading) {\n waitForUpgrade();\n } else {\n close();\n }\n });\n } else if (this.upgrading) {\n waitForUpgrade();\n } else {\n close();\n }\n }\n\n function close () {\n self.onClose('forced close');\n debug('socket closing - telling transport to close');\n self.transport.close();\n }\n\n function cleanupAndClose () {\n self.removeListener('upgrade', cleanupAndClose);\n self.removeListener('upgradeError', cleanupAndClose);\n close();\n }\n\n function waitForUpgrade () {\n // wait for upgrade to finish since we can't send packets while pausing a transport\n self.once('upgrade', cleanupAndClose);\n self.once('upgradeError', cleanupAndClose);\n }\n\n return this;\n};\n\n/**\n * Called upon transport error\n *\n * @api private\n */\n\nSocket.prototype.onError = function (err) {\n debug('socket error %j', err);\n Socket.priorWebsocketSuccess = false;\n this.emit('error', err);\n this.onClose('transport error', err);\n};\n\n/**\n * Called upon transport close.\n *\n * @api private\n */\n\nSocket.prototype.onClose = function (reason, desc) {\n if ('opening' === this.readyState || 'open' === this.readyState || 'closing' === this.readyState) {\n debug('socket close with reason: \"%s\"', reason);\n var self = this;\n\n // clear timers\n clearTimeout(this.pingIntervalTimer);\n clearTimeout(this.pingTimeoutTimer);\n\n // stop event from firing again for transport\n this.transport.removeAllListeners('close');\n\n // ensure transport won't stay open\n this.transport.close();\n\n // ignore further transport communication\n this.transport.removeAllListeners();\n\n // set ready state\n this.readyState = 'closed';\n\n // clear session id\n this.id = null;\n\n // emit close event\n this.emit('close', reason, desc);\n\n // clean buffers after, so users can still\n // grab the buffers on `close` event\n self.writeBuffer = [];\n self.prevBufferLen = 0;\n }\n};\n\n/**\n * Filters upgrades, returning only those matching client transports.\n *\n * @param {Array} server upgrades\n * @api private\n *\n */\n\nSocket.prototype.filterUpgrades = function (upgrades) {\n var filteredUpgrades = [];\n for (var i = 0, j = upgrades.length; i < j; i++) {\n if (~index(this.transports, upgrades[i])) filteredUpgrades.push(upgrades[i]);\n }\n return filteredUpgrades;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/engine.io-client/lib/socket.js\n// module id = 112\n// module chunks = 0","\n/**\n * Module exports.\n *\n * Logic borrowed from Modernizr:\n *\n * - https://github.com/Modernizr/Modernizr/blob/master/feature-detects/cors.js\n */\n\ntry {\n module.exports = typeof XMLHttpRequest !== 'undefined' &&\n 'withCredentials' in new XMLHttpRequest();\n} catch (err) {\n // if XMLHttp support is disabled in IE then it will throw\n // when trying to create\n module.exports = false;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/has-cors/index.js\n// module id = 113\n// module chunks = 0","/**\n * Module requirements.\n */\n\nvar XMLHttpRequest = require('xmlhttprequest-ssl');\nvar Polling = require('./polling');\nvar Emitter = require('component-emitter');\nvar inherit = require('component-inherit');\nvar debug = require('debug')('engine.io-client:polling-xhr');\n\n/**\n * Module exports.\n */\n\nmodule.exports = XHR;\nmodule.exports.Request = Request;\n\n/**\n * Empty function\n */\n\nfunction empty () {}\n\n/**\n * XHR Polling constructor.\n *\n * @param {Object} opts\n * @api public\n */\n\nfunction XHR (opts) {\n Polling.call(this, opts);\n this.requestTimeout = opts.requestTimeout;\n this.extraHeaders = opts.extraHeaders;\n\n if (global.location) {\n var isSSL = 'https:' === location.protocol;\n var port = location.port;\n\n // some user agents have empty `location.port`\n if (!port) {\n port = isSSL ? 443 : 80;\n }\n\n this.xd = opts.hostname !== global.location.hostname ||\n port !== opts.port;\n this.xs = opts.secure !== isSSL;\n }\n}\n\n/**\n * Inherits from Polling.\n */\n\ninherit(XHR, Polling);\n\n/**\n * XHR supports binary\n */\n\nXHR.prototype.supportsBinary = true;\n\n/**\n * Creates a request.\n *\n * @param {String} method\n * @api private\n */\n\nXHR.prototype.request = function (opts) {\n opts = opts || {};\n opts.uri = this.uri();\n opts.xd = this.xd;\n opts.xs = this.xs;\n opts.agent = this.agent || false;\n opts.supportsBinary = this.supportsBinary;\n opts.enablesXDR = this.enablesXDR;\n\n // SSL options for Node.js client\n opts.pfx = this.pfx;\n opts.key = this.key;\n opts.passphrase = this.passphrase;\n opts.cert = this.cert;\n opts.ca = this.ca;\n opts.ciphers = this.ciphers;\n opts.rejectUnauthorized = this.rejectUnauthorized;\n opts.requestTimeout = this.requestTimeout;\n\n // other options for Node.js client\n opts.extraHeaders = this.extraHeaders;\n\n return new Request(opts);\n};\n\n/**\n * Sends data.\n *\n * @param {String} data to send.\n * @param {Function} called upon flush.\n * @api private\n */\n\nXHR.prototype.doWrite = function (data, fn) {\n var isBinary = typeof data !== 'string' && data !== undefined;\n var req = this.request({ method: 'POST', data: data, isBinary: isBinary });\n var self = this;\n req.on('success', fn);\n req.on('error', function (err) {\n self.onError('xhr post error', err);\n });\n this.sendXhr = req;\n};\n\n/**\n * Starts a poll cycle.\n *\n * @api private\n */\n\nXHR.prototype.doPoll = function () {\n debug('xhr poll');\n var req = this.request();\n var self = this;\n req.on('data', function (data) {\n self.onData(data);\n });\n req.on('error', function (err) {\n self.onError('xhr poll error', err);\n });\n this.pollXhr = req;\n};\n\n/**\n * Request constructor\n *\n * @param {Object} options\n * @api public\n */\n\nfunction Request (opts) {\n this.method = opts.method || 'GET';\n this.uri = opts.uri;\n this.xd = !!opts.xd;\n this.xs = !!opts.xs;\n this.async = false !== opts.async;\n this.data = undefined !== opts.data ? opts.data : null;\n this.agent = opts.agent;\n this.isBinary = opts.isBinary;\n this.supportsBinary = opts.supportsBinary;\n this.enablesXDR = opts.enablesXDR;\n this.requestTimeout = opts.requestTimeout;\n\n // SSL options for Node.js client\n this.pfx = opts.pfx;\n this.key = opts.key;\n this.passphrase = opts.passphrase;\n this.cert = opts.cert;\n this.ca = opts.ca;\n this.ciphers = opts.ciphers;\n this.rejectUnauthorized = opts.rejectUnauthorized;\n\n // other options for Node.js client\n this.extraHeaders = opts.extraHeaders;\n\n this.create();\n}\n\n/**\n * Mix in `Emitter`.\n */\n\nEmitter(Request.prototype);\n\n/**\n * Creates the XHR object and sends the request.\n *\n * @api private\n */\n\nRequest.prototype.create = function () {\n var opts = { agent: this.agent, xdomain: this.xd, xscheme: this.xs, enablesXDR: this.enablesXDR };\n\n // SSL options for Node.js client\n opts.pfx = this.pfx;\n opts.key = this.key;\n opts.passphrase = this.passphrase;\n opts.cert = this.cert;\n opts.ca = this.ca;\n opts.ciphers = this.ciphers;\n opts.rejectUnauthorized = this.rejectUnauthorized;\n\n var xhr = this.xhr = new XMLHttpRequest(opts);\n var self = this;\n\n try {\n debug('xhr open %s: %s', this.method, this.uri);\n xhr.open(this.method, this.uri, this.async);\n try {\n if (this.extraHeaders) {\n xhr.setDisableHeaderCheck && xhr.setDisableHeaderCheck(true);\n for (var i in this.extraHeaders) {\n if (this.extraHeaders.hasOwnProperty(i)) {\n xhr.setRequestHeader(i, this.extraHeaders[i]);\n }\n }\n }\n } catch (e) {}\n\n if ('POST' === this.method) {\n try {\n if (this.isBinary) {\n xhr.setRequestHeader('Content-type', 'application/octet-stream');\n } else {\n xhr.setRequestHeader('Content-type', 'text/plain;charset=UTF-8');\n }\n } catch (e) {}\n }\n\n try {\n xhr.setRequestHeader('Accept', '*/*');\n } catch (e) {}\n\n // ie6 check\n if ('withCredentials' in xhr) {\n xhr.withCredentials = true;\n }\n\n if (this.requestTimeout) {\n xhr.timeout = this.requestTimeout;\n }\n\n if (this.hasXDR()) {\n xhr.onload = function () {\n self.onLoad();\n };\n xhr.onerror = function () {\n self.onError(xhr.responseText);\n };\n } else {\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 2) {\n var contentType;\n try {\n contentType = xhr.getResponseHeader('Content-Type');\n } catch (e) {}\n if (contentType === 'application/octet-stream') {\n xhr.responseType = 'arraybuffer';\n }\n }\n if (4 !== xhr.readyState) return;\n if (200 === xhr.status || 1223 === xhr.status) {\n self.onLoad();\n } else {\n // make sure the `error` event handler that's user-set\n // does not throw in the same tick and gets caught here\n setTimeout(function () {\n self.onError(xhr.status);\n }, 0);\n }\n };\n }\n\n debug('xhr data %s', this.data);\n xhr.send(this.data);\n } catch (e) {\n // Need to defer since .create() is called directly fhrom the constructor\n // and thus the 'error' event can only be only bound *after* this exception\n // occurs. Therefore, also, we cannot throw here at all.\n setTimeout(function () {\n self.onError(e);\n }, 0);\n return;\n }\n\n if (global.document) {\n this.index = Request.requestsCount++;\n Request.requests[this.index] = this;\n }\n};\n\n/**\n * Called upon successful response.\n *\n * @api private\n */\n\nRequest.prototype.onSuccess = function () {\n this.emit('success');\n this.cleanup();\n};\n\n/**\n * Called if we have data.\n *\n * @api private\n */\n\nRequest.prototype.onData = function (data) {\n this.emit('data', data);\n this.onSuccess();\n};\n\n/**\n * Called upon error.\n *\n * @api private\n */\n\nRequest.prototype.onError = function (err) {\n this.emit('error', err);\n this.cleanup(true);\n};\n\n/**\n * Cleans up house.\n *\n * @api private\n */\n\nRequest.prototype.cleanup = function (fromError) {\n if ('undefined' === typeof this.xhr || null === this.xhr) {\n return;\n }\n // xmlhttprequest\n if (this.hasXDR()) {\n this.xhr.onload = this.xhr.onerror = empty;\n } else {\n this.xhr.onreadystatechange = empty;\n }\n\n if (fromError) {\n try {\n this.xhr.abort();\n } catch (e) {}\n }\n\n if (global.document) {\n delete Request.requests[this.index];\n }\n\n this.xhr = null;\n};\n\n/**\n * Called upon load.\n *\n * @api private\n */\n\nRequest.prototype.onLoad = function () {\n var data;\n try {\n var contentType;\n try {\n contentType = this.xhr.getResponseHeader('Content-Type');\n } catch (e) {}\n if (contentType === 'application/octet-stream') {\n data = this.xhr.response || this.xhr.responseText;\n } else {\n data = this.xhr.responseText;\n }\n } catch (e) {\n this.onError(e);\n }\n if (null != data) {\n this.onData(data);\n }\n};\n\n/**\n * Check if it has XDomainRequest.\n *\n * @api private\n */\n\nRequest.prototype.hasXDR = function () {\n return 'undefined' !== typeof global.XDomainRequest && !this.xs && this.enablesXDR;\n};\n\n/**\n * Aborts the request.\n *\n * @api public\n */\n\nRequest.prototype.abort = function () {\n this.cleanup();\n};\n\n/**\n * Aborts pending requests when unloading the window. This is needed to prevent\n * memory leaks (e.g. when using IE) and to ensure that no spurious error is\n * emitted.\n */\n\nRequest.requestsCount = 0;\nRequest.requests = {};\n\nif (global.document) {\n if (global.attachEvent) {\n global.attachEvent('onunload', unloadHandler);\n } else if (global.addEventListener) {\n global.addEventListener('beforeunload', unloadHandler, false);\n }\n}\n\nfunction unloadHandler () {\n for (var i in Request.requests) {\n if (Request.requests.hasOwnProperty(i)) {\n Request.requests[i].abort();\n }\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/engine.io-client/lib/transports/polling-xhr.js\n// module id = 114\n// module chunks = 0","\n/**\n * Gets the keys for an object.\n *\n * @return {Array} keys\n * @api private\n */\n\nmodule.exports = Object.keys || function keys (obj){\n var arr = [];\n var has = Object.prototype.hasOwnProperty;\n\n for (var i in obj) {\n if (has.call(obj, i)) {\n arr.push(i);\n }\n }\n return arr;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/engine.io-parser/lib/keys.js\n// module id = 115\n// module chunks = 0","/**\n * An abstraction for slicing an arraybuffer even when\n * ArrayBuffer.prototype.slice is not supported\n *\n * @api public\n */\n\nmodule.exports = function(arraybuffer, start, end) {\n var bytes = arraybuffer.byteLength;\n start = start || 0;\n end = end || bytes;\n\n if (arraybuffer.slice) { return arraybuffer.slice(start, end); }\n\n if (start < 0) { start += bytes; }\n if (end < 0) { end += bytes; }\n if (end > bytes) { end = bytes; }\n\n if (start >= bytes || start >= end || bytes === 0) {\n return new ArrayBuffer(0);\n }\n\n var abv = new Uint8Array(arraybuffer);\n var result = new Uint8Array(end - start);\n for (var i = start, ii = 0; i < end; i++, ii++) {\n result[ii] = abv[i];\n }\n return result.buffer;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/arraybuffer.slice/index.js\n// module id = 116\n// module chunks = 0","module.exports = after\n\nfunction after(count, callback, err_cb) {\n var bail = false\n err_cb = err_cb || noop\n proxy.count = count\n\n return (count === 0) ? callback() : proxy\n\n function proxy(err, result) {\n if (proxy.count <= 0) {\n throw new Error('after called too many times')\n }\n --proxy.count\n\n // after first error, rest are passed to err_cb\n if (err) {\n bail = true\n callback(err)\n // future error callbacks will go to error handler\n callback = err_cb\n } else if (proxy.count === 0 && !bail) {\n callback(null, result)\n }\n }\n}\n\nfunction noop() {}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/after/index.js\n// module id = 117\n// module chunks = 0","/*! https://mths.be/utf8js v2.1.2 by @mathias */\n;(function(root) {\n\n\t// Detect free variables `exports`\n\tvar freeExports = typeof exports == 'object' && exports;\n\n\t// Detect free variable `module`\n\tvar freeModule = typeof module == 'object' && module &&\n\t\tmodule.exports == freeExports && module;\n\n\t// Detect free variable `global`, from Node.js or Browserified code,\n\t// and use it as `root`\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {\n\t\troot = freeGlobal;\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar stringFromCharCode = String.fromCharCode;\n\n\t// Taken from https://mths.be/punycode\n\tfunction ucs2decode(string) {\n\t\tvar output = [];\n\t\tvar counter = 0;\n\t\tvar length = string.length;\n\t\tvar value;\n\t\tvar extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t// Taken from https://mths.be/punycode\n\tfunction ucs2encode(array) {\n\t\tvar length = array.length;\n\t\tvar index = -1;\n\t\tvar value;\n\t\tvar output = '';\n\t\twhile (++index < length) {\n\t\t\tvalue = array[index];\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t}\n\t\treturn output;\n\t}\n\n\tfunction checkScalarValue(codePoint, strict) {\n\t\tif (codePoint >= 0xD800 && codePoint <= 0xDFFF) {\n\t\t\tif (strict) {\n\t\t\t\tthrow Error(\n\t\t\t\t\t'Lone surrogate U+' + codePoint.toString(16).toUpperCase() +\n\t\t\t\t\t' is not a scalar value'\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\t/*--------------------------------------------------------------------------*/\n\n\tfunction createByte(codePoint, shift) {\n\t\treturn stringFromCharCode(((codePoint >> shift) & 0x3F) | 0x80);\n\t}\n\n\tfunction encodeCodePoint(codePoint, strict) {\n\t\tif ((codePoint & 0xFFFFFF80) == 0) { // 1-byte sequence\n\t\t\treturn stringFromCharCode(codePoint);\n\t\t}\n\t\tvar symbol = '';\n\t\tif ((codePoint & 0xFFFFF800) == 0) { // 2-byte sequence\n\t\t\tsymbol = stringFromCharCode(((codePoint >> 6) & 0x1F) | 0xC0);\n\t\t}\n\t\telse if ((codePoint & 0xFFFF0000) == 0) { // 3-byte sequence\n\t\t\tif (!checkScalarValue(codePoint, strict)) {\n\t\t\t\tcodePoint = 0xFFFD;\n\t\t\t}\n\t\t\tsymbol = stringFromCharCode(((codePoint >> 12) & 0x0F) | 0xE0);\n\t\t\tsymbol += createByte(codePoint, 6);\n\t\t}\n\t\telse if ((codePoint & 0xFFE00000) == 0) { // 4-byte sequence\n\t\t\tsymbol = stringFromCharCode(((codePoint >> 18) & 0x07) | 0xF0);\n\t\t\tsymbol += createByte(codePoint, 12);\n\t\t\tsymbol += createByte(codePoint, 6);\n\t\t}\n\t\tsymbol += stringFromCharCode((codePoint & 0x3F) | 0x80);\n\t\treturn symbol;\n\t}\n\n\tfunction utf8encode(string, opts) {\n\t\topts = opts || {};\n\t\tvar strict = false !== opts.strict;\n\n\t\tvar codePoints = ucs2decode(string);\n\t\tvar length = codePoints.length;\n\t\tvar index = -1;\n\t\tvar codePoint;\n\t\tvar byteString = '';\n\t\twhile (++index < length) {\n\t\t\tcodePoint = codePoints[index];\n\t\t\tbyteString += encodeCodePoint(codePoint, strict);\n\t\t}\n\t\treturn byteString;\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\tfunction readContinuationByte() {\n\t\tif (byteIndex >= byteCount) {\n\t\t\tthrow Error('Invalid byte index');\n\t\t}\n\n\t\tvar continuationByte = byteArray[byteIndex] & 0xFF;\n\t\tbyteIndex++;\n\n\t\tif ((continuationByte & 0xC0) == 0x80) {\n\t\t\treturn continuationByte & 0x3F;\n\t\t}\n\n\t\t// If we end up here, it’s not a continuation byte\n\t\tthrow Error('Invalid continuation byte');\n\t}\n\n\tfunction decodeSymbol(strict) {\n\t\tvar byte1;\n\t\tvar byte2;\n\t\tvar byte3;\n\t\tvar byte4;\n\t\tvar codePoint;\n\n\t\tif (byteIndex > byteCount) {\n\t\t\tthrow Error('Invalid byte index');\n\t\t}\n\n\t\tif (byteIndex == byteCount) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Read first byte\n\t\tbyte1 = byteArray[byteIndex] & 0xFF;\n\t\tbyteIndex++;\n\n\t\t// 1-byte sequence (no continuation bytes)\n\t\tif ((byte1 & 0x80) == 0) {\n\t\t\treturn byte1;\n\t\t}\n\n\t\t// 2-byte sequence\n\t\tif ((byte1 & 0xE0) == 0xC0) {\n\t\t\tbyte2 = readContinuationByte();\n\t\t\tcodePoint = ((byte1 & 0x1F) << 6) | byte2;\n\t\t\tif (codePoint >= 0x80) {\n\t\t\t\treturn codePoint;\n\t\t\t} else {\n\t\t\t\tthrow Error('Invalid continuation byte');\n\t\t\t}\n\t\t}\n\n\t\t// 3-byte sequence (may include unpaired surrogates)\n\t\tif ((byte1 & 0xF0) == 0xE0) {\n\t\t\tbyte2 = readContinuationByte();\n\t\t\tbyte3 = readContinuationByte();\n\t\t\tcodePoint = ((byte1 & 0x0F) << 12) | (byte2 << 6) | byte3;\n\t\t\tif (codePoint >= 0x0800) {\n\t\t\t\treturn checkScalarValue(codePoint, strict) ? codePoint : 0xFFFD;\n\t\t\t} else {\n\t\t\t\tthrow Error('Invalid continuation byte');\n\t\t\t}\n\t\t}\n\n\t\t// 4-byte sequence\n\t\tif ((byte1 & 0xF8) == 0xF0) {\n\t\t\tbyte2 = readContinuationByte();\n\t\t\tbyte3 = readContinuationByte();\n\t\t\tbyte4 = readContinuationByte();\n\t\t\tcodePoint = ((byte1 & 0x07) << 0x12) | (byte2 << 0x0C) |\n\t\t\t\t(byte3 << 0x06) | byte4;\n\t\t\tif (codePoint >= 0x010000 && codePoint <= 0x10FFFF) {\n\t\t\t\treturn codePoint;\n\t\t\t}\n\t\t}\n\n\t\tthrow Error('Invalid UTF-8 detected');\n\t}\n\n\tvar byteArray;\n\tvar byteCount;\n\tvar byteIndex;\n\tfunction utf8decode(byteString, opts) {\n\t\topts = opts || {};\n\t\tvar strict = false !== opts.strict;\n\n\t\tbyteArray = ucs2decode(byteString);\n\t\tbyteCount = byteArray.length;\n\t\tbyteIndex = 0;\n\t\tvar codePoints = [];\n\t\tvar tmp;\n\t\twhile ((tmp = decodeSymbol(strict)) !== false) {\n\t\t\tcodePoints.push(tmp);\n\t\t}\n\t\treturn ucs2encode(codePoints);\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar utf8 = {\n\t\t'version': '2.1.2',\n\t\t'encode': utf8encode,\n\t\t'decode': utf8decode\n\t};\n\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine(function() {\n\t\t\treturn utf8;\n\t\t});\n\t}\telse if (freeExports && !freeExports.nodeType) {\n\t\tif (freeModule) { // in Node.js or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = utf8;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tvar object = {};\n\t\t\tvar hasOwnProperty = object.hasOwnProperty;\n\t\t\tfor (var key in utf8) {\n\t\t\t\thasOwnProperty.call(utf8, key) && (freeExports[key] = utf8[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.utf8 = utf8;\n\t}\n\n}(this));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/engine.io-parser/lib/utf8.js\n// module id = 118\n// module chunks = 0","module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/module.js\n// module id = 119\n// module chunks = 0","/*\n * base64-arraybuffer\n * https://github.com/niklasvh/base64-arraybuffer\n *\n * Copyright (c) 2012 Niklas von Hertzen\n * Licensed under the MIT license.\n */\n(function(){\n \"use strict\";\n\n var chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n\n // Use a lookup table to find the index.\n var lookup = new Uint8Array(256);\n for (var i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n }\n\n exports.encode = function(arraybuffer) {\n var bytes = new Uint8Array(arraybuffer),\n i, len = bytes.length, base64 = \"\";\n\n for (i = 0; i < len; i+=3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n\n if ((len % 3) === 2) {\n base64 = base64.substring(0, base64.length - 1) + \"=\";\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + \"==\";\n }\n\n return base64;\n };\n\n exports.decode = function(base64) {\n var bufferLength = base64.length * 0.75,\n len = base64.length, i, p = 0,\n encoded1, encoded2, encoded3, encoded4;\n\n if (base64[base64.length - 1] === \"=\") {\n bufferLength--;\n if (base64[base64.length - 2] === \"=\") {\n bufferLength--;\n }\n }\n\n var arraybuffer = new ArrayBuffer(bufferLength),\n bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i+=4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i+1)];\n encoded3 = lookup[base64.charCodeAt(i+2)];\n encoded4 = lookup[base64.charCodeAt(i+3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arraybuffer;\n };\n})();\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/base64-arraybuffer/lib/base64-arraybuffer.js\n// module id = 120\n// module chunks = 0","/**\n * Create a blob builder even when vendor prefixes exist\n */\n\nvar BlobBuilder = global.BlobBuilder\n || global.WebKitBlobBuilder\n || global.MSBlobBuilder\n || global.MozBlobBuilder;\n\n/**\n * Check if Blob constructor is supported\n */\n\nvar blobSupported = (function() {\n try {\n var a = new Blob(['hi']);\n return a.size === 2;\n } catch(e) {\n return false;\n }\n})();\n\n/**\n * Check if Blob constructor supports ArrayBufferViews\n * Fails in Safari 6, so we need to map to ArrayBuffers there.\n */\n\nvar blobSupportsArrayBufferView = blobSupported && (function() {\n try {\n var b = new Blob([new Uint8Array([1,2])]);\n return b.size === 2;\n } catch(e) {\n return false;\n }\n})();\n\n/**\n * Check if BlobBuilder is supported\n */\n\nvar blobBuilderSupported = BlobBuilder\n && BlobBuilder.prototype.append\n && BlobBuilder.prototype.getBlob;\n\n/**\n * Helper function that maps ArrayBufferViews to ArrayBuffers\n * Used by BlobBuilder constructor and old browsers that didn't\n * support it in the Blob constructor.\n */\n\nfunction mapArrayBufferViews(ary) {\n for (var i = 0; i < ary.length; i++) {\n var chunk = ary[i];\n if (chunk.buffer instanceof ArrayBuffer) {\n var buf = chunk.buffer;\n\n // if this is a subarray, make a copy so we only\n // include the subarray region from the underlying buffer\n if (chunk.byteLength !== buf.byteLength) {\n var copy = new Uint8Array(chunk.byteLength);\n copy.set(new Uint8Array(buf, chunk.byteOffset, chunk.byteLength));\n buf = copy.buffer;\n }\n\n ary[i] = buf;\n }\n }\n}\n\nfunction BlobBuilderConstructor(ary, options) {\n options = options || {};\n\n var bb = new BlobBuilder();\n mapArrayBufferViews(ary);\n\n for (var i = 0; i < ary.length; i++) {\n bb.append(ary[i]);\n }\n\n return (options.type) ? bb.getBlob(options.type) : bb.getBlob();\n};\n\nfunction BlobConstructor(ary, options) {\n mapArrayBufferViews(ary);\n return new Blob(ary, options || {});\n};\n\nmodule.exports = (function() {\n if (blobSupported) {\n return blobSupportsArrayBufferView ? global.Blob : BlobConstructor;\n } else if (blobBuilderSupported) {\n return BlobBuilderConstructor;\n } else {\n return undefined;\n }\n})();\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/blob/index.js\n// module id = 121\n// module chunks = 0","\n/**\n * Module requirements.\n */\n\nvar Polling = require('./polling');\nvar inherit = require('component-inherit');\n\n/**\n * Module exports.\n */\n\nmodule.exports = JSONPPolling;\n\n/**\n * Cached regular expressions.\n */\n\nvar rNewline = /\\n/g;\nvar rEscapedNewline = /\\\\n/g;\n\n/**\n * Global JSONP callbacks.\n */\n\nvar callbacks;\n\n/**\n * Noop.\n */\n\nfunction empty () { }\n\n/**\n * JSONP Polling constructor.\n *\n * @param {Object} opts.\n * @api public\n */\n\nfunction JSONPPolling (opts) {\n Polling.call(this, opts);\n\n this.query = this.query || {};\n\n // define global callbacks array if not present\n // we do this here (lazily) to avoid unneeded global pollution\n if (!callbacks) {\n // we need to consider multiple engines in the same page\n if (!global.___eio) global.___eio = [];\n callbacks = global.___eio;\n }\n\n // callback identifier\n this.index = callbacks.length;\n\n // add callback to jsonp global\n var self = this;\n callbacks.push(function (msg) {\n self.onData(msg);\n });\n\n // append to query string\n this.query.j = this.index;\n\n // prevent spurious errors from being emitted when the window is unloaded\n if (global.document && global.addEventListener) {\n global.addEventListener('beforeunload', function () {\n if (self.script) self.script.onerror = empty;\n }, false);\n }\n}\n\n/**\n * Inherits from Polling.\n */\n\ninherit(JSONPPolling, Polling);\n\n/*\n * JSONP only supports binary as base64 encoded strings\n */\n\nJSONPPolling.prototype.supportsBinary = false;\n\n/**\n * Closes the socket.\n *\n * @api private\n */\n\nJSONPPolling.prototype.doClose = function () {\n if (this.script) {\n this.script.parentNode.removeChild(this.script);\n this.script = null;\n }\n\n if (this.form) {\n this.form.parentNode.removeChild(this.form);\n this.form = null;\n this.iframe = null;\n }\n\n Polling.prototype.doClose.call(this);\n};\n\n/**\n * Starts a poll cycle.\n *\n * @api private\n */\n\nJSONPPolling.prototype.doPoll = function () {\n var self = this;\n var script = document.createElement('script');\n\n if (this.script) {\n this.script.parentNode.removeChild(this.script);\n this.script = null;\n }\n\n script.async = true;\n script.src = this.uri();\n script.onerror = function (e) {\n self.onError('jsonp poll error', e);\n };\n\n var insertAt = document.getElementsByTagName('script')[0];\n if (insertAt) {\n insertAt.parentNode.insertBefore(script, insertAt);\n } else {\n (document.head || document.body).appendChild(script);\n }\n this.script = script;\n\n var isUAgecko = 'undefined' !== typeof navigator && /gecko/i.test(navigator.userAgent);\n\n if (isUAgecko) {\n setTimeout(function () {\n var iframe = document.createElement('iframe');\n document.body.appendChild(iframe);\n document.body.removeChild(iframe);\n }, 100);\n }\n};\n\n/**\n * Writes with a hidden iframe.\n *\n * @param {String} data to send\n * @param {Function} called upon flush.\n * @api private\n */\n\nJSONPPolling.prototype.doWrite = function (data, fn) {\n var self = this;\n\n if (!this.form) {\n var form = document.createElement('form');\n var area = document.createElement('textarea');\n var id = this.iframeId = 'eio_iframe_' + this.index;\n var iframe;\n\n form.className = 'socketio';\n form.style.position = 'absolute';\n form.style.top = '-1000px';\n form.style.left = '-1000px';\n form.target = id;\n form.method = 'POST';\n form.setAttribute('accept-charset', 'utf-8');\n area.name = 'd';\n form.appendChild(area);\n document.body.appendChild(form);\n\n this.form = form;\n this.area = area;\n }\n\n this.form.action = this.uri();\n\n function complete () {\n initIframe();\n fn();\n }\n\n function initIframe () {\n if (self.iframe) {\n try {\n self.form.removeChild(self.iframe);\n } catch (e) {\n self.onError('jsonp polling iframe removal error', e);\n }\n }\n\n try {\n // ie6 dynamic iframes with target=\"\" support (thanks Chris Lambacher)\n var html = '<iframe src=\"javascript:0\" name=\"' + self.iframeId + '\">';\n iframe = document.createElement(html);\n } catch (e) {\n iframe = document.createElement('iframe');\n iframe.name = self.iframeId;\n iframe.src = 'javascript:0';\n }\n\n iframe.id = self.iframeId;\n\n self.form.appendChild(iframe);\n self.iframe = iframe;\n }\n\n initIframe();\n\n // escape \\n to prevent it from being converted into \\r\\n by some UAs\n // double escaping is required for escaped new lines because unescaping of new lines can be done safely on server-side\n data = data.replace(rEscapedNewline, '\\\\\\n');\n this.area.value = data.replace(rNewline, '\\\\n');\n\n try {\n this.form.submit();\n } catch (e) {}\n\n if (this.iframe.attachEvent) {\n this.iframe.onreadystatechange = function () {\n if (self.iframe.readyState === 'complete') {\n complete();\n }\n };\n } else {\n this.iframe.onload = complete;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/engine.io-client/lib/transports/polling-jsonp.js\n// module id = 122\n// module chunks = 0","/**\n * Module dependencies.\n */\n\nvar Transport = require('../transport');\nvar parser = require('engine.io-parser');\nvar parseqs = require('parseqs');\nvar inherit = require('component-inherit');\nvar yeast = require('yeast');\nvar debug = require('debug')('engine.io-client:websocket');\nvar BrowserWebSocket = global.WebSocket || global.MozWebSocket;\nvar NodeWebSocket;\nif (typeof window === 'undefined') {\n try {\n NodeWebSocket = require('ws');\n } catch (e) { }\n}\n\n/**\n * Get either the `WebSocket` or `MozWebSocket` globals\n * in the browser or try to resolve WebSocket-compatible\n * interface exposed by `ws` for Node-like environment.\n */\n\nvar WebSocket = BrowserWebSocket;\nif (!WebSocket && typeof window === 'undefined') {\n WebSocket = NodeWebSocket;\n}\n\n/**\n * Module exports.\n */\n\nmodule.exports = WS;\n\n/**\n * WebSocket transport constructor.\n *\n * @api {Object} connection options\n * @api public\n */\n\nfunction WS (opts) {\n var forceBase64 = (opts && opts.forceBase64);\n if (forceBase64) {\n this.supportsBinary = false;\n }\n this.perMessageDeflate = opts.perMessageDeflate;\n this.usingBrowserWebSocket = BrowserWebSocket && !opts.forceNode;\n this.protocols = opts.protocols;\n if (!this.usingBrowserWebSocket) {\n WebSocket = NodeWebSocket;\n }\n Transport.call(this, opts);\n}\n\n/**\n * Inherits from Transport.\n */\n\ninherit(WS, Transport);\n\n/**\n * Transport name.\n *\n * @api public\n */\n\nWS.prototype.name = 'websocket';\n\n/*\n * WebSockets support binary\n */\n\nWS.prototype.supportsBinary = true;\n\n/**\n * Opens socket.\n *\n * @api private\n */\n\nWS.prototype.doOpen = function () {\n if (!this.check()) {\n // let probe timeout\n return;\n }\n\n var uri = this.uri();\n var protocols = this.protocols;\n var opts = {\n agent: this.agent,\n perMessageDeflate: this.perMessageDeflate\n };\n\n // SSL options for Node.js client\n opts.pfx = this.pfx;\n opts.key = this.key;\n opts.passphrase = this.passphrase;\n opts.cert = this.cert;\n opts.ca = this.ca;\n opts.ciphers = this.ciphers;\n opts.rejectUnauthorized = this.rejectUnauthorized;\n if (this.extraHeaders) {\n opts.headers = this.extraHeaders;\n }\n if (this.localAddress) {\n opts.localAddress = this.localAddress;\n }\n\n try {\n this.ws = this.usingBrowserWebSocket ? (protocols ? new WebSocket(uri, protocols) : new WebSocket(uri)) : new WebSocket(uri, protocols, opts);\n } catch (err) {\n return this.emit('error', err);\n }\n\n if (this.ws.binaryType === undefined) {\n this.supportsBinary = false;\n }\n\n if (this.ws.supports && this.ws.supports.binary) {\n this.supportsBinary = true;\n this.ws.binaryType = 'nodebuffer';\n } else {\n this.ws.binaryType = 'arraybuffer';\n }\n\n this.addEventListeners();\n};\n\n/**\n * Adds event listeners to the socket\n *\n * @api private\n */\n\nWS.prototype.addEventListeners = function () {\n var self = this;\n\n this.ws.onopen = function () {\n self.onOpen();\n };\n this.ws.onclose = function () {\n self.onClose();\n };\n this.ws.onmessage = function (ev) {\n self.onData(ev.data);\n };\n this.ws.onerror = function (e) {\n self.onError('websocket error', e);\n };\n};\n\n/**\n * Writes data to socket.\n *\n * @param {Array} array of packets.\n * @api private\n */\n\nWS.prototype.write = function (packets) {\n var self = this;\n this.writable = false;\n\n // encodePacket efficient as it uses WS framing\n // no need for encodePayload\n var total = packets.length;\n for (var i = 0, l = total; i < l; i++) {\n (function (packet) {\n parser.encodePacket(packet, self.supportsBinary, function (data) {\n if (!self.usingBrowserWebSocket) {\n // always create a new object (GH-437)\n var opts = {};\n if (packet.options) {\n opts.compress = packet.options.compress;\n }\n\n if (self.perMessageDeflate) {\n var len = 'string' === typeof data ? global.Buffer.byteLength(data) : data.length;\n if (len < self.perMessageDeflate.threshold) {\n opts.compress = false;\n }\n }\n }\n\n // Sometimes the websocket has already been closed but the browser didn't\n // have a chance of informing us about it yet, in that case send will\n // throw an error\n try {\n if (self.usingBrowserWebSocket) {\n // TypeError is thrown when passing the second argument on Safari\n self.ws.send(data);\n } else {\n self.ws.send(data, opts);\n }\n } catch (e) {\n debug('websocket closed before onclose event');\n }\n\n --total || done();\n });\n })(packets[i]);\n }\n\n function done () {\n self.emit('flush');\n\n // fake drain\n // defer to next tick to allow Socket to clear writeBuffer\n setTimeout(function () {\n self.writable = true;\n self.emit('drain');\n }, 0);\n }\n};\n\n/**\n * Called upon close\n *\n * @api private\n */\n\nWS.prototype.onClose = function () {\n Transport.prototype.onClose.call(this);\n};\n\n/**\n * Closes socket.\n *\n * @api private\n */\n\nWS.prototype.doClose = function () {\n if (typeof this.ws !== 'undefined') {\n this.ws.close();\n }\n};\n\n/**\n * Generates uri for connection.\n *\n * @api private\n */\n\nWS.prototype.uri = function () {\n var query = this.query || {};\n var schema = this.secure ? 'wss' : 'ws';\n var port = '';\n\n // avoid port if default for schema\n if (this.port && (('wss' === schema && Number(this.port) !== 443) ||\n ('ws' === schema && Number(this.port) !== 80))) {\n port = ':' + this.port;\n }\n\n // append timestamp to URI\n if (this.timestampRequests) {\n query[this.timestampParam] = yeast();\n }\n\n // communicate binary support capabilities\n if (!this.supportsBinary) {\n query.b64 = 1;\n }\n\n query = parseqs.encode(query);\n\n // prepend ? to query\n if (query.length) {\n query = '?' + query;\n }\n\n var ipv6 = this.hostname.indexOf(':') !== -1;\n return schema + '://' + (ipv6 ? '[' + this.hostname + ']' : this.hostname) + port + this.path + query;\n};\n\n/**\n * Feature detection for WebSocket.\n *\n * @return {Boolean} whether this transport is available.\n * @api public\n */\n\nWS.prototype.check = function () {\n return !!WebSocket && !('__initialize' in WebSocket && this.name === WS.prototype.name);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/engine.io-client/lib/transports/websocket.js\n// module id = 123\n// module chunks = 0","/* (ignored) */\n\n\n//////////////////\n// WEBPACK FOOTER\n// ws (ignored)\n// module id = 124\n// module chunks = 0","module.exports = toArray\n\nfunction toArray(list, index) {\n var array = []\n\n index = index || 0\n\n for (var i = index || 0; i < list.length; i++) {\n array[i - index] = list[i]\n }\n\n return array\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/to-array/index.js\n// module id = 125\n// module chunks = 0","\n/**\n * Expose `Backoff`.\n */\n\nmodule.exports = Backoff;\n\n/**\n * Initialize backoff timer with `opts`.\n *\n * - `min` initial timeout in milliseconds [100]\n * - `max` max timeout [10000]\n * - `jitter` [0]\n * - `factor` [2]\n *\n * @param {Object} opts\n * @api public\n */\n\nfunction Backoff(opts) {\n opts = opts || {};\n this.ms = opts.min || 100;\n this.max = opts.max || 10000;\n this.factor = opts.factor || 2;\n this.jitter = opts.jitter > 0 && opts.jitter <= 1 ? opts.jitter : 0;\n this.attempts = 0;\n}\n\n/**\n * Return the backoff duration.\n *\n * @return {Number}\n * @api public\n */\n\nBackoff.prototype.duration = function(){\n var ms = this.ms * Math.pow(this.factor, this.attempts++);\n if (this.jitter) {\n var rand = Math.random();\n var deviation = Math.floor(rand * this.jitter * ms);\n ms = (Math.floor(rand * 10) & 1) == 0 ? ms - deviation : ms + deviation;\n }\n return Math.min(ms, this.max) | 0;\n};\n\n/**\n * Reset the number of attempts.\n *\n * @api public\n */\n\nBackoff.prototype.reset = function(){\n this.attempts = 0;\n};\n\n/**\n * Set the minimum duration\n *\n * @api public\n */\n\nBackoff.prototype.setMin = function(min){\n this.ms = min;\n};\n\n/**\n * Set the maximum duration\n *\n * @api public\n */\n\nBackoff.prototype.setMax = function(max){\n this.max = max;\n};\n\n/**\n * Set the jitter\n *\n * @api public\n */\n\nBackoff.prototype.setJitter = function(jitter){\n this.jitter = jitter;\n};\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/backo2/index.js\n// module id = 126\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscription_1 = require('./Subscription');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SubjectSubscription = (function (_super) {\n __extends(SubjectSubscription, _super);\n function SubjectSubscription(subject, subscriber) {\n _super.call(this);\n this.subject = subject;\n this.subscriber = subscriber;\n this.closed = false;\n }\n SubjectSubscription.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.closed = true;\n var subject = this.subject;\n var observers = subject.observers;\n this.subject = null;\n if (!observers || observers.length === 0 || subject.isStopped || subject.closed) {\n return;\n }\n var subscriberIndex = observers.indexOf(this.subscriber);\n if (subscriberIndex !== -1) {\n observers.splice(subscriberIndex, 1);\n }\n };\n return SubjectSubscription;\n}(Subscription_1.Subscription));\nexports.SubjectSubscription = SubjectSubscription;\n//# sourceMappingURL=SubjectSubscription.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/SubjectSubscription.js\n// module id = 127\n// module chunks = 0","\"use strict\";\nvar ConnectableObservable_1 = require('../observable/ConnectableObservable');\n/* tslint:enable:max-line-length */\n/**\n * Returns an Observable that emits the results of invoking a specified selector on items\n * emitted by a ConnectableObservable that shares a single subscription to the underlying stream.\n *\n * <img src=\"./img/multicast.png\" width=\"100%\">\n *\n * @param {Function|Subject} subjectOrSubjectFactory - Factory function to create an intermediate subject through\n * which the source sequence's elements will be multicast to the selector function\n * or Subject to push source elements into.\n * @param {Function} [selector] - Optional selector function that can use the multicasted source stream\n * as many times as needed, without causing multiple subscriptions to the source stream.\n * Subscribers to the given source will receive all notifications of the source from the\n * time of the subscription forward.\n * @return {Observable} An Observable that emits the results of invoking the selector\n * on the items emitted by a `ConnectableObservable` that shares a single subscription to\n * the underlying stream.\n * @method multicast\n * @owner Observable\n */\nfunction multicast(subjectOrSubjectFactory, selector) {\n return function multicastOperatorFunction(source) {\n var subjectFactory;\n if (typeof subjectOrSubjectFactory === 'function') {\n subjectFactory = subjectOrSubjectFactory;\n }\n else {\n subjectFactory = function subjectFactory() {\n return subjectOrSubjectFactory;\n };\n }\n if (typeof selector === 'function') {\n return source.lift(new MulticastOperator(subjectFactory, selector));\n }\n var connectable = Object.create(source, ConnectableObservable_1.connectableObservableDescriptor);\n connectable.source = source;\n connectable.subjectFactory = subjectFactory;\n return connectable;\n };\n}\nexports.multicast = multicast;\nvar MulticastOperator = (function () {\n function MulticastOperator(subjectFactory, selector) {\n this.subjectFactory = subjectFactory;\n this.selector = selector;\n }\n MulticastOperator.prototype.call = function (subscriber, source) {\n var selector = this.selector;\n var subject = this.subjectFactory();\n var subscription = selector(subject).subscribe(subscriber);\n subscription.add(source.subscribe(subject));\n return subscription;\n };\n return MulticastOperator;\n}());\nexports.MulticastOperator = MulticastOperator;\n//# sourceMappingURL=multicast.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/operators/multicast.js\n// module id = 128\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subject_1 = require('../Subject');\nvar Observable_1 = require('../Observable');\nvar Subscriber_1 = require('../Subscriber');\nvar Subscription_1 = require('../Subscription');\nvar refCount_1 = require('../operators/refCount');\n/**\n * @class ConnectableObservable<T>\n */\nvar ConnectableObservable = (function (_super) {\n __extends(ConnectableObservable, _super);\n function ConnectableObservable(source, subjectFactory) {\n _super.call(this);\n this.source = source;\n this.subjectFactory = subjectFactory;\n this._refCount = 0;\n this._isComplete = false;\n }\n ConnectableObservable.prototype._subscribe = function (subscriber) {\n return this.getSubject().subscribe(subscriber);\n };\n ConnectableObservable.prototype.getSubject = function () {\n var subject = this._subject;\n if (!subject || subject.isStopped) {\n this._subject = this.subjectFactory();\n }\n return this._subject;\n };\n ConnectableObservable.prototype.connect = function () {\n var connection = this._connection;\n if (!connection) {\n this._isComplete = false;\n connection = this._connection = new Subscription_1.Subscription();\n connection.add(this.source\n .subscribe(new ConnectableSubscriber(this.getSubject(), this)));\n if (connection.closed) {\n this._connection = null;\n connection = Subscription_1.Subscription.EMPTY;\n }\n else {\n this._connection = connection;\n }\n }\n return connection;\n };\n ConnectableObservable.prototype.refCount = function () {\n return refCount_1.refCount()(this);\n };\n return ConnectableObservable;\n}(Observable_1.Observable));\nexports.ConnectableObservable = ConnectableObservable;\nvar connectableProto = ConnectableObservable.prototype;\nexports.connectableObservableDescriptor = {\n operator: { value: null },\n _refCount: { value: 0, writable: true },\n _subject: { value: null, writable: true },\n _connection: { value: null, writable: true },\n _subscribe: { value: connectableProto._subscribe },\n _isComplete: { value: connectableProto._isComplete, writable: true },\n getSubject: { value: connectableProto.getSubject },\n connect: { value: connectableProto.connect },\n refCount: { value: connectableProto.refCount }\n};\nvar ConnectableSubscriber = (function (_super) {\n __extends(ConnectableSubscriber, _super);\n function ConnectableSubscriber(destination, connectable) {\n _super.call(this, destination);\n this.connectable = connectable;\n }\n ConnectableSubscriber.prototype._error = function (err) {\n this._unsubscribe();\n _super.prototype._error.call(this, err);\n };\n ConnectableSubscriber.prototype._complete = function () {\n this.connectable._isComplete = true;\n this._unsubscribe();\n _super.prototype._complete.call(this);\n };\n ConnectableSubscriber.prototype._unsubscribe = function () {\n var connectable = this.connectable;\n if (connectable) {\n this.connectable = null;\n var connection = connectable._connection;\n connectable._refCount = 0;\n connectable._subject = null;\n connectable._connection = null;\n if (connection) {\n connection.unsubscribe();\n }\n }\n };\n return ConnectableSubscriber;\n}(Subject_1.SubjectSubscriber));\nvar RefCountOperator = (function () {\n function RefCountOperator(connectable) {\n this.connectable = connectable;\n }\n RefCountOperator.prototype.call = function (subscriber, source) {\n var connectable = this.connectable;\n connectable._refCount++;\n var refCounter = new RefCountSubscriber(subscriber, connectable);\n var subscription = source.subscribe(refCounter);\n if (!refCounter.closed) {\n refCounter.connection = connectable.connect();\n }\n return subscription;\n };\n return RefCountOperator;\n}());\nvar RefCountSubscriber = (function (_super) {\n __extends(RefCountSubscriber, _super);\n function RefCountSubscriber(destination, connectable) {\n _super.call(this, destination);\n this.connectable = connectable;\n }\n RefCountSubscriber.prototype._unsubscribe = function () {\n var connectable = this.connectable;\n if (!connectable) {\n this.connection = null;\n return;\n }\n this.connectable = null;\n var refCount = connectable._refCount;\n if (refCount <= 0) {\n this.connection = null;\n return;\n }\n connectable._refCount = refCount - 1;\n if (refCount > 1) {\n this.connection = null;\n return;\n }\n ///\n // Compare the local RefCountSubscriber's connection Subscription to the\n // connection Subscription on the shared ConnectableObservable. In cases\n // where the ConnectableObservable source synchronously emits values, and\n // the RefCountSubscriber's downstream Observers synchronously unsubscribe,\n // execution continues to here before the RefCountOperator has a chance to\n // supply the RefCountSubscriber with the shared connection Subscription.\n // For example:\n // ```\n // Observable.range(0, 10)\n // .publish()\n // .refCount()\n // .take(5)\n // .subscribe();\n // ```\n // In order to account for this case, RefCountSubscriber should only dispose\n // the ConnectableObservable's shared connection Subscription if the\n // connection Subscription exists, *and* either:\n // a. RefCountSubscriber doesn't have a reference to the shared connection\n // Subscription yet, or,\n // b. RefCountSubscriber's connection Subscription reference is identical\n // to the shared connection Subscription\n ///\n var connection = this.connection;\n var sharedConnection = connectable._connection;\n this.connection = null;\n if (sharedConnection && (!connection || sharedConnection === connection)) {\n sharedConnection.unsubscribe();\n }\n };\n return RefCountSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=ConnectableObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/observable/ConnectableObservable.js\n// module id = 129\n// module chunks = 0","import { BehaviorSubject } from \"rxjs/BehaviorSubject\";\n\nconst styles = {\n display: \"none\",\n padding: \"15px\",\n fontFamily: \"sans-serif\",\n position: \"fixed\",\n fontSize: \"0.9em\",\n zIndex: 9999,\n right: 0,\n top: 0,\n borderBottomLeftRadius: \"5px\",\n backgroundColor: \"#1B2032\",\n margin: 0,\n color: \"white\",\n textAlign: \"center\",\n pointerEvents: \"none\"\n};\n\n/**\n * @param {IBrowserSyncOptions} options\n * @returns {BehaviorSubject<any>}\n */\nexport function initNotify(options) {\n let cssStyles = styles;\n let elem;\n\n if (options.notify.styles) {\n if (\n Object.prototype.toString.call(options.notify.styles) ===\n \"[object Array]\"\n ) {\n // handle original array behavior, replace all styles with a joined copy\n cssStyles = options.notify.styles.join(\";\");\n } else {\n for (var key in options.notify.styles) {\n if (options.notify.styles.hasOwnProperty(key)) {\n cssStyles[key] = options.notify.styles[key];\n }\n }\n }\n }\n\n elem = document.createElement(\"DIV\");\n elem.id = \"__bs_notify__\";\n\n if (typeof cssStyles === \"string\") {\n elem.style.cssText = cssStyles;\n } else {\n for (var rule in cssStyles) {\n elem.style[rule] = cssStyles[rule];\n }\n }\n\n return new BehaviorSubject(elem);\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/notify.ts","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar isNumeric_1 = require('../util/isNumeric');\nvar Observable_1 = require('../Observable');\nvar async_1 = require('../scheduler/async');\nvar isScheduler_1 = require('../util/isScheduler');\nvar isDate_1 = require('../util/isDate');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar TimerObservable = (function (_super) {\n __extends(TimerObservable, _super);\n function TimerObservable(dueTime, period, scheduler) {\n if (dueTime === void 0) { dueTime = 0; }\n _super.call(this);\n this.period = -1;\n this.dueTime = 0;\n if (isNumeric_1.isNumeric(period)) {\n this.period = Number(period) < 1 && 1 || Number(period);\n }\n else if (isScheduler_1.isScheduler(period)) {\n scheduler = period;\n }\n if (!isScheduler_1.isScheduler(scheduler)) {\n scheduler = async_1.async;\n }\n this.scheduler = scheduler;\n this.dueTime = isDate_1.isDate(dueTime) ?\n (+dueTime - this.scheduler.now()) :\n dueTime;\n }\n /**\n * Creates an Observable that starts emitting after an `initialDelay` and\n * emits ever increasing numbers after each `period` of time thereafter.\n *\n * <span class=\"informal\">Its like {@link interval}, but you can specify when\n * should the emissions start.</span>\n *\n * <img src=\"./img/timer.png\" width=\"100%\">\n *\n * `timer` returns an Observable that emits an infinite sequence of ascending\n * integers, with a constant interval of time, `period` of your choosing\n * between those emissions. The first emission happens after the specified\n * `initialDelay`. The initial delay may be a {@link Date}. By default, this\n * operator uses the `async` IScheduler to provide a notion of time, but you\n * may pass any IScheduler to it. If `period` is not specified, the output\n * Observable emits only one value, `0`. Otherwise, it emits an infinite\n * sequence.\n *\n * @example <caption>Emits ascending numbers, one every second (1000ms), starting after 3 seconds</caption>\n * var numbers = Rx.Observable.timer(3000, 1000);\n * numbers.subscribe(x => console.log(x));\n *\n * @example <caption>Emits one number after five seconds</caption>\n * var numbers = Rx.Observable.timer(5000);\n * numbers.subscribe(x => console.log(x));\n *\n * @see {@link interval}\n * @see {@link delay}\n *\n * @param {number|Date} initialDelay The initial delay time to wait before\n * emitting the first value of `0`.\n * @param {number} [period] The period of time between emissions of the\n * subsequent numbers.\n * @param {Scheduler} [scheduler=async] The IScheduler to use for scheduling\n * the emission of values, and providing a notion of \"time\".\n * @return {Observable} An Observable that emits a `0` after the\n * `initialDelay` and ever increasing numbers after each `period` of time\n * thereafter.\n * @static true\n * @name timer\n * @owner Observable\n */\n TimerObservable.create = function (initialDelay, period, scheduler) {\n if (initialDelay === void 0) { initialDelay = 0; }\n return new TimerObservable(initialDelay, period, scheduler);\n };\n TimerObservable.dispatch = function (state) {\n var index = state.index, period = state.period, subscriber = state.subscriber;\n var action = this;\n subscriber.next(index);\n if (subscriber.closed) {\n return;\n }\n else if (period === -1) {\n return subscriber.complete();\n }\n state.index = index + 1;\n action.schedule(state, period);\n };\n TimerObservable.prototype._subscribe = function (subscriber) {\n var index = 0;\n var _a = this, period = _a.period, dueTime = _a.dueTime, scheduler = _a.scheduler;\n return scheduler.schedule(TimerObservable.dispatch, dueTime, {\n index: index, period: period, subscriber: subscriber\n });\n };\n return TimerObservable;\n}(Observable_1.Observable));\nexports.TimerObservable = TimerObservable;\n//# sourceMappingURL=TimerObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/observable/TimerObservable.js\n// module id = 131\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscription_1 = require('../Subscription');\n/**\n * A unit of work to be executed in a {@link Scheduler}. An action is typically\n * created from within a Scheduler and an RxJS user does not need to concern\n * themselves about creating and manipulating an Action.\n *\n * ```ts\n * class Action<T> extends Subscription {\n * new (scheduler: Scheduler, work: (state?: T) => void);\n * schedule(state?: T, delay: number = 0): Subscription;\n * }\n * ```\n *\n * @class Action<T>\n */\nvar Action = (function (_super) {\n __extends(Action, _super);\n function Action(scheduler, work) {\n _super.call(this);\n }\n /**\n * Schedules this action on its parent Scheduler for execution. May be passed\n * some context object, `state`. May happen at some point in the future,\n * according to the `delay` parameter, if specified.\n * @param {T} [state] Some contextual data that the `work` function uses when\n * called by the Scheduler.\n * @param {number} [delay] Time to wait before executing the work, where the\n * time unit is implicit and defined by the Scheduler.\n * @return {void}\n */\n Action.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n return this;\n };\n return Action;\n}(Subscription_1.Subscription));\nexports.Action = Action;\n//# sourceMappingURL=Action.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/scheduler/Action.js\n// module id = 132\n// module chunks = 0","\"use strict\";\n/**\n * An execution context and a data structure to order tasks and schedule their\n * execution. Provides a notion of (potentially virtual) time, through the\n * `now()` getter method.\n *\n * Each unit of work in a Scheduler is called an {@link Action}.\n *\n * ```ts\n * class Scheduler {\n * now(): number;\n * schedule(work, delay?, state?): Subscription;\n * }\n * ```\n *\n * @class Scheduler\n */\nvar Scheduler = (function () {\n function Scheduler(SchedulerAction, now) {\n if (now === void 0) { now = Scheduler.now; }\n this.SchedulerAction = SchedulerAction;\n this.now = now;\n }\n /**\n * Schedules a function, `work`, for execution. May happen at some point in\n * the future, according to the `delay` parameter, if specified. May be passed\n * some context object, `state`, which will be passed to the `work` function.\n *\n * The given arguments will be processed an stored as an Action object in a\n * queue of actions.\n *\n * @param {function(state: ?T): ?Subscription} work A function representing a\n * task, or some unit of work to be executed by the Scheduler.\n * @param {number} [delay] Time to wait before executing the work, where the\n * time unit is implicit and defined by the Scheduler itself.\n * @param {T} [state] Some contextual data that the `work` function uses when\n * called by the Scheduler.\n * @return {Subscription} A subscription in order to be able to unsubscribe\n * the scheduled work.\n */\n Scheduler.prototype.schedule = function (work, delay, state) {\n if (delay === void 0) { delay = 0; }\n return new this.SchedulerAction(this, work).schedule(state, delay);\n };\n Scheduler.now = Date.now ? Date.now : function () { return +new Date(); };\n return Scheduler;\n}());\nexports.Scheduler = Scheduler;\n//# sourceMappingURL=Scheduler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/Scheduler.js\n// module id = 133\n// module chunks = 0","\"use strict\";\nfunction isDate(value) {\n return value instanceof Date && !isNaN(+value);\n}\nexports.isDate = isDate;\n//# sourceMappingURL=isDate.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/util/isDate.js\n// module id = 134\n// module chunks = 0","const emojis = {\n trace: '🔍',\n debug: '🐛',\n info: '✨',\n warn: '⚠',\n error: '🚨',\n fatal: '💀'\n};\n\nconst levels = {\n trace: 10,\n debug: 20,\n info: 30,\n warn: 40,\n error: 50,\n fatal: 60\n};\n\nconst defaultColors = {\n foreground: '#d3c0c8',\n background: '#2d2d2d',\n black: '#2d2d2d',\n red: '#f2777a',\n green: '#99cc99',\n yellow: '#ffcc66',\n blue: '#6699cc',\n magenta: '#cc99cc',\n cyan: '#66cccc',\n white: '#d3d0c8',\n brightBlack: '#747369'\n};\n\nexport class Nanologger {\n public _name: string;\n public _colors: { [index: string]: string };\n public logLevel: string;\n public _logLevel: string;\n\n constructor(public name: string, public opts) {\n this._name = name || '';\n this._colors = {\n ...defaultColors,\n ...(opts.colors || {})\n }\n try {\n this.logLevel = window.localStorage.getItem('logLevel') || 'info'\n } catch (e) {\n this.logLevel = 'info'\n }\n\n this._logLevel = levels[this.logLevel]\n }\n\n public trace() {\n var args = ['trace']\n for (var i = 0, len = arguments.length; i < len; i++) args.push(arguments[i])\n this._print.apply(this, args)\n }\n\n public debug() {\n var args = ['debug']\n for (var i = 0, len = arguments.length; i < len; i++) args.push(arguments[i])\n this._print.apply(this, args)\n }\n\n public info() {\n var args = ['info']\n for (var i = 0, len = arguments.length; i < len; i++) args.push(arguments[i])\n this._print.apply(this, args)\n }\n\n public warn() {\n var args = ['warn']\n for (var i = 0, len = arguments.length; i < len; i++) args.push(arguments[i])\n this._print.apply(this, args)\n }\n\n public error() {\n var args = ['error']\n for (var i = 0, len = arguments.length; i < len; i++) args.push(arguments[i])\n this._print.apply(this, args)\n }\n\n public fatal() {\n var args = ['fatal']\n for (var i = 0, len = arguments.length; i < len; i++) args.push(arguments[i])\n this._print.apply(this, args)\n }\n\n private _print(level) {\n if (levels[level] < this._logLevel) return\n\n // var time = getTimeStamp()\n var emoji = emojis[level]\n var name = this._name || 'unknown'\n\n var msgColor = (level === 'error' || level.fatal)\n ? this._colors.red\n : level === 'warn'\n ? this._colors.yellow\n : this._colors.green\n\n var objs = []\n var args = [null]\n var msg = emoji + ' %c%s';\n\n // args.push(color(this._colors.brightBlack), time)\n args.push(color(this._colors.magenta), name)\n\n for (var i = 1, len = arguments.length; i < len; i++) {\n var arg = arguments[i]\n if (typeof arg === 'string') {\n if (i === 1) {\n // first string argument is in color\n msg += ' %c%s'\n args.push(color(msgColor))\n args.push(arg)\n } else if (/ms$/.test(arg)) {\n // arguments finishing with 'ms', grey out\n msg += ' %c%s'\n args.push(color(this._colors.brightBlack))\n args.push(arg)\n } else {\n // normal colors\n msg += ' %c%s'\n args.push(color(this._colors.white))\n args.push(arg)\n }\n } else if (typeof arg === 'number') {\n msg += ' %c%d'\n args.push(color(this._colors.magenta))\n args.push(arg)\n } else {\n objs.push(arg)\n }\n }\n\n args[0] = msg\n objs.forEach(function (obj) {\n args.push(obj)\n })\n\n // In IE/Edge console functions don't inherit from Function.prototype\n // so this is necessary to get all the args applied.\n Function.prototype.apply.apply(console.log, [console, args])\n }\n}\n\nfunction color(color) {\n return 'color: ' + color + ';'\n}\n\nfunction getTimeStamp() {\n var date = new Date()\n var hours = pad(date.getHours().toString())\n var minutes = pad(date.getMinutes().toString())\n var seconds = pad(date.getSeconds().toString())\n return hours + ':' + minutes + ':' + seconds\n}\n\nfunction pad(str) {\n return str.length !== 2 ? 0 + str : str\n}\n\n\n\n// WEBPACK FOOTER //\n// ./vendor/logger.ts","/**\n *\n * With thanks to https://github.com/livereload/livereload-js\n * :) :) :)\n *\n */\nimport {getLocation, pathFromUrl, pathsMatch, pickBestMatch, splitUrl, updateSearch, array} from \"../lib/utils\";\nimport {empty} from \"rxjs/observable/empty\";\nimport {Observable} from \"rxjs/Observable\";\nimport {merge} from \"rxjs/observable/merge\";\nimport {timer} from \"rxjs/observable/timer\";\nimport {from} from \"rxjs/observable/from\";\nimport {filter} from \"rxjs/operators/filter\";\nimport {map} from \"rxjs/operators/map\";\nimport {mergeMap} from \"rxjs/operators/mergeMap\";\nimport {take} from \"rxjs/operators/take\";\nimport {tap} from \"rxjs/operators/tap\";\nimport {mapTo} from \"rxjs/operators/mapTo\";\nimport {propSet} from \"../lib/dom-effects/prop-set.dom-effect\";\nimport {styleSet} from \"../lib/dom-effects/style-set.dom-effect\";\nimport {linkReplace} from \"../lib/dom-effects/link-replace.dom-effect\";\n\nvar hiddenElem;\n\ndeclare global {\n interface HTMLLinkElement {\n __LiveReload_pendingRemoval: boolean\n }\n}\n\nconst IMAGE_STYLES = [\n { selector: 'background', styleNames: ['backgroundImage'] },\n { selector: 'border', styleNames: ['borderImage', 'webkitBorderImage', 'MozBorderImage'] }\n];\n\nconst attrs = {\n link: \"href\",\n img: \"src\",\n script: \"src\"\n};\n\nexport interface ReloadOptions {\n stylesheetReloadTimeout?: number;\n serverURL?: string;\n overrideURL?: string;\n liveCSS?: boolean;\n liveImg?: boolean;\n tagNames: {[index: string]: string}\n}\n\nexport function reload(document: Document, navigator: Navigator) {\n return function(data, options: ReloadOptions): Observable<any> {\n const {path} = data;\n\n if (options.liveCSS) {\n if (path.match(/\\.css$/i)) {\n return reloadStylesheet(path, document, navigator);\n }\n }\n\n if (options.liveImg) {\n if (path.match(/\\.(jpe?g|png|gif)$/i)) {\n return reloadImages(path, document);\n }\n }\n\n /**\n * LEGACY\n */\n const domData = getElems(data.ext, options, document);\n const elems = getMatches(domData.elems, data.basename, domData.attr);\n\n for (var i = 0, n = elems.length; i < n; i += 1) {\n swapFile(elems[i], domData, options, document, navigator);\n }\n\n return empty();\n }\n\n function getMatches(elems, url, attr) {\n\n if (url[0] === \"*\") {\n return elems;\n }\n\n var matches = [];\n var urlMatcher = new RegExp(\"(^|/)\" + url);\n\n for (var i = 0, len = elems.length; i < len; i += 1) {\n if (urlMatcher.test(elems[i][attr])) {\n matches.push(elems[i]);\n }\n }\n\n return matches;\n }\n\n function getElems(fileExtension, options: ReloadOptions, document: Document) {\n const tagName = options.tagNames[fileExtension];\n const attr = attrs[tagName];\n return {\n attr,\n tagName,\n elems: document.getElementsByTagName(tagName)\n };\n }\n\n\n function reloadImages(path, document): Observable<any> {\n\n const expando = generateUniqueString(Date.now());\n\n return merge(\n from([].slice.call(document.images))\n .pipe(\n filter((img: HTMLImageElement) => pathsMatch(path, pathFromUrl(img.src)))\n , map((img: HTMLImageElement) => {\n const payload = {\n target: img,\n prop: 'src',\n value: generateCacheBustUrl(img.src, expando),\n pathname: getLocation(img.src).pathname\n };\n return propSet(payload);\n })\n ),\n from(IMAGE_STYLES)\n .pipe(\n mergeMap(({ selector, styleNames }) => {\n return from(document.querySelectorAll(`[style*=${selector}]`)).pipe(\n mergeMap((img: HTMLImageElement) => {\n return reloadStyleImages(img.style, styleNames, path, expando);\n })\n )\n\n })\n )\n );\n\n // if (document.styleSheets) {\n // return [].slice.call(document.styleSheets)\n // .map((styleSheet) => {\n // return reloadStylesheetImages(styleSheet, path, expando);\n // });\n // }\n }\n\n\n function reloadStylesheetImages(styleSheet, path, expando) {\n let rules;\n try {\n rules = styleSheet != null ? styleSheet.cssRules : undefined;\n } catch (e) {}\n //\n if (!rules) { return; }\n\n [].slice.call(rules).forEach(rule => {\n switch (rule.type) {\n case CSSRule.IMPORT_RULE:\n reloadStylesheetImages(rule.styleSheet, path, expando);\n break;\n case CSSRule.STYLE_RULE:\n [].slice.call(IMAGE_STYLES).forEach(({ styleNames }) => {\n reloadStyleImages((rule as any).style, styleNames, path, expando);\n })\n break;\n case CSSRule.MEDIA_RULE:\n reloadStylesheetImages(rule, path, expando);\n break;\n }\n })\n }\n\n function reloadStyleImages(style, styleNames: string[], path, expando): Observable<any> {\n return from(styleNames).pipe(\n filter(styleName => typeof style[styleName] === 'string')\n , map((styleName: string) => {\n let pathName;\n const value = style[styleName];\n const newValue = value.replace(new RegExp(`\\\\burl\\\\s*\\\\(([^)]*)\\\\)`), (match, src) => {\n let _src = src;\n if (src[0] === '\"' && src[src.length-1] === '\"') {\n _src = src.slice(1, -1);\n }\n pathName = getLocation(_src).pathname;\n if (pathsMatch(path, pathFromUrl(_src))) {\n return `url(${generateCacheBustUrl(_src, expando)})`;\n } else {\n return match;\n }\n });\n\n return [\n style,\n styleName,\n value,\n newValue,\n pathName\n ];\n })\n , filter(([style, styleName, value, newValue]) => newValue !== value)\n , map(([style, styleName, value, newValue, pathName]) => styleSet({style, styleName, value, newValue, pathName}))\n )\n }\n\n function swapFile(elem, domData, options, document, navigator) {\n\n const attr = domData.attr;\n const currentValue = elem[attr];\n const timeStamp = new Date().getTime();\n const key = \"browsersync-legacy\";\n const suffix = key + \"=\" + timeStamp;\n const anchor = getLocation(currentValue);\n const search = updateSearch(anchor.search, key, suffix);\n\n switch (domData.tagName) {\n case 'link': {\n // this.logger.trace(`replacing LINK ${attr}`);\n reloadStylesheet(currentValue, document, navigator);\n break;\n }\n case 'img': {\n reloadImages(currentValue, document);\n break;\n }\n default: {\n if (options.timestamps === false) {\n elem[attr] = anchor.href;\n } else {\n elem[attr] = anchor.href.split(\"?\")[0] + search;\n }\n\n // this.logger.info(`reloading ${elem[attr]}`);\n\n setTimeout(function () {\n if (!hiddenElem) {\n hiddenElem = document.createElement(\"DIV\");\n document.body.appendChild(hiddenElem);\n } else {\n hiddenElem.style.display = \"none\";\n hiddenElem.style.display = \"block\";\n }\n }, 200);\n }\n }\n\n return {\n elem: elem,\n timeStamp: timeStamp\n };\n }\n\n function reattachStylesheetLink(link, document: Document, navigator: Navigator): Observable<any> {\n // ignore LINKs that will be removed by LR soon\n let clone;\n\n if (link.__LiveReload_pendingRemoval) {\n return empty();\n }\n link.__LiveReload_pendingRemoval = true;\n\n if (link.tagName === 'STYLE') {\n // prefixfree\n clone = document.createElement('link');\n clone.rel = 'stylesheet';\n clone.media = link.media;\n clone.disabled = link.disabled;\n } else {\n clone = link.cloneNode(false);\n }\n\n const prevHref = link.href;\n const nextHref = generateCacheBustUrl(linkHref(link));\n clone.href = nextHref;\n\n const {pathname} = getLocation(nextHref);\n const basename = pathname.split('/').slice(-1)[0];\n\n // insert the new LINK before the old one\n const parent = link.parentNode;\n if (parent.lastChild === link) {\n parent.appendChild(clone);\n } else {\n parent.insertBefore(clone, link.nextSibling);\n }\n\n let additionalWaitingTime;\n if (/AppleWebKit/.test(navigator.userAgent)) {\n additionalWaitingTime = 5;\n } else {\n additionalWaitingTime = 200;\n }\n\n return Observable.create(obs => clone.onload = () => obs.next(true))\n .pipe(\n take(1)\n , mergeMap(() => {\n return timer(additionalWaitingTime)\n .pipe(\n tap(() => {\n if (link && !link.parentNode) {\n return;\n }\n link.parentNode.removeChild(link);\n clone.onreadystatechange = null;\n })\n , mapTo(linkReplace({target: clone, nextHref, prevHref, pathname, basename}))\n )\n })\n )\n }\n\n function reattachImportedRule({ rule, index, link }, document: Document): Observable<any> {\n const parent = rule.parentStyleSheet;\n const href = generateCacheBustUrl(rule.href);\n const media = rule.media.length ? [].join.call(rule.media, ', ') : '';\n const newRule = `@import url(\"${href}\") ${media};`;\n\n // used to detect if reattachImportedRule has been called again on the same rule\n rule.__LiveReload_newHref = href;\n\n // WORKAROUND FOR WEBKIT BUG: WebKit resets all styles if we add @import'ed\n // stylesheet that hasn't been cached yet. Workaround is to pre-cache the\n // stylesheet by temporarily adding it as a LINK tag.\n const tempLink = document.createElement(\"link\");\n tempLink.rel = 'stylesheet';\n tempLink.href = href;\n tempLink.__LiveReload_pendingRemoval = true; // exclude from path matching\n\n if (link.parentNode) {\n link.parentNode.insertBefore(tempLink, link);\n }\n\n return timer(200)\n .pipe(\n tap(() => {\n if (tempLink.parentNode) { tempLink.parentNode.removeChild(tempLink); }\n\n // if another reattachImportedRule call is in progress, abandon this one\n if (rule.__LiveReload_newHref !== href) { return; }\n\n parent.insertRule(newRule, index);\n parent.deleteRule(index+1);\n\n // save the new rule, so that we can detect another reattachImportedRule call\n rule = parent.cssRules[index];\n rule.__LiveReload_newHref = href;\n })\n , mergeMap(() => {\n return timer(200).pipe(\n tap(() => {\n // if another reattachImportedRule call is in progress, abandon this one\n if (rule.__LiveReload_newHref !== href) { return; }\n parent.insertRule(newRule, index);\n return parent.deleteRule(index+1);\n })\n )\n })\n );\n }\n\n function generateCacheBustUrl(url, expando = generateUniqueString(Date.now())) {\n let hash, oldParams;\n\n ({ url, hash, params: oldParams } = splitUrl(url));\n\n // if (this.options.overrideURL) {\n // if (url.indexOf(this.options.serverURL) < 0) {\n // const originalUrl = url;\n // url = this.options.serverURL + this.options.overrideURL + \"?url=\" + encodeURIComponent(url);\n // this.logger.debug(`overriding source URL ${originalUrl} with ${url}`);\n // }\n // }\n\n let params = oldParams.replace(/(\\?|&)browsersync=(\\d+)/, (match, sep) => `${sep}${expando}`);\n if (params === oldParams) {\n if (oldParams.length === 0) {\n params = `?${expando}`;\n } else {\n params = `${oldParams}&${expando}`;\n }\n }\n\n return url + params + hash;\n }\n\n\n function reloadStylesheet(path: string, document: Document, navigator): Observable<any> {\n // has to be a real array, because DOMNodeList will be modified\n const links = array(document.getElementsByTagName('link'))\n .filter(link => {\n return link.rel.match(/^stylesheet$/i)\n && !link.__LiveReload_pendingRemoval;\n });\n\n /**\n * Find imported style sheets in <style> tags\n * @type {any[]}\n */\n const styleImported = array(document.getElementsByTagName('style'))\n .filter(style => Boolean(style.sheet))\n .reduce((acc, style) => {\n return acc.concat(collectImportedStylesheets(style, style.sheet));\n }, []);\n\n /**\n * Find imported style sheets in <link> tags\n * @type {any[]}\n */\n const linksImported = links\n .reduce((acc, link) => {\n return acc.concat(collectImportedStylesheets(link, link.sheet));\n }, []);\n\n /**\n * Combine all links + sheets\n */\n const allRules = links.concat(styleImported, linksImported);\n\n /**\n * Which href best matches the incoming href?\n */\n const match = pickBestMatch(path, allRules, l => pathFromUrl(linkHref(l)));\n\n if (match) {\n if (match.object && match.object.rule) {\n return reattachImportedRule(match.object, document);\n }\n return reattachStylesheetLink(match.object, document, navigator);\n }\n\n return empty();\n }\n\n\n function collectImportedStylesheets(link, styleSheet) {\n // in WebKit, styleSheet.cssRules is null for inaccessible stylesheets;\n // Firefox/Opera may throw exceptions\n const output = [];\n collect(link, makeRules(styleSheet));\n return output;\n\n function makeRules(styleSheet) {\n let rules;\n try {\n rules = styleSheet != null ? styleSheet.cssRules : undefined;\n } catch (e) {}\n return rules;\n }\n function collect(link, rules) {\n if (rules && rules.length) {\n for (let index = 0; index < rules.length; index++) {\n const rule = rules[index];\n switch (rule.type) {\n case CSSRule.CHARSET_RULE:\n break;\n case CSSRule.IMPORT_RULE:\n output.push({ link, rule, index, href: rule.href });\n collect(link, makeRules(rule.styleSheet));\n break;\n default:\n break; // import rules can only be preceded by charset rules\n }\n }\n }\n }\n }\n\n function linkHref(link) {\n // prefixfree uses data-href when it turns LINK into STYLE\n return link.href || link.getAttribute('data-href');\n }\n\n function generateUniqueString(value) {\n return `browsersync=${value}`;\n }\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./vendor/Reloader.ts","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar isArray_1 = require('../util/isArray');\nvar isArrayLike_1 = require('../util/isArrayLike');\nvar isPromise_1 = require('../util/isPromise');\nvar PromiseObservable_1 = require('./PromiseObservable');\nvar IteratorObservable_1 = require('./IteratorObservable');\nvar ArrayObservable_1 = require('./ArrayObservable');\nvar ArrayLikeObservable_1 = require('./ArrayLikeObservable');\nvar iterator_1 = require('../symbol/iterator');\nvar Observable_1 = require('../Observable');\nvar observeOn_1 = require('../operators/observeOn');\nvar observable_1 = require('../symbol/observable');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar FromObservable = (function (_super) {\n __extends(FromObservable, _super);\n function FromObservable(ish, scheduler) {\n _super.call(this, null);\n this.ish = ish;\n this.scheduler = scheduler;\n }\n /**\n * Creates an Observable from an Array, an array-like object, a Promise, an\n * iterable object, or an Observable-like object.\n *\n * <span class=\"informal\">Converts almost anything to an Observable.</span>\n *\n * <img src=\"./img/from.png\" width=\"100%\">\n *\n * Convert various other objects and data types into Observables. `from`\n * converts a Promise or an array-like or an\n * [iterable](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#iterable)\n * object into an Observable that emits the items in that promise or array or\n * iterable. A String, in this context, is treated as an array of characters.\n * Observable-like objects (contains a function named with the ES2015 Symbol\n * for Observable) can also be converted through this operator.\n *\n * @example <caption>Converts an array to an Observable</caption>\n * var array = [10, 20, 30];\n * var result = Rx.Observable.from(array);\n * result.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // 10 20 30\n *\n * @example <caption>Convert an infinite iterable (from a generator) to an Observable</caption>\n * function* generateDoubles(seed) {\n * var i = seed;\n * while (true) {\n * yield i;\n * i = 2 * i; // double it\n * }\n * }\n *\n * var iterator = generateDoubles(3);\n * var result = Rx.Observable.from(iterator).take(10);\n * result.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // 3 6 12 24 48 96 192 384 768 1536\n *\n * @see {@link create}\n * @see {@link fromEvent}\n * @see {@link fromEventPattern}\n * @see {@link fromPromise}\n *\n * @param {ObservableInput<T>} ish A subscribable object, a Promise, an\n * Observable-like, an Array, an iterable or an array-like object to be\n * converted.\n * @param {Scheduler} [scheduler] The scheduler on which to schedule the\n * emissions of values.\n * @return {Observable<T>} The Observable whose values are originally from the\n * input object that was converted.\n * @static true\n * @name from\n * @owner Observable\n */\n FromObservable.create = function (ish, scheduler) {\n if (ish != null) {\n if (typeof ish[observable_1.observable] === 'function') {\n if (ish instanceof Observable_1.Observable && !scheduler) {\n return ish;\n }\n return new FromObservable(ish, scheduler);\n }\n else if (isArray_1.isArray(ish)) {\n return new ArrayObservable_1.ArrayObservable(ish, scheduler);\n }\n else if (isPromise_1.isPromise(ish)) {\n return new PromiseObservable_1.PromiseObservable(ish, scheduler);\n }\n else if (typeof ish[iterator_1.iterator] === 'function' || typeof ish === 'string') {\n return new IteratorObservable_1.IteratorObservable(ish, scheduler);\n }\n else if (isArrayLike_1.isArrayLike(ish)) {\n return new ArrayLikeObservable_1.ArrayLikeObservable(ish, scheduler);\n }\n }\n throw new TypeError((ish !== null && typeof ish || ish) + ' is not observable');\n };\n FromObservable.prototype._subscribe = function (subscriber) {\n var ish = this.ish;\n var scheduler = this.scheduler;\n if (scheduler == null) {\n return ish[observable_1.observable]().subscribe(subscriber);\n }\n else {\n return ish[observable_1.observable]().subscribe(new observeOn_1.ObserveOnSubscriber(subscriber, scheduler, 0));\n }\n };\n return FromObservable;\n}(Observable_1.Observable));\nexports.FromObservable = FromObservable;\n//# sourceMappingURL=FromObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/observable/FromObservable.js\n// module id = 137\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar root_1 = require('../util/root');\nvar Observable_1 = require('../Observable');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar PromiseObservable = (function (_super) {\n __extends(PromiseObservable, _super);\n function PromiseObservable(promise, scheduler) {\n _super.call(this);\n this.promise = promise;\n this.scheduler = scheduler;\n }\n /**\n * Converts a Promise to an Observable.\n *\n * <span class=\"informal\">Returns an Observable that just emits the Promise's\n * resolved value, then completes.</span>\n *\n * Converts an ES2015 Promise or a Promises/A+ spec compliant Promise to an\n * Observable. If the Promise resolves with a value, the output Observable\n * emits that resolved value as a `next`, and then completes. If the Promise\n * is rejected, then the output Observable emits the corresponding Error.\n *\n * @example <caption>Convert the Promise returned by Fetch to an Observable</caption>\n * var result = Rx.Observable.fromPromise(fetch('http://myserver.com/'));\n * result.subscribe(x => console.log(x), e => console.error(e));\n *\n * @see {@link bindCallback}\n * @see {@link from}\n *\n * @param {PromiseLike<T>} promise The promise to be converted.\n * @param {Scheduler} [scheduler] An optional IScheduler to use for scheduling\n * the delivery of the resolved value (or the rejection).\n * @return {Observable<T>} An Observable which wraps the Promise.\n * @static true\n * @name fromPromise\n * @owner Observable\n */\n PromiseObservable.create = function (promise, scheduler) {\n return new PromiseObservable(promise, scheduler);\n };\n PromiseObservable.prototype._subscribe = function (subscriber) {\n var _this = this;\n var promise = this.promise;\n var scheduler = this.scheduler;\n if (scheduler == null) {\n if (this._isScalar) {\n if (!subscriber.closed) {\n subscriber.next(this.value);\n subscriber.complete();\n }\n }\n else {\n promise.then(function (value) {\n _this.value = value;\n _this._isScalar = true;\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, function (err) {\n if (!subscriber.closed) {\n subscriber.error(err);\n }\n })\n .then(null, function (err) {\n // escape the promise trap, throw unhandled errors\n root_1.root.setTimeout(function () { throw err; });\n });\n }\n }\n else {\n if (this._isScalar) {\n if (!subscriber.closed) {\n return scheduler.schedule(dispatchNext, 0, { value: this.value, subscriber: subscriber });\n }\n }\n else {\n promise.then(function (value) {\n _this.value = value;\n _this._isScalar = true;\n if (!subscriber.closed) {\n subscriber.add(scheduler.schedule(dispatchNext, 0, { value: value, subscriber: subscriber }));\n }\n }, function (err) {\n if (!subscriber.closed) {\n subscriber.add(scheduler.schedule(dispatchError, 0, { err: err, subscriber: subscriber }));\n }\n })\n .then(null, function (err) {\n // escape the promise trap, throw unhandled errors\n root_1.root.setTimeout(function () { throw err; });\n });\n }\n }\n };\n return PromiseObservable;\n}(Observable_1.Observable));\nexports.PromiseObservable = PromiseObservable;\nfunction dispatchNext(arg) {\n var value = arg.value, subscriber = arg.subscriber;\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n}\nfunction dispatchError(arg) {\n var err = arg.err, subscriber = arg.subscriber;\n if (!subscriber.closed) {\n subscriber.error(err);\n }\n}\n//# sourceMappingURL=PromiseObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/observable/PromiseObservable.js\n// module id = 138\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar root_1 = require('../util/root');\nvar Observable_1 = require('../Observable');\nvar iterator_1 = require('../symbol/iterator');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar IteratorObservable = (function (_super) {\n __extends(IteratorObservable, _super);\n function IteratorObservable(iterator, scheduler) {\n _super.call(this);\n this.scheduler = scheduler;\n if (iterator == null) {\n throw new Error('iterator cannot be null.');\n }\n this.iterator = getIterator(iterator);\n }\n IteratorObservable.create = function (iterator, scheduler) {\n return new IteratorObservable(iterator, scheduler);\n };\n IteratorObservable.dispatch = function (state) {\n var index = state.index, hasError = state.hasError, iterator = state.iterator, subscriber = state.subscriber;\n if (hasError) {\n subscriber.error(state.error);\n return;\n }\n var result = iterator.next();\n if (result.done) {\n subscriber.complete();\n return;\n }\n subscriber.next(result.value);\n state.index = index + 1;\n if (subscriber.closed) {\n if (typeof iterator.return === 'function') {\n iterator.return();\n }\n return;\n }\n this.schedule(state);\n };\n IteratorObservable.prototype._subscribe = function (subscriber) {\n var index = 0;\n var _a = this, iterator = _a.iterator, scheduler = _a.scheduler;\n if (scheduler) {\n return scheduler.schedule(IteratorObservable.dispatch, 0, {\n index: index, iterator: iterator, subscriber: subscriber\n });\n }\n else {\n do {\n var result = iterator.next();\n if (result.done) {\n subscriber.complete();\n break;\n }\n else {\n subscriber.next(result.value);\n }\n if (subscriber.closed) {\n if (typeof iterator.return === 'function') {\n iterator.return();\n }\n break;\n }\n } while (true);\n }\n };\n return IteratorObservable;\n}(Observable_1.Observable));\nexports.IteratorObservable = IteratorObservable;\nvar StringIterator = (function () {\n function StringIterator(str, idx, len) {\n if (idx === void 0) { idx = 0; }\n if (len === void 0) { len = str.length; }\n this.str = str;\n this.idx = idx;\n this.len = len;\n }\n StringIterator.prototype[iterator_1.iterator] = function () { return (this); };\n StringIterator.prototype.next = function () {\n return this.idx < this.len ? {\n done: false,\n value: this.str.charAt(this.idx++)\n } : {\n done: true,\n value: undefined\n };\n };\n return StringIterator;\n}());\nvar ArrayIterator = (function () {\n function ArrayIterator(arr, idx, len) {\n if (idx === void 0) { idx = 0; }\n if (len === void 0) { len = toLength(arr); }\n this.arr = arr;\n this.idx = idx;\n this.len = len;\n }\n ArrayIterator.prototype[iterator_1.iterator] = function () { return this; };\n ArrayIterator.prototype.next = function () {\n return this.idx < this.len ? {\n done: false,\n value: this.arr[this.idx++]\n } : {\n done: true,\n value: undefined\n };\n };\n return ArrayIterator;\n}());\nfunction getIterator(obj) {\n var i = obj[iterator_1.iterator];\n if (!i && typeof obj === 'string') {\n return new StringIterator(obj);\n }\n if (!i && obj.length !== undefined) {\n return new ArrayIterator(obj);\n }\n if (!i) {\n throw new TypeError('object is not iterable');\n }\n return obj[iterator_1.iterator]();\n}\nvar maxSafeInteger = Math.pow(2, 53) - 1;\nfunction toLength(o) {\n var len = +o.length;\n if (isNaN(len)) {\n return 0;\n }\n if (len === 0 || !numberIsFinite(len)) {\n return len;\n }\n len = sign(len) * Math.floor(Math.abs(len));\n if (len <= 0) {\n return 0;\n }\n if (len > maxSafeInteger) {\n return maxSafeInteger;\n }\n return len;\n}\nfunction numberIsFinite(value) {\n return typeof value === 'number' && root_1.root.isFinite(value);\n}\nfunction sign(value) {\n var valueAsNumber = +value;\n if (valueAsNumber === 0) {\n return valueAsNumber;\n }\n if (isNaN(valueAsNumber)) {\n return valueAsNumber;\n }\n return valueAsNumber < 0 ? -1 : 1;\n}\n//# sourceMappingURL=IteratorObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/observable/IteratorObservable.js\n// module id = 139\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\nvar ScalarObservable_1 = require('./ScalarObservable');\nvar EmptyObservable_1 = require('./EmptyObservable');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar ArrayLikeObservable = (function (_super) {\n __extends(ArrayLikeObservable, _super);\n function ArrayLikeObservable(arrayLike, scheduler) {\n _super.call(this);\n this.arrayLike = arrayLike;\n this.scheduler = scheduler;\n if (!scheduler && arrayLike.length === 1) {\n this._isScalar = true;\n this.value = arrayLike[0];\n }\n }\n ArrayLikeObservable.create = function (arrayLike, scheduler) {\n var length = arrayLike.length;\n if (length === 0) {\n return new EmptyObservable_1.EmptyObservable();\n }\n else if (length === 1) {\n return new ScalarObservable_1.ScalarObservable(arrayLike[0], scheduler);\n }\n else {\n return new ArrayLikeObservable(arrayLike, scheduler);\n }\n };\n ArrayLikeObservable.dispatch = function (state) {\n var arrayLike = state.arrayLike, index = state.index, length = state.length, subscriber = state.subscriber;\n if (subscriber.closed) {\n return;\n }\n if (index >= length) {\n subscriber.complete();\n return;\n }\n subscriber.next(arrayLike[index]);\n state.index = index + 1;\n this.schedule(state);\n };\n ArrayLikeObservable.prototype._subscribe = function (subscriber) {\n var index = 0;\n var _a = this, arrayLike = _a.arrayLike, scheduler = _a.scheduler;\n var length = arrayLike.length;\n if (scheduler) {\n return scheduler.schedule(ArrayLikeObservable.dispatch, 0, {\n arrayLike: arrayLike, index: index, length: length, subscriber: subscriber\n });\n }\n else {\n for (var i = 0; i < length && !subscriber.closed; i++) {\n subscriber.next(arrayLike[i]);\n }\n subscriber.complete();\n }\n };\n return ArrayLikeObservable;\n}(Observable_1.Observable));\nexports.ArrayLikeObservable = ArrayLikeObservable;\n//# sourceMappingURL=ArrayLikeObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/observable/ArrayLikeObservable.js\n// module id = 140\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar Notification_1 = require('../Notification');\n/**\n *\n * Re-emits all notifications from source Observable with specified scheduler.\n *\n * <span class=\"informal\">Ensure a specific scheduler is used, from outside of an Observable.</span>\n *\n * `observeOn` is an operator that accepts a scheduler as a first parameter, which will be used to reschedule\n * notifications emitted by the source Observable. It might be useful, if you do not have control over\n * internal scheduler of a given Observable, but want to control when its values are emitted nevertheless.\n *\n * Returned Observable emits the same notifications (nexted values, complete and error events) as the source Observable,\n * but rescheduled with provided scheduler. Note that this doesn't mean that source Observables internal\n * scheduler will be replaced in any way. Original scheduler still will be used, but when the source Observable emits\n * notification, it will be immediately scheduled again - this time with scheduler passed to `observeOn`.\n * An anti-pattern would be calling `observeOn` on Observable that emits lots of values synchronously, to split\n * that emissions into asynchronous chunks. For this to happen, scheduler would have to be passed into the source\n * Observable directly (usually into the operator that creates it). `observeOn` simply delays notifications a\n * little bit more, to ensure that they are emitted at expected moments.\n *\n * As a matter of fact, `observeOn` accepts second parameter, which specifies in milliseconds with what delay notifications\n * will be emitted. The main difference between {@link delay} operator and `observeOn` is that `observeOn`\n * will delay all notifications - including error notifications - while `delay` will pass through error\n * from source Observable immediately when it is emitted. In general it is highly recommended to use `delay` operator\n * for any kind of delaying of values in the stream, while using `observeOn` to specify which scheduler should be used\n * for notification emissions in general.\n *\n * @example <caption>Ensure values in subscribe are called just before browser repaint.</caption>\n * const intervals = Rx.Observable.interval(10); // Intervals are scheduled\n * // with async scheduler by default...\n *\n * intervals\n * .observeOn(Rx.Scheduler.animationFrame) // ...but we will observe on animationFrame\n * .subscribe(val => { // scheduler to ensure smooth animation.\n * someDiv.style.height = val + 'px';\n * });\n *\n * @see {@link delay}\n *\n * @param {IScheduler} scheduler Scheduler that will be used to reschedule notifications from source Observable.\n * @param {number} [delay] Number of milliseconds that states with what delay every notification should be rescheduled.\n * @return {Observable<T>} Observable that emits the same notifications as the source Observable,\n * but with provided scheduler.\n *\n * @method observeOn\n * @owner Observable\n */\nfunction observeOn(scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n return function observeOnOperatorFunction(source) {\n return source.lift(new ObserveOnOperator(scheduler, delay));\n };\n}\nexports.observeOn = observeOn;\nvar ObserveOnOperator = (function () {\n function ObserveOnOperator(scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n this.scheduler = scheduler;\n this.delay = delay;\n }\n ObserveOnOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ObserveOnSubscriber(subscriber, this.scheduler, this.delay));\n };\n return ObserveOnOperator;\n}());\nexports.ObserveOnOperator = ObserveOnOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ObserveOnSubscriber = (function (_super) {\n __extends(ObserveOnSubscriber, _super);\n function ObserveOnSubscriber(destination, scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n _super.call(this, destination);\n this.scheduler = scheduler;\n this.delay = delay;\n }\n ObserveOnSubscriber.dispatch = function (arg) {\n var notification = arg.notification, destination = arg.destination;\n notification.observe(destination);\n this.unsubscribe();\n };\n ObserveOnSubscriber.prototype.scheduleMessage = function (notification) {\n this.add(this.scheduler.schedule(ObserveOnSubscriber.dispatch, this.delay, new ObserveOnMessage(notification, this.destination)));\n };\n ObserveOnSubscriber.prototype._next = function (value) {\n this.scheduleMessage(Notification_1.Notification.createNext(value));\n };\n ObserveOnSubscriber.prototype._error = function (err) {\n this.scheduleMessage(Notification_1.Notification.createError(err));\n };\n ObserveOnSubscriber.prototype._complete = function () {\n this.scheduleMessage(Notification_1.Notification.createComplete());\n };\n return ObserveOnSubscriber;\n}(Subscriber_1.Subscriber));\nexports.ObserveOnSubscriber = ObserveOnSubscriber;\nvar ObserveOnMessage = (function () {\n function ObserveOnMessage(notification, destination) {\n this.notification = notification;\n this.destination = destination;\n }\n return ObserveOnMessage;\n}());\nexports.ObserveOnMessage = ObserveOnMessage;\n//# sourceMappingURL=observeOn.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/operators/observeOn.js\n// module id = 141\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('./Observable');\n/**\n * Represents a push-based event or value that an {@link Observable} can emit.\n * This class is particularly useful for operators that manage notifications,\n * like {@link materialize}, {@link dematerialize}, {@link observeOn}, and\n * others. Besides wrapping the actual delivered value, it also annotates it\n * with metadata of, for instance, what type of push message it is (`next`,\n * `error`, or `complete`).\n *\n * @see {@link materialize}\n * @see {@link dematerialize}\n * @see {@link observeOn}\n *\n * @class Notification<T>\n */\nvar Notification = (function () {\n function Notification(kind, value, error) {\n this.kind = kind;\n this.value = value;\n this.error = error;\n this.hasValue = kind === 'N';\n }\n /**\n * Delivers to the given `observer` the value wrapped by this Notification.\n * @param {Observer} observer\n * @return\n */\n Notification.prototype.observe = function (observer) {\n switch (this.kind) {\n case 'N':\n return observer.next && observer.next(this.value);\n case 'E':\n return observer.error && observer.error(this.error);\n case 'C':\n return observer.complete && observer.complete();\n }\n };\n /**\n * Given some {@link Observer} callbacks, deliver the value represented by the\n * current Notification to the correctly corresponding callback.\n * @param {function(value: T): void} next An Observer `next` callback.\n * @param {function(err: any): void} [error] An Observer `error` callback.\n * @param {function(): void} [complete] An Observer `complete` callback.\n * @return {any}\n */\n Notification.prototype.do = function (next, error, complete) {\n var kind = this.kind;\n switch (kind) {\n case 'N':\n return next && next(this.value);\n case 'E':\n return error && error(this.error);\n case 'C':\n return complete && complete();\n }\n };\n /**\n * Takes an Observer or its individual callback functions, and calls `observe`\n * or `do` methods accordingly.\n * @param {Observer|function(value: T): void} nextOrObserver An Observer or\n * the `next` callback.\n * @param {function(err: any): void} [error] An Observer `error` callback.\n * @param {function(): void} [complete] An Observer `complete` callback.\n * @return {any}\n */\n Notification.prototype.accept = function (nextOrObserver, error, complete) {\n if (nextOrObserver && typeof nextOrObserver.next === 'function') {\n return this.observe(nextOrObserver);\n }\n else {\n return this.do(nextOrObserver, error, complete);\n }\n };\n /**\n * Returns a simple Observable that just delivers the notification represented\n * by this Notification instance.\n * @return {any}\n */\n Notification.prototype.toObservable = function () {\n var kind = this.kind;\n switch (kind) {\n case 'N':\n return Observable_1.Observable.of(this.value);\n case 'E':\n return Observable_1.Observable.throw(this.error);\n case 'C':\n return Observable_1.Observable.empty();\n }\n throw new Error('unexpected notification kind value');\n };\n /**\n * A shortcut to create a Notification instance of the type `next` from a\n * given value.\n * @param {T} value The `next` value.\n * @return {Notification<T>} The \"next\" Notification representing the\n * argument.\n */\n Notification.createNext = function (value) {\n if (typeof value !== 'undefined') {\n return new Notification('N', value);\n }\n return Notification.undefinedValueNotification;\n };\n /**\n * A shortcut to create a Notification instance of the type `error` from a\n * given error.\n * @param {any} [err] The `error` error.\n * @return {Notification<T>} The \"error\" Notification representing the\n * argument.\n */\n Notification.createError = function (err) {\n return new Notification('E', undefined, err);\n };\n /**\n * A shortcut to create a Notification instance of the type `complete`.\n * @return {Notification<any>} The valueless \"complete\" Notification.\n */\n Notification.createComplete = function () {\n return Notification.completeNotification;\n };\n Notification.completeNotification = new Notification('C');\n Notification.undefinedValueNotification = new Notification('N', undefined);\n return Notification;\n}());\nexports.Notification = Notification;\n//# sourceMappingURL=Notification.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/Notification.js\n// module id = 142\n// module chunks = 0","\"use strict\";\nvar mergeAll_1 = require('./mergeAll');\n/**\n * Converts a higher-order Observable into a first-order Observable by\n * concatenating the inner Observables in order.\n *\n * <span class=\"informal\">Flattens an Observable-of-Observables by putting one\n * inner Observable after the other.</span>\n *\n * <img src=\"./img/concatAll.png\" width=\"100%\">\n *\n * Joins every Observable emitted by the source (a higher-order Observable), in\n * a serial fashion. It subscribes to each inner Observable only after the\n * previous inner Observable has completed, and merges all of their values into\n * the returned observable.\n *\n * __Warning:__ If the source Observable emits Observables quickly and\n * endlessly, and the inner Observables it emits generally complete slower than\n * the source emits, you can run into memory issues as the incoming Observables\n * collect in an unbounded buffer.\n *\n * Note: `concatAll` is equivalent to `mergeAll` with concurrency parameter set\n * to `1`.\n *\n * @example <caption>For each click event, tick every second from 0 to 3, with no concurrency</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var higherOrder = clicks.map(ev => Rx.Observable.interval(1000).take(4));\n * var firstOrder = higherOrder.concatAll();\n * firstOrder.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // (results are not concurrent)\n * // For every click on the \"document\" it will emit values 0 to 3 spaced\n * // on a 1000ms interval\n * // one click = 1000ms-> 0 -1000ms-> 1 -1000ms-> 2 -1000ms-> 3\n *\n * @see {@link combineAll}\n * @see {@link concat}\n * @see {@link concatMap}\n * @see {@link concatMapTo}\n * @see {@link exhaust}\n * @see {@link mergeAll}\n * @see {@link switch}\n * @see {@link zipAll}\n *\n * @return {Observable} An Observable emitting values from all the inner\n * Observables concatenated.\n * @method concatAll\n * @owner Observable\n */\nfunction concatAll() {\n return mergeAll_1.mergeAll(1);\n}\nexports.concatAll = concatAll;\n//# sourceMappingURL=concatAll.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/operators/concatAll.js\n// module id = 143\n// module chunks = 0","\"use strict\";\nfunction identity(x) {\n return x;\n}\nexports.identity = identity;\n//# sourceMappingURL=identity.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/util/identity.js\n// module id = 144\n// module chunks = 0","\"use strict\";\nvar ArrayObservable_1 = require('../observable/ArrayObservable');\nvar ScalarObservable_1 = require('../observable/ScalarObservable');\nvar EmptyObservable_1 = require('../observable/EmptyObservable');\nvar concat_1 = require('../observable/concat');\nvar isScheduler_1 = require('../util/isScheduler');\n/* tslint:enable:max-line-length */\n/**\n * Returns an Observable that emits the items you specify as arguments before it begins to emit\n * items emitted by the source Observable.\n *\n * <img src=\"./img/startWith.png\" width=\"100%\">\n *\n * @param {...T} values - Items you want the modified Observable to emit first.\n * @param {Scheduler} [scheduler] - A {@link IScheduler} to use for scheduling\n * the emissions of the `next` notifications.\n * @return {Observable} An Observable that emits the items in the specified Iterable and then emits the items\n * emitted by the source Observable.\n * @method startWith\n * @owner Observable\n */\nfunction startWith() {\n var array = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n array[_i - 0] = arguments[_i];\n }\n return function (source) {\n var scheduler = array[array.length - 1];\n if (isScheduler_1.isScheduler(scheduler)) {\n array.pop();\n }\n else {\n scheduler = null;\n }\n var len = array.length;\n if (len === 1) {\n return concat_1.concat(new ScalarObservable_1.ScalarObservable(array[0], scheduler), source);\n }\n else if (len > 1) {\n return concat_1.concat(new ArrayObservable_1.ArrayObservable(array, scheduler), source);\n }\n else {\n return concat_1.concat(new EmptyObservable_1.EmptyObservable(scheduler), source);\n }\n };\n}\nexports.startWith = startWith;\n//# sourceMappingURL=startWith.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/operators/startWith.js\n// module id = 145\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar ArgumentOutOfRangeError_1 = require('../util/ArgumentOutOfRangeError');\nvar EmptyObservable_1 = require('../observable/EmptyObservable');\n/**\n * Emits only the first `count` values emitted by the source Observable.\n *\n * <span class=\"informal\">Takes the first `count` values from the source, then\n * completes.</span>\n *\n * <img src=\"./img/take.png\" width=\"100%\">\n *\n * `take` returns an Observable that emits only the first `count` values emitted\n * by the source Observable. If the source emits fewer than `count` values then\n * all of its values are emitted. After that, it completes, regardless if the\n * source completes.\n *\n * @example <caption>Take the first 5 seconds of an infinite 1-second interval Observable</caption>\n * var interval = Rx.Observable.interval(1000);\n * var five = interval.take(5);\n * five.subscribe(x => console.log(x));\n *\n * @see {@link takeLast}\n * @see {@link takeUntil}\n * @see {@link takeWhile}\n * @see {@link skip}\n *\n * @throws {ArgumentOutOfRangeError} When using `take(i)`, it delivers an\n * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0`.\n *\n * @param {number} count The maximum number of `next` values to emit.\n * @return {Observable<T>} An Observable that emits only the first `count`\n * values emitted by the source Observable, or all of the values from the source\n * if the source emits fewer than `count` values.\n * @method take\n * @owner Observable\n */\nfunction take(count) {\n return function (source) {\n if (count === 0) {\n return new EmptyObservable_1.EmptyObservable();\n }\n else {\n return source.lift(new TakeOperator(count));\n }\n };\n}\nexports.take = take;\nvar TakeOperator = (function () {\n function TakeOperator(total) {\n this.total = total;\n if (this.total < 0) {\n throw new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError;\n }\n }\n TakeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TakeSubscriber(subscriber, this.total));\n };\n return TakeOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar TakeSubscriber = (function (_super) {\n __extends(TakeSubscriber, _super);\n function TakeSubscriber(destination, total) {\n _super.call(this, destination);\n this.total = total;\n this.count = 0;\n }\n TakeSubscriber.prototype._next = function (value) {\n var total = this.total;\n var count = ++this.count;\n if (count <= total) {\n this.destination.next(value);\n if (count === total) {\n this.destination.complete();\n this.unsubscribe();\n }\n }\n };\n return TakeSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=take.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/operators/take.js\n// module id = 146\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n/**\n * An error thrown when an element was queried at a certain index of an\n * Observable, but no such index or position exists in that sequence.\n *\n * @see {@link elementAt}\n * @see {@link take}\n * @see {@link takeLast}\n *\n * @class ArgumentOutOfRangeError\n */\nvar ArgumentOutOfRangeError = (function (_super) {\n __extends(ArgumentOutOfRangeError, _super);\n function ArgumentOutOfRangeError() {\n var err = _super.call(this, 'argument out of range');\n this.name = err.name = 'ArgumentOutOfRangeError';\n this.stack = err.stack;\n this.message = err.message;\n }\n return ArgumentOutOfRangeError;\n}(Error));\nexports.ArgumentOutOfRangeError = ArgumentOutOfRangeError;\n//# sourceMappingURL=ArgumentOutOfRangeError.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/util/ArgumentOutOfRangeError.js\n// module id = 147\n// module chunks = 0","import { IncomingPayload } from \"../messages/ScrollEvent\";\nimport { Inputs } from \"../index\";\nimport { pluck } from \"rxjs/operators/pluck\";\nimport { Observable } from \"rxjs/Observable\";\nimport { ignoreElements } from \"rxjs/operators/ignoreElements\";\nimport { partition } from \"rxjs/operators/partition\";\nimport { merge } from \"rxjs/observable/merge\";\nimport { getDocumentScrollSpace } from \"../browser.utils\";\nimport { tap } from \"rxjs/operators/tap\";\nimport { withLatestFrom } from \"rxjs/operators/withLatestFrom\";\nimport { map } from \"rxjs/operators/map\";\n\ntype Tuple = [IncomingPayload, Window, Document, boolean];\n\nexport function setScrollEffect(\n xs: Observable<IncomingPayload>,\n inputs: Inputs\n) {\n {\n /**\n * Group the incoming event with window, document & scrollProportionally argument\n */\n const tupleStream$: Observable<Tuple> = xs.pipe(\n withLatestFrom<IncomingPayload, Window, Document, boolean>(\n inputs.window$,\n inputs.document$,\n inputs.option$.pipe(pluck(\"scrollProportionally\"))\n )\n );\n\n /**\n * Split the stream between document scrolls and element scrolls\n */\n const [document$, element$] = partition(([event]: Tuple) => {\n return event.tagName === \"document\";\n })(tupleStream$);\n\n /**\n * Further split the element scroll between those matching in `scrollElementMapping`\n * and regular element scrolls\n */\n const [mapped$, nonMapped$] = partition(([event]: Tuple) => {\n return event.mappingIndex > -1;\n })(element$);\n\n return merge(\n /**\n * Main window scroll\n */\n document$.pipe(\n tap((incoming: Tuple) => {\n const [\n event,\n window,\n document,\n scrollProportionally\n ] = incoming;\n const scrollSpace = getDocumentScrollSpace(document);\n\n if (scrollProportionally) {\n return window.scrollTo(\n 0,\n scrollSpace.y * event.position.proportional\n ); // % of y axis of scroll to px\n }\n return window.scrollTo(0, event.position.raw.y);\n })\n ),\n /**\n * Regular, non-mapped Element scrolls\n */\n nonMapped$.pipe(\n tap((incoming: Tuple) => {\n const [\n event,\n window,\n document,\n scrollProportionally\n ] = incoming;\n\n const matchingElements = document.getElementsByTagName(\n event.tagName\n );\n if (matchingElements && matchingElements.length) {\n const match = matchingElements[event.index];\n if (match) {\n return scrollElement(\n match,\n scrollProportionally,\n event\n );\n }\n }\n })\n ),\n /**\n * Element scrolls given in 'scrollElementMapping'\n */\n mapped$.pipe(\n withLatestFrom(\n inputs.option$.pipe(pluck(\"scrollElementMapping\"))\n ),\n /**\n * Filter the elements in the option `scrollElementMapping` so\n * that it does not contain the element that triggered the event\n */\n map(([incoming, scrollElementMapping]: [Tuple, string[]]) => {\n const [event] = incoming;\n return [\n incoming,\n scrollElementMapping.filter(\n (item, index) => index !== event.mappingIndex\n )\n ];\n }),\n /**\n * Now perform the scroll on all other matching elements\n */\n tap(([incoming, scrollElementMapping]: [Tuple, string[]]) => {\n const [\n event,\n window,\n document,\n scrollProportionally\n ] = incoming;\n scrollElementMapping\n .map(selector => document.querySelector(selector))\n .forEach(element => {\n scrollElement(element, scrollProportionally, event);\n });\n })\n )\n ).pipe(ignoreElements());\n }\n}\n\nfunction scrollElement(element, scrollProportionally, event: IncomingPayload) {\n if (scrollProportionally) {\n return element.scrollTo(\n 0,\n element.scrollHeight * event.position.proportional\n ); // % of y axis of scroll to px\n }\n return element.scrollTo(0, event.position.raw.y);\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/effects/set-scroll.ts","\"use strict\";\nvar not_1 = require('../util/not');\nvar filter_1 = require('./filter');\n/**\n * Splits the source Observable into two, one with values that satisfy a\n * predicate, and another with values that don't satisfy the predicate.\n *\n * <span class=\"informal\">It's like {@link filter}, but returns two Observables:\n * one like the output of {@link filter}, and the other with values that did not\n * pass the condition.</span>\n *\n * <img src=\"./img/partition.png\" width=\"100%\">\n *\n * `partition` outputs an array with two Observables that partition the values\n * from the source Observable through the given `predicate` function. The first\n * Observable in that array emits source values for which the predicate argument\n * returns true. The second Observable emits source values for which the\n * predicate returns false. The first behaves like {@link filter} and the second\n * behaves like {@link filter} with the predicate negated.\n *\n * @example <caption>Partition click events into those on DIV elements and those elsewhere</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var parts = clicks.partition(ev => ev.target.tagName === 'DIV');\n * var clicksOnDivs = parts[0];\n * var clicksElsewhere = parts[1];\n * clicksOnDivs.subscribe(x => console.log('DIV clicked: ', x));\n * clicksElsewhere.subscribe(x => console.log('Other clicked: ', x));\n *\n * @see {@link filter}\n *\n * @param {function(value: T, index: number): boolean} predicate A function that\n * evaluates each value emitted by the source Observable. If it returns `true`,\n * the value is emitted on the first Observable in the returned array, if\n * `false` the value is emitted on the second Observable in the array. The\n * `index` parameter is the number `i` for the i-th source emission that has\n * happened since the subscription, starting from the number `0`.\n * @param {any} [thisArg] An optional argument to determine the value of `this`\n * in the `predicate` function.\n * @return {[Observable<T>, Observable<T>]} An array with two Observables: one\n * with values that passed the predicate, and another with values that did not\n * pass the predicate.\n * @method partition\n * @owner Observable\n */\nfunction partition(predicate, thisArg) {\n return function (source) { return [\n filter_1.filter(predicate, thisArg)(source),\n filter_1.filter(not_1.not(predicate, thisArg))(source)\n ]; };\n}\nexports.partition = partition;\n//# sourceMappingURL=partition.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/operators/partition.js\n// module id = 149\n// module chunks = 0","\"use strict\";\nfunction not(pred, thisArg) {\n function notPred() {\n return !(notPred.pred.apply(notPred.thisArg, arguments));\n }\n notPred.pred = pred;\n notPred.thisArg = thisArg;\n return notPred;\n}\nexports.not = not;\n//# sourceMappingURL=not.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/util/not.js\n// module id = 150\n// module chunks = 0","import { map } from \"rxjs/operators/map\";\nimport { Observable } from \"rxjs/Observable\";\nimport * as Log from \"../log\";\n\nexport interface IncomingPayload {\n message: string;\n timeout: number;\n override?: boolean;\n}\n\nexport function incomingBrowserNotify(xs: Observable<IncomingPayload>) {\n return xs.pipe(map(event => Log.overlayInfo(event.message, event.timeout)));\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/messages/BrowserNotify.ts","import { Inputs } from \"../index\";\nimport { pluck } from \"rxjs/operators/pluck\";\nimport { filter } from \"rxjs/operators/filter\";\nimport { map } from \"rxjs/operators/map\";\nimport { Observable } from \"rxjs/Observable\";\nimport { withLatestFrom } from \"rxjs/operators/withLatestFrom\";\nimport { browserSetLocation } from \"../effects/browser-set-location.effect\";\n\nexport interface IncomingPayload {\n url?: string;\n path?: number;\n}\n\nexport function incomingBrowserLocation(\n xs: Observable<IncomingPayload>,\n inputs: Inputs\n) {\n return xs.pipe(\n withLatestFrom(inputs.option$.pipe(pluck(\"ghostMode\", \"location\"))),\n filter(([, canSyncLocation]) => canSyncLocation === true),\n map(([event]) => browserSetLocation(event))\n );\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/messages/BrowserLocation.ts","\"use strict\";\nvar SubscribeOnObservable_1 = require('../observable/SubscribeOnObservable');\n/**\n * Asynchronously subscribes Observers to this Observable on the specified IScheduler.\n *\n * <img src=\"./img/subscribeOn.png\" width=\"100%\">\n *\n * @param {Scheduler} scheduler - The IScheduler to perform subscription actions on.\n * @return {Observable<T>} The source Observable modified so that its subscriptions happen on the specified IScheduler.\n .\n * @method subscribeOn\n * @owner Observable\n */\nfunction subscribeOn(scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n return function subscribeOnOperatorFunction(source) {\n return source.lift(new SubscribeOnOperator(scheduler, delay));\n };\n}\nexports.subscribeOn = subscribeOn;\nvar SubscribeOnOperator = (function () {\n function SubscribeOnOperator(scheduler, delay) {\n this.scheduler = scheduler;\n this.delay = delay;\n }\n SubscribeOnOperator.prototype.call = function (subscriber, source) {\n return new SubscribeOnObservable_1.SubscribeOnObservable(source, this.delay, this.scheduler).subscribe(subscriber);\n };\n return SubscribeOnOperator;\n}());\n//# sourceMappingURL=subscribeOn.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/operators/subscribeOn.js\n// module id = 153\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\nvar asap_1 = require('../scheduler/asap');\nvar isNumeric_1 = require('../util/isNumeric');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar SubscribeOnObservable = (function (_super) {\n __extends(SubscribeOnObservable, _super);\n function SubscribeOnObservable(source, delayTime, scheduler) {\n if (delayTime === void 0) { delayTime = 0; }\n if (scheduler === void 0) { scheduler = asap_1.asap; }\n _super.call(this);\n this.source = source;\n this.delayTime = delayTime;\n this.scheduler = scheduler;\n if (!isNumeric_1.isNumeric(delayTime) || delayTime < 0) {\n this.delayTime = 0;\n }\n if (!scheduler || typeof scheduler.schedule !== 'function') {\n this.scheduler = asap_1.asap;\n }\n }\n SubscribeOnObservable.create = function (source, delay, scheduler) {\n if (delay === void 0) { delay = 0; }\n if (scheduler === void 0) { scheduler = asap_1.asap; }\n return new SubscribeOnObservable(source, delay, scheduler);\n };\n SubscribeOnObservable.dispatch = function (arg) {\n var source = arg.source, subscriber = arg.subscriber;\n return this.add(source.subscribe(subscriber));\n };\n SubscribeOnObservable.prototype._subscribe = function (subscriber) {\n var delay = this.delayTime;\n var source = this.source;\n var scheduler = this.scheduler;\n return scheduler.schedule(SubscribeOnObservable.dispatch, delay, {\n source: source, subscriber: subscriber\n });\n };\n return SubscribeOnObservable;\n}(Observable_1.Observable));\nexports.SubscribeOnObservable = SubscribeOnObservable;\n//# sourceMappingURL=SubscribeOnObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/observable/SubscribeOnObservable.js\n// module id = 154\n// module chunks = 0","\"use strict\";\nvar AsapAction_1 = require('./AsapAction');\nvar AsapScheduler_1 = require('./AsapScheduler');\n/**\n *\n * Asap Scheduler\n *\n * <span class=\"informal\">Perform task as fast as it can be performed asynchronously</span>\n *\n * `asap` scheduler behaves the same as {@link async} scheduler when you use it to delay task\n * in time. If however you set delay to `0`, `asap` will wait for current synchronously executing\n * code to end and then it will try to execute given task as fast as possible.\n *\n * `asap` scheduler will do its best to minimize time between end of currently executing code\n * and start of scheduled task. This makes it best candidate for performing so called \"deferring\".\n * Traditionally this was achieved by calling `setTimeout(deferredTask, 0)`, but that technique involves\n * some (although minimal) unwanted delay.\n *\n * Note that using `asap` scheduler does not necessarily mean that your task will be first to process\n * after currently executing code. In particular, if some task was also scheduled with `asap` before,\n * that task will execute first. That being said, if you need to schedule task asynchronously, but\n * as soon as possible, `asap` scheduler is your best bet.\n *\n * @example <caption>Compare async and asap scheduler</caption>\n *\n * Rx.Scheduler.async.schedule(() => console.log('async')); // scheduling 'async' first...\n * Rx.Scheduler.asap.schedule(() => console.log('asap'));\n *\n * // Logs:\n * // \"asap\"\n * // \"async\"\n * // ... but 'asap' goes first!\n *\n * @static true\n * @name asap\n * @owner Scheduler\n */\nexports.asap = new AsapScheduler_1.AsapScheduler(AsapAction_1.AsapAction);\n//# sourceMappingURL=asap.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/scheduler/asap.js\n// module id = 155\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Immediate_1 = require('../util/Immediate');\nvar AsyncAction_1 = require('./AsyncAction');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar AsapAction = (function (_super) {\n __extends(AsapAction, _super);\n function AsapAction(scheduler, work) {\n _super.call(this, scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n }\n AsapAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n // If delay is greater than 0, request as an async action.\n if (delay !== null && delay > 0) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n // Push the action to the end of the scheduler queue.\n scheduler.actions.push(this);\n // If a microtask has already been scheduled, don't schedule another\n // one. If a microtask hasn't been scheduled yet, schedule one now. Return\n // the current scheduled microtask id.\n return scheduler.scheduled || (scheduler.scheduled = Immediate_1.Immediate.setImmediate(scheduler.flush.bind(scheduler, null)));\n };\n AsapAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n // If delay exists and is greater than 0, or if the delay is null (the\n // action wasn't rescheduled) but was originally scheduled as an async\n // action, then recycle as an async action.\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);\n }\n // If the scheduler queue is empty, cancel the requested microtask and\n // set the scheduled flag to undefined so the next AsapAction will schedule\n // its own.\n if (scheduler.actions.length === 0) {\n Immediate_1.Immediate.clearImmediate(id);\n scheduler.scheduled = undefined;\n }\n // Return undefined so the action knows to request a new async id if it's rescheduled.\n return undefined;\n };\n return AsapAction;\n}(AsyncAction_1.AsyncAction));\nexports.AsapAction = AsapAction;\n//# sourceMappingURL=AsapAction.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/scheduler/AsapAction.js\n// module id = 156\n// module chunks = 0","/**\nSome credit for this helper goes to http://github.com/YuzuJS/setImmediate\n*/\n\"use strict\";\nvar root_1 = require('./root');\nvar ImmediateDefinition = (function () {\n function ImmediateDefinition(root) {\n this.root = root;\n if (root.setImmediate && typeof root.setImmediate === 'function') {\n this.setImmediate = root.setImmediate.bind(root);\n this.clearImmediate = root.clearImmediate.bind(root);\n }\n else {\n this.nextHandle = 1;\n this.tasksByHandle = {};\n this.currentlyRunningATask = false;\n // Don't get fooled by e.g. browserify environments.\n if (this.canUseProcessNextTick()) {\n // For Node.js before 0.9\n this.setImmediate = this.createProcessNextTickSetImmediate();\n }\n else if (this.canUsePostMessage()) {\n // For non-IE10 modern browsers\n this.setImmediate = this.createPostMessageSetImmediate();\n }\n else if (this.canUseMessageChannel()) {\n // For web workers, where supported\n this.setImmediate = this.createMessageChannelSetImmediate();\n }\n else if (this.canUseReadyStateChange()) {\n // For IE 6–8\n this.setImmediate = this.createReadyStateChangeSetImmediate();\n }\n else {\n // For older browsers\n this.setImmediate = this.createSetTimeoutSetImmediate();\n }\n var ci = function clearImmediate(handle) {\n delete clearImmediate.instance.tasksByHandle[handle];\n };\n ci.instance = this;\n this.clearImmediate = ci;\n }\n }\n ImmediateDefinition.prototype.identify = function (o) {\n return this.root.Object.prototype.toString.call(o);\n };\n ImmediateDefinition.prototype.canUseProcessNextTick = function () {\n return this.identify(this.root.process) === '[object process]';\n };\n ImmediateDefinition.prototype.canUseMessageChannel = function () {\n return Boolean(this.root.MessageChannel);\n };\n ImmediateDefinition.prototype.canUseReadyStateChange = function () {\n var document = this.root.document;\n return Boolean(document && 'onreadystatechange' in document.createElement('script'));\n };\n ImmediateDefinition.prototype.canUsePostMessage = function () {\n var root = this.root;\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `root.postMessage` means something completely different and can't be used for this purpose.\n if (root.postMessage && !root.importScripts) {\n var postMessageIsAsynchronous_1 = true;\n var oldOnMessage = root.onmessage;\n root.onmessage = function () {\n postMessageIsAsynchronous_1 = false;\n };\n root.postMessage('', '*');\n root.onmessage = oldOnMessage;\n return postMessageIsAsynchronous_1;\n }\n return false;\n };\n // This function accepts the same arguments as setImmediate, but\n // returns a function that requires no arguments.\n ImmediateDefinition.prototype.partiallyApplied = function (handler) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var fn = function result() {\n var _a = result, handler = _a.handler, args = _a.args;\n if (typeof handler === 'function') {\n handler.apply(undefined, args);\n }\n else {\n (new Function('' + handler))();\n }\n };\n fn.handler = handler;\n fn.args = args;\n return fn;\n };\n ImmediateDefinition.prototype.addFromSetImmediateArguments = function (args) {\n this.tasksByHandle[this.nextHandle] = this.partiallyApplied.apply(undefined, args);\n return this.nextHandle++;\n };\n ImmediateDefinition.prototype.createProcessNextTickSetImmediate = function () {\n var fn = function setImmediate() {\n var instance = setImmediate.instance;\n var handle = instance.addFromSetImmediateArguments(arguments);\n instance.root.process.nextTick(instance.partiallyApplied(instance.runIfPresent, handle));\n return handle;\n };\n fn.instance = this;\n return fn;\n };\n ImmediateDefinition.prototype.createPostMessageSetImmediate = function () {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n var root = this.root;\n var messagePrefix = 'setImmediate$' + root.Math.random() + '$';\n var onGlobalMessage = function globalMessageHandler(event) {\n var instance = globalMessageHandler.instance;\n if (event.source === root &&\n typeof event.data === 'string' &&\n event.data.indexOf(messagePrefix) === 0) {\n instance.runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n onGlobalMessage.instance = this;\n root.addEventListener('message', onGlobalMessage, false);\n var fn = function setImmediate() {\n var _a = setImmediate, messagePrefix = _a.messagePrefix, instance = _a.instance;\n var handle = instance.addFromSetImmediateArguments(arguments);\n instance.root.postMessage(messagePrefix + handle, '*');\n return handle;\n };\n fn.instance = this;\n fn.messagePrefix = messagePrefix;\n return fn;\n };\n ImmediateDefinition.prototype.runIfPresent = function (handle) {\n // From the spec: 'Wait until any invocations of this algorithm started before this one have completed.'\n // So if we're currently running a task, we'll need to delay this invocation.\n if (this.currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // 'too much recursion' error.\n this.root.setTimeout(this.partiallyApplied(this.runIfPresent, handle), 0);\n }\n else {\n var task = this.tasksByHandle[handle];\n if (task) {\n this.currentlyRunningATask = true;\n try {\n task();\n }\n finally {\n this.clearImmediate(handle);\n this.currentlyRunningATask = false;\n }\n }\n }\n };\n ImmediateDefinition.prototype.createMessageChannelSetImmediate = function () {\n var _this = this;\n var channel = new this.root.MessageChannel();\n channel.port1.onmessage = function (event) {\n var handle = event.data;\n _this.runIfPresent(handle);\n };\n var fn = function setImmediate() {\n var _a = setImmediate, channel = _a.channel, instance = _a.instance;\n var handle = instance.addFromSetImmediateArguments(arguments);\n channel.port2.postMessage(handle);\n return handle;\n };\n fn.channel = channel;\n fn.instance = this;\n return fn;\n };\n ImmediateDefinition.prototype.createReadyStateChangeSetImmediate = function () {\n var fn = function setImmediate() {\n var instance = setImmediate.instance;\n var root = instance.root;\n var doc = root.document;\n var html = doc.documentElement;\n var handle = instance.addFromSetImmediateArguments(arguments);\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var script = doc.createElement('script');\n script.onreadystatechange = function () {\n instance.runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n html.appendChild(script);\n return handle;\n };\n fn.instance = this;\n return fn;\n };\n ImmediateDefinition.prototype.createSetTimeoutSetImmediate = function () {\n var fn = function setImmediate() {\n var instance = setImmediate.instance;\n var handle = instance.addFromSetImmediateArguments(arguments);\n instance.root.setTimeout(instance.partiallyApplied(instance.runIfPresent, handle), 0);\n return handle;\n };\n fn.instance = this;\n return fn;\n };\n return ImmediateDefinition;\n}());\nexports.ImmediateDefinition = ImmediateDefinition;\nexports.Immediate = new ImmediateDefinition(root_1.root);\n//# sourceMappingURL=Immediate.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/util/Immediate.js\n// module id = 157\n// module chunks = 0","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var script = doc.createElement(\"script\");\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n html.appendChild(script);\n };\n }\n\n function installSetTimeoutImplementation() {\n registerImmediate = function(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n }\n\n // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\n // Don't get fooled by e.g. browserify environments.\n if ({}.toString.call(global.process) === \"[object process]\") {\n // For Node.js before 0.9\n installNextTickImplementation();\n\n } else if (canUsePostMessage()) {\n // For non-IE10 modern browsers\n installPostMessageImplementation();\n\n } else if (global.MessageChannel) {\n // For web workers, where supported\n installMessageChannelImplementation();\n\n } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n // For IE 6–8\n installReadyStateChangeImplementation();\n\n } else {\n // For older browsers\n installSetTimeoutImplementation();\n }\n\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n}(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/setimmediate/setImmediate.js\n// module id = 158\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar AsyncScheduler_1 = require('./AsyncScheduler');\nvar AsapScheduler = (function (_super) {\n __extends(AsapScheduler, _super);\n function AsapScheduler() {\n _super.apply(this, arguments);\n }\n AsapScheduler.prototype.flush = function (action) {\n this.active = true;\n this.scheduled = undefined;\n var actions = this.actions;\n var error;\n var index = -1;\n var count = actions.length;\n action = action || actions.shift();\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (++index < count && (action = actions.shift()));\n this.active = false;\n if (error) {\n while (++index < count && (action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsapScheduler;\n}(AsyncScheduler_1.AsyncScheduler));\nexports.AsapScheduler = AsapScheduler;\n//# sourceMappingURL=AsapScheduler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/scheduler/AsapScheduler.js\n// module id = 159\n// module chunks = 0","import { Inputs } from \"../index\";\nimport { filter } from \"rxjs/operators/filter\";\nimport { empty } from \"rxjs/observable/empty\";\nimport { isBlacklisted } from \"../utils\";\nimport { FileReloadEventPayload } from \"../../types/socket\";\nimport { of } from \"rxjs/observable/of\";\nimport { Observable } from \"rxjs/Observable\";\nimport { withLatestFrom } from \"rxjs/operators/withLatestFrom\";\nimport { mergeMap } from \"rxjs/operators/mergeMap\";\nimport { fileReload } from \"../effects/file-reload.effect\";\nimport { reloadBrowserSafe } from \"./BrowserReload\";\n\nexport function incomingFileReload(\n xs: Observable<FileReloadEventPayload>,\n inputs: Inputs\n) {\n return xs.pipe(\n withLatestFrom(inputs.option$),\n filter(([event, options]) => options.codeSync),\n mergeMap(([event, options]) => {\n if (event.url || !options.injectChanges) {\n return reloadBrowserSafe();\n }\n if (event.basename && event.ext && isBlacklisted(event)) {\n return empty();\n }\n return of(fileReload(event));\n })\n );\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/messages/FileReload.ts","import { Inputs } from \"../index\";\nimport { pluck } from \"rxjs/operators/pluck\";\nimport { of } from \"rxjs/observable/of\";\nimport { Observable } from \"rxjs/Observable\";\nimport * as Log from \"../log\";\nimport { withLatestFrom } from \"rxjs/operators/withLatestFrom\";\nimport { mergeMap } from \"rxjs/operators/mergeMap\";\nimport { setOptions } from \"../effects/set-options.effect\";\nimport { reloadBrowserSafe } from \"./BrowserReload\";\n\nexport function incomingConnection(\n xs: Observable<IBrowserSyncOptions>,\n inputs: Inputs\n) {\n return xs.pipe(\n withLatestFrom(inputs.option$.pipe(pluck(\"logPrefix\"))),\n mergeMap(([x, logPrefix], index) => {\n if (index === 0) {\n return of<any>(\n setOptions(x),\n Log.overlayInfo(`${logPrefix}: connected`)\n );\n }\n return reloadBrowserSafe();\n })\n );\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/messages/Connection.ts","import { ignoreElements } from \"rxjs/operators/ignoreElements\";\nimport { Observable } from \"rxjs/Observable\";\nimport { tap } from \"rxjs/operators/tap\";\n\nexport function incomingDisconnect(xs: Observable<any>) {\n return xs.pipe(tap(x => console.log(x)), ignoreElements());\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/messages/Disconnect.ts","import { map } from \"rxjs/operators/map\";\nimport { Observable } from \"rxjs/Observable\";\nimport { setOptions } from \"../effects/set-options.effect\";\nimport { tap } from \"rxjs/operators/tap\";\n\nexport interface Payload {\n options: IBrowserSyncOptions;\n path: string[];\n value: any;\n}\n\ntype IncomingPayload = Payload;\n\nexport function incomingOptionsSet(xs: Observable<IncomingPayload>) {\n return xs.pipe(map(event => setOptions(event.options)));\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/messages/OptionsSet.ts","import { getBrowserScrollPosition } from \"./browser.utils\";\nimport { EffectNames } from \"./effects\";\nimport { Observable } from \"rxjs/Observable\";\nimport { BehaviorSubject } from \"rxjs/BehaviorSubject\";\nimport { Inputs } from \"./index\";\nimport { empty } from \"rxjs/observable/empty\";\nimport { of } from \"rxjs/observable/of\";\nimport * as Log from \"./log\";\nimport { withLatestFrom } from \"rxjs/operators/withLatestFrom\";\nimport { take } from \"rxjs/operators/take\";\nimport { mergeMap } from \"rxjs/operators/mergeMap\";\nimport { map } from \"rxjs/operators/map\";\nimport { setWindowName } from \"./dom-effects/set-window-name.dom-effect\";\nimport { setScroll } from \"./dom-effects/set-scroll.dom-effect\";\n\nexport const PREFIX = \"<<BS_START>>\";\nexport const SUFFIX = \"<<BS_START>>\";\nexport const regex = new RegExp(PREFIX + \"(.+?)\" + SUFFIX);\n\nexport function initWindowName(window: Window) {\n const saved = (() => {\n /**\n * On page load, check window.name for an existing\n * BS json blob & parse it.\n */\n try {\n const json = window.name.match(regex);\n if (json) {\n return JSON.parse(json[1]);\n }\n } catch (e) {\n return {};\n }\n })();\n\n /**\n * Remove any existing BS json from window.name\n * to ensure we don't interfere with any other\n * libs who may be using it.\n */\n window.name = window.name.replace(regex, \"\");\n\n /**\n * If the JSON was parsed correctly, try to\n * find a scroll property and restore it.\n */\n if (saved && saved.bs && saved.bs.hardReload && saved.bs.scroll) {\n const { x, y } = saved.bs.scroll;\n return of<any>(\n setScroll(x, y),\n Log.consoleDebug(`[ScrollRestore] x = ${x} y = ${y}`)\n );\n }\n return empty();\n}\n\nexport const scrollRestoreHandlers$ = new BehaviorSubject({\n // [EffectNames.SetOptions]: (xs, inputs: Inputs) => {\n // return xs.pipe(\n // withLatestFrom(inputs.window$),\n // take(1),\n // mergeMap(([options, window]) => {\n // if (options.scrollRestoreTechnique === \"window.name\") {\n // return initWindowName(window);\n // }\n // return empty();\n // })\n // );\n // },\n /**\n * Save the current scroll position\n * before the browser is reloaded (via window.location.reload(true))\n * @param xs\n * @param {Inputs} inputs\n */\n [EffectNames.PreBrowserReload]: (xs: Observable<any>, inputs: Inputs) => {\n return xs.pipe(\n withLatestFrom(inputs.window$, inputs.document$),\n map(([, window, document]) => {\n return [\n window.name,\n PREFIX,\n JSON.stringify({\n bs: {\n hardReload: true,\n scroll: getBrowserScrollPosition(window, document)\n }\n }),\n SUFFIX\n ].join(\"\");\n }),\n map(value => setWindowName(value))\n );\n }\n});\n\n\n\n// WEBPACK FOOTER //\n// ./lib/scroll-restore.ts","import { merge } from \"rxjs/observable/merge\";\nimport { getFormInputStream } from \"./listeners/form-inputs.listener\";\nimport { getClickStream } from \"./listeners/clicks.listener\";\nimport { getScrollStream } from \"./listeners/scroll.listener\";\nimport { getFormTogglesStream } from \"./listeners/form-toggles.listener\";\nimport { OutgoingSocketEvent } from \"./socket-messages\";\nimport { Observable } from \"rxjs/Observable\";\nimport { Inputs } from \"./index\";\n\nexport function initListeners(\n window: Window,\n document: Document,\n socket$: Inputs[\"socket$\"],\n option$: Inputs[\"option$\"]\n): Observable<OutgoingSocketEvent> {\n const merged$ = merge(\n getScrollStream(window, document, socket$, option$),\n getClickStream(document, socket$, option$),\n getFormInputStream(document, socket$, option$),\n getFormTogglesStream(document, socket$, option$)\n );\n\n return merged$;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/listeners.ts","import { IncomingSocketNames, OutgoingSocketEvent } from \"../socket-messages\";\nimport { getElementData } from \"../browser.utils\";\nimport { Observable } from \"rxjs/Observable\";\nimport { createTimedBooleanSwitch } from \"../utils\";\nimport * as KeyupEvent from \"../messages/KeyupEvent\";\nimport { filter } from \"rxjs/operators/filter\";\nimport { withLatestFrom } from \"rxjs/operators/withLatestFrom\";\nimport { map } from \"rxjs/operators/map\";\nimport { pluck } from \"rxjs/operators/pluck\";\nimport { skip } from \"rxjs/operators/skip\";\nimport { distinctUntilChanged } from \"rxjs/operators/distinctUntilChanged\";\nimport { switchMap } from \"rxjs/operators/switchMap\";\nimport { empty } from \"rxjs/observable/empty\";\nimport { fromEvent } from \"rxjs/observable/fromEvent\";\nimport { Inputs } from \"../index\";\n\nexport function getFormInputStream(\n document: Document,\n socket$: Inputs[\"socket$\"],\n option$: Inputs[\"option$\"]\n): Observable<OutgoingSocketEvent> {\n const canSync$ = createTimedBooleanSwitch(\n socket$.pipe(filter(([name]) => name === IncomingSocketNames.Keyup))\n );\n return option$.pipe(\n skip(1), // initial option set before the connection event\n pluck(\"ghostMode\", \"forms\", \"inputs\"),\n distinctUntilChanged(),\n switchMap(formInputs => {\n if (!formInputs) {\n return empty();\n }\n return fromEvent(document.body, \"keyup\", true).pipe(\n map((e: Event) => e.target || e.srcElement),\n filter(\n (target: Element) =>\n target.tagName === \"INPUT\" ||\n target.tagName === \"TEXTAREA\"\n ),\n withLatestFrom(canSync$),\n filter(([, canSync]) => canSync),\n map(([eventTarget]) => {\n const target = getElementData(eventTarget);\n const value = eventTarget.value;\n\n return KeyupEvent.outgoing(target, value);\n })\n );\n })\n );\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/listeners/form-inputs.listener.ts","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\nvar tryCatch_1 = require('../util/tryCatch');\nvar isFunction_1 = require('../util/isFunction');\nvar errorObject_1 = require('../util/errorObject');\nvar Subscription_1 = require('../Subscription');\nvar toString = Object.prototype.toString;\nfunction isNodeStyleEventEmitter(sourceObj) {\n return !!sourceObj && typeof sourceObj.addListener === 'function' && typeof sourceObj.removeListener === 'function';\n}\nfunction isJQueryStyleEventEmitter(sourceObj) {\n return !!sourceObj && typeof sourceObj.on === 'function' && typeof sourceObj.off === 'function';\n}\nfunction isNodeList(sourceObj) {\n return !!sourceObj && toString.call(sourceObj) === '[object NodeList]';\n}\nfunction isHTMLCollection(sourceObj) {\n return !!sourceObj && toString.call(sourceObj) === '[object HTMLCollection]';\n}\nfunction isEventTarget(sourceObj) {\n return !!sourceObj && typeof sourceObj.addEventListener === 'function' && typeof sourceObj.removeEventListener === 'function';\n}\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar FromEventObservable = (function (_super) {\n __extends(FromEventObservable, _super);\n function FromEventObservable(sourceObj, eventName, selector, options) {\n _super.call(this);\n this.sourceObj = sourceObj;\n this.eventName = eventName;\n this.selector = selector;\n this.options = options;\n }\n /* tslint:enable:max-line-length */\n /**\n * Creates an Observable that emits events of a specific type coming from the\n * given event target.\n *\n * <span class=\"informal\">Creates an Observable from DOM events, or Node.js\n * EventEmitter events or others.</span>\n *\n * <img src=\"./img/fromEvent.png\" width=\"100%\">\n *\n * `fromEvent` accepts as a first argument event target, which is an object with methods\n * for registering event handler functions. As a second argument it takes string that indicates\n * type of event we want to listen for. `fromEvent` supports selected types of event targets,\n * which are described in detail below. If your event target does not match any of the ones listed,\n * you should use {@link fromEventPattern}, which can be used on arbitrary APIs.\n * When it comes to APIs supported by `fromEvent`, their methods for adding and removing event\n * handler functions have different names, but they all accept a string describing event type\n * and function itself, which will be called whenever said event happens.\n *\n * Every time resulting Observable is subscribed, event handler function will be registered\n * to event target on given event type. When that event fires, value\n * passed as a first argument to registered function will be emitted by output Observable.\n * When Observable is unsubscribed, function will be unregistered from event target.\n *\n * Note that if event target calls registered function with more than one argument, second\n * and following arguments will not appear in resulting stream. In order to get access to them,\n * you can pass to `fromEvent` optional project function, which will be called with all arguments\n * passed to event handler. Output Observable will then emit value returned by project function,\n * instead of the usual value.\n *\n * Remember that event targets listed below are checked via duck typing. It means that\n * no matter what kind of object you have and no matter what environment you work in,\n * you can safely use `fromEvent` on that object if it exposes described methods (provided\n * of course they behave as was described above). So for example if Node.js library exposes\n * event target which has the same method names as DOM EventTarget, `fromEvent` is still\n * a good choice.\n *\n * If the API you use is more callback then event handler oriented (subscribed\n * callback function fires only once and thus there is no need to manually\n * unregister it), you should use {@link bindCallback} or {@link bindNodeCallback}\n * instead.\n *\n * `fromEvent` supports following types of event targets:\n *\n * **DOM EventTarget**\n *\n * This is an object with `addEventListener` and `removeEventListener` methods.\n *\n * In the browser, `addEventListener` accepts - apart from event type string and event\n * handler function arguments - optional third parameter, which is either an object or boolean,\n * both used for additional configuration how and when passed function will be called. When\n * `fromEvent` is used with event target of that type, you can provide this values\n * as third parameter as well.\n *\n * **Node.js EventEmitter**\n *\n * An object with `addListener` and `removeListener` methods.\n *\n * **JQuery-style event target**\n *\n * An object with `on` and `off` methods\n *\n * **DOM NodeList**\n *\n * List of DOM Nodes, returned for example by `document.querySelectorAll` or `Node.childNodes`.\n *\n * Although this collection is not event target in itself, `fromEvent` will iterate over all Nodes\n * it contains and install event handler function in every of them. When returned Observable\n * is unsubscribed, function will be removed from all Nodes.\n *\n * **DOM HtmlCollection**\n *\n * Just as in case of NodeList it is a collection of DOM nodes. Here as well event handler function is\n * installed and removed in each of elements.\n *\n *\n * @example <caption>Emits clicks happening on the DOM document</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * clicks.subscribe(x => console.log(x));\n *\n * // Results in:\n * // MouseEvent object logged to console every time a click\n * // occurs on the document.\n *\n *\n * @example <caption>Use addEventListener with capture option</caption>\n * var clicksInDocument = Rx.Observable.fromEvent(document, 'click', true); // note optional configuration parameter\n * // which will be passed to addEventListener\n * var clicksInDiv = Rx.Observable.fromEvent(someDivInDocument, 'click');\n *\n * clicksInDocument.subscribe(() => console.log('document'));\n * clicksInDiv.subscribe(() => console.log('div'));\n *\n * // By default events bubble UP in DOM tree, so normally\n * // when we would click on div in document\n * // \"div\" would be logged first and then \"document\".\n * // Since we specified optional `capture` option, document\n * // will catch event when it goes DOWN DOM tree, so console\n * // will log \"document\" and then \"div\".\n *\n * @see {@link bindCallback}\n * @see {@link bindNodeCallback}\n * @see {@link fromEventPattern}\n *\n * @param {EventTargetLike} target The DOM EventTarget, Node.js\n * EventEmitter, JQuery-like event target, NodeList or HTMLCollection to attach the event handler to.\n * @param {string} eventName The event name of interest, being emitted by the\n * `target`.\n * @param {EventListenerOptions} [options] Options to pass through to addEventListener\n * @param {SelectorMethodSignature<T>} [selector] An optional function to\n * post-process results. It takes the arguments from the event handler and\n * should return a single value.\n * @return {Observable<T>}\n * @static true\n * @name fromEvent\n * @owner Observable\n */\n FromEventObservable.create = function (target, eventName, options, selector) {\n if (isFunction_1.isFunction(options)) {\n selector = options;\n options = undefined;\n }\n return new FromEventObservable(target, eventName, selector, options);\n };\n FromEventObservable.setupSubscription = function (sourceObj, eventName, handler, subscriber, options) {\n var unsubscribe;\n if (isNodeList(sourceObj) || isHTMLCollection(sourceObj)) {\n for (var i = 0, len = sourceObj.length; i < len; i++) {\n FromEventObservable.setupSubscription(sourceObj[i], eventName, handler, subscriber, options);\n }\n }\n else if (isEventTarget(sourceObj)) {\n var source_1 = sourceObj;\n sourceObj.addEventListener(eventName, handler, options);\n unsubscribe = function () {\n return source_1.removeEventListener(eventName, handler);\n };\n }\n else if (isJQueryStyleEventEmitter(sourceObj)) {\n var source_2 = sourceObj;\n sourceObj.on(eventName, handler);\n unsubscribe = function () { return source_2.off(eventName, handler); };\n }\n else if (isNodeStyleEventEmitter(sourceObj)) {\n var source_3 = sourceObj;\n sourceObj.addListener(eventName, handler);\n unsubscribe = function () { return source_3.removeListener(eventName, handler); };\n }\n else {\n throw new TypeError('Invalid event target');\n }\n subscriber.add(new Subscription_1.Subscription(unsubscribe));\n };\n FromEventObservable.prototype._subscribe = function (subscriber) {\n var sourceObj = this.sourceObj;\n var eventName = this.eventName;\n var options = this.options;\n var selector = this.selector;\n var handler = selector ? function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i - 0] = arguments[_i];\n }\n var result = tryCatch_1.tryCatch(selector).apply(void 0, args);\n if (result === errorObject_1.errorObject) {\n subscriber.error(errorObject_1.errorObject.e);\n }\n else {\n subscriber.next(result);\n }\n } : function (e) { return subscriber.next(e); };\n FromEventObservable.setupSubscription(sourceObj, eventName, handler, subscriber, options);\n };\n return FromEventObservable;\n}(Observable_1.Observable));\nexports.FromEventObservable = FromEventObservable;\n//# sourceMappingURL=FromEventObservable.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/observable/FromEventObservable.js\n// module id = 167\n// module chunks = 0","import { createTimedBooleanSwitch } from \"../utils\";\nimport { IncomingSocketNames, OutgoingSocketEvent } from \"../socket-messages\";\nimport { getElementData } from \"../browser.utils\";\nimport { Observable } from \"rxjs/Observable\";\nimport * as ClickEvent from \"../messages/ClickEvent\";\nimport { withLatestFrom } from \"rxjs/operators/withLatestFrom\";\nimport { filter } from \"rxjs/operators/filter\";\nimport { map } from \"rxjs/operators/map\";\nimport { Inputs } from \"../index\";\nimport { pluck } from \"rxjs/operators/pluck\";\nimport { skip } from \"rxjs/operators/skip\";\nimport { distinctUntilChanged } from \"rxjs/operators/distinctUntilChanged\";\nimport { switchMap } from \"rxjs/operators/switchMap\";\nimport { fromEvent } from \"rxjs/observable/fromEvent\";\nimport { empty } from \"rxjs/observable/empty\";\n\nexport function getClickStream(\n document: Document,\n socket$: Inputs[\"socket$\"],\n option$: Inputs[\"option$\"]\n): Observable<OutgoingSocketEvent> {\n const canSync$ = createTimedBooleanSwitch(\n socket$.pipe(filter(([name]) => name === IncomingSocketNames.Click))\n );\n\n return option$.pipe(\n skip(1), // initial option set before the connection event\n pluck(\"ghostMode\", \"clicks\"),\n distinctUntilChanged(),\n switchMap(canClick => {\n if (!canClick) {\n return empty();\n }\n return fromEvent(document, \"click\", true).pipe(\n map((e: Event) => e.target),\n filter((target: any) => {\n if (target.tagName === \"LABEL\") {\n const id = target.getAttribute(\"for\");\n if (id && document.getElementById(id)) {\n return false;\n }\n }\n return true;\n }),\n withLatestFrom(canSync$),\n filter(([, canSync]) => canSync),\n map(([target]): OutgoingSocketEvent => {\n return ClickEvent.outgoing(getElementData(target));\n })\n );\n })\n );\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/listeners/clicks.listener.ts","import { createTimedBooleanSwitch } from \"../utils\";\nimport { IncomingSocketNames, OutgoingSocketEvent } from \"../socket-messages\";\nimport {\n getScrollPosition,\n getScrollPositionForElement\n} from \"../browser.utils\";\nimport { Observable } from \"rxjs/Observable\";\nimport * as ScrollEvent from \"../messages/ScrollEvent\";\nimport { filter } from \"rxjs/operators/filter\";\nimport { map } from \"rxjs/operators/map\";\nimport { withLatestFrom } from \"rxjs/operators/withLatestFrom\";\nimport { Inputs } from \"../index\";\nimport { pluck } from \"rxjs/operators/pluck\";\nimport { distinctUntilChanged } from \"rxjs/operators/distinctUntilChanged\";\nimport { switchMap } from \"rxjs/operators/switchMap\";\nimport { empty } from \"rxjs/observable/empty\";\nimport { skip } from \"rxjs/operators/skip\";\nimport { fromEvent } from \"rxjs/observable/fromEvent\";\n\nexport function getScrollStream(\n window: Window,\n document: Document,\n socket$: Inputs[\"socket$\"],\n option$: Inputs[\"option$\"]\n): Observable<OutgoingSocketEvent> {\n const canSync$ = createTimedBooleanSwitch(\n socket$.pipe(filter(([name]) => name === IncomingSocketNames.Scroll))\n );\n\n /**\n * If the option 'scrollElementMapping' is provided\n * we cache thw\n * @type {Observable<(Element | null)[]>}\n */\n const elemMap$ = option$.pipe(\n pluck(\"scrollElementMapping\"),\n map((selectors: string[]) =>\n selectors.map(selector => document.querySelector(selector))\n )\n );\n\n return option$.pipe(\n skip(1), // initial option set before the connection event\n pluck(\"ghostMode\", \"scroll\"),\n distinctUntilChanged(),\n switchMap(scroll => {\n if (!scroll) return empty();\n return fromEvent(document, \"scroll\", true).pipe(\n map((e: Event) => e.target),\n withLatestFrom(canSync$, elemMap$),\n filter(([, canSync]) => Boolean(canSync)),\n map(([target, canSync, elemMap]: [any, boolean, any[]]) => {\n if (target === document) {\n return ScrollEvent.outgoing(\n getScrollPosition(window, document),\n \"document\",\n 0\n );\n }\n\n const elems = document.getElementsByTagName(target.tagName);\n const index = Array.prototype.indexOf.call(\n elems || [],\n target\n );\n\n return ScrollEvent.outgoing(\n getScrollPositionForElement(target),\n target.tagName,\n index,\n elemMap.indexOf(target)\n );\n })\n );\n })\n );\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/listeners/scroll.listener.ts","import { IncomingSocketNames, OutgoingSocketEvent } from \"../socket-messages\";\nimport { getElementData } from \"../browser.utils\";\nimport { Observable } from \"rxjs/Observable\";\nimport { createTimedBooleanSwitch } from \"../utils\";\nimport * as FormToggleEvent from \"../messages/FormToggleEvent\";\nimport { filter } from \"rxjs/operators/filter\";\nimport { skip } from \"rxjs/operators/skip\";\nimport { pluck } from \"rxjs/operators/pluck\";\nimport { distinctUntilChanged } from \"rxjs/operators/distinctUntilChanged\";\nimport { withLatestFrom } from \"rxjs/operators/withLatestFrom\";\nimport { map } from \"rxjs/operators/map\";\nimport { switchMap } from \"rxjs/operators/switchMap\";\nimport { Inputs } from \"../index\";\nimport { empty } from \"rxjs/observable/empty\";\nimport { fromEvent } from \"rxjs/observable/fromEvent\";\n\nexport function getFormTogglesStream(\n document: Document,\n socket$: Inputs[\"socket$\"],\n option$: Inputs[\"option$\"]\n): Observable<OutgoingSocketEvent> {\n const canSync$ = createTimedBooleanSwitch(\n socket$.pipe(\n filter(([name]) => name === IncomingSocketNames.InputToggle)\n )\n );\n\n return option$.pipe(\n skip(1),\n pluck(\"ghostMode\", \"forms\", \"toggles\"),\n distinctUntilChanged(),\n switchMap(canToggle => {\n if (!canToggle) {\n return empty();\n }\n return fromEvent(document, \"change\", true).pipe(\n map((e: Event) => e.target || e.srcElement),\n filter((elem: HTMLInputElement) => elem.tagName === \"SELECT\"),\n withLatestFrom(canSync$),\n filter(([, canSync]) => canSync),\n map(([elem, canSync]: [HTMLInputElement, boolean]) => {\n const data = getElementData(elem);\n\n return FormToggleEvent.outgoing(data, {\n type: elem.type,\n checked: elem.checked,\n value: elem.value\n });\n })\n );\n })\n );\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/listeners/form-toggles.listener.ts","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar Subscription_1 = require('../Subscription');\nvar Observable_1 = require('../Observable');\nvar Subject_1 = require('../Subject');\nvar Map_1 = require('../util/Map');\nvar FastMap_1 = require('../util/FastMap');\n/* tslint:enable:max-line-length */\n/**\n * Groups the items emitted by an Observable according to a specified criterion,\n * and emits these grouped items as `GroupedObservables`, one\n * {@link GroupedObservable} per group.\n *\n * <img src=\"./img/groupBy.png\" width=\"100%\">\n *\n * @example <caption>Group objects by id and return as array</caption>\n * Observable.of<Obj>({id: 1, name: 'aze1'},\n * {id: 2, name: 'sf2'},\n * {id: 2, name: 'dg2'},\n * {id: 1, name: 'erg1'},\n * {id: 1, name: 'df1'},\n * {id: 2, name: 'sfqfb2'},\n * {id: 3, name: 'qfs3'},\n * {id: 2, name: 'qsgqsfg2'}\n * )\n * .groupBy(p => p.id)\n * .flatMap( (group$) => group$.reduce((acc, cur) => [...acc, cur], []))\n * .subscribe(p => console.log(p));\n *\n * // displays:\n * // [ { id: 1, name: 'aze1' },\n * // { id: 1, name: 'erg1' },\n * // { id: 1, name: 'df1' } ]\n * //\n * // [ { id: 2, name: 'sf2' },\n * // { id: 2, name: 'dg2' },\n * // { id: 2, name: 'sfqfb2' },\n * // { id: 2, name: 'qsgqsfg2' } ]\n * //\n * // [ { id: 3, name: 'qfs3' } ]\n *\n * @example <caption>Pivot data on the id field</caption>\n * Observable.of<Obj>({id: 1, name: 'aze1'},\n * {id: 2, name: 'sf2'},\n * {id: 2, name: 'dg2'},\n * {id: 1, name: 'erg1'},\n * {id: 1, name: 'df1'},\n * {id: 2, name: 'sfqfb2'},\n * {id: 3, name: 'qfs1'},\n * {id: 2, name: 'qsgqsfg2'}\n * )\n * .groupBy(p => p.id, p => p.name)\n * .flatMap( (group$) => group$.reduce((acc, cur) => [...acc, cur], [\"\" + group$.key]))\n * .map(arr => ({'id': parseInt(arr[0]), 'values': arr.slice(1)}))\n * .subscribe(p => console.log(p));\n *\n * // displays:\n * // { id: 1, values: [ 'aze1', 'erg1', 'df1' ] }\n * // { id: 2, values: [ 'sf2', 'dg2', 'sfqfb2', 'qsgqsfg2' ] }\n * // { id: 3, values: [ 'qfs1' ] }\n *\n * @param {function(value: T): K} keySelector A function that extracts the key\n * for each item.\n * @param {function(value: T): R} [elementSelector] A function that extracts the\n * return element for each item.\n * @param {function(grouped: GroupedObservable<K,R>): Observable<any>} [durationSelector]\n * A function that returns an Observable to determine how long each group should\n * exist.\n * @return {Observable<GroupedObservable<K,R>>} An Observable that emits\n * GroupedObservables, each of which corresponds to a unique key value and each\n * of which emits those items from the source Observable that share that key\n * value.\n * @method groupBy\n * @owner Observable\n */\nfunction groupBy(keySelector, elementSelector, durationSelector, subjectSelector) {\n return function (source) {\n return source.lift(new GroupByOperator(keySelector, elementSelector, durationSelector, subjectSelector));\n };\n}\nexports.groupBy = groupBy;\nvar GroupByOperator = (function () {\n function GroupByOperator(keySelector, elementSelector, durationSelector, subjectSelector) {\n this.keySelector = keySelector;\n this.elementSelector = elementSelector;\n this.durationSelector = durationSelector;\n this.subjectSelector = subjectSelector;\n }\n GroupByOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new GroupBySubscriber(subscriber, this.keySelector, this.elementSelector, this.durationSelector, this.subjectSelector));\n };\n return GroupByOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar GroupBySubscriber = (function (_super) {\n __extends(GroupBySubscriber, _super);\n function GroupBySubscriber(destination, keySelector, elementSelector, durationSelector, subjectSelector) {\n _super.call(this, destination);\n this.keySelector = keySelector;\n this.elementSelector = elementSelector;\n this.durationSelector = durationSelector;\n this.subjectSelector = subjectSelector;\n this.groups = null;\n this.attemptedToUnsubscribe = false;\n this.count = 0;\n }\n GroupBySubscriber.prototype._next = function (value) {\n var key;\n try {\n key = this.keySelector(value);\n }\n catch (err) {\n this.error(err);\n return;\n }\n this._group(value, key);\n };\n GroupBySubscriber.prototype._group = function (value, key) {\n var groups = this.groups;\n if (!groups) {\n groups = this.groups = typeof key === 'string' ? new FastMap_1.FastMap() : new Map_1.Map();\n }\n var group = groups.get(key);\n var element;\n if (this.elementSelector) {\n try {\n element = this.elementSelector(value);\n }\n catch (err) {\n this.error(err);\n }\n }\n else {\n element = value;\n }\n if (!group) {\n group = this.subjectSelector ? this.subjectSelector() : new Subject_1.Subject();\n groups.set(key, group);\n var groupedObservable = new GroupedObservable(key, group, this);\n this.destination.next(groupedObservable);\n if (this.durationSelector) {\n var duration = void 0;\n try {\n duration = this.durationSelector(new GroupedObservable(key, group));\n }\n catch (err) {\n this.error(err);\n return;\n }\n this.add(duration.subscribe(new GroupDurationSubscriber(key, group, this)));\n }\n }\n if (!group.closed) {\n group.next(element);\n }\n };\n GroupBySubscriber.prototype._error = function (err) {\n var groups = this.groups;\n if (groups) {\n groups.forEach(function (group, key) {\n group.error(err);\n });\n groups.clear();\n }\n this.destination.error(err);\n };\n GroupBySubscriber.prototype._complete = function () {\n var groups = this.groups;\n if (groups) {\n groups.forEach(function (group, key) {\n group.complete();\n });\n groups.clear();\n }\n this.destination.complete();\n };\n GroupBySubscriber.prototype.removeGroup = function (key) {\n this.groups.delete(key);\n };\n GroupBySubscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.attemptedToUnsubscribe = true;\n if (this.count === 0) {\n _super.prototype.unsubscribe.call(this);\n }\n }\n };\n return GroupBySubscriber;\n}(Subscriber_1.Subscriber));\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar GroupDurationSubscriber = (function (_super) {\n __extends(GroupDurationSubscriber, _super);\n function GroupDurationSubscriber(key, group, parent) {\n _super.call(this, group);\n this.key = key;\n this.group = group;\n this.parent = parent;\n }\n GroupDurationSubscriber.prototype._next = function (value) {\n this.complete();\n };\n GroupDurationSubscriber.prototype._unsubscribe = function () {\n var _a = this, parent = _a.parent, key = _a.key;\n this.key = this.parent = null;\n if (parent) {\n parent.removeGroup(key);\n }\n };\n return GroupDurationSubscriber;\n}(Subscriber_1.Subscriber));\n/**\n * An Observable representing values belonging to the same group represented by\n * a common key. The values emitted by a GroupedObservable come from the source\n * Observable. The common key is available as the field `key` on a\n * GroupedObservable instance.\n *\n * @class GroupedObservable<K, T>\n */\nvar GroupedObservable = (function (_super) {\n __extends(GroupedObservable, _super);\n function GroupedObservable(key, groupSubject, refCountSubscription) {\n _super.call(this);\n this.key = key;\n this.groupSubject = groupSubject;\n this.refCountSubscription = refCountSubscription;\n }\n GroupedObservable.prototype._subscribe = function (subscriber) {\n var subscription = new Subscription_1.Subscription();\n var _a = this, refCountSubscription = _a.refCountSubscription, groupSubject = _a.groupSubject;\n if (refCountSubscription && !refCountSubscription.closed) {\n subscription.add(new InnerRefCountSubscription(refCountSubscription));\n }\n subscription.add(groupSubject.subscribe(subscriber));\n return subscription;\n };\n return GroupedObservable;\n}(Observable_1.Observable));\nexports.GroupedObservable = GroupedObservable;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar InnerRefCountSubscription = (function (_super) {\n __extends(InnerRefCountSubscription, _super);\n function InnerRefCountSubscription(parent) {\n _super.call(this);\n this.parent = parent;\n parent.count++;\n }\n InnerRefCountSubscription.prototype.unsubscribe = function () {\n var parent = this.parent;\n if (!parent.closed && !this.closed) {\n _super.prototype.unsubscribe.call(this);\n parent.count -= 1;\n if (parent.count === 0 && parent.attemptedToUnsubscribe) {\n parent.unsubscribe();\n }\n }\n };\n return InnerRefCountSubscription;\n}(Subscription_1.Subscription));\n//# sourceMappingURL=groupBy.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/operators/groupBy.js\n// module id = 171\n// module chunks = 0","\"use strict\";\nvar root_1 = require('./root');\nvar MapPolyfill_1 = require('./MapPolyfill');\nexports.Map = root_1.root.Map || (function () { return MapPolyfill_1.MapPolyfill; })();\n//# sourceMappingURL=Map.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/util/Map.js\n// module id = 172\n// module chunks = 0","\"use strict\";\nvar MapPolyfill = (function () {\n function MapPolyfill() {\n this.size = 0;\n this._values = [];\n this._keys = [];\n }\n MapPolyfill.prototype.get = function (key) {\n var i = this._keys.indexOf(key);\n return i === -1 ? undefined : this._values[i];\n };\n MapPolyfill.prototype.set = function (key, value) {\n var i = this._keys.indexOf(key);\n if (i === -1) {\n this._keys.push(key);\n this._values.push(value);\n this.size++;\n }\n else {\n this._values[i] = value;\n }\n return this;\n };\n MapPolyfill.prototype.delete = function (key) {\n var i = this._keys.indexOf(key);\n if (i === -1) {\n return false;\n }\n this._values.splice(i, 1);\n this._keys.splice(i, 1);\n this.size--;\n return true;\n };\n MapPolyfill.prototype.clear = function () {\n this._keys.length = 0;\n this._values.length = 0;\n this.size = 0;\n };\n MapPolyfill.prototype.forEach = function (cb, thisArg) {\n for (var i = 0; i < this.size; i++) {\n cb.call(thisArg, this._values[i], this._keys[i]);\n }\n };\n return MapPolyfill;\n}());\nexports.MapPolyfill = MapPolyfill;\n//# sourceMappingURL=MapPolyfill.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/util/MapPolyfill.js\n// module id = 173\n// module chunks = 0","\"use strict\";\nvar FastMap = (function () {\n function FastMap() {\n this.values = {};\n }\n FastMap.prototype.delete = function (key) {\n this.values[key] = null;\n return true;\n };\n FastMap.prototype.set = function (key, value) {\n this.values[key] = value;\n return this;\n };\n FastMap.prototype.get = function (key) {\n return this.values[key];\n };\n FastMap.prototype.forEach = function (cb, thisArg) {\n var values = this.values;\n for (var key in values) {\n if (values.hasOwnProperty(key) && values[key] !== null) {\n cb.call(thisArg, values[key], key);\n }\n }\n };\n FastMap.prototype.clear = function () {\n this.values = {};\n };\n return FastMap;\n}());\nexports.FastMap = FastMap;\n//# sourceMappingURL=FastMap.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/rxjs/util/FastMap.js\n// module id = 174\n// module chunks = 0"],"sourceRoot":""}