>16&255,a[c++]=o>>8&255,a[c++]=255&o;return 2===s?(o=l[e.charCodeAt(t)]<<2|l[e.charCodeAt(t+1)]>>4,a[c++]=255&o):1===s&&(o=l[e.charCodeAt(t)]<<10|l[e.charCodeAt(t+1)]<<4|l[e.charCodeAt(t+2)]>>2,a[c++]=o>>8&255,a[c++]=255&o),a}function s(e){return c[e>>18&63]+c[e>>12&63]+c[e>>6&63]+c[63&e]}function a(e,t,n){for(var r,i=[],o=t;ou?u:s+16383));return 1===r?(t=e[n-1],i+=c[t>>2],i+=c[t<<4&63],i+="=="):2===r&&(t=(e[n-2]<<8)+e[n-1],i+=c[t>>10],i+=c[t>>4&63],i+=c[t<<2&63],i+="="),o.push(i),o.join("")}n.byteLength=i,n.toByteArray=o,n.fromByteArray=u;for(var c=[],l=[],f="undefined"!=typeof Uint8Array?Uint8Array:Array,h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",d=0,p=h.length;d0;){var t=e.shift();if("function"==typeof t){var n=e.shift(),r=e.shift();t.call(n,r)}else t._settlePromises()}},r.prototype._drainQueues=function(){this._drainQueue(this._normalQueue),this._reset(),this._haveDrainedQueues=!0,this._drainQueue(this._lateQueue)},r.prototype._queueTick=function(){this._isTickUsed||(this._isTickUsed=!0,this._schedule(this.drainQueues))},r.prototype._reset=function(){this._isTickUsed=!1},t.exports=r,t.exports.firstLineError=u},{"./queue":26,"./schedule":29,"./util":36}],3:[function(e,t,n){"use strict";t.exports=function(e,t,n,r){var i=!1,o=function(e,t){this._reject(t)},s=function(e,t){t.promiseRejectionQueued=!0,t.bindingPromise._then(o,o,null,this,e)},a=function(e,t){0==(50397184&this._bitField)&&this._resolveCallback(t.target)},u=function(e,t){t.promiseRejectionQueued||this._reject(e)};e.prototype.bind=function(o){i||(i=!0,e.prototype._propagateFrom=r.propagateFromFunction(),e.prototype._boundValue=r.boundValueFunction());var c=n(o),l=new e(t);l._propagateFrom(this,1);var f=this._target();if(l._setBoundTo(c),c instanceof e){var h={promiseRejectionQueued:!1,promise:l,target:f,bindingPromise:c};f._then(t,s,void 0,l,h),c._then(a,u,void 0,l,h),l._setOnCancel(c)}else l._resolveCallback(f);return l},e.prototype._setBoundTo=function(e){void 0!==e?(this._bitField=2097152|this._bitField,this._boundTo=e):this._bitField=this._bitField&-2097153},e.prototype._isBound=function(){return 2097152==(2097152&this._bitField)},e.bind=function(t,n){return e.resolve(n).bind(t)}}},{}],4:[function(e,t,n){"use strict";function r(){try{Promise===o&&(Promise=i)}catch(e){}return o}var i;"undefined"!=typeof Promise&&(i=Promise);var o=e("./promise")();o.noConflict=r,t.exports=o},{"./promise":22}],5:[function(e,t,n){"use strict";var r=Object.create;if(r){var i=r(null),o=r(null);i[" size"]=o[" size"]=0}t.exports=function(t){function n(e,n){var r;if(null!=e&&(r=e[n]),"function"!=typeof r){var i="Object "+a.classString(e)+" has no method '"+a.toString(n)+"'";throw new t.TypeError(i)}return r}function r(e){return n(e,this.pop()).apply(e,this)}function i(e){return e[this]}function o(e){var t=+this;return t<0&&(t=Math.max(0,t+e.length)),e[t]}var s,a=e("./util"),u=a.canEvaluate;a.isIdentifier;t.prototype.call=function(e){var t=[].slice.call(arguments,1);return t.push(e),this._then(r,void 0,void 0,t,void 0)},t.prototype.get=function(e){var t,n="number"==typeof e;if(n)t=o;else if(u){var r=s(e);t=null!==r?r:i}else t=i;return this._then(t,void 0,void 0,e,void 0)}}},{"./util":36}],6:[function(e,t,n){"use strict";t.exports=function(t,n,r,i){var o=e("./util"),s=o.tryCatch,a=o.errorObj,u=t._async;t.prototype.break=t.prototype.cancel=function(){if(!i.cancellation())return this._warn("cancellation is disabled");for(var e=this,t=e;e._isCancellable();){if(!e._cancelBy(t)){t._isFollowing()?t._followee().cancel():t._cancelBranched();break}var n=e._cancellationParent;if(null==n||!n._isCancellable()){e._isFollowing()?e._followee().cancel():e._cancelBranched();break}e._isFollowing()&&e._followee().cancel(),e._setWillBeCancelled(),t=e,e=n}},t.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--},t.prototype._enoughBranchesHaveCancelled=function(){return void 0===this._branchesRemainingToCancel||this._branchesRemainingToCancel<=0},t.prototype._cancelBy=function(e){return e===this?(this._branchesRemainingToCancel=0,this._invokeOnCancel(),!0):(this._branchHasCancelled(),!!this._enoughBranchesHaveCancelled()&&(this._invokeOnCancel(),!0))},t.prototype._cancelBranched=function(){this._enoughBranchesHaveCancelled()&&this._cancel()},t.prototype._cancel=function(){this._isCancellable()&&(this._setCancelled(),u.invoke(this._cancelPromises,this,void 0))},t.prototype._cancelPromises=function(){this._length()>0&&this._settlePromises()},t.prototype._unsetOnCancel=function(){this._onCancelField=void 0},t.prototype._isCancellable=function(){return this.isPending()&&!this._isCancelled()},t.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()},t.prototype._doInvokeOnCancel=function(e,t){if(o.isArray(e))for(var n=0;n=0)return o[e]}var i=!1,o=[];return e.prototype._promiseCreated=function(){},e.prototype._pushContext=function(){},e.prototype._popContext=function(){return null},e._peekContext=e.prototype._peekContext=function(){},t.prototype._pushContext=function(){void 0!==this._trace&&(this._trace._promiseCreated=null,o.push(this._trace))},t.prototype._popContext=function(){if(void 0!==this._trace){var e=o.pop(),t=e._promiseCreated;return e._promiseCreated=null,t}return null},t.CapturedTrace=null,t.create=n,t.deactivateLongStackTraces=function(){},t.activateLongStackTraces=function(){var n=e.prototype._pushContext,o=e.prototype._popContext,s=e._peekContext,a=e.prototype._peekContext,u=e.prototype._promiseCreated;t.deactivateLongStackTraces=function(){e.prototype._pushContext=n,e.prototype._popContext=o,e._peekContext=s,e.prototype._peekContext=a,e.prototype._promiseCreated=u,i=!1},i=!0,e.prototype._pushContext=t.prototype._pushContext,e.prototype._popContext=t.prototype._popContext,e._peekContext=e.prototype._peekContext=r,e.prototype._promiseCreated=function(){var e=this._peekContext();e&&null==e._promiseCreated&&(e._promiseCreated=this)}},t}},{}],9:[function(e,t,n){"use strict";t.exports=function(t,n){function r(e,t){return{promise:t}}function o(){return!1}function s(e,t,n){var r=this;try{e(t,n,function(e){if("function"!=typeof e)throw new TypeError("onCancel must be a function, got: "+D.toString(e));r._attachCancellationCallback(e)})}catch(e){return e}}function a(e){if(!this._isCancellable())return this;var t=this._onCancel();void 0!==t?D.isArray(t)?t.push(e):this._setOnCancel([t,e]):this._setOnCancel(e)}function u(){return this._onCancelField}function c(e){this._onCancelField=e}function l(){this._cancellationParent=void 0,this._onCancelField=void 0}function f(e,t){if(0!=(1&t)){this._cancellationParent=e;var n=e._branchesRemainingToCancel;void 0===n&&(n=0),e._branchesRemainingToCancel=n+1}0!=(2&t)&&e._isBound()&&this._setBoundTo(e._boundTo)}function h(e,t){0!=(2&t)&&e._isBound()&&this._setBoundTo(e._boundTo)}function d(){var e=this._boundTo;return void 0!==e&&e instanceof t?e.isFulfilled()?e.value():void 0:e}function p(){this._trace=new P(this._peekContext())}function m(e,t){if(B(e)){var n=this._trace;if(void 0!==n&&t&&(n=n._parent),void 0!==n)n.attachExtraTrace(e);else if(!e.__stackCleaned__){var r=x(e);D.notEnumerableProp(e,"stack",r.message+"\n"+r.stack.join("\n")),D.notEnumerableProp(e,"__stackCleaned__",!0)}}}function v(e,t,n,r,i){if(void 0===e&&null!==t&&Q){if(void 0!==i&&i._returnedNonUndefined())return;if(0==(65535&r._bitField))return;n&&(n+=" ");var o="",s="";if(t._trace){for(var a=t._trace.stack.split("\n"),u=w(a),c=u.length-1;c>=0;--c){var l=u[c];if(!z.test(l)){var f=l.match(H);f&&(o="at "+f[1]+":"+f[2]+":"+f[3]+" ");break}}if(u.length>0)for(var h=u[0],c=0;c0&&(s="\n"+a[c-1]);break}}var d="a promise was created in a "+n+"handler "+o+"but was not returned from it, see http://goo.gl/rRqMUw"+s;r._warn(d,!0,t)}}function b(e,t){var n=e+" is deprecated and will be removed in a future version.";return t&&(n+=" Use "+t+" instead."),y(n)}function y(e,n,r){if(se.warnings){var i,o=new L(e);if(n)r._attachExtraTrace(o);else if(se.longStackTraces&&(i=t._peekContext()))i.attachExtraTrace(o);else{var s=x(o);o.stack=s.message+"\n"+s.stack.join("\n")}te("warning",o)||j(o,"",!0)}}function _(e,t){for(var n=0;n=0;--a)if(r[a]===o){s=a;break}for(var a=s;a>=0;--a){var u=r[a];if(t[i]!==u)break;t.pop(),i--}t=r}}function w(e){for(var t=[],n=0;n0&&"SyntaxError"!=e.name&&(t=t.slice(n)),t}function x(e){var t=e.stack,n=e.toString();return t="string"==typeof t&&t.length>0?C(e):[" (No stack trace)"],{message:n,stack:"SyntaxError"==e.name?t:w(t)}}function j(e,t,n){if("undefined"!=typeof console){var r;if(D.isObject(e)){var i=e.stack;r=t+V(i,e)}else r=t+String(e);"function"==typeof F?F(r,n):"function"!=typeof console.log&&"object"!=typeof console.log||console.log(r)}}function E(e,t,n,r){var i=!1;try{"function"==typeof t&&(i=!0,"rejectionHandled"===e?t(r):t(n,r))}catch(e){U.throwLater(e)}"unhandledRejection"===e?te(e,n,r)||i||j(n,"Unhandled rejection "):te(e,r)}function S(e){var t;if("function"==typeof e)t="[function "+(e.name||"anonymous")+"]";else{t=e&&"function"==typeof e.toString?e.toString():D.toString(e);if(/\[object [a-zA-Z0-9$_]+\]/.test(t))try{t=JSON.stringify(e)}catch(e){}0===t.length&&(t="(empty array)")}return"(<"+T(t)+">, no stack trace)"}function T(e){return e.length<41?e:e.substr(0,38)+"..."}function R(){return"function"==typeof oe}function I(e){var t=e.match(ie);if(t)return{fileName:t[1],line:parseInt(t[2],10)}}function A(e,t){if(R()){for(var n,r,i=e.stack.split("\n"),o=t.stack.split("\n"),s=-1,a=-1,u=0;u=a||(re=function(e){if(q.test(e))return!0;var t=I(e);return!!(t&&t.fileName===n&&s<=t.line&&t.line<=a)})}}function P(e){this._parent=e,this._promisesCreated=0;var t=this._length=1+(void 0===e?0:e._length);oe(this,P),t>32&&this.uncycle()}var O,M,F,N=t._getDomain,U=t._async,L=e("./errors").Warning,D=e("./util"),B=D.canAttachTrace,q=/[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/,z=/\((?:timers\.js):\d+:\d+\)/,H=/[\/<\(](.+?):(\d+):(\d+)\)?\s*$/,W=null,V=null,G=!1,J=!(0==D.env("BLUEBIRD_DEBUG")),$=!(0==D.env("BLUEBIRD_WARNINGS")||!J&&!D.env("BLUEBIRD_WARNINGS")),K=!(0==D.env("BLUEBIRD_LONG_STACK_TRACES")||!J&&!D.env("BLUEBIRD_LONG_STACK_TRACES")),Q=0!=D.env("BLUEBIRD_W_FORGOTTEN_RETURN")&&($||!!D.env("BLUEBIRD_W_FORGOTTEN_RETURN"));t.prototype.suppressUnhandledRejections=function(){var e=this._target();e._bitField=e._bitField&-1048577|524288},t.prototype._ensurePossibleRejectionHandled=function(){0==(524288&this._bitField)&&(this._setRejectionIsUnhandled(),U.invokeLater(this._notifyUnhandledRejection,this,void 0))},t.prototype._notifyUnhandledRejectionIsHandled=function(){E("rejectionHandled",O,void 0,this)},t.prototype._setReturnedNonUndefined=function(){this._bitField=268435456|this._bitField},t.prototype._returnedNonUndefined=function(){return 0!=(268435456&this._bitField)},t.prototype._notifyUnhandledRejection=function(){if(this._isRejectionUnhandled()){var e=this._settledValue();this._setUnhandledRejectionIsNotified(),E("unhandledRejection",M,e,this)}},t.prototype._setUnhandledRejectionIsNotified=function(){this._bitField=262144|this._bitField},t.prototype._unsetUnhandledRejectionIsNotified=function(){this._bitField=this._bitField&-262145},t.prototype._isUnhandledRejectionNotified=function(){return(262144&this._bitField)>0},t.prototype._setRejectionIsUnhandled=function(){this._bitField=1048576|this._bitField},t.prototype._unsetRejectionIsUnhandled=function(){this._bitField=this._bitField&-1048577,this._isUnhandledRejectionNotified()&&(this._unsetUnhandledRejectionIsNotified(),this._notifyUnhandledRejectionIsHandled())},t.prototype._isRejectionUnhandled=function(){return(1048576&this._bitField)>0},t.prototype._warn=function(e,t,n){return y(e,t,n||this)},t.onPossiblyUnhandledRejection=function(e){var t=N();M="function"==typeof e?null===t?e:D.domainBind(t,e):void 0},t.onUnhandledRejectionHandled=function(e){var t=N();O="function"==typeof e?null===t?e:D.domainBind(t,e):void 0};var X=function(){};t.longStackTraces=function(){if(U.haveItemsQueued()&&!se.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");if(!se.longStackTraces&&R()){var e=t.prototype._captureStackTrace,r=t.prototype._attachExtraTrace;se.longStackTraces=!0,X=function(){if(U.haveItemsQueued()&&!se.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");t.prototype._captureStackTrace=e,t.prototype._attachExtraTrace=r,n.deactivateLongStackTraces(),U.enableTrampoline(),se.longStackTraces=!1},t.prototype._captureStackTrace=p,t.prototype._attachExtraTrace=m,n.activateLongStackTraces(),U.disableTrampolineIfNecessary()}},t.hasLongStackTraces=function(){return se.longStackTraces&&R()};var Y=function(){try{if("function"==typeof CustomEvent){var e=new CustomEvent("CustomEvent");return D.global.dispatchEvent(e),function(e,t){var n=new CustomEvent(e.toLowerCase(),{detail:t,cancelable:!0});return!D.global.dispatchEvent(n)}}if("function"==typeof Event){var e=new Event("CustomEvent");return D.global.dispatchEvent(e),function(e,t){var n=new Event(e.toLowerCase(),{cancelable:!0});return n.detail=t,!D.global.dispatchEvent(n)}}var e=document.createEvent("CustomEvent");return e.initCustomEvent("testingtheevent",!1,!0,{}),D.global.dispatchEvent(e),function(e,t){var n=document.createEvent("CustomEvent");return n.initCustomEvent(e.toLowerCase(),!1,!0,t),!D.global.dispatchEvent(n)}}catch(e){}return function(){return!1}}(),Z=function(){return D.isNode?function(){return i.emit.apply(i,arguments)}:D.global?function(e){var t="on"+e.toLowerCase(),n=D.global[t];return!!n&&(n.apply(D.global,[].slice.call(arguments,1)),!0)}:function(){return!1}}(),ee={promiseCreated:r,promiseFulfilled:r,promiseRejected:r,promiseResolved:r,promiseCancelled:r,promiseChained:function(e,t,n){return{promise:t,child:n}},warning:function(e,t){return{warning:t}},unhandledRejection:function(e,t,n){return{reason:t,promise:n}},rejectionHandled:r},te=function(e){var t=!1;try{t=Z.apply(null,arguments)}catch(e){U.throwLater(e),t=!0}var n=!1;try{n=Y(e,ee[e].apply(null,arguments))}catch(e){U.throwLater(e),n=!0}return n||t};t.config=function(e){if(e=Object(e),"longStackTraces"in e&&(e.longStackTraces?t.longStackTraces():!e.longStackTraces&&t.hasLongStackTraces()&&X()),"warnings"in e){var n=e.warnings;se.warnings=!!n,Q=se.warnings,D.isObject(n)&&"wForgottenReturn"in n&&(Q=!!n.wForgottenReturn)}if("cancellation"in e&&e.cancellation&&!se.cancellation){if(U.haveItemsQueued())throw new Error("cannot enable cancellation after promises are in use");t.prototype._clearCancellationData=l,t.prototype._propagateFrom=f,t.prototype._onCancel=u,t.prototype._setOnCancel=c,t.prototype._attachCancellationCallback=a,t.prototype._execute=s,ne=f,se.cancellation=!0}return"monitoring"in e&&(e.monitoring&&!se.monitoring?(se.monitoring=!0,t.prototype._fireEvent=te):!e.monitoring&&se.monitoring&&(se.monitoring=!1,t.prototype._fireEvent=o)),t},t.prototype._fireEvent=o,t.prototype._execute=function(e,t,n){try{e(t,n)}catch(e){return e}},t.prototype._onCancel=function(){},t.prototype._setOnCancel=function(e){},t.prototype._attachCancellationCallback=function(e){},t.prototype._captureStackTrace=function(){},t.prototype._attachExtraTrace=function(){},t.prototype._clearCancellationData=function(){},t.prototype._propagateFrom=function(e,t){};var ne=h,re=function(){return!1},ie=/[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/;D.inherits(P,Error),n.CapturedTrace=P,P.prototype.uncycle=function(){var e=this._length;if(!(e<2)){for(var t=[],n={},r=0,i=this;void 0!==i;++r)t.push(i),i=i._parent;e=this._length=r;for(var r=e-1;r>=0;--r){var o=t[r].stack;void 0===n[o]&&(n[o]=r)}for(var r=0;r0&&(t[a-1]._parent=void 0,t[a-1]._length=1),t[r]._parent=void 0,t[r]._length=1;var u=r>0?t[r-1]:this;a=0;--l)t[l]._length=c,c++;return}}}},P.prototype.attachExtraTrace=function(e){if(!e.__stackCleaned__){this.uncycle();for(var t=x(e),n=t.message,r=[t.stack],i=this;void 0!==i;)r.push(w(i.stack.split("\n"))),i=i._parent;k(r),g(r),D.notEnumerableProp(e,"stack",_(n,r)),D.notEnumerableProp(e,"__stackCleaned__",!0)}};var oe=function(){var e=function(e,t){return"string"==typeof e?e:void 0!==t.name&&void 0!==t.message?t.toString():S(t)};if("number"==typeof Error.stackTraceLimit&&"function"==typeof Error.captureStackTrace){Error.stackTraceLimit+=6,W=/^\s*at\s*/,V=e;var t=Error.captureStackTrace;return re=function(e){return q.test(e)},function(e,n){Error.stackTraceLimit+=6,t(e,n),Error.stackTraceLimit-=6}}var n=new Error;if("string"==typeof n.stack&&n.stack.split("\n")[0].indexOf("stackDetection@")>=0)return W=/@/,V=e,G=!0,function(e){e.stack=(new Error).stack};var r;try{throw new Error}catch(e){r="stack"in e}return"stack"in n||!r||"number"!=typeof Error.stackTraceLimit?(V=function(e,t){return"string"==typeof e?e:"object"!=typeof t&&"function"!=typeof t||void 0===t.name||void 0===t.message?S(t):t.toString()},null):(W=/^\s*at\s*/,V=e,function(e){Error.stackTraceLimit+=6;try{throw new Error}catch(t){e.stack=t.stack}Error.stackTraceLimit-=6})}();"undefined"!=typeof console&&void 0!==console.warn&&(F=function(e){console.warn(e)},D.isNode&&i.stderr.isTTY?F=function(e,t){var n=t?"\x1b[33m":"\x1b[31m";console.warn(n+e+"\x1b[0m\n")}:D.isNode||"string"!=typeof(new Error).stack||(F=function(e,t){console.warn("%c"+e,t?"color: darkorange":"color: red")}));var se={warnings:$,longStackTraces:!1,cancellation:!1,monitoring:!1};return K&&t.longStackTraces(),{longStackTraces:function(){return se.longStackTraces},warnings:function(){return se.warnings},cancellation:function(){return se.cancellation},monitoring:function(){return se.monitoring},propagateFromFunction:function(){return ne},boundValueFunction:function(){return d},checkForgottenReturns:v,setBounds:A,warn:y,deprecated:b,CapturedTrace:P,fireDomEvent:Y,fireGlobalEvent:Z}}},{"./errors":12,"./util":36}],10:[function(e,t,n){"use strict";t.exports=function(e){function t(){return this.value}function n(){throw this.reason}e.prototype.return=e.prototype.thenReturn=function(n){return n instanceof e&&n.suppressUnhandledRejections(),this._then(t,void 0,void 0,{value:n},void 0)},e.prototype.throw=e.prototype.thenThrow=function(e){return this._then(n,void 0,void 0,{reason:e},void 0)},e.prototype.catchThrow=function(e){if(arguments.length<=1)return this._then(void 0,n,void 0,{reason:e},void 0);var t=arguments[1],r=function(){throw t};return this.caught(e,r)},e.prototype.catchReturn=function(n){if(arguments.length<=1)return n instanceof e&&n.suppressUnhandledRejections(),this._then(void 0,t,void 0,{value:n},void 0);var r=arguments[1];r instanceof e&&r.suppressUnhandledRejections();var i=function(){return r};return this.caught(n,i)}}},{}],11:[function(e,t,n){"use strict";t.exports=function(e,t){function n(){return o(this)}function r(e,n){return i(e,n,t,t)}var i=e.reduce,o=e.all;e.prototype.each=function(e){return i(this,e,t,0)._then(n,void 0,void 0,this,void 0)},e.prototype.mapSeries=function(e){return i(this,e,t,t)},e.each=function(e,r){return i(e,r,t,0)._then(n,void 0,void 0,e,void 0)},e.mapSeries=r}},{}],12:[function(e,t,n){"use strict";function r(e,t){function n(r){if(!(this instanceof n))return new n(r);f(this,"message","string"==typeof r?r:t),f(this,"name",e),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):Error.call(this)}return l(n,Error),n}function i(e){if(!(this instanceof i))return new i(e);f(this,"name","OperationalError"),f(this,"message",e),this.cause=e,this.isOperational=!0,e instanceof Error?(f(this,"message",e.message),f(this,"stack",e.stack)):Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}var o,s,a=e("./es5"),u=a.freeze,c=e("./util"),l=c.inherits,f=c.notEnumerableProp,h=r("Warning","warning"),d=r("CancellationError","cancellation error"),p=r("TimeoutError","timeout error"),m=r("AggregateError","aggregate error");try{o=TypeError,s=RangeError}catch(e){o=r("TypeError","type error"),s=r("RangeError","range error")}for(var v="join pop push shift unshift slice filter forEach some every map indexOf lastIndexOf reduce reduceRight sort reverse".split(" "),b=0;b1?e.cancelPromise._reject(t):e.cancelPromise._cancel(),e.cancelPromise=null,!0)}function s(){return u.call(this,this.promise._target()._settledValue())}function a(e){if(!o(this,e))return f.e=e,f}function u(e){var r=this.promise,u=this.handler;if(!this.called){this.called=!0;var c=this.isFinallyHandler()?u.call(r._boundValue()):u.call(r._boundValue(),e);if(void 0!==c){r._setReturnedNonUndefined();var h=n(c,r);if(h instanceof t){if(null!=this.cancelPromise){if(h._isCancelled()){var d=new l("late cancellation observer");return r._attachExtraTrace(d),f.e=d,f}h.isPending()&&h._attachCancellationCallback(new i(this))}return h._then(s,a,void 0,this,void 0)}}}return r.isRejected()?(o(this),f.e=e,f):(o(this),e)}var c=e("./util"),l=t.CancellationError,f=c.errorObj;return r.prototype.isFinallyHandler=function(){return 0===this.type},i.prototype._resultCancelled=function(){o(this.finallyHandler)},t.prototype._passThrough=function(e,t,n,i){return"function"!=typeof e?this.then():this._then(n,i,void 0,new r(this,t,e),void 0)},t.prototype.lastly=t.prototype.finally=function(e){return this._passThrough(e,0,u,u)},t.prototype.tap=function(e){return this._passThrough(e,1,u)},r}},{"./util":36}],16:[function(e,t,n){"use strict";t.exports=function(t,n,r,i,o,s){function a(e,n,r){for(var o=0;o0&&"function"==typeof arguments[t]){e=arguments[t];var r}var i=[].slice.call(arguments);e&&i.pop();var r=new n(i).promise();return void 0!==e?r.spread(e):r}}},{"./util":36}],18:[function(e,t,n){"use strict";t.exports=function(t,n,r,i,o,s){function a(e,t,n,r){this.constructor$(e),this._promise._captureStackTrace();var i=c();this._callback=null===i?t:l.domainBind(i,t),this._preservedValues=r===o?new Array(this.length()):null,this._limit=n,this._inFlight=0,this._queue=[],d.invoke(this._asyncInit,this,void 0)}function u(e,n,i,o){if("function"!=typeof n)return r("expecting a function but got "+l.classString(n));var s=0;if(void 0!==i){if("object"!=typeof i||null===i)return t.reject(new TypeError("options argument must be an object but it is "+l.classString(i)));if("number"!=typeof i.concurrency)return t.reject(new TypeError("'concurrency' must be a number but it is "+l.classString(i.concurrency)));s=i.concurrency}return s="number"==typeof s&&isFinite(s)&&s>=1?s:0,new a(e,n,s,o).promise()}var c=t._getDomain,l=e("./util"),f=l.tryCatch,h=l.errorObj,d=t._async;l.inherits(a,n),a.prototype._asyncInit=function(){this._init$(void 0,-2)},a.prototype._init=function(){},a.prototype._promiseFulfilled=function(e,n){var r=this._values,o=this.length(),a=this._preservedValues,u=this._limit;if(n<0){if(n=n*-1-1,r[n]=e,u>=1&&(this._inFlight--,this._drainQueue(),this._isResolved()))return!0}else{if(u>=1&&this._inFlight>=u)return r[n]=e,this._queue.push(n),!1;null!==a&&(a[n]=e);var c=this._promise,l=this._callback,d=c._boundValue();c._pushContext();var p=f(l).call(d,e,n,o),m=c._popContext();if(s.checkForgottenReturns(p,m,null!==a?"Promise.filter":"Promise.map",c),p===h)return this._reject(p.e),!0;var v=i(p,this._promise);if(v instanceof t){v=v._target();var b=v._bitField;if(0==(50397184&b))return u>=1&&this._inFlight++,r[n]=v,v._proxy(this,(n+1)*-1),!1;if(0==(33554432&b))return 0!=(16777216&b)?(this._reject(v._reason()),!0):(this._cancel(),!0);p=v._value()}r[n]=p}return++this._totalResolved>=o&&(null!==a?this._filter(r,a):this._resolve(r),!0)},a.prototype._drainQueue=function(){for(var e=this._queue,t=this._limit,n=this._values;e.length>0&&this._inFlight1){o.deprecated("calling Promise.try with more than 1 argument");var c=arguments[1],l=arguments[2];u=s.isArray(c)?a(e).apply(l,c):a(e).call(l,c)}else u=a(e)();var f=r._popContext();return o.checkForgottenReturns(u,f,"Promise.try",r),r._resolveFromSyncValue(u),r},t.prototype._resolveFromSyncValue=function(e){e===s.errorObj?this._rejectCallback(e.e,!1):this._resolveCallback(e,!0)}}},{"./util":36}],20:[function(e,t,n){"use strict";function r(e){return e instanceof Error&&l.getPrototypeOf(e)===Error.prototype}function i(e){var t;if(r(e)){t=new c(e),t.name=e.name,t.message=e.message,t.stack=e.stack;for(var n=l.keys(e),i=0;i1){var n,r=new Array(t-1),i=0;for(n=0;n0&&"function"!=typeof e&&"function"!=typeof t){var n=".then() only accepts functions but was passed: "+p.classString(e);arguments.length>1&&(n+=", "+p.classString(t)),this._warn(n)}return this._then(e,t,void 0,void 0,void 0)},o.prototype.done=function(e,t){this._then(e,t,void 0,void 0,void 0)._setIsFinal()},o.prototype.spread=function(e){return"function"!=typeof e?h("expecting a function but got "+p.classString(e)):this.all()._then(e,void 0,void 0,w,void 0)},o.prototype.toJSON=function(){var e={isFulfilled:!1,isRejected:!1,fulfillmentValue:void 0,rejectionReason:void 0};return this.isFulfilled()?(e.fulfillmentValue=this.value(),e.isFulfilled=!0):this.isRejected()&&(e.rejectionReason=this.reason(),e.isRejected=!0),e},o.prototype.all=function(){return arguments.length>0&&this._warn(".all() was passed arguments but it does not take any"),new j(this).promise()},o.prototype.error=function(e){return this.caught(p.originatesFromRejection,e)},o.getNewLibraryCopy=t.exports,o.is=function(e){return e instanceof o},o.fromNode=o.fromCallback=function(e){var t=new o(k);t._captureStackTrace();var n=arguments.length>1&&!!Object(arguments[1]).multiArgs,r=O(e)(A(t,n));return r===P&&t._rejectCallback(r.e,!0),t._isFateSealed()||t._setAsyncGuaranteed(),t},o.all=function(e){return new j(e).promise()},o.cast=function(e){var t=x(e);return t instanceof o||(t=new o(k),t._captureStackTrace(),t._setFulfilled(),t._rejectionHandler0=e),t},o.resolve=o.fulfilled=o.cast,o.reject=o.rejected=function(e){var t=new o(k);return t._captureStackTrace(),t._rejectCallback(e,!0),t},o.setScheduler=function(e){if("function"!=typeof e)throw new _("expecting a function but got "+p.classString(e));return b.setScheduler(e)},o.prototype._then=function(e,t,n,r,i){var s=void 0!==i,a=s?i:new o(k),u=this._target(),l=u._bitField;s||(a._propagateFrom(this,3),a._captureStackTrace(),void 0===r&&0!=(2097152&this._bitField)&&(r=0!=(50397184&l)?this._boundValue():u===this?void 0:this._boundTo),this._fireEvent("promiseChained",this,a));var f=c();if(0!=(50397184&l)){var h,d,m=u._settlePromiseCtx;0!=(33554432&l)?(d=u._rejectionHandler0,h=e):0!=(16777216&l)?(d=u._fulfillmentHandler0,h=t,u._unsetRejectionIsUnhandled()):(m=u._settlePromiseLateCancellationObserver,d=new g("late cancellation observer"),u._attachExtraTrace(d),h=t),b.invoke(m,u,{handler:null===f?h:"function"==typeof h&&p.domainBind(f,h),promise:a,receiver:r,value:d})}else u._addCallbacks(e,t,a,r,f);return a},o.prototype._length=function(){return 65535&this._bitField},o.prototype._isFateSealed=function(){return 0!=(117506048&this._bitField)},o.prototype._isFollowing=function(){return 67108864==(67108864&this._bitField)},o.prototype._setLength=function(e){this._bitField=this._bitField&-65536|65535&e},o.prototype._setFulfilled=function(){this._bitField=33554432|this._bitField,this._fireEvent("promiseFulfilled",this)},o.prototype._setRejected=function(){this._bitField=16777216|this._bitField,this._fireEvent("promiseRejected",this)},o.prototype._setFollowing=function(){this._bitField=67108864|this._bitField,this._fireEvent("promiseResolved",this)},o.prototype._setIsFinal=function(){this._bitField=4194304|this._bitField},o.prototype._isFinal=function(){return(4194304&this._bitField)>0},o.prototype._unsetCancelled=function(){this._bitField=this._bitField&-65537},o.prototype._setCancelled=function(){this._bitField=65536|this._bitField,this._fireEvent("promiseCancelled",this)},o.prototype._setWillBeCancelled=function(){this._bitField=8388608|this._bitField},o.prototype._setAsyncGuaranteed=function(){b.hasCustomScheduler()||(this._bitField=134217728|this._bitField)},o.prototype._receiverAt=function(e){var t=0===e?this._receiver0:this[4*e-4+3];if(t!==d)return void 0===t&&this._isBound()?this._boundValue():t},o.prototype._promiseAt=function(e){return this[4*e-4+2]},o.prototype._fulfillmentHandlerAt=function(e){return this[4*e-4+0]},o.prototype._rejectionHandlerAt=function(e){return this[4*e-4+1]},o.prototype._boundValue=function(){},o.prototype._migrateCallback0=function(e){var t=(e._bitField,e._fulfillmentHandler0),n=e._rejectionHandler0,r=e._promise0,i=e._receiverAt(0);void 0===i&&(i=d),this._addCallbacks(t,n,r,i,null)},o.prototype._migrateCallbackAt=function(e,t){var n=e._fulfillmentHandlerAt(t),r=e._rejectionHandlerAt(t),i=e._promiseAt(t),o=e._receiverAt(t);void 0===o&&(o=d),this._addCallbacks(n,r,i,o,null)},o.prototype._addCallbacks=function(e,t,n,r,i){var o=this._length();if(o>=65531&&(o=0,this._setLength(0)),0===o)this._promise0=n,this._receiver0=r,"function"==typeof e&&(this._fulfillmentHandler0=null===i?e:p.domainBind(i,e)),"function"==typeof t&&(this._rejectionHandler0=null===i?t:p.domainBind(i,t));else{var s=4*o-4;this[s+2]=n,this[s+3]=r,"function"==typeof e&&(this[s+0]=null===i?e:p.domainBind(i,e)),"function"==typeof t&&(this[s+1]=null===i?t:p.domainBind(i,t))}return this._setLength(o+1),o},o.prototype._proxy=function(e,t){this._addCallbacks(void 0,void 0,t,e,null)},o.prototype._resolveCallback=function(e,t){if(0==(117506048&this._bitField)){if(e===this)return this._rejectCallback(l(),!1);var n=x(e,this);if(!(n instanceof o))return this._fulfill(e);t&&this._propagateFrom(n,2);var r=n._target();if(r===this)return void this._reject(l());var i=r._bitField;if(0==(50397184&i)){var s=this._length();s>0&&r._migrateCallback0(this);for(var a=1;a>>16)){if(e===this){var n=l();return this._attachExtraTrace(n),this._reject(n)}this._setFulfilled(),this._rejectionHandler0=e,(65535&t)>0&&(0!=(134217728&t)?this._settlePromises():b.settlePromises(this))}},o.prototype._reject=function(e){var t=this._bitField;if(!((117506048&t)>>>16)){if(this._setRejected(),this._fulfillmentHandler0=e,this._isFinal())return b.fatalError(e,p.isNode);(65535&t)>0?b.settlePromises(this):this._ensurePossibleRejectionHandled()}},o.prototype._fulfillPromises=function(e,t){for(var n=1;n0){if(0!=(16842752&e)){var n=this._fulfillmentHandler0;this._settlePromise0(this._rejectionHandler0,n,e),this._rejectPromises(t,n)}else{var r=this._rejectionHandler0;this._settlePromise0(this._fulfillmentHandler0,r,e),this._fulfillPromises(t,r)}this._setLength(0)}this._clearCancellationData()},o.prototype._settledValue=function(){var e=this._bitField;return 0!=(33554432&e)?this._rejectionHandler0:0!=(16777216&e)?this._fulfillmentHandler0:void 0},o.defer=o.pending=function(){return T.deprecated("Promise.defer","new Promise"),{promise:new o(k),resolve:s,reject:a}},p.notEnumerableProp(o,"_makeSelfResolutionError",l),e("./method")(o,k,x,h,T),e("./bind")(o,k,x,T),e("./cancel")(o,j,h,T),e("./direct_resolve")(o),e("./synchronous_inspection")(o),e("./join")(o,j,x,k,b,c),o.Promise=o,o.version="3.4.7",e("./map.js")(o,j,h,x,k,T),e("./call_get.js")(o),e("./using.js")(o,h,x,S,k,T),e("./timers.js")(o,k,T),e("./generators.js")(o,h,k,x,n,T),e("./nodeify.js")(o),e("./promisify.js")(o,k),e("./props.js")(o,j,x,h),e("./race.js")(o,k,x,h),e("./reduce.js")(o,j,h,x,k,T),e("./settle.js")(o,j,T),e("./some.js")(o,j,h),e("./filter.js")(o,k),e("./each.js")(o,k),e("./any.js")(o),p.toFastProperties(o),p.toFastProperties(o.prototype),u({a:1}),u({b:2}),u({c:3}),u(1),u(function(){}),u(void 0),u(!1),u(new o(k)),T.setBounds(v.firstLineError,p.lastLineError),o}},{"./any.js":1,"./async":2,"./bind":3,"./call_get.js":5,"./cancel":6,"./catch_filter":7,"./context":8,"./debuggability":9,"./direct_resolve":10,"./each.js":11,"./errors":12,"./es5":13,"./filter.js":14,"./finally":15,"./generators.js":16,"./join":17,"./map.js":18,"./method":19,"./nodeback":20,"./nodeify.js":21,"./promise_array":23,"./promisify.js":24,"./props.js":25,"./race.js":27,"./reduce.js":28,"./settle.js":30,"./some.js":31,"./synchronous_inspection":32,"./thenables":33,"./timers.js":34,"./using.js":35,"./util":36}],23:[function(e,t,n){"use strict";t.exports=function(t,n,r,i,o){function s(e){switch(e){case-2:return[];case-3:return{}}}function a(e){var r=this._promise=new t(n);e instanceof t&&r._propagateFrom(e,3),r._setOnCancel(this),this._values=e,this._length=0,this._totalResolved=0,this._init(void 0,-2)}var u=e("./util");u.isArray;return u.inherits(a,o),a.prototype.length=function(){return this._length},a.prototype.promise=function(){return this._promise},a.prototype._init=function e(n,o){var a=r(this._values,this._promise);if(a instanceof t){a=a._target();var c=a._bitField;if(this._values=a,0==(50397184&c))return this._promise._setAsyncGuaranteed(),a._then(e,this._reject,void 0,this,o);if(0==(33554432&c))return 0!=(16777216&c)?this._reject(a._reason()):this._cancel();a=a._value()}if(null===(a=u.asArray(a))){var l=i("expecting an array or an iterable object but got "+u.classString(a)).reason();return void this._promise._rejectCallback(l,!1)}if(0===a.length)return void(o===-5?this._resolveEmptyArray():this._resolve(s(o)));this._iterate(a)},a.prototype._iterate=function(e){var n=this.getActualLength(e.length);this._length=n,this._values=this.shouldCopyValues()?new Array(n):this._values;for(var i=this._promise,o=!1,s=null,a=0;a=this._length&&(this._resolve(this._values),!0)},a.prototype._promiseCancelled=function(){return this._cancel(),!0},a.prototype._promiseRejected=function(e){return this._totalResolved++,this._reject(e),!0},a.prototype._resultCancelled=function(){if(!this._isResolved()){var e=this._values;if(this._cancel(),e instanceof t)e.cancel();else for(var n=0;n=this._length){var n;if(this._isMap)n=h(this._values);else{n={};for(var r=this.length(),i=0,o=this.length();i>1},t.prototype.props=function(){return s(this)},t.props=function(e){return s(e)}}},{"./es5":13,"./util":36}],26:[function(e,t,n){"use strict";function r(e,t,n,r,i){for(var o=0;o=this._length&&(this._resolve(this._values),!0)},i.prototype._promiseFulfilled=function(e,t){var n=new o;return n._bitField=33554432,n._settledValueField=e,this._promiseResolved(t,n)},i.prototype._promiseRejected=function(e,t){var n=new o;return n._bitField=16777216,n._settledValueField=e,this._promiseResolved(t,n)},t.settle=function(e){return r.deprecated(".settle()",".reflect()"),new i(e).promise()},t.prototype.settle=function(){return t.settle(this)}}},{"./util":36}],31:[function(e,t,n){"use strict";t.exports=function(t,n,r){function i(e){this.constructor$(e),this._howMany=0,this._unwrap=!1,this._initialized=!1}function o(e,t){if((0|t)!==t||t<0)return r("expecting a positive integer\n\n See http://goo.gl/MqrFmX\n");var n=new i(e),o=n.promise();return n.setHowMany(t),n.init(),o}var s=e("./util"),a=e("./errors").RangeError,u=e("./errors").AggregateError,c=s.isArray,l={};s.inherits(i,n),i.prototype._init=function(){if(this._initialized){if(0===this._howMany)return void this._resolve([]);this._init$(void 0,-5);var e=c(this._values);!this._isResolved()&&e&&this._howMany>this._canPossiblyFulfill()&&this._reject(this._getRangeError(this.length()))}},i.prototype.init=function(){this._initialized=!0,this._init()},i.prototype.setUnwrap=function(){this._unwrap=!0},i.prototype.howMany=function(){return this._howMany},i.prototype.setHowMany=function(e){
this._howMany=e},i.prototype._promiseFulfilled=function(e){return this._addFulfilled(e),this._fulfilled()===this.howMany()&&(this._values.length=this.howMany(),1===this.howMany()&&this._unwrap?this._resolve(this._values[0]):this._resolve(this._values),!0)},i.prototype._promiseRejected=function(e){return this._addRejected(e),this._checkOutcome()},i.prototype._promiseCancelled=function(){return this._values instanceof t||null==this._values?this._cancel():(this._addRejected(l),this._checkOutcome())},i.prototype._checkOutcome=function(){if(this.howMany()>this._canPossiblyFulfill()){for(var e=new u,t=this.length();t0?this._reject(e):this._cancel(),!0}return!1},i.prototype._fulfilled=function(){return this._totalResolved},i.prototype._rejected=function(){return this._values.length-this.length()},i.prototype._addRejected=function(e){this._values.push(e)},i.prototype._addFulfilled=function(e){this._values[this._totalResolved++]=e},i.prototype._canPossiblyFulfill=function(){return this.length()-this._rejected()},i.prototype._getRangeError=function(e){var t="Input array must contain at least "+this._howMany+" items but contains only "+e+" items";return new a(t)},i.prototype._resolveEmptyArray=function(){this._reject(this._getRangeError(0))},t.some=function(e,t){return o(e,t)},t.prototype.some=function(e){return o(this,e)},t._SomePromiseArray=i}},{"./errors":12,"./util":36}],32:[function(e,t,n){"use strict";t.exports=function(e){function t(e){void 0!==e?(e=e._target(),this._bitField=e._bitField,this._settledValueField=e._isFateSealed()?e._settledValue():void 0):(this._bitField=0,this._settledValueField=void 0)}t.prototype._settledValue=function(){return this._settledValueField};var n=t.prototype.value=function(){if(!this.isFulfilled())throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\n\n See http://goo.gl/MqrFmX\n");return this._settledValue()},r=t.prototype.error=t.prototype.reason=function(){if(!this.isRejected())throw new TypeError("cannot get rejection reason of a non-rejected promise\n\n See http://goo.gl/MqrFmX\n");return this._settledValue()},i=t.prototype.isFulfilled=function(){return 0!=(33554432&this._bitField)},o=t.prototype.isRejected=function(){return 0!=(16777216&this._bitField)},s=t.prototype.isPending=function(){return 0==(50397184&this._bitField)},a=t.prototype.isResolved=function(){return 0!=(50331648&this._bitField)};t.prototype.isCancelled=function(){return 0!=(8454144&this._bitField)},e.prototype.__isCancelled=function(){return 65536==(65536&this._bitField)},e.prototype._isCancelled=function(){return this._target().__isCancelled()},e.prototype.isCancelled=function(){return 0!=(8454144&this._target()._bitField)},e.prototype.isPending=function(){return s.call(this._target())},e.prototype.isRejected=function(){return o.call(this._target())},e.prototype.isFulfilled=function(){return i.call(this._target())},e.prototype.isResolved=function(){return a.call(this._target())},e.prototype.value=function(){return n.call(this._target())},e.prototype.reason=function(){var e=this._target();return e._unsetRejectionIsUnhandled(),r.call(e)},e.prototype._value=function(){return this._settledValue()},e.prototype._reason=function(){return this._unsetRejectionIsUnhandled(),this._settledValue()},e.PromiseInspection=t}},{}],33:[function(e,t,n){"use strict";t.exports=function(t,n){function r(e,r){if(l(e)){if(e instanceof t)return e;var i=o(e);if(i===c){r&&r._pushContext();var u=t.reject(i.e);return r&&r._popContext(),u}if("function"==typeof i){if(s(e)){var u=new t(n);return e._then(u._fulfill,u._reject,void 0,u,null),u}return a(e,i,r)}}return e}function i(e){return e.then}function o(e){try{return i(e)}catch(e){return c.e=e,c}}function s(e){try{return f.call(e,"_promise0")}catch(e){return!1}}function a(e,r,i){function o(e){a&&(a._resolveCallback(e),a=null)}function s(e){a&&(a._rejectCallback(e,f,!0),a=null)}var a=new t(n),l=a;i&&i._pushContext(),a._captureStackTrace(),i&&i._popContext();var f=!0,h=u.tryCatch(r).call(e,o,s);return f=!1,a&&h===c&&(a._rejectCallback(h.e,!0,!0),a=null),l}var u=e("./util"),c=u.errorObj,l=u.isObject,f={}.hasOwnProperty;return r}},{"./util":36}],34:[function(e,t,n){"use strict";t.exports=function(t,n,r){function i(e){this.handle=e}function o(e){return clearTimeout(this.handle),e}function s(e){throw clearTimeout(this.handle),e}var a=e("./util"),u=t.TimeoutError;i.prototype._resultCancelled=function(){clearTimeout(this.handle)};var c=function(e){return l(+this).thenReturn(e)},l=t.delay=function(e,o){var s,a;return void 0!==o?(s=t.resolve(o)._then(c,null,null,e,void 0),r.cancellation()&&o instanceof t&&s._setOnCancel(o)):(s=new t(n),a=setTimeout(function(){s._fulfill()},+e),r.cancellation()&&s._setOnCancel(new i(a)),s._captureStackTrace()),s._setAsyncGuaranteed(),s};t.prototype.delay=function(e){return l(e,this)};var f=function(e,t,n){var r;r="string"!=typeof t?t instanceof Error?t:new u("operation timed out"):new u(t),a.markAsOriginatingFromRejection(r),e._attachExtraTrace(r),e._reject(r),null!=n&&n.cancel()};t.prototype.timeout=function(e,t){e=+e;var n,a,u=new i(setTimeout(function(){n.isPending()&&f(n,t,a)},e));return r.cancellation()?(a=this.then(),n=a._then(o,s,void 0,u,void 0),n._setOnCancel(u)):n=this._then(o,s,void 0,u,void 0),n}}},{"./util":36}],35:[function(e,t,n){"use strict";t.exports=function(t,n,r,i,o,s){function a(e){setTimeout(function(){throw e},0)}function u(e){var t=r(e);return t!==e&&"function"==typeof e._isDisposable&&"function"==typeof e._getDisposer&&e._isDisposable()&&t._setDisposable(e._getDisposer()),t}function c(e,n){function i(){if(s>=c)return l._fulfill();var o=u(e[s++]);if(o instanceof t&&o._isDisposable()){try{o=r(o._getDisposer().tryDispose(n),e.promise)}catch(e){return a(e)}if(o instanceof t)return o._then(i,a,null,null,null)}i()}var s=0,c=e.length,l=new t(o);return i(),l}function l(e,t,n){this._data=e,this._promise=t,this._context=n}function f(e,t,n){this.constructor$(e,t,n)}function h(e){return l.isDisposer(e)?(this.resources[this.index]._setDisposable(e),e.promise()):e}function d(e){this.length=e,this.promise=null,this[e-1]=null}var p=e("./util"),m=e("./errors").TypeError,v=e("./util").inherits,b=p.errorObj,y=p.tryCatch,_={};l.prototype.data=function(){return this._data},l.prototype.promise=function(){return this._promise},l.prototype.resource=function(){return this.promise().isFulfilled()?this.promise().value():_},l.prototype.tryDispose=function(e){var t=this.resource(),n=this._context;void 0!==n&&n._pushContext();var r=t!==_?this.doDispose(t,e):null;return void 0!==n&&n._popContext(),this._promise._unsetDisposable(),this._data=null,r},l.isDisposer=function(e){return null!=e&&"function"==typeof e.resource&&"function"==typeof e.tryDispose},v(f,l),f.prototype.doDispose=function(e,t){return this.data().call(e,e,t)},d.prototype._resultCancelled=function(){for(var e=this.length,n=0;n0},t.prototype._getDisposer=function(){return this._disposer},t.prototype._unsetDisposable=function(){this._bitField=this._bitField&-131073,this._disposer=void 0},t.prototype.disposer=function(e){if("function"==typeof e)return new f(e,this,i());throw new m}}},{"./errors":12,"./util":36}],36:[function(e,t,n){"use strict";function r(){try{var e=A;return A=null,e.apply(this,arguments)}catch(e){return I.e=e,I}}function s(e){return A=e,r}function a(e){return null==e||e===!0||e===!1||"string"==typeof e||"number"==typeof e}function u(e){return"function"==typeof e||"object"==typeof e&&null!==e}function c(e){return a(e)?new Error(y(e)):e}function l(e,t){var n,r=e.length,i=new Array(r+1);for(n=0;n1,r=t.length>0&&!(1===t.length&&"constructor"===t[0]),i=F.test(e+"")&&T.names(e).length>0;if(n||r||i)return!0}return!1}catch(e){return!1}}function m(e){function t(){}t.prototype=e;for(var n=8;n--;)new t;return e}function v(e){return N.test(e)}function b(e,t,n){for(var r=new Array(e),i=0;i10||e[0]>0}(),z.isNode&&z.toFastProperties(i);try{throw new Error}catch(e){z.lastLineError=e}t.exports=z},{"./es5":13}]},{},[4])(4)}),"undefined"!=typeof window&&null!==window?window.P=window.Promise:"undefined"!=typeof self&&null!==self&&(self.P=self.Promise)}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:204}],57:[function(e,t,n){(function(){var n,r,i,o=function(e,t){return function(){return e.apply(t,arguments)}},s=[].slice;i=10,r=5,n=function(){function t(e,n,r,i,s){this.maxNb=null!=e?e:0,this.minTime=null!=n?n:0,this.highWater=null!=r?r:-1,this.strategy=null!=i?i:t.prototype.strategy.LEAK,this.rejectOnDrop=null!=s&&s,this.schedulePriority=o(this.schedulePriority,this),this.submitPriority=o(this.submitPriority,this),this.submit=o(this.submit,this),this._nextRequest=Date.now(),this._nbRunning=0,this._queues=this._makeQueues(),this._running={},this._nextIndex=0,this._unblockTime=0,this.penalty=15*this.minTime||5e3,this.interrupt=!1,this.reservoir=null,this.limiter=null,this.events={}}var n;return t.strategy=t.prototype.strategy={LEAK:1,OVERFLOW:2,OVERFLOW_PRIORITY:4,BLOCK:3},t.Cluster=t.prototype.Cluster=e("./Cluster"),t.DLList=t.prototype.DLList=e("./DLList"),t.Promise=t.prototype.Promise=function(){try{return e("bluebird")}catch(e){return n=e,"undefined"!=typeof Promise&&null!==Promise?Promise:function(){throw new Error("Bottleneck: install 'bluebird' or use Node 0.12 or higher for Promise support")}}}(),t.prototype._trigger=function(e,t){return this.rejectOnDrop&&"dropped"===e&&t[0].cb.apply({},[new Error("This job has been dropped by Bottleneck")]),setTimeout(function(n){return function(){var r;return null!=(r=n.events[e])?r.forEach(function(e){return e.apply({},t)}):void 0}}(this),0)},t.prototype._makeQueues=function(){var e,n,r;for(r=[],e=1,n=i;1<=n?e<=n:e>=n;1<=n?++e:--e)r.push(new t.prototype.DLList);return r},t.prototype.chain=function(e){return this.limiter=e,this},t.prototype.isBlocked=function(){return this._unblockTime>=Date.now()},t.prototype._sanitizePriority=function(e){var t;return t=~~e!==e?r:e,t<0?0:t>i-1?i-1:t},t.prototype._find=function(e,t){var n,r,i,o;for(n=r=0,i=e.length;r0})},t.prototype._conditionsCheck=function(){return(this.nbRunning()0)},t.prototype.check=function(){return this._conditionsCheck()&&this._nextRequest-Date.now()<=0},t.prototype._tryToRun=function(){var e,t,n,r,i;return!!(this._conditionsCheck()&&(r=this.nbQueued())>0)&&(this._nbRunning++,null!=this.reservoir&&this.reservoir--,i=Math.max(this._nextRequest-Date.now(),0),this._nextRequest=Date.now()+i+this.minTime,n=this._getFirst(this._queues).shift(),1===r&&this._trigger("empty",[]),e=!1,t=this._nextIndex++,this._running[t]={timeout:setTimeout(function(r){return function(){var i;return i=function(){var i;if(!e&&(e=!0,delete r._running[t],r._nbRunning--,r._tryToRun(),0===r.nbRunning()&&0===r.nbQueued()&&r._trigger("idle",[]),!r.interrupt))return null!=(i=n.cb)?i.apply({},Array.prototype.slice.call(arguments,0)):void 0},null!=r.limiter?r.limiter.submit.apply(r.limiter,Array.prototype.concat(n.task,n.args,i)):n.task.apply({},n.args.concat(i))}}(this),i),job:n},!0)},t.prototype.submit=function(){var e;return e=1<=arguments.length?s.call(arguments,0):[],this.submitPriority.apply({},Array.prototype.concat(r,e))},t.prototype.submitPriority=function(){var e,n,r,i,o,a,u,c;return o=arguments[0],c=arguments[1],e=4<=arguments.length?s.call(arguments,2,r=arguments.length-1):(r=2,[]),n=arguments[r++],i={task:c,args:e,cb:n},o=this._sanitizePriority(o),a=this.highWater>=0&&this.nbQueued()===this.highWater&&!this.check(),this.strategy===t.prototype.strategy.BLOCK&&(a||this.isBlocked())?(this._unblockTime=Date.now()+this.penalty,this._nextRequest=this._unblockTime+this.minTime,this._queues=this._makeQueues(),this._trigger("dropped",[i]),!0):a&&(u=this.strategy===t.prototype.strategy.LEAK?this._getFirst(this._queues.slice(o).reverse()).shift():this.strategy===t.prototype.strategy.OVERFLOW_PRIORITY?this._getFirst(this._queues.slice(o+1).reverse()).shift():this.strategy===t.prototype.strategy.OVERFLOW?i:void 0,null!=u&&this._trigger("dropped",[u]),null==u||this.strategy===t.prototype.strategy.OVERFLOW)?a:(this._queues[o].push(i),this._tryToRun(),a)},t.prototype.schedule=function(){var e;return e=1<=arguments.length?s.call(arguments,0):[],this.schedulePriority.apply({},Array.prototype.concat(r,e))},t.prototype.schedulePriority=function(){var e,n,r,i;return n=arguments[0],r=arguments[1],e=3<=arguments.length?s.call(arguments,2):[],i=function(){var e,t,n;return e=2<=arguments.length?s.call(arguments,0,n=arguments.length-1):(n=0,[]),t=arguments[n++],r.apply({},e).then(function(){var e;return e=1<=arguments.length?s.call(arguments,0):[],t.apply({},Array.prototype.concat(null,e))}).catch(function(){var e;return e=1<=arguments.length?s.call(arguments,0):[],t.apply({},e)})},new t.prototype.Promise(function(t){return function(r,o){return t.submitPriority.apply({},Array.prototype.concat(n,i,e,function(){var e;return e=1<=arguments.length?s.call(arguments,0):[],(null!=e[0]?o:(e.shift(),r)).apply({},e)}))}}(this))},t.prototype.changeSettings=function(e,t,n,r,i){for(this.maxNb=null!=e?e:this.maxNb,this.minTime=null!=t?t:this.minTime,this.highWater=null!=n?n:this.highWater,this.strategy=null!=r?r:this.strategy,this.rejectOnDrop=null!=i?i:this.rejectOnDrop;this._tryToRun(););return this},t.prototype.changePenalty=function(e){return this.penalty=null!=e?e:this.penalty,this},t.prototype.changeReservoir=function(e){for(this.reservoir=e;this._tryToRun(););return this},t.prototype.incrementReservoir=function(e){return null==e&&(e=0),this.changeReservoir(this.reservoir+e),this},t.prototype.on=function(e,t){return null!=this.events[e]?this.events[e].push(t):this.events[e]=[t],this},t.prototype.removeAllListeners=function(e){return null==e&&(e=null),null!=e?delete this.events[e]:this.events={},this},t.prototype.stopAll=function(e){var t,n,r,i,o,a,u;for(this.interrupt=null!=e?e:this.interrupt,i=Object.keys(this._running),t=0,a=i.length;t
* @license MIT
*/
"use strict";function r(e){if(e>K)throw new RangeError("Invalid typed array length");var t=new Uint8Array(e);return t.__proto__=i.prototype,t}function i(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return u(e)}return o(e,t,n)}function o(e,t,n){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return e instanceof ArrayBuffer?f(e,t,n):"string"==typeof e?c(e,t):h(e)}function s(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function a(e,t,n){return s(e),e<=0?r(e):void 0!==t?"string"==typeof n?r(e).fill(t,n):r(e).fill(t):r(e)}function u(e){return s(e),r(e<0?0:0|d(e))}function c(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!i.isEncoding(t))throw new TypeError('"encoding" must be a valid string encoding');var n=0|m(e,t),o=r(n),s=o.write(e,t);return s!==n&&(o=o.slice(0,s)),o}function l(e){for(var t=e.length<0?0:0|d(e.length),n=r(t),i=0;i=K)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+K.toString(16)+" bytes");return 0|e}function p(e){return+e!=e&&(e=0),i.alloc(+e)}function m(e,t){if(i.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||e instanceof ArrayBuffer)return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return q(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return W(e).length;default:if(r)return q(e).length;t=(""+t).toLowerCase(),r=!0}}function v(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if(n>>>=0,t>>>=0,n<=t)return"";for(e||(e="utf8");;)switch(e){case"hex":return A(this,t,n);case"utf8":case"utf-8":return S(this,t,n);case"ascii":return R(this,t,n);case"latin1":case"binary":return I(this,t,n);case"base64":return E(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function b(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function y(e,t,n,r,o){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=o?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(o)return-1;n=e.length-1}else if(n<0){if(!o)return-1;n=0}if("string"==typeof t&&(t=i.from(t,r)),i.isBuffer(t))return 0===t.length?-1:_(e,t,n,r,o);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):_(e,[t],n,r,o);throw new TypeError("val must be string, number or Buffer")}function _(e,t,n,r,i){function o(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}var s=1,a=e.length,u=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;s=2,a/=2,u/=2,n/=2}var c;if(i){var l=-1;for(c=n;ca&&(n=a-u),c=n;c>=0;c--){for(var f=!0,h=0;hi&&(r=i):r=i;var o=t.length;if(o%2!=0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var s=0;s239?4:o>223?3:o>191?2:1;if(i+a<=n){var u,c,l,f;switch(a){case 1:o<128&&(s=o);break;case 2:u=e[i+1],128==(192&u)&&(f=(31&o)<<6|63&u)>127&&(s=f);break;case 3:u=e[i+1],c=e[i+2],128==(192&u)&&128==(192&c)&&(f=(15&o)<<12|(63&u)<<6|63&c)>2047&&(f<55296||f>57343)&&(s=f);break;case 4:u=e[i+1],c=e[i+2],l=e[i+3],128==(192&u)&&128==(192&c)&&128==(192&l)&&(f=(15&o)<<18|(63&u)<<12|(63&c)<<6|63&l)>65535&&f<1114112&&(s=f)}}null===s?(s=65533,a=1):s>65535&&(s-=65536,r.push(s>>>10&1023|55296),s=56320|1023&s),r.push(s),i+=a}return T(r)}function T(e){var t=e.length;if(t<=Q)return String.fromCharCode.apply(String,e);for(var n="",r=0;rr)&&(n=r);for(var i="",o=t;on)throw new RangeError("Trying to access beyond buffer length")}function M(e,t,n,r,o,s){if(!i.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||te.length)throw new RangeError("Index out of range")}function F(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function N(e,t,n,r,i){return t=+t,n>>>=0,i||F(e,t,n,4,3.4028234663852886e38,-3.4028234663852886e38),$.write(e,t,n,r,23,4),n+4}function U(e,t,n,r,i){return t=+t,n>>>=0,i||F(e,t,n,8,1.7976931348623157e308,-1.7976931348623157e308),$.write(e,t,n,r,52,8),n+8}function L(e){if(e=D(e).replace(X,""),e.length<2)return"";for(;e.length%4!=0;)e+="=";return e}function D(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function B(e){return e<16?"0"+e.toString(16):e.toString(16)}function q(e,t){t=t||1/0;for(var n,r=e.length,i=null,o=[],s=0;s55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(s+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function z(e){for(var t=[],n=0;n>8,i=n%256,o.push(i),o.push(r);return o}function W(e){return J.toByteArray(L(e))}function V(e,t,n,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function G(e){return e!==e}var J=e("base64-js"),$=e("ieee754");n.Buffer=i,n.SlowBuffer=p,n.INSPECT_MAX_BYTES=50;var K=2147483647;n.kMaxLength=K,i.TYPED_ARRAY_SUPPORT=function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()}catch(e){return!1}}(),i.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),"undefined"!=typeof Symbol&&Symbol.species&&i[Symbol.species]===i&&Object.defineProperty(i,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),i.poolSize=8192,i.from=function(e,t,n){return o(e,t,n)},i.prototype.__proto__=Uint8Array.prototype,i.__proto__=Uint8Array,i.alloc=function(e,t,n){return a(e,t,n)},i.allocUnsafe=function(e){return u(e)},i.allocUnsafeSlow=function(e){return u(e)},i.isBuffer=function(e){return null!=e&&e._isBuffer===!0},i.compare=function(e,t){if(!i.isBuffer(e)||!i.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,o=0,s=Math.min(n,r);o0&&(e=this.toString("hex",0,t).match(/.{2}/g).join(" "),this.length>t&&(e+=" ... ")),""},i.prototype.compare=function(e,t,n,r,o){if(!i.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),t<0||n>e.length||r<0||o>this.length)throw new RangeError("out of range index");if(r>=o&&t>=n)return 0;if(r>=o)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,o>>>=0,this===e)return 0;for(var s=o-r,a=n-t,u=Math.min(s,a),c=this.slice(r,o),l=e.slice(t,n),f=0;f>>=0,isFinite(n)?(n>>>=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return g(this,e,t,n);case"utf8":case"utf-8":return k(this,e,t,n);case"ascii":return w(this,e,t,n);case"latin1":case"binary":return C(this,e,t,n);case"base64":return x(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return j(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},i.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Q=4096;i.prototype.slice=function(e,t){var n=this.length;e=~~e,t=void 0===t?n:~~t,e<0?(e+=n)<0&&(e=0):e>n&&(e=n),t<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||O(e,t,this.length);for(var r=this[e],i=1,o=0;++o>>=0,t>>>=0,n||O(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},i.prototype.readUInt8=function(e,t){return e>>>=0,t||O(e,1,this.length),this[e]},i.prototype.readUInt16LE=function(e,t){return e>>>=0,t||O(e,2,this.length),this[e]|this[e+1]<<8},i.prototype.readUInt16BE=function(e,t){return e>>>=0,t||O(e,2,this.length),this[e]<<8|this[e+1]},i.prototype.readUInt32LE=function(e,t){return e>>>=0,t||O(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},i.prototype.readUInt32BE=function(e,t){return e>>>=0,t||O(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},i.prototype.readIntLE=function(e,t,n){e>>>=0,t>>>=0,n||O(e,t,this.length);for(var r=this[e],i=1,o=0;++o=i&&(r-=Math.pow(2,8*t)),r},i.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||O(e,t,this.length);for(var r=t,i=1,o=this[e+--r];r>0&&(i*=256);)o+=this[e+--r]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*t)),o},i.prototype.readInt8=function(e,t){return e>>>=0,t||O(e,1,this.length),128&this[e]?(255-this[e]+1)*-1:this[e]},i.prototype.readInt16LE=function(e,t){e>>>=0,t||O(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},i.prototype.readInt16BE=function(e,t){e>>>=0,t||O(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},i.prototype.readInt32LE=function(e,t){return e>>>=0,t||O(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},i.prototype.readInt32BE=function(e,t){return e>>>=0,t||O(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},i.prototype.readFloatLE=function(e,t){return e>>>=0,t||O(e,4,this.length),$.read(this,e,!0,23,4)},i.prototype.readFloatBE=function(e,t){return e>>>=0,t||O(e,4,this.length),$.read(this,e,!1,23,4)},i.prototype.readDoubleLE=function(e,t){return e>>>=0,t||O(e,8,this.length),$.read(this,e,!0,52,8)},i.prototype.readDoubleBE=function(e,t){return e>>>=0,t||O(e,8,this.length),$.read(this,e,!1,52,8)},i.prototype.writeUIntLE=function(e,t,n,r){if(e=+e,t>>>=0,n>>>=0,!r){M(this,e,t,n,Math.pow(2,8*n)-1,0)}var i=1,o=0;for(this[t]=255&e;++o>>=0,n>>>=0,!r){M(this,e,t,n,Math.pow(2,8*n)-1,0)}var i=n-1,o=1;for(this[t+i]=255&e;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+n},i.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,1,255,0),this[t]=255&e,t+1},i.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},i.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},i.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},i.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},i.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t>>>=0,!r){var i=Math.pow(2,8*n-1);M(this,e,t,n,i-1,-i)}var o=0,s=1,a=0;for(this[t]=255&e;++o>0)-a&255;return t+n},i.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t>>>=0,!r){var i=Math.pow(2,8*n-1);M(this,e,t,n,i-1,-i)}var o=n-1,s=1,a=0;for(this[t+o]=255&e;--o>=0&&(s*=256);)e<0&&0===a&&0!==this[t+o+1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+n},i.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},i.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},i.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},i.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},i.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},i.prototype.writeFloatLE=function(e,t,n){return N(this,e,t,!0,n)},i.prototype.writeFloatBE=function(e,t,n){return N(this,e,t,!1,n)},i.prototype.writeDoubleLE=function(e,t,n){return U(this,e,t,!0,n)},i.prototype.writeDoubleBE=function(e,t,n){return U(this,e,t,!1,n)},i.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--i)e[i+t]=this[i+n];else if(o<1e3)for(i=0;i>>=0,n=void 0===n?this.length:n>>>0,e||(e=0);var s;if("number"==typeof e)for(s=t;sl;)if((a=u[l++])!=a)return!0}else for(;c>l;l++)if((e||l in u)&&u[l]===n)return e||l||0;return!e&&-1}}},{"./_to-index":153,"./_to-iobject":155,"./_to-length":156}],88:[function(e,t,n){var r=e("./_ctx"),i=e("./_iobject"),o=e("./_to-object"),s=e("./_to-length"),a=e("./_array-species-create");t.exports=function(e,t){var n=1==e,u=2==e,c=3==e,l=4==e,f=6==e,h=5==e||f,d=t||a;return function(t,a,p){for(var m,v,b=o(t),y=i(b),_=r(a,p,3),g=s(y.length),k=0,w=n?d(t,g):u?d(t,0):void 0;g>k;k++)if((h||k in y)&&(m=y[k],v=_(m,k,b),e))if(n)w[k]=v;else if(v)switch(e){case 3:return!0;case 5:return m;case 6:return k;case 2:w.push(m)}else if(l)return!1;return f?-1:c||l?l:w}}},{"./_array-species-create":90,"./_ctx":99,"./_iobject":114,"./_to-length":156,"./_to-object":157}],89:[function(e,t,n){var r=e("./_is-object"),i=e("./_is-array"),o=e("./_wks")("species");t.exports=function(e){var t;return i(e)&&(t=e.constructor,"function"!=typeof t||t!==Array&&!i(t.prototype)||(t=void 0),r(t)&&null===(t=t[o])&&(t=void 0)),void 0===t?Array:t}},{"./_is-array":116,"./_is-object":118,"./_wks":162}],90:[function(e,t,n){var r=e("./_array-species-constructor");t.exports=function(e,t){return new(r(e))(t)}},{"./_array-species-constructor":89}],91:[function(e,t,n){"use strict";var r=e("./_a-function"),i=e("./_is-object"),o=e("./_invoke"),s=[].slice,a={},u=function(e,t,n){if(!(t in a)){for(var r=[],i=0;i1?arguments[1]:void 0,3);t=t?t.n:this._f;)for(n(t.v,t.k,this);t&&t.r;)t=t.p},has:function(e){return!!v(this,e)}}),d&&r(f.prototype,"size",{get:function(){return u(this[m])}}),f},def:function(e,t,n){var r,i,o=v(e,t);return o?o.v=n:(e._l=o={i:i=p(t,!0),k:t,v:n,p:r=e._l,n:void 0,r:!1},e._f||(e._f=o),r&&(r.n=o),e[m]++,"F"!==i&&(e._i[i]=o)),e},getEntry:v,setStrong:function(e,t,n){l(e,t,function(e,t){this._t=e,this._k=t,this._l=void 0},function(){for(var e=this,t=e._k,n=e._l;n&&n.r;)n=n.p;return e._t&&(e._l=n=n?n.n:e._t._f)?"keys"==t?f(0,n.k):"values"==t?f(0,n.v):f(0,[n.k,n.v]):(e._t=void 0,f(1))},n?"entries":"values",!n,!0),h(t)}}},{"./_an-instance":84,"./_ctx":99,"./_defined":100,"./_descriptors":101,"./_for-of":107,"./_iter-define":121,"./_iter-step":123,"./_meta":127,"./_object-create":130,"./_object-dp":131,"./_redefine-all":143,"./_set-species":146}],95:[function(e,t,n){var r=e("./_classof"),i=e("./_array-from-iterable");t.exports=function(e){return function(){if(r(this)!=e)throw TypeError(e+"#toJSON isn't generic");return i(this)}}},{"./_array-from-iterable":86,"./_classof":92}],96:[function(e,t,n){"use strict";var r=e("./_global"),i=e("./_export"),o=e("./_meta"),s=e("./_fails"),a=e("./_hide"),u=e("./_redefine-all"),c=e("./_for-of"),l=e("./_an-instance"),f=e("./_is-object"),h=e("./_set-to-string-tag"),d=e("./_object-dp").f,p=e("./_array-methods")(0),m=e("./_descriptors");t.exports=function(e,t,n,v,b,y){var _=r[e],g=_,k=b?"set":"add",w=g&&g.prototype,C={};return m&&"function"==typeof g&&(y||w.forEach&&!s(function(){(new g).entries().next()}))?(g=t(function(t,n){l(t,g,e,"_c"),t._c=new _,void 0!=n&&c(n,b,t[k],t)}),p("add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON".split(","),function(e){var t="add"==e||"set"==e;e in w&&(!y||"clear"!=e)&&a(g.prototype,e,function(n,r){if(l(this,g,e),!t&&y&&!f(n))return"get"==e&&void 0;var i=this._c[e](0===n?0:n,r);return t?this:i})}),"size"in w&&d(g.prototype,"size",{get:function(){return this._c.size}})):(g=v.getConstructor(t,e,b,k),u(g.prototype,n),o.NEED=!0),h(g,e),C[e]=g,i(i.G+i.W+i.F,C),y||v.setStrong(g,e,b),g}},{"./_an-instance":84,"./_array-methods":88,"./_descriptors":101,"./_export":105,"./_fails":106,"./_for-of":107,"./_global":108,"./_hide":110,"./_is-object":118,"./_meta":127,"./_object-dp":131,"./_redefine-all":143,"./_set-to-string-tag":147}],97:[function(e,t,n){var r=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=r)},{}],98:[function(e,t,n){"use strict";var r=e("./_object-dp"),i=e("./_property-desc");t.exports=function(e,t,n){t in e?r.f(e,t,i(0,n)):e[t]=n}},{"./_object-dp":131,"./_property-desc":142}],99:[function(e,t,n){var r=e("./_a-function");t.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},{"./_a-function":82}],100:[function(e,t,n){t.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},{}],101:[function(e,t,n){t.exports=!e("./_fails")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},{"./_fails":106}],102:[function(e,t,n){var r=e("./_is-object"),i=e("./_global").document,o=r(i)&&r(i.createElement);t.exports=function(e){return o?i.createElement(e):{}}},{"./_global":108,"./_is-object":118}],103:[function(e,t,n){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},{}],104:[function(e,t,n){var r=e("./_object-keys"),i=e("./_object-gops"),o=e("./_object-pie");t.exports=function(e){var t=r(e),n=i.f;if(n)for(var s,a=n(e),u=o.f,c=0;a.length>c;)u.call(e,s=a[c++])&&t.push(s);return t}},{"./_object-gops":136,"./_object-keys":139,"./_object-pie":140}],105:[function(e,t,n){var r=e("./_global"),i=e("./_core"),o=e("./_ctx"),s=e("./_hide"),a=function(e,t,n){var u,c,l,f=e&a.F,h=e&a.G,d=e&a.S,p=e&a.P,m=e&a.B,v=e&a.W,b=h?i:i[t]||(i[t]={}),y=b.prototype,_=h?r:d?r[t]:(r[t]||{}).prototype;h&&(n=t);for(u in n)(c=!f&&_&&void 0!==_[u])&&u in b||(l=c?_[u]:n[u],b[u]=h&&"function"!=typeof _[u]?n[u]:m&&c?o(l,r):v&&_[u]==l?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(l):p&&"function"==typeof l?o(Function.call,l):l,p&&((b.virtual||(b.virtual={}))[u]=l,
e&a.R&&y&&!y[u]&&s(y,u,l)))};a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},{"./_core":97,"./_ctx":99,"./_global":108,"./_hide":110}],106:[function(e,t,n){t.exports=function(e){try{return!!e()}catch(e){return!0}}},{}],107:[function(e,t,n){var r=e("./_ctx"),i=e("./_iter-call"),o=e("./_is-array-iter"),s=e("./_an-object"),a=e("./_to-length"),u=e("./core.get-iterator-method"),c={},l={},n=t.exports=function(e,t,n,f,h){var d,p,m,v,b=h?function(){return e}:u(e),y=r(n,f,t?2:1),_=0;if("function"!=typeof b)throw TypeError(e+" is not iterable!");if(o(b)){for(d=a(e.length);d>_;_++)if((v=t?y(s(p=e[_])[0],p[1]):y(e[_]))===c||v===l)return v}else for(m=b.call(e);!(p=m.next()).done;)if((v=i(m,y,p.value,t))===c||v===l)return v};n.BREAK=c,n.RETURN=l},{"./_an-object":85,"./_ctx":99,"./_is-array-iter":115,"./_iter-call":119,"./_to-length":156,"./core.get-iterator-method":163}],108:[function(e,t,n){var r=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=r)},{}],109:[function(e,t,n){var r={}.hasOwnProperty;t.exports=function(e,t){return r.call(e,t)}},{}],110:[function(e,t,n){var r=e("./_object-dp"),i=e("./_property-desc");t.exports=e("./_descriptors")?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},{"./_descriptors":101,"./_object-dp":131,"./_property-desc":142}],111:[function(e,t,n){t.exports=e("./_global").document&&document.documentElement},{"./_global":108}],112:[function(e,t,n){t.exports=!e("./_descriptors")&&!e("./_fails")(function(){return 7!=Object.defineProperty(e("./_dom-create")("div"),"a",{get:function(){return 7}}).a})},{"./_descriptors":101,"./_dom-create":102,"./_fails":106}],113:[function(e,t,n){t.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},{}],114:[function(e,t,n){var r=e("./_cof");t.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},{"./_cof":93}],115:[function(e,t,n){var r=e("./_iterators"),i=e("./_wks")("iterator"),o=Array.prototype;t.exports=function(e){return void 0!==e&&(r.Array===e||o[i]===e)}},{"./_iterators":124,"./_wks":162}],116:[function(e,t,n){var r=e("./_cof");t.exports=Array.isArray||function(e){return"Array"==r(e)}},{"./_cof":93}],117:[function(e,t,n){var r=e("./_is-object"),i=Math.floor;t.exports=function(e){return!r(e)&&isFinite(e)&&i(e)===e}},{"./_is-object":118}],118:[function(e,t,n){t.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},{}],119:[function(e,t,n){var r=e("./_an-object");t.exports=function(e,t,n,i){try{return i?t(r(n)[0],n[1]):t(n)}catch(t){var o=e.return;throw void 0!==o&&r(o.call(e)),t}}},{"./_an-object":85}],120:[function(e,t,n){"use strict";var r=e("./_object-create"),i=e("./_property-desc"),o=e("./_set-to-string-tag"),s={};e("./_hide")(s,e("./_wks")("iterator"),function(){return this}),t.exports=function(e,t,n){e.prototype=r(s,{next:i(1,n)}),o(e,t+" Iterator")}},{"./_hide":110,"./_object-create":130,"./_property-desc":142,"./_set-to-string-tag":147,"./_wks":162}],121:[function(e,t,n){"use strict";var r=e("./_library"),i=e("./_export"),o=e("./_redefine"),s=e("./_hide"),a=e("./_has"),u=e("./_iterators"),c=e("./_iter-create"),l=e("./_set-to-string-tag"),f=e("./_object-gpo"),h=e("./_wks")("iterator"),d=!([].keys&&"next"in[].keys()),p=function(){return this};t.exports=function(e,t,n,m,v,b,y){c(n,t,m);var _,g,k,w=function(e){if(!d&&e in E)return E[e];switch(e){case"keys":case"values":return function(){return new n(this,e)}}return function(){return new n(this,e)}},C=t+" Iterator",x="values"==v,j=!1,E=e.prototype,S=E[h]||E["@@iterator"]||v&&E[v],T=S||w(v),R=v?x?w("entries"):T:void 0,I="Array"==t?E.entries||S:S;if(I&&(k=f(I.call(new e)))!==Object.prototype&&(l(k,C,!0),r||a(k,h)||s(k,h,p)),x&&S&&"values"!==S.name&&(j=!0,T=function(){return S.call(this)}),r&&!y||!d&&!j&&E[h]||s(E,h,T),u[t]=T,u[C]=p,v)if(_={values:x?T:w("values"),keys:b?T:w("keys"),entries:R},y)for(g in _)g in E||o(E,g,_[g]);else i(i.P+i.F*(d||j),t,_);return _}},{"./_export":105,"./_has":109,"./_hide":110,"./_iter-create":120,"./_iterators":124,"./_library":126,"./_object-gpo":137,"./_redefine":144,"./_set-to-string-tag":147,"./_wks":162}],122:[function(e,t,n){var r=e("./_wks")("iterator"),i=!1;try{var o=[7][r]();o.return=function(){i=!0},Array.from(o,function(){throw 2})}catch(e){}t.exports=function(e,t){if(!t&&!i)return!1;var n=!1;try{var o=[7],s=o[r]();s.next=function(){return{done:n=!0}},o[r]=function(){return s},e(o)}catch(e){}return n}},{"./_wks":162}],123:[function(e,t,n){t.exports=function(e,t){return{value:t,done:!!e}}},{}],124:[function(e,t,n){t.exports={}},{}],125:[function(e,t,n){var r=e("./_object-keys"),i=e("./_to-iobject");t.exports=function(e,t){for(var n,o=i(e),s=r(o),a=s.length,u=0;a>u;)if(o[n=s[u++]]===t)return n}},{"./_object-keys":139,"./_to-iobject":155}],126:[function(e,t,n){t.exports=!0},{}],127:[function(e,t,n){var r=e("./_uid")("meta"),i=e("./_is-object"),o=e("./_has"),s=e("./_object-dp").f,a=0,u=Object.isExtensible||function(){return!0},c=!e("./_fails")(function(){return u(Object.preventExtensions({}))}),l=function(e){s(e,r,{value:{i:"O"+ ++a,w:{}}})},f=function(e,t){if(!i(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!o(e,r)){if(!u(e))return"F";if(!t)return"E";l(e)}return e[r].i},h=function(e,t){if(!o(e,r)){if(!u(e))return!0;if(!t)return!1;l(e)}return e[r].w},d=function(e){return c&&p.NEED&&u(e)&&!o(e,r)&&l(e),e},p=t.exports={KEY:r,NEED:!1,fastKey:f,getWeak:h,onFreeze:d}},{"./_fails":106,"./_has":109,"./_is-object":118,"./_object-dp":131,"./_uid":159}],128:[function(e,t,n){var r=e("./_global"),i=e("./_task").set,o=r.MutationObserver||r.WebKitMutationObserver,s=r.process,a=r.Promise,u="process"==e("./_cof")(s);t.exports=function(){var e,t,n,c=function(){var r,i;for(u&&(r=s.domain)&&r.exit();e;){i=e.fn,e=e.next;try{i()}catch(r){throw e?n():t=void 0,r}}t=void 0,r&&r.enter()};if(u)n=function(){s.nextTick(c)};else if(o){var l=!0,f=document.createTextNode("");new o(c).observe(f,{characterData:!0}),n=function(){f.data=l=!l}}else if(a&&a.resolve){var h=a.resolve();n=function(){h.then(c)}}else n=function(){i.call(r,c)};return function(r){var i={fn:r,next:void 0};t&&(t.next=i),e||(e=i,n()),t=i}}},{"./_cof":93,"./_global":108,"./_task":152}],129:[function(e,t,n){"use strict";var r=e("./_object-keys"),i=e("./_object-gops"),o=e("./_object-pie"),s=e("./_to-object"),a=e("./_iobject"),u=Object.assign;t.exports=!u||e("./_fails")(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=u({},e)[n]||Object.keys(u({},t)).join("")!=r})?function(e,t){for(var n=s(e),u=arguments.length,c=1,l=i.f,f=o.f;u>c;)for(var h,d=a(arguments[c++]),p=l?r(d).concat(l(d)):r(d),m=p.length,v=0;m>v;)f.call(d,h=p[v++])&&(n[h]=d[h]);return n}:u},{"./_fails":106,"./_iobject":114,"./_object-gops":136,"./_object-keys":139,"./_object-pie":140,"./_to-object":157}],130:[function(e,t,n){var r=e("./_an-object"),i=e("./_object-dps"),o=e("./_enum-bug-keys"),s=e("./_shared-key")("IE_PROTO"),a=function(){},u=function(){var t,n=e("./_dom-create")("iframe"),r=o.length;for(n.style.display="none",e("./_html").appendChild(n),n.src="javascript:",t=n.contentWindow.document,t.open(),t.write(""),t.close(),u=t.F;r--;)delete u.prototype[o[r]];return u()};t.exports=Object.create||function(e,t){var n;return null!==e?(a.prototype=r(e),n=new a,a.prototype=null,n[s]=e):n=u(),void 0===t?n:i(n,t)}},{"./_an-object":85,"./_dom-create":102,"./_enum-bug-keys":103,"./_html":111,"./_object-dps":132,"./_shared-key":148}],131:[function(e,t,n){var r=e("./_an-object"),i=e("./_ie8-dom-define"),o=e("./_to-primitive"),s=Object.defineProperty;n.f=e("./_descriptors")?Object.defineProperty:function(e,t,n){if(r(e),t=o(t,!0),r(n),i)try{return s(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},{"./_an-object":85,"./_descriptors":101,"./_ie8-dom-define":112,"./_to-primitive":158}],132:[function(e,t,n){var r=e("./_object-dp"),i=e("./_an-object"),o=e("./_object-keys");t.exports=e("./_descriptors")?Object.defineProperties:function(e,t){i(e);for(var n,s=o(t),a=s.length,u=0;a>u;)r.f(e,n=s[u++],t[n]);return e}},{"./_an-object":85,"./_descriptors":101,"./_object-dp":131,"./_object-keys":139}],133:[function(e,t,n){var r=e("./_object-pie"),i=e("./_property-desc"),o=e("./_to-iobject"),s=e("./_to-primitive"),a=e("./_has"),u=e("./_ie8-dom-define"),c=Object.getOwnPropertyDescriptor;n.f=e("./_descriptors")?c:function(e,t){if(e=o(e),t=s(t,!0),u)try{return c(e,t)}catch(e){}if(a(e,t))return i(!r.f.call(e,t),e[t])}},{"./_descriptors":101,"./_has":109,"./_ie8-dom-define":112,"./_object-pie":140,"./_property-desc":142,"./_to-iobject":155,"./_to-primitive":158}],134:[function(e,t,n){var r=e("./_to-iobject"),i=e("./_object-gopn").f,o={}.toString,s="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(e){try{return i(e)}catch(e){return s.slice()}};t.exports.f=function(e){return s&&"[object Window]"==o.call(e)?a(e):i(r(e))}},{"./_object-gopn":135,"./_to-iobject":155}],135:[function(e,t,n){var r=e("./_object-keys-internal"),i=e("./_enum-bug-keys").concat("length","prototype");n.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},{"./_enum-bug-keys":103,"./_object-keys-internal":138}],136:[function(e,t,n){n.f=Object.getOwnPropertySymbols},{}],137:[function(e,t,n){var r=e("./_has"),i=e("./_to-object"),o=e("./_shared-key")("IE_PROTO"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(e){return e=i(e),r(e,o)?e[o]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?s:null}},{"./_has":109,"./_shared-key":148,"./_to-object":157}],138:[function(e,t,n){var r=e("./_has"),i=e("./_to-iobject"),o=e("./_array-includes")(!1),s=e("./_shared-key")("IE_PROTO");t.exports=function(e,t){var n,a=i(e),u=0,c=[];for(n in a)n!=s&&r(a,n)&&c.push(n);for(;t.length>u;)r(a,n=t[u++])&&(~o(c,n)||c.push(n));return c}},{"./_array-includes":87,"./_has":109,"./_shared-key":148,"./_to-iobject":155}],139:[function(e,t,n){var r=e("./_object-keys-internal"),i=e("./_enum-bug-keys");t.exports=Object.keys||function(e){return r(e,i)}},{"./_enum-bug-keys":103,"./_object-keys-internal":138}],140:[function(e,t,n){n.f={}.propertyIsEnumerable},{}],141:[function(e,t,n){var r=e("./_export"),i=e("./_core"),o=e("./_fails");t.exports=function(e,t){var n=(i.Object||{})[e]||Object[e],s={};s[e]=t(n),r(r.S+r.F*o(function(){n(1)}),"Object",s)}},{"./_core":97,"./_export":105,"./_fails":106}],142:[function(e,t,n){t.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},{}],143:[function(e,t,n){var r=e("./_hide");t.exports=function(e,t,n){for(var i in t)n&&e[i]?e[i]=t[i]:r(e,i,t[i]);return e}},{"./_hide":110}],144:[function(e,t,n){t.exports=e("./_hide")},{"./_hide":110}],145:[function(e,t,n){var r=e("./_is-object"),i=e("./_an-object"),o=function(e,t){if(i(e),!r(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,n,r){try{r=e("./_ctx")(Function.call,e("./_object-gopd").f(Object.prototype,"__proto__").set,2),r(t,[]),n=!(t instanceof Array)}catch(e){n=!0}return function(e,t){return o(e,t),n?e.__proto__=t:r(e,t),e}}({},!1):void 0),check:o}},{"./_an-object":85,"./_ctx":99,"./_is-object":118,"./_object-gopd":133}],146:[function(e,t,n){"use strict";var r=e("./_global"),i=e("./_core"),o=e("./_object-dp"),s=e("./_descriptors"),a=e("./_wks")("species");t.exports=function(e){var t="function"==typeof i[e]?i[e]:r[e];s&&t&&!t[a]&&o.f(t,a,{configurable:!0,get:function(){return this}})}},{"./_core":97,"./_descriptors":101,"./_global":108,"./_object-dp":131,"./_wks":162}],147:[function(e,t,n){var r=e("./_object-dp").f,i=e("./_has"),o=e("./_wks")("toStringTag");t.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,o)&&r(e,o,{configurable:!0,value:t})}},{"./_has":109,"./_object-dp":131,"./_wks":162}],148:[function(e,t,n){var r=e("./_shared")("keys"),i=e("./_uid");t.exports=function(e){return r[e]||(r[e]=i(e))}},{"./_shared":149,"./_uid":159}],149:[function(e,t,n){var r=e("./_global"),i=r["__core-js_shared__"]||(r["__core-js_shared__"]={});t.exports=function(e){return i[e]||(i[e]={})}},{"./_global":108}],150:[function(e,t,n){var r=e("./_an-object"),i=e("./_a-function"),o=e("./_wks")("species");t.exports=function(e,t){var n,s=r(e).constructor;return void 0===s||void 0==(n=r(s)[o])?t:i(n)}},{"./_a-function":82,"./_an-object":85,"./_wks":162}],151:[function(e,t,n){var r=e("./_to-integer"),i=e("./_defined");t.exports=function(e){return function(t,n){var o,s,a=String(i(t)),u=r(n),c=a.length;return u<0||u>=c?e?"":void 0:(o=a.charCodeAt(u),o<55296||o>56319||u+1===c||(s=a.charCodeAt(u+1))<56320||s>57343?e?a.charAt(u):o:e?a.slice(u,u+2):s-56320+(o-55296<<10)+65536)}}},{"./_defined":100,"./_to-integer":154}],152:[function(e,t,n){var r,i,o,s=e("./_ctx"),a=e("./_invoke"),u=e("./_html"),c=e("./_dom-create"),l=e("./_global"),f=l.process,h=l.setImmediate,d=l.clearImmediate,p=l.MessageChannel,m=0,v={},b=function(){var e=+this;if(v.hasOwnProperty(e)){var t=v[e];delete v[e],t()}},y=function(e){b.call(e.data)};h&&d||(h=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return v[++m]=function(){a("function"==typeof e?e:Function(e),t)},r(m),m},d=function(e){delete v[e]},"process"==e("./_cof")(f)?r=function(e){f.nextTick(s(b,e,1))}:p?(i=new p,o=i.port2,i.port1.onmessage=y,r=s(o.postMessage,o,1)):l.addEventListener&&"function"==typeof postMessage&&!l.importScripts?(r=function(e){l.postMessage(e+"","*")},l.addEventListener("message",y,!1)):r="onreadystatechange"in c("script")?function(e){u.appendChild(c("script")).onreadystatechange=function(){u.removeChild(this),b.call(e)}}:function(e){setTimeout(s(b,e,1),0)}),t.exports={set:h,clear:d}},{"./_cof":93,"./_ctx":99,"./_dom-create":102,"./_global":108,"./_html":111,"./_invoke":113}],153:[function(e,t,n){var r=e("./_to-integer"),i=Math.max,o=Math.min;t.exports=function(e,t){return e=r(e),e<0?i(e+t,0):o(e,t)}},{"./_to-integer":154}],154:[function(e,t,n){var r=Math.ceil,i=Math.floor;t.exports=function(e){return isNaN(e=+e)?0:(e>0?i:r)(e)}},{}],155:[function(e,t,n){var r=e("./_iobject"),i=e("./_defined");t.exports=function(e){return r(i(e))}},{"./_defined":100,"./_iobject":114}],156:[function(e,t,n){var r=e("./_to-integer"),i=Math.min;t.exports=function(e){return e>0?i(r(e),9007199254740991):0}},{"./_to-integer":154}],157:[function(e,t,n){var r=e("./_defined");t.exports=function(e){return Object(r(e))}},{"./_defined":100}],158:[function(e,t,n){var r=e("./_is-object");t.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if("function"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},{"./_is-object":118}],159:[function(e,t,n){var r=0,i=Math.random();t.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++r+i).toString(36))}},{}],160:[function(e,t,n){var r=e("./_global"),i=e("./_core"),o=e("./_library"),s=e("./_wks-ext"),a=e("./_object-dp").f;t.exports=function(e){var t=i.Symbol||(i.Symbol=o?{}:r.Symbol||{});"_"==e.charAt(0)||e in t||a(t,e,{value:s.f(e)})}},{"./_core":97,"./_global":108,"./_library":126,"./_object-dp":131,"./_wks-ext":161}],161:[function(e,t,n){n.f=e("./_wks")},{"./_wks":162}],162:[function(e,t,n){var r=e("./_shared")("wks"),i=e("./_uid"),o=e("./_global").Symbol,s="function"==typeof o;(t.exports=function(e){return r[e]||(r[e]=s&&o[e]||(s?o:i)("Symbol."+e))}).store=r},{"./_global":108,"./_shared":149,"./_uid":159}],163:[function(e,t,n){var r=e("./_classof"),i=e("./_wks")("iterator"),o=e("./_iterators");t.exports=e("./_core").getIteratorMethod=function(e){if(void 0!=e)return e[i]||e["@@iterator"]||o[r(e)]}},{"./_classof":92,"./_core":97,"./_iterators":124,"./_wks":162}],164:[function(e,t,n){var r=e("./_an-object"),i=e("./core.get-iterator-method");t.exports=e("./_core").getIterator=function(e){var t=i(e);if("function"!=typeof t)throw TypeError(e+" is not iterable!");return r(t.call(e))}},{"./_an-object":85,"./_core":97,"./core.get-iterator-method":163}],165:[function(e,t,n){var r=e("./_classof"),i=e("./_wks")("iterator"),o=e("./_iterators");t.exports=e("./_core").isIterable=function(e){var t=Object(e);return void 0!==t[i]||"@@iterator"in t||o.hasOwnProperty(r(t))}},{"./_classof":92,"./_core":97,"./_iterators":124,"./_wks":162}],166:[function(e,t,n){"use strict";var r=e("./_ctx"),i=e("./_export"),o=e("./_to-object"),s=e("./_iter-call"),a=e("./_is-array-iter"),u=e("./_to-length"),c=e("./_create-property"),l=e("./core.get-iterator-method");i(i.S+i.F*!e("./_iter-detect")(function(e){Array.from(e)}),"Array",{from:function(e){var t,n,i,f,h=o(e),d="function"==typeof this?this:Array,p=arguments.length,m=p>1?arguments[1]:void 0,v=void 0!==m,b=0,y=l(h);if(v&&(m=r(m,p>2?arguments[2]:void 0,2)),void 0==y||d==Array&&a(y))for(t=u(h.length),n=new d(t);t>b;b++)c(n,b,v?m(h[b],b):h[b]);else for(f=y.call(h),n=new d;!(i=f.next()).done;b++)c(n,b,v?s(f,m,[i.value,b],!0):i.value);return n.length=b,n}})},{"./_create-property":98,"./_ctx":99,"./_export":105,"./_is-array-iter":115,"./_iter-call":119,"./_iter-detect":122,"./_to-length":156,"./_to-object":157,"./core.get-iterator-method":163}],167:[function(e,t,n){"use strict";var r=e("./_add-to-unscopables"),i=e("./_iter-step"),o=e("./_iterators"),s=e("./_to-iobject");t.exports=e("./_iter-define")(Array,"Array",function(e,t){this._t=s(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,i(1)):"keys"==t?i(0,n):"values"==t?i(0,e[n]):i(0,[n,e[n]])},"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},{"./_add-to-unscopables":83,"./_iter-define":121,"./_iter-step":123,"./_iterators":124,"./_to-iobject":155}],168:[function(e,t,n){"use strict";var r=e("./_collection-strong");t.exports=e("./_collection")("Map",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{get:function(e){var t=r.getEntry(this,e);return t&&t.v},set:function(e,t){return r.def(this,0===e?0:e,t)}},r,!0)},{"./_collection":96,"./_collection-strong":94}],169:[function(e,t,n){var r=e("./_export");r(r.S,"Number",{isInteger:e("./_is-integer")})},{"./_export":105,"./_is-integer":117}],170:[function(e,t,n){var r=e("./_export");r(r.S+r.F,"Object",{assign:e("./_object-assign")})},{"./_export":105,"./_object-assign":129}],171:[function(e,t,n){var r=e("./_export");r(r.S,"Object",{create:e("./_object-create")})},{"./_export":105,"./_object-create":130}],172:[function(e,t,n){var r=e("./_export");r(r.S+r.F*!e("./_descriptors"),"Object",{defineProperties:e("./_object-dps")})},{"./_descriptors":101,"./_export":105,"./_object-dps":132}],173:[function(e,t,n){var r=e("./_export");r(r.S+r.F*!e("./_descriptors"),"Object",{defineProperty:e("./_object-dp").f})},{"./_descriptors":101,"./_export":105,"./_object-dp":131}],174:[function(e,t,n){var r=e("./_is-object"),i=e("./_meta").onFreeze;e("./_object-sap")("freeze",function(e){return function(t){return e&&r(t)?e(i(t)):t}})},{"./_is-object":118,"./_meta":127,"./_object-sap":141}],175:[function(e,t,n){var r=e("./_to-object"),i=e("./_object-gpo");e("./_object-sap")("getPrototypeOf",function(){return function(e){return i(r(e))}})},{"./_object-gpo":137,"./_object-sap":141,"./_to-object":157}],176:[function(e,t,n){var r=e("./_to-object"),i=e("./_object-keys");e("./_object-sap")("keys",function(){return function(e){return i(r(e))}})},{"./_object-keys":139,"./_object-sap":141,"./_to-object":157}],177:[function(e,t,n){var r=e("./_export");r(r.S,"Object",{setPrototypeOf:e("./_set-proto").set})},{"./_export":105,"./_set-proto":145}],178:[function(e,t,n){arguments[4][61][0].apply(n,arguments)},{dup:61}],179:[function(e,t,n){"use strict";var r,i,o,s=e("./_library"),a=e("./_global"),u=e("./_ctx"),c=e("./_classof"),l=e("./_export"),f=e("./_is-object"),h=e("./_a-function"),d=e("./_an-instance"),p=e("./_for-of"),m=e("./_species-constructor"),v=e("./_task").set,b=e("./_microtask")(),y=a.TypeError,_=a.process,g=a.Promise,_=a.process,k="process"==c(_),w=function(){},C=!!function(){try{var t=g.resolve(1),n=(t.constructor={})[e("./_wks")("species")]=function(e){e(w,w)};return(k||"function"==typeof PromiseRejectionEvent)&&t.then(w)instanceof n}catch(e){}}(),x=function(e,t){return e===t||e===g&&t===o},j=function(e){var t;return!(!f(e)||"function"!=typeof(t=e.then))&&t},E=function(e){return x(g,e)?new S(e):new i(e)},S=i=function(e){var t,n;this.promise=new e(function(e,r){if(void 0!==t||void 0!==n)throw y("Bad Promise constructor");t=e,n=r}),this.resolve=h(t),this.reject=h(n)},T=function(e){try{e()}catch(e){return{error:e}}},R=function(e,t){if(!e._n){e._n=!0;var n=e._c;b(function(){for(var r=e._v,i=1==e._s,o=0;n.length>o;)!function(t){var n,o,s=i?t.ok:t.fail,a=t.resolve,u=t.reject,c=t.domain;try{s?(i||(2==e._h&&P(e),e._h=1),s===!0?n=r:(c&&c.enter(),n=s(r),c&&c.exit()),n===t.promise?u(y("Promise-chain cycle")):(o=j(n))?o.call(n,a,u):a(n)):u(r)}catch(e){u(e)}}(n[o++]);e._c=[],e._n=!1,t&&!e._h&&I(e)})}},I=function(e){v.call(a,function(){var t,n,r,i=e._v;if(A(e)&&(t=T(function(){k?_.emit("unhandledRejection",i,e):(n=a.onunhandledrejection)?n({promise:e,reason:i}):(r=a.console)&&r.error&&r.error("Unhandled promise rejection",i)}),e._h=k||A(e)?2:1),e._a=void 0,t)throw t.error})},A=function(e){if(1==e._h)return!1;for(var t,n=e._a||e._c,r=0;n.length>r;)if(t=n[r++],t.fail||!A(t.promise))return!1;return!0},P=function(e){v.call(a,function(){var t;k?_.emit("rejectionHandled",e):(t=a.onrejectionhandled)&&t({promise:e,reason:e._v})})},O=function(e){var t=this;t._d||(t._d=!0,t=t._w||t,t._v=e,t._s=2,t._a||(t._a=t._c.slice()),R(t,!0))},M=function(e){var t,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===e)throw y("Promise can't be resolved itself");(t=j(e))?b(function(){var r={_w:n,_d:!1};try{t.call(e,u(M,r,1),u(O,r,1))}catch(e){O.call(r,e)}}):(n._v=e,n._s=1,R(n,!1))}catch(e){O.call({_w:n,_d:!1},e)}}};C||(g=function(e){d(this,g,"Promise","_h"),h(e),r.call(this);try{e(u(M,this,1),u(O,this,1))}catch(e){O.call(this,e)}},r=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},r.prototype=e("./_redefine-all")(g.prototype,{then:function(e,t){var n=E(m(this,g));return n.ok="function"!=typeof e||e,n.fail="function"==typeof t&&t,n.domain=k?_.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&R(this,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),S=function(){var e=new r;this.promise=e,this.resolve=u(M,e,1),this.reject=u(O,e,1)}),l(l.G+l.W+l.F*!C,{Promise:g}),e("./_set-to-string-tag")(g,"Promise"),e("./_set-species")("Promise"),o=e("./_core").Promise,l(l.S+l.F*!C,"Promise",{reject:function(e){var t=E(this);return(0,t.reject)(e),t.promise}}),l(l.S+l.F*(s||!C),"Promise",{resolve:function(e){if(e instanceof g&&x(e.constructor,this))return e;var t=E(this);return(0,t.resolve)(e),t.promise}}),l(l.S+l.F*!(C&&e("./_iter-detect")(function(e){g.all(e).catch(w)})),"Promise",{all:function(e){var t=this,n=E(t),r=n.resolve,i=n.reject,o=T(function(){var n=[],o=0,s=1;p(e,!1,function(e){var a=o++,u=!1;n.push(void 0),s++,t.resolve(e).then(function(e){u||(u=!0,n[a]=e,--s||r(n))},i)}),--s||r(n)});return o&&i(o.error),n.promise},race:function(e){var t=this,n=E(t),r=n.reject,i=T(function(){p(e,!1,function(e){t.resolve(e).then(n.resolve,r)})});return i&&r(i.error),n.promise}})},{"./_a-function":82,"./_an-instance":84,"./_classof":92,"./_core":97,"./_ctx":99,"./_export":105,"./_for-of":107,"./_global":108,"./_is-object":118,"./_iter-detect":122,"./_library":126,"./_microtask":128,"./_redefine-all":143,"./_set-species":146,"./_set-to-string-tag":147,"./_species-constructor":150,"./_task":152,"./_wks":162}],180:[function(e,t,n){var r=e("./_export"),i=e("./_object-create"),o=e("./_a-function"),s=e("./_an-object"),a=e("./_is-object"),u=e("./_fails"),c=e("./_bind"),l=(e("./_global").Reflect||{}).construct,f=u(function(){function e(){}return!(l(function(){},[],e)instanceof e)}),h=!u(function(){l(function(){})});r(r.S+r.F*(f||h),"Reflect",{construct:function(e,t){o(e),s(t);var n=arguments.length<3?e:o(arguments[2]);if(h&&!f)return l(e,t,n);if(e==n){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var r=[null];return r.push.apply(r,t),new(c.apply(e,r))}var u=n.prototype,d=i(a(u)?u:Object.prototype),p=Function.apply.call(e,d,t);return a(p)?p:d}})},{"./_a-function":82,"./_an-object":85,"./_bind":91,"./_export":105,"./_fails":106,"./_global":108,"./_is-object":118,"./_object-create":130}],181:[function(e,t,n){"use strict";var r=e("./_collection-strong");t.exports=e("./_collection")("Set",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{add:function(e){return r.def(this,e=0===e?0:e,e)}},r)},{"./_collection":96,"./_collection-strong":94}],182:[function(e,t,n){"use strict";var r=e("./_string-at")(!0);e("./_iter-define")(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},{"./_iter-define":121,"./_string-at":151}],183:[function(e,t,n){"use strict";var r=e("./_global"),i=e("./_has"),o=e("./_descriptors"),s=e("./_export"),a=e("./_redefine"),u=e("./_meta").KEY,c=e("./_fails"),l=e("./_shared"),f=e("./_set-to-string-tag"),h=e("./_uid"),d=e("./_wks"),p=e("./_wks-ext"),m=e("./_wks-define"),v=e("./_keyof"),b=e("./_enum-keys"),y=e("./_is-array"),_=e("./_an-object"),g=e("./_to-iobject"),k=e("./_to-primitive"),w=e("./_property-desc"),C=e("./_object-create"),x=e("./_object-gopn-ext"),j=e("./_object-gopd"),E=e("./_object-dp"),S=e("./_object-keys"),T=j.f,R=E.f,I=x.f,A=r.Symbol,P=r.JSON,O=P&&P.stringify,M=d("_hidden"),F=d("toPrimitive"),N={}.propertyIsEnumerable,U=l("symbol-registry"),L=l("symbols"),D=l("op-symbols"),B=Object.prototype,q="function"==typeof A,z=r.QObject,H=!z||!z.prototype||!z.prototype.findChild,W=o&&c(function(){return 7!=C(R({},"a",{get:function(){return R(this,"a",{value:7}).a}})).a})?function(e,t,n){var r=T(B,t);r&&delete B[t],R(e,t,n),r&&e!==B&&R(B,t,r)}:R,V=function(e){var t=L[e]=C(A.prototype);return t._k=e,t},G=q&&"symbol"==typeof A.iterator?function(e){return"symbol"==typeof e}:function(e){return e instanceof A},J=function(e,t,n){return e===B&&J(D,t,n),_(e),t=k(t,!0),_(n),i(L,t)?(n.enumerable?(i(e,M)&&e[M][t]&&(e[M][t]=!1),n=C(n,{enumerable:w(0,!1)})):(i(e,M)||R(e,M,w(1,{})),e[M][t]=!0),W(e,t,n)):R(e,t,n)},$=function(e,t){_(e);for(var n,r=b(t=g(t)),i=0,o=r.length;o>i;)J(e,n=r[i++],t[n]);return e},K=function(e,t){return void 0===t?C(e):$(C(e),t)},Q=function(e){var t=N.call(this,e=k(e,!0));return!(this===B&&i(L,e)&&!i(D,e))&&(!(t||!i(this,e)||!i(L,e)||i(this,M)&&this[M][e])||t)},X=function(e,t){if(e=g(e),t=k(t,!0),e!==B||!i(L,t)||i(D,t)){var n=T(e,t);return!n||!i(L,t)||i(e,M)&&e[M][t]||(n.enumerable=!0),n}},Y=function(e){for(var t,n=I(g(e)),r=[],o=0;n.length>o;)i(L,t=n[o++])||t==M||t==u||r.push(t);return r},Z=function(e){for(var t,n=e===B,r=I(n?D:g(e)),o=[],s=0;r.length>s;)!i(L,t=r[s++])||n&&!i(B,t)||o.push(L[t]);return o};q||(A=function(){if(this instanceof A)throw TypeError("Symbol is not a constructor!");var e=h(arguments.length>0?arguments[0]:void 0),t=function(n){this===B&&t.call(D,n),i(this,M)&&i(this[M],e)&&(this[M][e]=!1),W(this,e,w(1,n))};return o&&H&&W(B,e,{configurable:!0,set:t}),V(e)},a(A.prototype,"toString",function(){return this._k}),j.f=X,E.f=J,e("./_object-gopn").f=x.f=Y,e("./_object-pie").f=Q,e("./_object-gops").f=Z,o&&!e("./_library")&&a(B,"propertyIsEnumerable",Q,!0),p.f=function(e){return V(d(e))}),s(s.G+s.W+s.F*!q,{Symbol:A});for(var ee="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),te=0;ee.length>te;)d(ee[te++]);for(var ee=S(d.store),te=0;ee.length>te;)m(ee[te++]);s(s.S+s.F*!q,"Symbol",{for:function(e){return i(U,e+="")?U[e]:U[e]=A(e)},keyFor:function(e){if(G(e))return v(U,e);throw TypeError(e+" is not a symbol!")},useSetter:function(){H=!0},useSimple:function(){H=!1}}),s(s.S+s.F*!q,"Object",{create:K,defineProperty:J,defineProperties:$,getOwnPropertyDescriptor:X,getOwnPropertyNames:Y,getOwnPropertySymbols:Z}),P&&s(s.S+s.F*(!q||c(function(){var e=A();return"[null]"!=O([e])||"{}"!=O({a:e})||"{}"!=O(Object(e))})),"JSON",{stringify:function(e){if(void 0!==e&&!G(e)){for(var t,n,r=[e],i=1;arguments.length>i;)r.push(arguments[i++]);return t=r[1],"function"==typeof t&&(n=t),!n&&y(t)||(t=function(e,t){if(n&&(t=n.call(this,e,t)),!G(t))return t}),r[1]=t,O.apply(P,r)}}}),A.prototype[F]||e("./_hide")(A.prototype,F,A.prototype.valueOf),f(A,"Symbol"),f(Math,"Math",!0),f(r.JSON,"JSON",!0)},{"./_an-object":85,"./_descriptors":101,"./_enum-keys":104,"./_export":105,"./_fails":106,"./_global":108,"./_has":109,"./_hide":110,"./_is-array":116,"./_keyof":125,"./_library":126,"./_meta":127,"./_object-create":130,"./_object-dp":131,"./_object-gopd":133,"./_object-gopn":135,"./_object-gopn-ext":134,"./_object-gops":136,"./_object-keys":139,"./_object-pie":140,"./_property-desc":142,"./_redefine":144,"./_set-to-string-tag":147,"./_shared":149,"./_to-iobject":155,"./_to-primitive":158,"./_uid":159,"./_wks":162,"./_wks-define":160,"./_wks-ext":161}],184:[function(e,t,n){var r=e("./_export");r(r.P+r.R,"Map",{toJSON:e("./_collection-to-json")("Map")})},{"./_collection-to-json":95,"./_export":105}],185:[function(e,t,n){var r=e("./_export");r(r.P+r.R,"Set",{toJSON:e("./_collection-to-json")("Set")})},{"./_collection-to-json":95,"./_export":105}],186:[function(e,t,n){e("./_wks-define")("asyncIterator")},{"./_wks-define":160}],187:[function(e,t,n){e("./_wks-define")("observable")},{"./_wks-define":160}],188:[function(e,t,n){e("./es6.array.iterator");for(var r=e("./_global"),i=e("./_hide"),o=e("./_iterators"),s=e("./_wks")("toStringTag"),a=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],u=0;u<5;u++){var c=a[u],l=r[c],f=l&&l.prototype;f&&!f[s]&&i(f,s,c),o[c]=o.Array}},{"./_global":108,"./_hide":110,"./_iterators":124,"./_wks":162,"./es6.array.iterator":167}],189:[function(e,t,n){n.UINT32=e("./lib/uint32"),n.UINT64=e("./lib/uint64")},{"./lib/uint32":190,"./lib/uint64":191}],190:[function(t,n,r){!function(t){function r(e,t){return this instanceof r?(this._low=0,this._high=0,this.remainder=null,void 0===t?o.call(this,e):"string"==typeof e?s.call(this,e,t):void i.call(this,e,t)):new r(e,t)}function i(e,t){return this._low=0|e,this._high=0|t,this}function o(e){return this._low=65535&e,this._high=e>>>16,this}function s(e,t){var n=parseInt(e,t||10);return this._low=65535&n,this._high=n>>>16,this}r(Math.pow(36,5)),r(Math.pow(16,7)),r(Math.pow(10,9)),r(Math.pow(2,30)),r(36),r(16),r(10),r(2);r.prototype.fromBits=i,r.prototype.fromNumber=o,r.prototype.fromString=s,r.prototype.toNumber=function(){return 65536*this._high+this._low},r.prototype.toString=function(e){return this.toNumber().toString(e||10)},r.prototype.add=function(e){var t=this._low+e._low,n=t>>>16;return n+=this._high+e._high,this._low=65535&t,this._high=65535&n,this},r.prototype.subtract=function(e){return this.add(e.clone().negate())},r.prototype.multiply=function(e){var t,n,r=this._high,i=this._low,o=e._high,s=e._low;return n=i*s,t=n>>>16,t+=r*s,t&=65535,t+=i*o,this._low=65535&n,this._high=65535&t,this},r.prototype.div=function(e){
if(0==e._low&&0==e._high)throw Error("division by zero");if(0==e._high&&1==e._low)return this.remainder=new r(0),this;if(e.gt(this))return this.remainder=this.clone(),this._low=0,this._high=0,this;if(this.eq(e))return this.remainder=new r(0),this._low=1,this._high=0,this;for(var t=e.clone(),n=-1;!this.lt(t);)t.shiftLeft(1,!0),n++;for(this.remainder=this.clone(),this._low=0,this._high=0;n>=0;n--)t.shiftRight(1),this.remainder.lt(t)||(this.remainder.subtract(t),n>=16?this._high|=1<>>16)&65535,this},r.prototype.equals=r.prototype.eq=function(e){return this._low==e._low&&this._high==e._high},r.prototype.greaterThan=r.prototype.gt=function(e){return this._high>e._high||!(this._highe._low},r.prototype.lessThan=r.prototype.lt=function(e){return this._highe._high)&&this._low16?(this._low=this._high>>e-16,this._high=0):16==e?(this._low=this._high,this._high=0):(this._low=this._low>>e|this._high<<16-e&65535,this._high>>=e),this},r.prototype.shiftLeft=r.prototype.shiftl=function(e,t){return e>16?(this._high=this._low<>16-e,this._low=this._low<>>32-e,this._low=65535&t,this._high=t>>>16,this},r.prototype.rotateRight=r.prototype.rotr=function(e){var t=this._high<<16|this._low;return t=t>>>e|t<<32-e,this._low=65535&t,this._high=t>>>16,this},r.prototype.clone=function(){return new r(this._low,this._high)},void 0!==e&&e.amd?e([],function(){return r}):void 0!==n&&n.exports?n.exports=r:t.UINT32=r}(this)},{}],191:[function(t,n,r){!function(t){function r(e,t,n,a){return this instanceof r?(this.remainder=null,"string"==typeof e?s.call(this,e,t):void 0===t?o.call(this,e):void i.apply(this,arguments)):new r(e,t,n,a)}function i(e,t,n,r){return void 0===n?(this._a00=65535&e,this._a16=e>>>16,this._a32=65535&t,this._a48=t>>>16,this):(this._a00=0|e,this._a16=0|t,this._a32=0|n,this._a48=0|r,this)}function o(e){return this._a00=65535&e,this._a16=e>>>16,this._a32=0,this._a48=0,this}function s(e,t){t=t||10,this._a00=0,this._a16=0,this._a32=0,this._a48=0;for(var n=a[t]||new r(Math.pow(t,5)),i=0,o=e.length;i=0&&(n.div(t),i[o]=n.remainder.toNumber().toString(e),n.gt(t));o--);return i[o-1]=n.toNumber().toString(e),i.join("")},r.prototype.add=function(e){var t=this._a00+e._a00,n=t>>>16;n+=this._a16+e._a16;var r=n>>>16;r+=this._a32+e._a32;var i=r>>>16;return i+=this._a48+e._a48,this._a00=65535&t,this._a16=65535&n,this._a32=65535&r,this._a48=65535&i,this},r.prototype.subtract=function(e){return this.add(e.clone().negate())},r.prototype.multiply=function(e){var t=this._a00,n=this._a16,r=this._a32,i=this._a48,o=e._a00,s=e._a16,a=e._a32,u=e._a48,c=t*o,l=c>>>16;l+=t*s;var f=l>>>16;l&=65535,l+=n*o,f+=l>>>16,f+=t*a;var h=f>>>16;return f&=65535,f+=n*s,h+=f>>>16,f&=65535,f+=r*o,h+=f>>>16,h+=t*u,h&=65535,h+=n*a,h&=65535,h+=r*s,h&=65535,h+=i*o,this._a00=65535&c,this._a16=65535&l,this._a32=65535&f,this._a48=65535&h,this},r.prototype.div=function(e){if(0==e._a16&&0==e._a32&&0==e._a48){if(0==e._a00)throw Error("division by zero");if(1==e._a00)return this.remainder=new r(0),this}if(e.gt(this))return this.remainder=this.clone(),this._a00=0,this._a16=0,this._a32=0,this._a48=0,this;if(this.eq(e))return this.remainder=new r(0),this._a00=1,this._a16=0,this._a32=0,this._a48=0,this;for(var t=e.clone(),n=-1;!this.lt(t);)t.shiftLeft(1,!0),n++;for(this.remainder=this.clone(),this._a00=0,this._a16=0,this._a32=0,this._a48=0;n>=0;n--)t.shiftRight(1),this.remainder.lt(t)||(this.remainder.subtract(t),n>=48?this._a48|=1<=32?this._a32|=1<=16?this._a16|=1<>>16),this._a16=65535&e,e=(65535&~this._a32)+(e>>>16),this._a32=65535&e,this._a48=~this._a48+(e>>>16)&65535,this},r.prototype.equals=r.prototype.eq=function(e){return this._a48==e._a48&&this._a00==e._a00&&this._a32==e._a32&&this._a16==e._a16},r.prototype.greaterThan=r.prototype.gt=function(e){return this._a48>e._a48||!(this._a48e._a32||!(this._a32e._a16||!(this._a16e._a00))},r.prototype.lessThan=r.prototype.lt=function(e){return this._a48e._a48)&&(this._a32e._a32)&&(this._a16e._a16)&&this._a00=48?(this._a00=this._a48>>e-48,this._a16=0,this._a32=0,this._a48=0):e>=32?(e-=32,this._a00=65535&(this._a32>>e|this._a48<<16-e),this._a16=this._a48>>e&65535,this._a32=0,this._a48=0):e>=16?(e-=16,this._a00=65535&(this._a16>>e|this._a32<<16-e),this._a16=65535&(this._a32>>e|this._a48<<16-e),this._a32=this._a48>>e&65535,this._a48=0):(this._a00=65535&(this._a00>>e|this._a16<<16-e),this._a16=65535&(this._a16>>e|this._a32<<16-e),this._a32=65535&(this._a32>>e|this._a48<<16-e),this._a48=this._a48>>e&65535),this},r.prototype.shiftLeft=r.prototype.shiftl=function(e,t){return e%=64,e>=48?(this._a48=this._a00<=32?(e-=32,this._a48=this._a16<>16-e,this._a32=this._a00<=16?(e-=16,this._a48=this._a32<>16-e,this._a32=65535&(this._a16<>16-e),this._a16=this._a00<>16-e,this._a32=65535&(this._a32<>16-e),this._a16=65535&(this._a16<>16-e),this._a00=this._a00<=32){var t=this._a00;if(this._a00=this._a32,this._a32=t,t=this._a48,this._a48=this._a16,this._a16=t,32==e)return this;e-=32}var n=this._a48<<16|this._a32,r=this._a16<<16|this._a00,i=n<>>32-e,o=r<>>32-e;return this._a00=65535&o,this._a16=o>>>16,this._a32=65535&i,this._a48=i>>>16,this},r.prototype.rotateRight=r.prototype.rotr=function(e){if(0==(e%=64))return this;if(e>=32){var t=this._a00;if(this._a00=this._a32,this._a32=t,t=this._a48,this._a48=this._a16,this._a16=t,32==e)return this;e-=32}var n=this._a48<<16|this._a32,r=this._a16<<16|this._a00,i=n>>>e|r<<32-e,o=r>>>e|n<<32-e;return this._a00=65535&o,this._a16=o>>>16,this._a32=65535&i,this._a48=i>>>16,this},r.prototype.clone=function(){return new r(this._a00,this._a16,this._a32,this._a48)},void 0!==e&&e.amd?e([],function(){return r}):void 0!==n&&n.exports?n.exports=r:t.UINT64=r}(this)},{}],192:[function(e,t,n){t.exports=e("./lib")},{"./lib":193}],193:[function(e,t,n){function r(e){return void 0===e?0:parseInt(e,10)}n.fromSeconds=function(e){if("number"!=typeof e)throw new TypeError("Argument `seconds` must be a number");var t=e%60,n=(e-t)%3600;return{hours:(e-t-n)/3600,minutes:n/60,seconds:t}},n.fromString=function(e){if("string"!=typeof e)throw new TypeError("Argument `string` must be a string");var t=e.match(/^PT(?:(\d+)H)?(?:(\d+)M)?(?:(\d+)S)?$/);if(null===t||void 0===t[1]&&void 0===t[2]&&void 0===t[3])throw new Error('Could not parse "'+e+'" as a duration.');return{hours:r(t[1]),minutes:r(t[2]),seconds:r(t[3])}},n.toString=function(e){"number"==typeof e&&(e=n.fromSeconds(e));var t="PT";return e.hours>0&&(t+=e.hours+"H"),e.minutes>0&&(t+=e.minutes+"M"),e.seconds>0&&(t+=e.seconds+"S"),"PT"===t&&(t+="0S"),t},n.toSeconds=function(e){var t=e;return"string"==typeof e&&(t=n.fromString(e)),3600*t.hours+60*t.minutes+t.seconds}},{}],194:[function(e,t,n){
// Copyright Joyent, Inc. and other Node contributors.
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to permit
// persons to whom the Software is furnished to do so, subject to the
// following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
// USE OR OTHER DEALINGS IN THE SOFTWARE.
function r(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function i(e){return"function"==typeof e}function o(e){return"number"==typeof e}function s(e){return"object"==typeof e&&null!==e}function a(e){return void 0===e}t.exports=r,r.EventEmitter=r,r.prototype._events=void 0,r.prototype._maxListeners=void 0,r.defaultMaxListeners=10,r.prototype.setMaxListeners=function(e){if(!o(e)||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},r.prototype.emit=function(e){var t,n,r,o,u,c;if(this._events||(this._events={}),"error"===e&&(!this._events.error||s(this._events.error)&&!this._events.error.length)){if((t=arguments[1])instanceof Error)throw t;var l=new Error('Uncaught, unspecified "error" event. ('+t+")");throw l.context=t,l}if(n=this._events[e],a(n))return!1;if(i(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:o=Array.prototype.slice.call(arguments,1),n.apply(this,o)}else if(s(n))for(o=Array.prototype.slice.call(arguments,1),c=n.slice(),r=c.length,u=0;u0&&this._events[e].length>n&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},r.prototype.on=r.prototype.addListener,r.prototype.once=function(e,t){function n(){this.removeListener(e,n),r||(r=!0,t.apply(this,arguments))}if(!i(t))throw TypeError("listener must be a function");var r=!1;return n.listener=t,this.on(e,n),this},r.prototype.removeListener=function(e,t){var n,r,o,a;if(!i(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(n=this._events[e],o=n.length,r=-1,n===t||i(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(s(n)){for(a=o;a-- >0;)if(n[a]===t||n[a].listener&&n[a].listener===t){r=a;break}if(r<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(r,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},r.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(n=this._events[e],i(n))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},r.prototype.listeners=function(e){return this._events&&this._events[e]?i(this._events[e])?[this._events[e]]:this._events[e].slice():[]},r.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(i(t))return 1;if(t)return t.length}return 0},r.listenerCount=function(e,t){return e.listenerCount(t)}},{}],195:[function(e,t,n){n.read=function(e,t,n,r,i){var o,s,a=8*i-r-1,u=(1<>1,l=-7,f=n?i-1:0,h=n?-1:1,d=e[t+f];for(f+=h,o=d&(1<<-l)-1,d>>=-l,l+=a;l>0;o=256*o+e[t+f],f+=h,l-=8);for(s=o&(1<<-l)-1,o>>=-l,l+=r;l>0;s=256*s+e[t+f],f+=h,l-=8);if(0===o)o=1-c;else{if(o===u)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,r),o-=c}return(d?-1:1)*s*Math.pow(2,o-r)},n.write=function(e,t,n,r,i,o){var s,a,u,c=8*o-i-1,l=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:o-1,p=r?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=l):(s=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-s))<1&&(s--,u*=2),t+=s+f>=1?h/u:h*Math.pow(2,1-f),t*u>=2&&(s++,u/=2),s+f>=l?(a=0,s=l):s+f>=1?(a=(t*u-1)*Math.pow(2,i),s+=f):(a=t*Math.pow(2,f-1)*Math.pow(2,i),s=0));i>=8;e[n+d]=255&a,d+=p,a/=256,i-=8);for(s=s<0;e[n+d]=255&s,d+=p,s/=256,c-=8);e[n+d-p]|=128*m}},{}],196:[function(t,n,r){/*
Javascript State Machine Library - https://github.com/jakesgordon/javascript-state-machine
Copyright (c) 2012, 2013, 2014, 2015, Jake Gordon and contributors
Released under the MIT license - https://github.com/jakesgordon/javascript-state-machine/blob/master/LICENSE
*/
!function(){var t={VERSION:"2.4.0",Result:{SUCCEEDED:1,NOTRANSITION:2,CANCELLED:3,PENDING:4},Error:{INVALID_TRANSITION:100,PENDING_TRANSITION:200,INVALID_CALLBACK:300},WILDCARD:"*",ASYNC:"async",create:function(e,n){var r="string"==typeof e.initial?{state:e.initial}:e.initial,i=e.terminal||e.final,o=n||e.target||{},s=e.events||[],a=e.callbacks||{},u={},c={},l=function(e){var n=Array.isArray(e.from)?e.from:e.from?[e.from]:[t.WILDCARD];u[e.name]=u[e.name]||{};for(var r=0;r=0:this.current===e},o.can=function(e){return!this.transition&&void 0!==u[e]&&(u[e].hasOwnProperty(this.current)||u[e].hasOwnProperty(t.WILDCARD))},o.cannot=function(e){return!this.can(e)},o.transitions=function(){return(c[this.current]||[]).concat(c[t.WILDCARD]||[])},o.isFinished=function(){return this.is(i)},o.error=e.error||function(e,t,n,r,i,o,s){throw s||o},o.states=function(){return Object.keys(c).sort()},r&&!r.defer&&o[r.event](),o},doCallback:function(e,n,r,i,o,s){if(n)try{return n.apply(e,[r,i,o].concat(s))}catch(n){return e.error(r,i,o,s,t.Error.INVALID_CALLBACK,"an exception occurred in a caller-provided callback function",n)}},beforeAnyEvent:function(e,n,r,i,o){return t.doCallback(e,e.onbeforeevent,n,r,i,o)},afterAnyEvent:function(e,n,r,i,o){return t.doCallback(e,e.onafterevent||e.onevent,n,r,i,o)},leaveAnyState:function(e,n,r,i,o){return t.doCallback(e,e.onleavestate,n,r,i,o)},enterAnyState:function(e,n,r,i,o){return t.doCallback(e,e.onenterstate||e.onstate,n,r,i,o)},changeState:function(e,n,r,i,o){return t.doCallback(e,e.onchangestate,n,r,i,o)},beforeThisEvent:function(e,n,r,i,o){return t.doCallback(e,e["onbefore"+n],n,r,i,o)},afterThisEvent:function(e,n,r,i,o){return t.doCallback(e,e["onafter"+n]||e["on"+n],n,r,i,o)},leaveThisState:function(e,n,r,i,o){return t.doCallback(e,e["onleave"+r],n,r,i,o)},enterThisState:function(e,n,r,i,o){return t.doCallback(e,e["onenter"+i]||e["on"+i],n,r,i,o)},beforeEvent:function(e,n,r,i,o){if(!1===t.beforeThisEvent(e,n,r,i,o)||!1===t.beforeAnyEvent(e,n,r,i,o))return!1},afterEvent:function(e,n,r,i,o){t.afterThisEvent(e,n,r,i,o),t.afterAnyEvent(e,n,r,i,o)},leaveState:function(e,n,r,i,o){var s=t.leaveThisState(e,n,r,i,o),a=t.leaveAnyState(e,n,r,i,o);return!1!==s&&!1!==a&&(t.ASYNC===s||t.ASYNC===a?t.ASYNC:void 0)},enterState:function(e,n,r,i,o){t.enterThisState(e,n,r,i,o),t.enterAnyState(e,n,r,i,o)},buildEvent:function(e,n){return function(){var r=this.current,i=n[r]||(n[t.WILDCARD]!=t.WILDCARD?n[t.WILDCARD]:r)||r,o=Array.prototype.slice.call(arguments);if(this.transition)return this.error(e,r,i,o,t.Error.PENDING_TRANSITION,"event "+e+" inappropriate because previous transition did not complete");if(this.cannot(e))return this.error(e,r,i,o,t.Error.INVALID_TRANSITION,"event "+e+" inappropriate in current state "+this.current);if(!1===t.beforeEvent(this,e,r,i,o))return t.Result.CANCELLED;if(r===i)return t.afterEvent(this,e,r,i,o),t.Result.NOTRANSITION;var s=this;this.transition=function(){return s.transition=null,s.current=i,t.enterState(s,e,r,i,o),t.changeState(s,e,r,i,o),t.afterEvent(s,e,r,i,o),t.Result.SUCCEEDED},this.transition.cancel=function(){s.transition=null,t.afterEvent(s,e,r,i,o)};var a=t.leaveState(this,e,r,i,o);return!1===a?(this.transition=null,t.Result.CANCELLED):t.ASYNC===a?t.Result.PENDING:this.transition?this.transition():void 0}}};void 0!==r?(void 0!==n&&n.exports&&(r=n.exports=t),r.StateMachine=t):"function"==typeof e&&e.amd?e(function(e){return t}):"undefined"!=typeof window?window.StateMachine=t:"undefined"!=typeof self&&(self.StateMachine=t)}()},{}],197:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i=e("babel-runtime/regenerator"),o=r(i),s=e("babel-runtime/core-js/get-iterator"),a=r(s),u=e("babel-runtime/core-js/symbol/iterator"),c=r(u),l=e("babel-runtime/helpers/classCallCheck"),f=r(l),h=e("babel-runtime/helpers/createClass"),d=r(h);Object.defineProperty(n,"__esModule",{value:!0});var p=function(){function e(t,n){(0,f.default)(this,e),this.balanceFactor=0,this.key=t,this.value=n,this.parent=null,this.left=null,this.right=null}return(0,d.default)(e,[{key:"update",value:function(e){this.value=e}},{key:"replace",value:function(e,t){e&&(this.left===t?this.left=t:this.right===t&&(this.right=t))}},{key:"isRoot",get:function(){return null===this.parent}},{key:"isLeaf",get:function(){return null===this.left&&null===this.right}},{key:"isLeftChild",get:function(){return this.parent.left===this}}]),e}(),m=function(){function e(t,n){(0,f.default)(this,e),this.isLessThan=t||function(e,t){return e1){this.rebalance(i);break}r=i}}},{key:"get",value:function(e){for(var t=this.root;t;){if(this.isEqual(e,t.key))return t.value;t=this.isLessThan(e,t.key)?t.left:t.right}return null}},{key:"delete",value:function(e){var t=this.getNode(e);if(!t||t.key!==e)return null;var n=t.parent,r=t.left,i=t.right;if(!!r!=!!i){var o=r||i;n||o?n&&!o?this.root=o:(n.replace(t,null),this.rebalance(n)):this.root=null}else{for(var s=t.left;s.right;)s=s.right;if(t.left===s)t.isRoot?(this.root=s,s.parent=null):(t.isLeftChild?t.parent.left=s:t.parent.right=s,s.parent=t.parent),s.right=t.right,s.right.parent=s,s.balanceFactor=t.balanceFactor,t={parent:s,isLeftChild:!0};else{var a=s.parent,u=s.left;a.right=u,u&&(u.parent=a),t.isRoot?(this.root=s,s.parent=null):(t.isLeftChild?t.parent.left=s:t.parent.right=s,s.parent=t.parent),s.right=t.right,s.right.parent=s,s.left=t.left,s.left.parent=s,s.balanceFactor=t.balanceFactor,t={parent:a,isLeftChild:!1}}}for(this.count--;t.parent;){var c=t.parent,l=c.balanceFactor;if(t.isLeftChild?c.balanceFactor-=1:c.balanceFactor+=1,Math.abs(c.balanceFactor)>Math.abs(l)){if(!(c.balanceFactor<-1||c.balanceFactor>1))break;if(this.rebalance(c),0!==c.parent.balanceFactor)break;t=c.parent}else t=c}return null}},{key:"getNode",value:function(e){for(var t=this.root;t;){if(this.isEqual(e,t.key))return t;t=this.isLessThan(e,t.key)?t.left:t.right}return null}},{key:"rebalance",value:function(e){e.balanceFactor<0?e.right.balanceFactor>0?(this.rotateRight(e.right),this.rotateLeft(e)):this.rotateLeft(e):e.balanceFactor>0&&(e.left.balanceFactor<0?(this.rotateLeft(e.left),this.rotateRight(e)):this.rotateRight(e))}},{key:"rotateLeft",value:function(e){var t=e.right;e.right=t.left,null!==t.left&&(t.left.parent=e),t.parent=e.parent,null===t.parent?this.root=t:e.isLeftChild?t.parent.left=t:t.parent.right=t,t.left=e,e.parent=t,e.balanceFactor=e.balanceFactor+1-Math.min(t.balanceFactor,0),t.balanceFactor=t.balanceFactor+1-Math.max(e.balanceFactor,0)}},{key:"rotateRight",value:function(e){var t=e.left;e.left=t.right,null!==t.right&&(t.right.parent=e),t.parent=e.parent,null===t.parent?this.root=t:e.isLeftChild?t.parent.left=t:t.parent.right=t,t.right=e,e.parent=t,e.balanceFactor=e.balanceFactor-1-Math.min(t.balanceFactor,0),t.balanceFactor=t.balanceFactor-1-Math.max(e.balanceFactor,0)}},{key:c.default,value:o.default.mark(function e(){var t,n,r,i,s,u;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:t=!0,n=!1,r=void 0,e.prev=3,i=(0,a.default)(this.getIterator());case 5:if(t=(s=i.next()).done){e.next=12;break}return u=s.value,e.next=9,u;case 9:t=!0,e.next=5;break;case 12:e.next=18;break;case 14:e.prev=14,e.t0=e.catch(3),n=!0,r=e.t0;case 18:e.prev=18,e.prev=19,!t&&i.return&&i.return();case 21:if(e.prev=21,!n){e.next=24;break}throw r;case 24:return e.finish(21);case 25:return e.finish(18);case 26:case"end":return e.stop()}},e,this,[[3,14,18,26],[19,,21,25]])})},{key:"getIterator",value:o.default.mark(function e(){var t,n,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:t=this.root;case 1:if(!t){e.next=7;break}if(!this.isEqual(r,t.key)&&(null!==r||t.left)){e.next=4;break}return e.abrupt("break",7);case 4:t=this.isLessThan(r,t.key)||null===r?t.left:t.right,e.next=1;break;case 7:if(t){e.next=9;break}return e.abrupt("return",null);case 9:n=!0;case 10:if(!n){e.next=28;break}return e.next=13,[t.key,t.value];case 13:if(n=!1,!t.right){e.next=20;break}for(t=t.right;t.left;)t=t.left;n=!0,e.next=26;break;case 20:if(!t.parent){e.next=25;break}n=t.parent.left===t,t=t.parent,e.next=26;break;case 25:return e.abrupt("break",36);case 26:e.next=34;break;case 28:if(!t.parent){e.next=33;break}n=t.parent.left===t,t=t.parent,e.next=34;break;case 33:return e.abrupt("break",36);case 34:e.next=10;break;case 36:return e.abrupt("return",null);case 37:case"end":return e.stop()}},e,this)})},{key:"getReverseIterator",value:o.default.mark(function e(){var t,n,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:t=this.root;case 1:if(!t){e.next=7;break}if(!this.isEqual(r,t.key)&&(null!==r||t.right)){e.next=4;break}return e.abrupt("break",7);case 4:t=this.isLessThan(r,t.key)&&null!==r?t.left:t.right,e.next=1;break;case 7:if(t){e.next=9;break}return e.abrupt("return",null);case 9:n=!0;case 10:if(!n){e.next=28;break}return e.next=13,[t.key,t.value];case 13:if(n=!1,!t.left){e.next=20;break}for(t=t.left;t.right;)t=t.right;n=!0,e.next=26;break;case 20:if(!t.parent){e.next=25;break}n=t.parent.right===t,t=t.parent,e.next=26;break;case 25:return e.abrupt("break",36);case 26:e.next=34;break;case 28:if(!t.parent){e.next=33;break}n=t.parent.right===t,t=t.parent,e.next=34;break;case 33:return e.abrupt("break",36);case 34:e.next=10;break;case 36:return e.abrupt("return",null);case 37:case"end":return e.stop()}},e,this)})},{key:"size",get:function(){return this.count}}]),e}();n.TreeMap=m},{"babel-runtime/core-js/get-iterator":23,"babel-runtime/core-js/symbol/iterator":40,"babel-runtime/helpers/classCallCheck":41,"babel-runtime/helpers/createClass":42,"babel-runtime/regenerator":48}],198:[function(t,n,r){/*
* loglevel - https://github.com/pimterry/loglevel
*
* Copyright (c) 2013 Tim Perry
* Licensed under the MIT license.
*/
!function(t,r){"use strict";"function"==typeof e&&e.amd?e(r):"object"==typeof n&&n.exports?n.exports=r():t.log=r()}(this,function(){"use strict";function e(e){return typeof console!==a&&(void 0!==console[e]?t(console,e):void 0!==console.log?t(console,"log"):s)}function t(e,t){var n=e[t];if("function"==typeof n.bind)return n.bind(e);try{return Function.prototype.bind.call(n,e)}catch(t){return function(){return Function.prototype.apply.apply(n,[e,arguments])}}}function n(e,t,n){return function(){typeof console!==a&&(r.call(this,t,n),this[e].apply(this,arguments))}}function r(e,t){for(var n=0;n=0&&t<=l.levels.SILENT))throw"log.setLevel() called with invalid level: "+t;if(c=t,n!==!1&&o(t),r.call(l,t,e),typeof console===a&&t=this.maxAttemptsCount)return this.cleanup(),this.emit("failed",new Error("Maximum attempt count limit reached")),void this.reject(new Error("Maximum attempt count reached"));var n=this.nextDelay(e);n=this.randomize(n),this.maxAttemptsTime&&this.startTimestamp+this.maxAttemptsTime-1&&r<=k)for(;++n3&&"WebKit"||/\bOpera\b/.test(z)&&(/\bOPR\b/.test(e)?"Blink":"Presto")||/\b(?:Midori|Nook|Safari)\b/i.test(e)&&!/^(?:Trident|EdgeHTML)$/.test(q)&&"WebKit"||!q&&/\bMSIE\b/i.test(e)&&("Mac OS"==V?"Tasman":"Trident")||"WebKit"==q&&/\bPlayStation\b(?! Vita\b)/i.test(z)&&"NetFront")&&(q=[y]),"IE"==z&&(y=(/; *(?:XBLWP|ZuneWP)(\d+)/i.exec(e)||0)[1])?(z+=" Mobile",V="Windows Phone "+(/\+$/.test(y)?y:y+".x"),U.unshift("desktop mode")):/\bWPDesktop\b/i.test(e)?(z="IE Mobile",V="Windows Phone 8.x",U.unshift("desktop mode"),B||(B=(/\brv:([\d.]+)/.exec(e)||0)[1])):"IE"!=z&&"Trident"==q&&(y=/\brv:([\d.]+)/.exec(e))&&(z&&U.push("identifying as "+z+(B?" "+B:"")),z="IE",B=y[1]),D){if(l(r,"global"))if(R&&(y=R.lang.System,N=y.getProperty("os.arch"),V=V||y.getProperty("os.name")+" "+y.getProperty("os.version")),g&&l(r,"system")&&(y=[r.system])[0]){V||(V=y[0].os||null);try{y[1]=r.require("ringo/engine").version,B=y[1].join("."),z="RingoJS"}catch(e){y[0].global.system==r.system&&(z="Narwhal")}}else"object"==typeof r.process&&!r.process.browser&&(y=r.process)?(z="Node.js",N=y.arch,V=y.platform,B=/[\d.]+/.exec(y.version)[0]):I&&(z="Rhino");else c(y=r.runtime)==x?(z="Adobe AIR",V=y.flash.system.Capabilities.os):c(y=r.phantom)==T?(z="PhantomJS",B=(y=y.version||null)&&y.major+"."+y.minor+"."+y.patch):"number"==typeof O.documentMode&&(y=/\bTrident\/(\d+)/i.exec(e))&&(B=[B,O.documentMode],(y=+y[1]+4)!=B[1]&&(U.push("IE "+B[1]+" mode"),q&&(q[1]=""),B[1]=y),B="IE"==z?String(B[1].toFixed(1)):B[0]);V=V&&a(V)}B&&(y=/(?:[ab]|dp|pre|[ab]\d+pre)(?:\d+\+?)?$/i.exec(B)||/(?:alpha|beta)(?: ?\d)?/i.exec(e+";"+(D&&s.appMinorVersion))||/\bMinefield\b/i.test(e)&&"a")&&(L=/b/i.test(y)?"beta":"alpha",B=B.replace(RegExp(y+"\\+?$"),"")+("beta"==L?P:A)+(/\d+\+?/.exec(y)||"")),"Fennec"==z||"Firefox"==z&&/\b(?:Android|Firefox OS)\b/.test(V)?z="Firefox Mobile":"Maxthon"==z&&B?B=B.replace(/\.[\d.]+/,".x"):/\bXbox\b/i.test(H)?(V=null,"Xbox 360"==H&&/\bIEMobile\b/.test(e)&&U.unshift("mobile mode")):!/^(?:Chrome|IE|Opera)$/.test(z)&&(!z||H||/Browser|Mobi/.test(z))||"Windows CE"!=V&&!/Mobi/i.test(e)?"IE"==z&&D&&null===r.external?U.unshift("platform preview"):(/\bBlackBerry\b/.test(H)||/\bBB10\b/.test(e))&&(y=(RegExp(H.replace(/ +/g," *")+"/([.\\d]+)","i").exec(e)||0)[1]||B)?(y=[y,/BB10/.test(e)],V=(y[1]?(H=null,W="BlackBerry"):"Device Software")+" "+y[0],B=null):this!=u&&"Wii"!=H&&(D&&M||/Opera/.test(z)&&/\b(?:MSIE|Firefox)\b/i.test(e)||"Firefox"==z&&/\bOS X (?:\d+\.){2,}/.test(V)||"IE"==z&&(V&&!/^Win/.test(V)&&B>5.5||/\bWindows XP\b/.test(V)&&B>8||8==B&&!/\bTrident\b/.test(e)))&&!w.test(y=p.call(u,e.replace(w,"")+";"))&&y.name&&(y="ing as "+y.name+((y=y.version)?" "+y:""),w.test(z)?(/\bIE\b/.test(y)&&"Mac OS"==V&&(V=null),y="identify"+y):(y="mask"+y,z=F?a(F.replace(/([a-z])([A-Z])/g,"$1 $2")):"Opera",/\bIE\b/.test(y)&&(V=null),D||(B=null)),q=["Presto"],U.push(y)):z+=" Mobile",(y=(/\bAppleWebKit\/([\d.]+\+?)/i.exec(e)||0)[1])&&(y=[parseFloat(y.replace(/\.(\d)$/,".0$1")),y],"Safari"==z&&"+"==y[1].slice(-1)?(z="WebKit Nightly",L="alpha",B=y[1].slice(0,-1)):B!=y[1]&&B!=(y[2]=(/\bSafari\/([\d.]+\+?)/i.exec(e)||0)[1])||(B=null),y[1]=(/\bChrome\/([\d.]+)/i.exec(e)||0)[1],537.36==y[0]&&537.36==y[2]&&parseFloat(y[1])>=28&&"WebKit"==q&&(q=["Blink"]),D&&(k||y[1])?(q&&(q[1]="like Chrome"),y=y[1]||(y=y[0],y<530?1:y<532?2:y<532.05?3:y<533?4:y<534.03?5:y<534.07?6:y<534.1?7:y<534.13?8:y<534.16?9:y<534.24?10:y<534.3?11:y<535.01?12:y<535.02?"13+":y<535.07?15:y<535.11?16:y<535.19?17:y<536.05?18:y<536.1?19:y<537.01?20:y<537.11?"21+":y<537.13?23:y<537.18?24:y<537.24?25:y<537.36?26:"Blink"!=q?"27":"28")):(q&&(q[1]="like Safari"),y=y[0],y=y<400?1:y<500?2:y<526?3:y<533?4:y<534?"4+":y<535?5:y<537?6:y<538?7:y<601?8:"8"),q&&(q[1]+=" "+(y+="number"==typeof y?".x":/[.+]/.test(y)?"":"+")),"Safari"==z&&(!B||parseInt(B)>45)&&(B=y)),"Opera"==z&&(y=/\bzbov|zvav$/.exec(V))?(z+=" ",U.unshift("desktop mode"),"zvav"==y?(z+="Mini",B=null):z+="Mobile",V=V.replace(RegExp(" *"+y+"$"),"")):"Safari"==z&&/\bChrome\b/.exec(q&&q[1])&&(U.unshift("desktop mode"),z="Chrome Mobile",B=null,/\bOS X\b/.test(V)?(W="Apple",V="iOS 4.3+"):V=null),B&&0==B.indexOf(y=/[\d.]+$/.exec(V))&&e.indexOf("/"+y+"-")>-1&&(V=d(V.replace(y,""))),q&&!/\b(?:Avant|Nook)\b/.test(z)&&(/Browser|Lunascape|Maxthon/.test(z)||"Safari"!=z&&/^iOS/.test(V)&&/\bSafari\b/.test(q[1])||/^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Sleipnir|Web)/.test(z)&&q[1])&&(y=q[q.length-1])&&U.push(y),U.length&&(U=["("+U.join("; ")+")"]),W&&H&&H.indexOf(W)<0&&U.push("on "+W),H&&U.push((/^on /.test(U[U.length-1])?"":"on ")+H),V&&(y=/ ([\d.+]+)$/.exec(V),_=y&&"/"==V.charAt(V.length-y[0].length-1),V={architecture:32,family:y&&!_?V.replace(y[0],""):V,version:y?y[1]:null,toString:function(){var e=this.version;return this.family+(e&&!_?" "+e:"")+(64==this.architecture?" 64-bit":"")}}),(y=/\b(?:AMD|IA|Win|WOW|x86_|x)64\b/i.exec(N))&&!/\bi686\b/i.test(N)?(V&&(V.architecture=64,V.family=V.family.replace(RegExp(" *"+y),"")),z&&(/\bWOW64\b/i.test(e)||D&&/\w(?:86|32)$/.test(s.cpuClass||s.platform)&&!/\bWin64; x64\b/i.test(e))&&U.unshift("32-bit")):V&&/^OS X/.test(V.family)&&"Chrome"==z&&parseFloat(B)>=39&&(V.architecture=64),e||(e=null);var G={};return G.description=e,G.layout=q&&q[0],G.manufacturer=W,G.name=z,G.prerelease=L,G.product=H,G.ua=e,G.version=z&&B,G.os=V||{architecture:null,family:null,version:null,toString:function(){return"null"}},G.parse=p,G.toString=n,G.version&&U.unshift(B),G.name&&U.unshift(z),V&&z&&(V!=String(V).split(" ")[0]||V!=z.split(" ")[0]&&!H)&&U.push(H?"("+V+")":"on "+V),U.length&&(G.description=U.join(" ")),G}var m={function:!0,object:!0},v=m[typeof window]&&window||this,b=v,y=m[typeof r]&&r,_=m[typeof n]&&n&&!n.nodeType&&n,g=y&&_&&"object"==typeof t&&t;!g||g.global!==g&&g.window!==g&&g.self!==g||(v=g);var k=Math.pow(2,53)-1,w=/\bOpera/,C=this,x=Object.prototype,j=x.hasOwnProperty,E=x.toString,S=p();"function"==typeof e&&"object"==typeof e.amd&&e.amd?(v.platform=S,e(function(){return S})):y&&_?u(S,function(e,t){y[t]=e}):v.platform=S}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],201:[function(e,t,n){/*
* Copyright (c) 2012 Mathieu Turcotte
* Licensed under the MIT license.
*/
t.exports=e("./lib/checks")},{"./lib/checks":202}],202:[function(e,t,n){function r(e,t,n,r){n=n||"";var i=u.format.apply(this,[n].concat(r)),o=new e(i);throw Error.captureStackTrace(o,t),o}function i(e,t,n){r(c.IllegalArgumentError,e,t,n)}function o(e,t,n){r(c.IllegalStateError,e,t,n)}function s(e){var t=typeof e;if("object"==t){if(!e)return"null";if(e instanceof Array)return"array"}return t}function a(e){return function(t,n){var r=s(t);if(r==e)return t;i(arguments.callee,n||'Expected "'+e+'" but got "'+r+'".',Array.prototype.slice.call(arguments,2))}}/*
* Copyright (c) 2012 Mathieu Turcotte
* Licensed under the MIT license.
*/
var u=e("util"),c=t.exports=e("./errors");t.exports.checkArgument=function(e,t){e||i(arguments.callee,t,Array.prototype.slice.call(arguments,2))},t.exports.checkState=function(e,t){e||o(arguments.callee,t,Array.prototype.slice.call(arguments,2))},t.exports.checkIsDef=function(e,t){if(void 0!==e)return e;i(arguments.callee,t||"Expected value to be defined but was undefined.",Array.prototype.slice.call(arguments,2))},t.exports.checkIsDefAndNotNull=function(e,t){if(null!=e)return e;i(arguments.callee,t||'Expected value to be defined and not null but got "'+s(e)+'".',Array.prototype.slice.call(arguments,2))},t.exports.checkIsString=a("string"),t.exports.checkIsArray=a("array"),t.exports.checkIsNumber=a("number"),t.exports.checkIsBoolean=a("boolean"),t.exports.checkIsFunction=a("function"),t.exports.checkIsObject=a("object")},{"./errors":203,util:253}],203:[function(e,t,n){function r(e){Error.call(this,e),this.message=e}function i(e){Error.call(this,e),this.message=e}/*
* Copyright (c) 2012 Mathieu Turcotte
* Licensed under the MIT license.
*/
var o=e("util");o.inherits(r,Error),r.prototype.name="IllegalArgumentError",o.inherits(i,Error),i.prototype.name="IllegalStateError",t.exports.IllegalStateError=i,t.exports.IllegalArgumentError=r},{util:253}],204:[function(e,t,n){function r(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}function o(e){if(f===setTimeout)return setTimeout(e,0);if((f===r||!f)&&setTimeout)return f=setTimeout,setTimeout(e,0);try{return f(e,0)}catch(t){try{return f.call(null,e,0)}catch(t){return f.call(this,e,0)}}}function s(e){if(h===clearTimeout)return clearTimeout(e);if((h===i||!h)&&clearTimeout)return h=clearTimeout,clearTimeout(e);try{return h(e)}catch(t){try{return h.call(null,e)}catch(t){return h.call(this,e)}}}function a(){v&&p&&(v=!1,p.length?m=p.concat(m):b=-1,m.length&&u())}function u(){if(!v){var e=o(a);v=!0;for(var t=m.length;t;){for(p=m,m=[];++b1)for(var n=1;n=0,o=i&&r.regeneratorRuntime;if(r.regeneratorRuntime=void 0,t.exports=e("./runtime"),i)r.regeneratorRuntime=o;else try{delete r.regeneratorRuntime}catch(e){r.regeneratorRuntime=void 0}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./runtime":206}],206:[function(e,t,n){(function(e,n){/**
* Copyright (c) 2014, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* https://raw.github.com/facebook/regenerator/master/LICENSE file. An
* additional grant of patent rights can be found in the PATENTS file in
* the same directory.
*/
!function(n){"use strict";function r(e,t,n,r){var i=t&&t.prototype instanceof o?t:o,s=Object.create(i.prototype),a=new p(r||[]);return s._invoke=l(e,n,a),s}function i(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}function o(){}function s(){}function a(){}function u(e){["next","throw","return"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function c(t){function n(e,r,o,s){var a=i(t[e],t,r);if("throw"!==a.type){var u=a.arg,c=u.value;return c&&"object"==typeof c&&_.call(c,"__await")?Promise.resolve(c.__await).then(function(e){n("next",e,o,s)},function(e){n("throw",e,o,s)}):Promise.resolve(c).then(function(e){u.value=e,o(u)},s)}s(a.arg)}function r(e,t){function r(){return new Promise(function(r,i){n(e,t,r,i)})}return o=o?o.then(r,r):r()}"object"==typeof e&&e.domain&&(n=e.domain.bind(n));var o;this._invoke=r}function l(e,t,n){var r=j;return function(o,s){if(r===S)throw new Error("Generator is already running");if(r===T){if("throw"===o)throw s;return v()}for(n.method=o,n.arg=s;;){var a=n.delegate;if(a){var u=f(a,n);if(u){if(u===R)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===j)throw r=T,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=S;var c=i(e,t,n);if("normal"===c.type){if(r=n.done?T:E,c.arg===R)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(r=T,n.method="throw",n.arg=c.arg)}}}function f(e,t){var n=e.iterator[t.method];if(n===b){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=b,f(e,t),"throw"===t.method))return R;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return R}var r=i(n,e.iterator,t.arg);if("throw"===r.type)return t.method="throw",t.arg=r.arg,t.delegate=null,R;var o=r.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=b),t.delegate=null,R):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,R)}function h(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function d(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function p(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(h,this),this.reset(!0)}function m(e){if(e){var t=e[k];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,r=function t(){for(;++n=0;--r){var i=this.tryEntries[r],o=i.completion;if("root"===i.tryLoc)return t("end");if(i.tryLoc<=this.prev){var s=_.call(i,"catchLoc"),a=_.call(i,"finallyLoc");if(s&&a){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&_.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),d(n),R}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;d(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:m(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=b),R}}}("object"==typeof n?n:"object"==typeof window?window:"object"==typeof self?self:this)}).call(this,e("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:204}],207:[function(t,n,r){(function(i){!function(t){if("object"==typeof r&&void 0!==n)n.exports=t();else if("function"==typeof e&&e.amd)e([],t);else{var o;o="undefined"!=typeof window?window:void 0!==i?i:"undefined"!=typeof self?self:this,o.rfc6902=t()}}(function(){return function e(n,r,i){function o(a,u){if(!r[a]){if(!n[a]){var c="function"==typeof t&&t;if(!u&&c)return c(a,!0);if(s)return s(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var f=r[a]={exports:{}};n[a][0].call(f.exports,function(e){var t=n[a][1][e];return o(t||e)},f,f.exports,e,n,r,i)}return r[a].exports}for(var s="function"==typeof t&&t,a=0;a0){var u=r(n-1,o);a.push({operations:u.operations.concat({op:"remove",index:n-1}),cost:u.cost+1})}if(o>0){var c=r(n,o-1);a.push({operations:c.operations.concat({op:"add",index:n-1,value:t[o-1]}),cost:c.cost+1})}if(n>0&&o>0){var l=r(n-1,o-1);a.push({operations:l.operations.concat({op:"replace",index:n-1,original:e[n-1],value:t[o-1]}),cost:l.cost+1})}s=a.sort(function(e,t){return e.cost-t.cost})[0]}i[n+","+o]=s}return s}var i={"0,0":{operations:[],cost:0}},o=isNaN(e.length)||e.length<=0?0:e.length,s=isNaN(t.length)||t.length<=0?0:t.length,c=r(o,s).operations,l=c.reduce(function(e,t){var r=d(e,2),i=r[0],s=r[1];if(a(t)){var c=t.index+1+s,l=ce.instancesCounter&&(e.instancesCounter=t);var n=e.instancesCounter++;try{sessionStorage&&(sessionStorage.setItem("Twilio::RTD::EmsClient::InstanceId",e.instancesCounter.toString()),window&&window.addEventListener("beforeunload",function(){sessionStorage.removeItem("Twilio::RTD::EmsClient::InstanceId")}))}catch(e){}return n}},{key:"shouldUsePersistentToken",get:function(){return 0===this.myInstanceNumber}},{key:"continuationToken",get:function(){if(this.cachedContinuationToken)return this.cachedContinuationToken;try{if(this.shouldUsePersistentToken&&sessionStorage)return this.cachedContinuationToken=sessionStorage.getItem("Twilio::RTD::EndpointId"),this.cachedContinuationToken}catch(e){u.default.info("Can't access persistent storage",e.message)}return null},set:function(e){this.cachedContinuationToken=e;try{this.shouldUsePersistentToken&&sessionStorage&&sessionStorage.setItem("Twilio::RTD::EndpointId",e)}catch(e){u.default.info("Can't access persistent storage",e.message)}}}]),e}();c.instancesCounter=0,n.PersistentState=c},{"./logger":210,"babel-runtime/helpers/classCallCheck":41,"babel-runtime/helpers/createClass":42}],212:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,n){var r=new E.default(t,n,1,E.default.strategy.LEAK);return function(){var t=Array.prototype.slice.call(arguments,0);return t.unshift(e),r.schedule.apply(r,t)}}Object.defineProperty(n,"__esModule",{value:!0});var o=e("babel-runtime/core-js/promise"),s=r(o),a=e("babel-runtime/core-js/object/define-properties"),u=r(a),c=e("babel-runtime/core-js/object/get-prototype-of"),l=r(c),f=e("babel-runtime/helpers/classCallCheck"),h=r(f),d=e("babel-runtime/helpers/createClass"),p=r(d),m=e("babel-runtime/helpers/possibleConstructorReturn"),v=r(m),b=e("babel-runtime/helpers/inherits"),y=r(b),_=e("./configuration"),g=r(_),k=e("events"),w=r(k),C=e("./logger"),x=r(C),j=e("bottleneck"),E=r(j),S=e("./registrar"),T=r(S),R=e("twilsock"),I=r(R),A=e("twilio-transport"),P=r(A),O=e("twilio-ems-client"),M=function(e){function t(e,n){(0,h.default)(this,t);var r=(0,v.default)(this,(t.__proto__||(0,l.default)(t)).call(this));if(!e)throw new Error("Token is required for Notifications client");n=n||{},n.logLevel=n.logLevel||"error",x.default.setLevel(n.logLevel);var o=n.minTokenRefreshInterval||1e4,s=n.productId||"notifications";n.twilsockClient=n.twilsockClient||new I.default(e,n),n.transport=n.transport||new P.default(n.twilsockClient),n.emsClient=n.emsClient||new O.EMSClient(n);var a=n.twilsockClient,c=n.transport,f={overall:!1,transport:!1,registration:!1,lastEmitted:null},d=new g.default(null,n);return(0,u.default)(r,{_config:{value:d},_emsClient:{value:n.emsClient},_registrar:{value:new T.default(s,c,a,d)},_twilsock:{value:a},_reliableTransportState:{value:f},updateToken:{value:i(r._updateToken.bind(r),1,o),enumerable:!0},connectionState:{get:function(){return"disconnected"===r._twilsock.state?"disconnected":"disconnecting"===r._twilsock.state?"disconnecting":"connected"===r._twilsock.state&&r._reliableTransportState.registration?"connected":"rejected"===r._twilsock.state?"denied":"connecting"}}}),r._emsClient.setToken(e).then(function(e){r._config.updateToken(e.token),r._registrar.updateToken()}).catch(function(e){x.default.warn("Failed to set token",e)}),r._onTransportStateChange(r._twilsock.connected),r._registrar.on("transportReady",function(e){r._onRegistrationStateChange(e?"registered":"")}),r._registrar.on("stateChanged",function(e){r._onRegistrationStateChange(e)}),r._registrar.on("needReliableTransport",r._onNeedReliableTransport.bind(r)),r._twilsock.on("message",function(e,t){return r._routeMessage(e,t)}),r._twilsock.on("connected",function(e){r._onTransportStateChange(!0),r._registrar.setNotificationId("twilsock",e)}),r._twilsock.on("disconnected",function(){r._onTransportStateChange(!1)}),r}return(0,y.default)(t,e),(0,p.default)(t,[{key:"_routeMessage",value:function(e,t){x.default.trace("Message arrived: ",e,t),this.emit("message",e,t)}},{key:"_onNeedReliableTransport",value:function(e){e?this._twilsock.connect():this._twilsock.disconnect()}},{key:"_onRegistrationStateChange",value:function(e){this._reliableTransportState.registration="registered"===e,this._updateTransportState()}},{key:"_onTransportStateChange",value:function(e){this._reliableTransportState.transport=e,this._updateTransportState()}},{key:"_updateTransportState",value:function(){var e=this._reliableTransportState.transport&&this._reliableTransportState.registration;this._reliableTransportState.overall!==e&&(this._reliableTransportState.overall=e,x.default.info("Transport ready "+e),this.emit("transportReady",e)),this._reliableTransportState.lastEmitted!==this.connectionState&&(this._reliableTransportState.lastEmitted=this.connectionState,this.emit("connectionStateChanged",this.connectionState))}},{key:"subscribe",value:function(e,t){return t=t||"twilsock",x.default.trace("Add subscriptions for message type: ",e,t),this._registrar.subscribe(e,t)}},{key:"unsubscribe",value:function(e,t){return t=t||"twilsock",x.default.trace("Remove subscriptions for message type: ",e,t),this._registrar.unsubscribe(e,t)}},{key:"handlePushNotification",value:function(e){x.default.warn("Push message passed, but no functionality implemented yet: "+e)}},{key:"setPushRegistrationId",value:function(e,t){this._registrar.setNotificationId(t||"gcm",e)}},{key:"_updateToken",value:function(e){var t=this;return x.default.info("authTokenUpdated"),this._fpaToken===e?s.default.resolve():(this._twilsock.updateToken(e),this._emsClient.setToken(e).then(function(e){return e.token}).then(function(e){t._config.updateToken(e),t._registrar.updateToken()}))}}]),t}(w.default);n.default=M,t.exports=n.default},{"./configuration":213,"./logger":215,"./registrar":217,"babel-runtime/core-js/object/define-properties":30,"babel-runtime/core-js/object/get-prototype-of":33,"babel-runtime/core-js/promise":36,"babel-runtime/helpers/classCallCheck":41,"babel-runtime/helpers/createClass":42,"babel-runtime/helpers/inherits":44,"babel-runtime/helpers/possibleConstructorReturn":45,bottleneck:60,events:194,"twilio-ems-client":208,"twilio-transport":244,twilsock:247}],213:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("babel-runtime/core-js/object/define-properties"),o=r(i),s=e("babel-runtime/helpers/classCallCheck"),a=r(s),u=e("babel-runtime/helpers/createClass"),c=r(u),l="https://ers.twilio.com",f="/v1/registrations",h=function(){function e(t,n){var r=this;(0,a.default)(this,e),n=(n||{}).Notification||{};var i=n.ersUri||l;(0,o.default)(this,{_registrarUri:{value:i+f},_token:{value:t,writable:!0},registrarUri:{get:function(){return r._registrarUri}},token:{get:function(){return r._token}}})}return(0,c.default)(e,[{key:"updateToken",value:function(e){this._token=e}}]),e}();n.default=h,t.exports=n.default},{"babel-runtime/core-js/object/define-properties":30,"babel-runtime/helpers/classCallCheck":41,"babel-runtime/helpers/createClass":42}],214:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=e("./client"),i=function(e){return e&&e.__esModule?e:{default:e}}(r);n.default=i.default,t.exports=n.default},{"./client":212}],215:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){return[e].concat((0,s.default)(t))}Object.defineProperty(n,"__esModule",{value:!0});var o=e("babel-runtime/core-js/array/from"),s=r(o),a=e("loglevel"),u=r(a);n.default={setLevel:function(e){u.default.setLevel(e)},trace:function(){u.default.trace.apply(null,i("Notify T:",arguments))},debug:function(){u.default.debug.apply(null,i("Notify D:",arguments))},info:function(){u.default.info.apply(null,i("Notify I:",arguments))},warn:function(){u.default.warn.apply(null,i("Notify W:",arguments))},error:function(){u.default.error.apply(null,i("Notify E:",arguments))}},t.exports=n.default},{"babel-runtime/core-js/array/from":22,loglevel:198}],216:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=[];return e.forEach(function(e){return t.push(e)}),t}Object.defineProperty(n,"__esModule",{value:!0});var o=e("babel-runtime/core-js/object/freeze"),s=r(o),a=e("babel-runtime/core-js/promise"),u=r(a),c=e("babel-runtime/core-js/set"),l=r(c),f=e("babel-runtime/core-js/object/define-properties"),h=r(f),d=e("babel-runtime/core-js/object/get-prototype-of"),p=r(d),m=e("babel-runtime/helpers/classCallCheck"),v=r(m),b=e("babel-runtime/helpers/createClass"),y=r(b),_=e("babel-runtime/helpers/possibleConstructorReturn"),g=r(_),k=e("babel-runtime/helpers/inherits"),w=r(k),C=e("events"),x=r(C),j=e("./logger"),E=r(j),S=e("javascript-state-machine"),T=r(S),R=e("backoff"),I=r(R),A=function(e){function t(e,n,r,i){(0,v.default)(this,t);var o=(0,g.default)(this,(t.__proto__||(0,p.default)(t)).call(this)),s=T.default.create({initial:{state:"unregistered",event:"init",defer:!0},events:[{name:"userUpdate",from:["unregistered"],to:"registering"},{name:"userUpdate",from:["registered"],to:"unregistering"},{name:"registered",from:["registering","retrying"],to:"registered"},{name:"unregistered",from:["unregistering"],to:"unregistered"},{name:"retry",from:["retrying"],to:"retrying"},{name:"failure",from:["registering"],to:"retrying"},{name:"failure",from:["retrying"],to:"retrying"},{name:"failure",from:["unregistering"],to:"unregistered"}],callbacks:{onregistering:function(e,t,n,r){return o._register(r)},onunregistering:function(){return o._unregister()},onregistered:function(){return o._onRegistered()},onunregistered:function(){return o._onUnregistered()},onretrying:function(e,t,n,r){return o._initRetry(r)},onfailure:function(e,t,n,r){"retrying"===t&&o._initRetry(r)}}}),a=I.default.exponential({randomisationFactor:.2,initialDelay:2e3,maxDelay:12e4});return a.on("ready",function(){o._retry()}),(0,h.default)(o,{_transport:{value:n},_context:{value:e},_url:{value:r.registrarUri,writable:!1},_config:{value:r},_fsm:{value:s},_backoff:{value:a},_channelType:{value:i},_registrationId:{value:!1,writable:!0},_notificationId:{value:!1,writable:!0},_messageTypes:{value:new l.default,writable:!0},_pendingUpdate:{value:null,writable:!0}}),s.init(),o}return(0,w.default)(t,e),(0,y.default)(t,[{key:"setNotificationId",value:function(e){this._notificationId!==e&&(this._notificationId=e,this._updateRegistration())}},{key:"updateToken",value:function(){return this._updateRegistration()}},{key:"has",value:function(e){return this._messageTypes.has(e)}},{key:"subscribe",value:function(e){return this._messageTypes.has(e)?(E.default.debug("Message type already registered ",e),!1):(this._messageTypes.add(e),this._updateRegistration(),!0)}},{key:"unsubscribe",value:function(e){return!!this._messageTypes.has(e)&&(this._messageTypes.delete(e),
this._messageTypes.size>0?this._updateRegistration():this._removeRegistration(),!0)}},{key:"_updateRegistration",value:function(){this._notificationId&&this._update(this._notificationId,i(this._messageTypes))}},{key:"_removeRegistration",value:function(){this._notificationId&&this._update(this._notificationId,i(this._messageTypes))}},{key:"_update",value:function(e,t){var n={notificationId:e,messageTypes:t};this._fsm.is("unregistered")?n.notificationId&&n.messageTypes.length>0&&this._fsm.userUpdate(n):this._fsm.is("registered")?(this._fsm.userUpdate(n),this._setPendingUpdate(n)):this._setPendingUpdate(n)}},{key:"_setPendingUpdate",value:function(e){this._pendingUpdate=e}},{key:"_checkPendingUpdate",value:function(){if(this._pendingUpdate){var e=this._pendingUpdate;this._pendingUpdate=null,this._updateRegistration(e.notificationId,e.messageTypes)}}},{key:"_initRetry",value:function(e){this._pendingUpdate||this._setPendingUpdate(e),this._backoff.backoff()}},{key:"_retry",value:function(){if(this._pendingUpdate){var e=this._pendingUpdate;this._pendingUpdate=null,this._register(e)}}},{key:"_onRegistered",value:function(){this._backoff.reset(),this.emit("stateChanged","registered"),this._checkPendingUpdate()}},{key:"_onUnregistered",value:function(){this._backoff.reset(),this.emit("stateChanged","unregistered"),this._checkPendingUpdate()}},{key:"_register",value:function(e){var t=this,n={endpoint_platform:this._context.platform,channel_type:this._channelType,version:"2",message_types:e.messageTypes,data:{},ttl:"PT24H"};"twilsock"===this._channelType?n.data.url=e.notificationId:n.data.registration_id=e.notificationId;var r=this._url+"?productId="+this._context.productId,i={"Content-Type":"application/json","X-Twilio-Token":this._config.token};return E.default.trace("Creating registration for channel ",this._channelType),this._transport.post(r,i,n).then(function(n){t._registrationId=n.body.id,t._registrationData=e,E.default.debug("Registration created: ",n),t._fsm.registered()}).catch(function(n){return E.default.error("Registration failed: ",n),t._fsm.failure(e),n})}},{key:"_unregister",value:function(){var e=this;if(!this._registrationId)return u.default.resolve();var t=this._url+"/"+this._registrationId+"?productId="+this._context.productId,n={"Content-Type":"application/json","X-Twilio-Token":this._config.token};return E.default.trace("Removing registration for ",this._channelType),this._transport.delete(t,n).then(function(){E.default.debug("Registration removed for ",e._channelType),e._registrationId=!1,e._fsm.unregistered()}).catch(function(t){return E.default.error("Failed to remove of registration ",e.channelType,t),e._fsm.failure(),t})}}]),t}(x.default);n.default=A,(0,s.default)(A),t.exports=n.default},{"./logger":215,"babel-runtime/core-js/object/define-properties":30,"babel-runtime/core-js/object/freeze":32,"babel-runtime/core-js/object/get-prototype-of":33,"babel-runtime/core-js/promise":36,"babel-runtime/core-js/set":38,"babel-runtime/helpers/classCallCheck":41,"babel-runtime/helpers/createClass":42,"babel-runtime/helpers/inherits":44,"babel-runtime/helpers/possibleConstructorReturn":45,backoff:49,events:194,"javascript-state-machine":196}],217:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("babel-runtime/core-js/object/freeze"),o=r(i),s=e("babel-runtime/core-js/map"),a=r(s),u=e("babel-runtime/core-js/object/define-properties"),c=r(u),l=e("babel-runtime/core-js/object/get-prototype-of"),f=r(l),h=e("babel-runtime/helpers/classCallCheck"),d=r(h),p=e("babel-runtime/helpers/createClass"),m=r(p),v=e("babel-runtime/helpers/possibleConstructorReturn"),b=r(v),y=e("babel-runtime/helpers/inherits"),_=r(y),g=e("events"),k=r(g),w=e("./registrar.connector"),C=r(w),x=e("./twilsock.connector"),j=r(x),E=function(e){function t(e,n,r,i){(0,d.default)(this,t);var o=(0,b.default)(this,(t.__proto__||(0,f.default)(t)).call(this));(0,c.default)(o,{_conf:{value:i},_connectors:{value:new a.default}});var s=o._detectPlatform();return o._connectors.set("twilsock",new j.default({productId:e,platform:s},r,i)),o._connectors.set("gcm",new C.default({productId:e,platform:s},n,i,"gcm")),o._connectors.set("fcm",new C.default({productId:e,platform:s},n,i,"fcm")),o._connectors.set("apn",new C.default({productId:e,platform:s},n,i,"apn")),o._connectors.get("twilsock").on("transportReady",function(e){return o.emit("transportReady",e)}),o}return(0,_.default)(t,e),(0,m.default)(t,[{key:"setNotificationId",value:function(e,t){this._connector(e).setNotificationId(t)}},{key:"hasSubscription",value:function(e,t){this._connector(t).has(e)}},{key:"subscribe",value:function(e,t){this._connector(t).subscribe(e)}},{key:"unsubscribe",value:function(e,t){this._connector(t).unsubscribe(e)}},{key:"updateToken",value:function(){this._connectors.forEach(function(e){return e.updateToken()})}},{key:"_connector",value:function(e){var t=this._connectors.get(e);if(!t)throw new Error("Unknown channel type: "+e);return t}},{key:"_detectPlatform",value:function(){var e="";return"undefined"!=typeof navigator?(e="unknown",void 0!==navigator.product&&(e=navigator.product),void 0!==navigator.userAgent&&(e=navigator.userAgent)):e="web",e.substring(0,128)}}]),t}(k.default);n.default=E,(0,o.default)(E),t.exports=n.default},{"./registrar.connector":216,"./twilsock.connector":218,"babel-runtime/core-js/map":26,"babel-runtime/core-js/object/define-properties":30,"babel-runtime/core-js/object/freeze":32,"babel-runtime/core-js/object/get-prototype-of":33,"babel-runtime/helpers/classCallCheck":41,"babel-runtime/helpers/createClass":42,"babel-runtime/helpers/inherits":44,"babel-runtime/helpers/possibleConstructorReturn":45,events:194}],218:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=[];return e.forEach(function(e){return t.push(e)}),t}Object.defineProperty(n,"__esModule",{value:!0});var o=e("babel-runtime/core-js/object/freeze"),s=r(o),a=e("babel-runtime/core-js/set"),u=r(a),c=e("babel-runtime/core-js/object/define-properties"),l=r(c),f=e("babel-runtime/core-js/object/get-prototype-of"),h=r(f),d=e("babel-runtime/helpers/classCallCheck"),p=r(d),m=e("babel-runtime/helpers/createClass"),v=r(m),b=e("babel-runtime/helpers/possibleConstructorReturn"),y=r(b),_=e("babel-runtime/helpers/inherits"),g=r(_),k=e("uuid"),w=r(k),C=e("./logger"),x=r(C),j=e("events"),E=r(j),S=function(e){function t(e,n,r){(0,p.default)(this,t);var i=(0,y.default)(this,(t.__proto__||(0,h.default)(t)).call(this));return e.id=w.default.v4(),(0,l.default)(i,{_twilsock:{value:n},_messageTypes:{value:new u.default},config:{value:r},context:{value:e}}),n.on("stateChanged",function(e){"connected"!==e&&i.emit("transportReady",!1)}),n.on("registered",function(t){e&&t===e.id&&"connected"===n.state&&i.emit("transportReady",!0)}),i}return(0,g.default)(t,e),(0,v.default)(t,[{key:"setNotificationId",value:function(){return!1}},{key:"updateToken",value:function(){this._twilsock.removeNotificationsContext(this.context.id),this.context.id=w.default.v4(),this._updateContext()}},{key:"has",value:function(e){return this._messageTypes.has(e)}},{key:"subscribe",value:function(e){return this._messageTypes.has(e)?(x.default.trace("Message type already registered ",e),!1):(this._messageTypes.add(e),this._updateContext(),!0)}},{key:"unsubscribe",value:function(e){return!!this._messageTypes.has(e)&&(this._messageTypes.delete(e),this._messageTypes.size>0?this._updateContext():this._twilsock.removeNotificationsContext(this.context.id),!0)}},{key:"_updateContext",value:function(){if(this.config.token){var e=i(this._messageTypes),t={product_id:this.context.productId,notification_protocol_version:4,endpoint_platform:this.context.platform,ttl:172800,token:this.config.token,message_types:e};this.emit("transportReady",!1),this._twilsock.setNotificationsContext(this.context.id,t)}}}]),t}(E.default);n.default=S,(0,s.default)(S),t.exports=n.default},{"./logger":215,"babel-runtime/core-js/object/define-properties":30,"babel-runtime/core-js/object/freeze":32,"babel-runtime/core-js/object/get-prototype-of":33,"babel-runtime/core-js/set":38,"babel-runtime/helpers/classCallCheck":41,"babel-runtime/helpers/createClass":42,"babel-runtime/helpers/inherits":44,"babel-runtime/helpers/possibleConstructorReturn":45,events:194,uuid:254}],219:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i=e("babel-runtime/helpers/classCallCheck"),o=r(i),s=e("babel-runtime/helpers/createClass"),a=r(s);Object.defineProperty(n,"__esModule",{value:!0});var u=e("karibu"),c=function(){function e(t,n){(0,o.default)(this,e),this.value=t,this.revision=n||0}return(0,a.default)(e,[{key:"isValid",get:function(){return!0}}]),e}(),l=function(){function e(t){(0,o.default)(this,e),this.revision=t}return(0,a.default)(e,[{key:"isValid",get:function(){return!1}}]),e}(),f=function(){function e(){(0,o.default)(this,e),this.items=new u.TreeMap}return(0,a.default)(e,[{key:"store",value:function(e,t,n){var r=this.items.get(e);return r&&r.revision>n?r.isValid?r.value:null:(this.items.set(e,new c(t,n)),t)}},{key:"delete",value:function(e,t){var n=this.items.get(e);(!n||n.revision=t}},{key:"get",value:function(e){var t=this.items.get(e);return t&&t.isValid?t.value:null}},{key:"has",value:function(e){var t=this.items.get(e);return t&&t.isValid}}]),e}();n.Cache=f,n.default=f},{"babel-runtime/helpers/classCallCheck":41,"babel-runtime/helpers/createClass":42,karibu:197}],220:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){return e._subscribe(),e}function o(e,t,n,r){return{unique_name:e,purpose:t,context:n,data:r}}function s(e){return e?"string"==typeof e?{id:e,purpose:null,data:null,context:null,mode:null,optimistic:!1}:{id:e.uniqueName||e.sid||e.id,purpose:e.purpose,data:e.data,context:e.context,mode:e.mode,optimistic:!!e.optimistic}:{id:null,purpose:null,data:null,context:null,mode:null,optimistic:!1}}var a=e("babel-runtime/regenerator"),u=r(a),c=e("babel-runtime/core-js/object/get-prototype-of"),l=r(c),f=e("babel-runtime/helpers/classCallCheck"),h=r(f),d=e("babel-runtime/helpers/createClass"),p=r(d),m=e("babel-runtime/helpers/possibleConstructorReturn"),v=r(m),b=e("babel-runtime/helpers/inherits"),y=r(b),_=e("babel-runtime/core-js/promise"),g=r(_),k=function(e,t,n,r){return new(n||(n=g.default))(function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){e.done?i(e.value):new n(function(t){t(e.value)}).then(s,a)}u((r=r.apply(e,t||[])).next())})};Object.defineProperty(n,"__esModule",{value:!0});var w=e("events"),C=e("xxhashjs"),x=e("twilsock"),j=e("twilio-transport"),E=e("twilio-ems-client"),S=e("twilio-notifications"),T=e("./utils"),R=e("./logger"),I=e("./configuration"),A=e("./subscriptions"),P=e("./router"),O=e("./network"),M=e("./syncdocument"),F=e("./synclist"),N=e("./syncmap"),U=e("./clientInfo"),L=e("./entitiesCache"),D=e("./services/storage"),B=e("./utils"),q=e("./utils/deferred"),z=e("./syncerror"),H="data_sync",W=e("../package.json").version,V=function(e){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,h.default)(this,t);var r=(0,v.default)(this,(t.__proto__||(0,l.default)(t)).call(this));if(!e)throw new Error("Sync library needs a valid Twilio token to be passed");n.hasOwnProperty("logLevel")&&R.default.setLevel(n.logLevel),r.productId=n.productId=n.productId||H;var i=n.twilsockClient=n.twilsockClient||new x(e,n),o=n.transport=n.transport||new j.Transport(n.twilsockClient),s=n.emsClient=n.emsClient||new E.EmsClient(n),a=n.notificationsClient=n.notificationsClient||new S(e,n),u=new I.Configuration(null,n),c=new O.Network(r.productId,new U.ClientInfo(W),u,o),f=new D.SessionStorage(u);r.localStorageId=null,r.fpaToken=e,r.authData=new q.Deferred,r.authData.promise.then(function(e){return r.handleEmsResponse(e)}),s.once("response",function(e){return r.authData.update(e)}),s.setToken(e).catch(function(e){R.default.warn("Failed to set token",e)}),i.connect(),r.services={config:u,twilsock:i,notifications:a,network:c,emsClient:s,storage:f,router:null,subscriptions:null};var d=new A.Subscriptions(r.services),p=new P.Router({config:u,subscriptions:d,notifications:a});return r.services.router=p,r.services.subscriptions=d,r.entities=new L.EntitiesCache,a.on("connectionStateChanged",function(){r.emit("connectionStateChanged",r.services.notifications.connectionState)}),r}return(0,y.default)(t,e),(0,p.default)(t,[{key:"handleEmsResponse",value:function(e){this.services.config.updateToken(e.token);try{var t=e.identity,n=e.serviceSids[this.productId],r=C.h64().update("TW::"+t+"::"+n).digest().toString(16);this.services.storage.updateStorageId(r)}catch(e){R.default.error("Failed to initialize persistent storage",e)}}},{key:"ensureReady",value:function(){return k(this,void 0,void 0,u.default.mark(function e(){return u.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.authData.promise;case 2:case"end":return e.stop()}},e,this)}))}},{key:"storeRootInSessionCache",value:function(e,t,n){if(this.services.config.sessionStorageEnabled&&t){var r=B.deepClone(n);e!==M.SyncDocument.type&&(r.last_event_id=null,delete r.items),this.services.storage.store(e,t,r)}}},{key:"readRootFromSessionCache",value:function(e,t){return this.services.config.sessionStorageEnabled&&t?this.services.storage.read(e,t):null}},{key:"_get",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return k(this,void 0,void 0,u.default.mark(function r(){var i,o;return u.default.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:if(t){r.next=2;break}return r.abrupt("return",null);case 2:return i=new T.UriBuilder(e).path(t).arg("Include",n?"items":void 0).build(),r.prev=3,r.next=6,this.services.network.get(i);case 6:return o=r.sent,r.abrupt("return",o.body);case 10:if(r.prev=10,r.t0=r.catch(3),404!==r.t0.status){r.next=14;break}return r.abrupt("return",null);case 14:throw r.t0;case 15:case"end":return r.stop()}},r,this,[[3,10]])}))}},{key:"_createDocument",value:function(e,t,n){var r=o(e,t,null,n);return this.services.network.post(this.services.config.documentsUri,r).then(function(e){return e.body})}},{key:"_getDocument",value:function(e){return k(this,void 0,void 0,u.default.mark(function t(){return u.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.readRootFromSessionCache(M.SyncDocument.type,e)||this._get(this.services.config.documentsUri,e));case 1:case"end":return t.stop()}},t,this)}))}},{key:"_createList",value:function(e,t,n){var r=o(e,t,n);return this.services.network.post(this.services.config.listsUri,r).then(function(e){return e.body})}},{key:"_getList",value:function(e){return k(this,void 0,void 0,u.default.mark(function t(){return u.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.readRootFromSessionCache(F.SyncList.type,e)||this._get(this.services.config.listsUri,e));case 1:case"end":return t.stop()}},t,this)}))}},{key:"_createMap",value:function(e,t,n){var r=o(e,t,n);return this.services.network.post(this.services.config.mapsUri,r).then(function(e){return e.body})}},{key:"_getMap",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return k(this,void 0,void 0,u.default.mark(function n(){return u.default.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",this.readRootFromSessionCache(N.SyncMap.type,e)||this._get(this.services.config.mapsUri,e,t));case 1:case"end":return n.stop()}},n,this)}))}},{key:"getCached",value:function(e,t){return e?this.entities.get(e,t)||null:null}},{key:"removeFromCacheAndSession",value:function(e,t,n){this.entities.remove(t),this.services.config.sessionStorageEnabled&&this.services.storage.remove(e,t,n)}},{key:"document",value:function(e){return k(this,void 0,void 0,u.default.mark(function t(){var n,r,o,a,c,l=this;return u.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.ensureReady();case 2:return n=s(e),r=n.id,o=n.purpose,a=n.data,c=n.mode,t.abrupt("return",this.getCached(r,"document")||this._getDocument(r).then(function(e){if(e)return e;if("open"!==c)return l._createDocument(r,o,a);throw new z.default("Not found",404)}).then(function(e){return l.storeRootInSessionCache(M.SyncDocument.type,r,e),new M.SyncDocument(l.services,e,function(e,t,n){return l.removeFromCacheAndSession(e,t,n)})}).then(function(e){return l.entities.store(e)}).then(i));case 4:case"end":return t.stop()}},t,this)}))}},{key:"map",value:function(e){return k(this,void 0,void 0,u.default.mark(function t(){var n,r,o,a,c,l,f=this;return u.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.ensureReady();case 2:return n=s(e),r=n.id,o=n.purpose,a=n.context,c=n.mode,l=n.optimistic,t.abrupt("return",this.getCached(r,"map")||this._getMap(r,l).then(function(e){if(e)return e;if("open"!==c)return f._createMap(r,o,a);throw new z.default("Not found",404)}).then(function(e){return f.storeRootInSessionCache(N.SyncMap.type,r,e),new N.SyncMap(f.services,e,function(e,t,n){return f.removeFromCacheAndSession(e,t,n)})}).then(function(e){return f.entities.store(e)}).then(i));case 4:case"end":return t.stop()}},t,this)}))}},{key:"list",value:function(e){return k(this,void 0,void 0,u.default.mark(function t(){var n,r,o,a,c,l=this;return u.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.ensureReady();case 2:return n=s(e),r=n.id,o=n.purpose,a=n.context,c=n.mode,t.abrupt("return",this.getCached(r,"list")||this._getList(r).then(function(e){if(e)return e;if("open"!==c)return l._createList(r,o,a);throw new z.default("Not found",404)}).then(function(e){return l.storeRootInSessionCache(F.SyncList.type,r,e),new F.SyncList(l.services,e,function(e,t,n){return l.removeFromCacheAndSession(e,t,n)})}).then(function(e){return l.entities.store(e)}).then(i));case 4:case"end":return t.stop()}},t,this)}))}},{key:"shutdown",value:function(){return k(this,void 0,void 0,u.default.mark(function e(){return u.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.services.subscriptions.shutdown();case 2:return e.next=4,this.services.twilsock.disconnect();case 4:case"end":return e.stop()}},e,this)}))}},{key:"updateToken",value:function(e){return k(this,void 0,void 0,u.default.mark(function t(){var n;return u.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.services.emsClient.setToken(e);case 2:return n=t.sent,this.services.config.updateToken(n.token),t.next=6,g.default.all([this.services.notifications.updateToken(e),this.services.twilsock.updateToken(e)]);case 6:this.fpaToken=e;case 7:case"end":return t.stop()}},t,this)}))}},{key:"connectionState",get:function(){return this.services.notifications.connectionState}}],[{key:"version",get:function(){return W}}]),t}(w.EventEmitter);n.SyncClient=V,n.Client=V,n.default=V},{"../package.json":242,"./clientInfo":221,"./configuration":222,"./entitiesCache":223,"./logger":227,"./network":229,"./router":232,"./services/storage":233,"./subscriptions":234,"./syncdocument":236,"./syncerror":237,"./synclist":238,"./syncmap":239,"./utils":240,"./utils/deferred":241,"babel-runtime/core-js/object/get-prototype-of":33,"babel-runtime/core-js/promise":36,"babel-runtime/helpers/classCallCheck":41,"babel-runtime/helpers/createClass":42,"babel-runtime/helpers/inherits":44,"babel-runtime/helpers/possibleConstructorReturn":45,"babel-runtime/regenerator":48,events:194,"twilio-ems-client":208,"twilio-notifications":214,"twilio-transport":244,twilsock:247,xxhashjs:259}],221:[function(e,t,n){"use strict";var r=e("babel-runtime/helpers/classCallCheck"),i=function(e){return e&&e.__esModule?e:{default:e}}(r);Object.defineProperty(n,"__esModule",{value:!0});var o=e("platform"),s=function e(t){(0,i.default)(this,e),this.sdk="js",this.sdkVer=t,this.os=o.os.family,this.osVer=o.os.version,this.pl=o.name,this.plVer=o.version};n.ClientInfo=s,n.default=s},{"babel-runtime/helpers/classCallCheck":41,platform:200}],222:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,n){return e&&void 0!==e[t]?e[t]:n}var o=e("babel-runtime/helpers/classCallCheck"),s=r(o),a=e("babel-runtime/helpers/createClass"),u=r(a);Object.defineProperty(n,"__esModule",{value:!0});var c="https://cds.twilio.com",l="/v4/Subscriptions",f="/v3/Maps",h="/v3/Lists",d="/v3/Documents",p=function(){function e(t,n){(0,s.default)(this,e),n=n||{},n=n.Sync||n.DataSync||{};var r=n.cdsUri||c;this._token=t,this.settings={subscriptionsUri:r+l,documentsUri:r+d,listsUri:r+h,mapsUri:r+f,sessionStorageEnabled:i(n,"enableSessionStorage",!0)}}return(0,u.default)(e,[{key:"updateToken",value:function(e){this._token=e}},{key:"token",get:function(){return this._token}},{key:"subscriptionsUri",get:function(){return this.settings.subscriptionsUri}},{key:"documentsUri",get:function(){return this.settings.documentsUri}},{key:"listsUri",get:function(){return this.settings.listsUri}},{key:"mapsUri",get:function(){return this.settings.mapsUri}},{key:"backoffConfig",get:function(){return this.settings.backoffConfig||{}}},{key:"sessionStorageEnabled",get:function(){return this.settings.sessionStorageEnabled}}]),e}();n.Configuration=p},{"babel-runtime/helpers/classCallCheck":41,"babel-runtime/helpers/createClass":42}],223:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i=e("babel-runtime/core-js/map"),o=r(i),s=e("babel-runtime/helpers/classCallCheck"),a=r(s),u=e("babel-runtime/helpers/createClass"),c=r(u);Object.defineProperty(n,"__esModule",{value:!0});var l=function(){function e(){(0,a.default)(this,e),this.names=new o.default,this.entities=new o.default}return(0,c.default)(e,[{key:"store",value:function(e){var t=this.entities.get(e.sid);return t||(this.entities.set(e.sid,e),e.uniqueName&&this.names.set(e.type+"::"+e.uniqueName,e.sid),e)}},{key:"getResolved",value:function(e,t){var n=this.names.get(t+"::"+e);return n?this.entities.get(n):null}},{key:"get",value:function(e,t){return this.entities.get(e)||this.getResolved(e,t)||null}},{key:"remove",value:function(e){var t=this.entities.get(e);t&&(this.entities.delete(e),t.uniqueName&&this.names.delete(t.type+"::"+t.uniqueName))}}]),e}();n.EntitiesCache=l},{"babel-runtime/core-js/map":26,"babel-runtime/helpers/classCallCheck":41,"babel-runtime/helpers/createClass":42}],224:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i=e("babel-runtime/core-js/object/get-prototype-of"),o=r(i),s=e("babel-runtime/helpers/classCallCheck"),a=r(s),u=e("babel-runtime/helpers/createClass"),c=r(u),l=e("babel-runtime/helpers/possibleConstructorReturn"),f=r(l),h=e("babel-runtime/helpers/inherits"),d=r(h);Object.defineProperty(n,"__esModule",{value:!0});var p=e("events"),m=function(e){function t(e,n){(0,a.default)(this,t);var r=(0,f.default)(this,(t.__proto__||(0,o.default)(t)).call(this));return r.services=e,r.removalHandler=n,r}return(0,d.default)(t,e),(0,c.default)(t,[{key:"_advanceLastEventId",value:function(e,t){}},{key:"reportFailure",value:function(e){404===e.status?this.onRemoved(!1):this.emit("failure",e)}},{key:"_subscribe",value:function(){return this.services.router.subscribe(this.sid,this),this}},{key:"_unsubscribe",value:function(){return this.services.router.unsubscribe(this.sid,this),this}},{key:"close",value:function(){this._unsubscribe(),this.removalHandler(this.type,this.sid,this.uniqueName)}}]),t}(p.EventEmitter);n.SyncEntity=m,n.default=m},{"babel-runtime/core-js/object/get-prototype-of":33,"babel-runtime/helpers/classCallCheck":41,"babel-runtime/helpers/createClass":42,"babel-runtime/helpers/inherits":44,"babel-runtime/helpers/possibleConstructorReturn":45,events:194}],225:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=e("./client");n.SyncClient=r.SyncClient,n.default=r.SyncClient,t.exports=r.SyncClient,t.exports.SyncClient=r.SyncClient},{"./client":220}],226:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i=e("babel-runtime/helpers/classCallCheck"),o=r(i),s=e("babel-runtime/helpers/createClass"),a=r(s);Object.defineProperty(n,"__esModule",{value:!0});var u=function(){function e(t){(0,o.default)(this,e),this.data=t}return(0,a.default)(e,[{key:"update",value:function(e,t,n){return this.data.lastEventId=e,this.data.revision=t,this.data.value=n,this}},{key:"uri",get:function(){return this.data.uri}},{key:"revision",get:function(){return this.data.revision}},{key:"lastEventId",get:function(){return this.data.lastEventId}},{key:"index",get:function(){return this.data.index}},{key:"value",get:function(){return this.data.value}}]),e}();n.ListItem=u,n.default=u},{"babel-runtime/helpers/classCallCheck":41,"babel-runtime/helpers/createClass":42}],227:[function(e,t,n){"use strict";function r(e,t){return[e].concat((0,o.default)(t))}var i=e("babel-runtime/core-js/array/from"),o=function(e){return e&&e.__esModule?e:{default:e}}(i);Object.defineProperty(n,"__esModule",{value:!0});var s=e("loglevel");n.default={setLevel:function(e){s.setLevel(e)},trace:function(){for(var e=arguments.length,t=Array(e),n=0;n1&&void 0!==arguments[1])||arguments[1];return new u.default(function(r,i){var o=[502,503,504];n&&o.push(429);var a=new k.default(t.backoffConfig());a.on("attempt",function(){e().then(function(e){return a.succeeded(e)}).catch(function(e){if(o.indexOf(e.status)!==-1){var t=e.headers?e.headers["Retry-After"]:null;a.failed(s(e),t)}else"Twilsock disconnected"===e.message?a.failed(s(e)):(a.removeAllListeners(),a.cancel(),i(s(e)))})}),a.on("succeeded",function(e){r(e)}),a.on("cancelled",function(e){return i(s(e))}),a.on("failed",function(e){return i(s(e))}),a.start()})}},{key:"get",value:function(e){var t=this,n=this.createHeaders();return y.default.debug("GET",e,"ID:",n["Twilio-Request-Id"]),this.executeWithRetry(function(){return t.transport.get(e,n)},!0)}},{key:"post",value:function(e,t,n,r){var i=this,o=this.createHeaders();return void 0!==n&&null!==n&&(o["If-Match"]=n),y.default.debug("POST",e,"ID:",o["Twilio-Request-Id"]),this.executeWithRetry(function(){return i.transport.post(e,o,t,r)},!1)}},{key:"put",value:function(e,t,n){var r=this,i=this.createHeaders();return void 0!==n&&null!==n&&(i["If-Match"]=n),y.default.debug("PUT",e,"ID:",i["Twilio-Request-Id"]),this.executeWithRetry(function(){return r.transport.put(e,i,t)},!1)}},{key:"delete",value:function(e){var t=this,n=this.createHeaders();return y.default.debug("DELETE",e,"ID:",n["Twilio-Request-Id"]),this.executeWithRetry(function(){return t.transport.delete(e,n)},!1)}}]),e}();n.Network=w,n.default=w},{"./logger":227,"./syncNetworkError":235,"./syncerror":237,"babel-runtime/core-js/json/stringify":25,"babel-runtime/core-js/promise":36,"babel-runtime/helpers/classCallCheck":41,"babel-runtime/helpers/createClass":42,"babel-runtime/helpers/extends":43,"operation-retrier":199,uuid:254}],230:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i=e("babel-runtime/regenerator"),o=r(i),s=e("babel-runtime/helpers/classCallCheck"),a=r(s),u=e("babel-runtime/helpers/createClass"),c=r(u),l=e("babel-runtime/core-js/promise"),f=r(l),h=function(e,t,n,r){return new(n||(n=f.default))(function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){e.done?i(e.value):new n(function(t){t(e.value)}).then(s,a)}u((r=r.apply(e,t||[])).next())})};Object.defineProperty(n,"__esModule",{value:!0});var d=function(){function e(t,n,r,i){(0,a.default)(this,e),this.prevToken=r,this.nextToken=i,this.items=t,this.source=n}return(0,c.default)(e,[{key:"nextPage",value:function(){return h(this,void 0,void 0,o.default.mark(function e(){return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.hasNextPage){e.next=2;break}throw new Error("No next page");case 2:return e.abrupt("return",this.source(this.nextToken));case 3:case"end":return e.stop()}},e,this)}))}},{key:"prevPage",value:function(){return h(this,void 0,void 0,o.default.mark(function e(){return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.hasPrevPage){e.next=2;break}throw new Error("No previous page");case 2:return e.abrupt("return",this.source(this.prevToken));case 3:case"end":return e.stop()}},e,this)}))}},{key:"hasNextPage",get:function(){return!!this.nextToken}},{key:"hasPrevPage",get:function(){return!!this.prevToken}}]),e}();n.Paginator=d,n.default=d},{"babel-runtime/core-js/promise":36,"babel-runtime/helpers/classCallCheck":41,"babel-runtime/helpers/createClass":42,"babel-runtime/regenerator":48}],231:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}
var i=e("babel-runtime/core-js/object/freeze"),o=r(i),s=e("babel-runtime/core-js/promise"),a=r(s),u=e("babel-runtime/helpers/classCallCheck"),c=r(u),l=e("babel-runtime/helpers/createClass"),f=r(l);Object.defineProperty(n,"__esModule",{value:!0});var h=function(){function e(){(0,c.default)(this,e),this.queue=new Array,this.isActive=!1}return(0,f.default)(e,[{key:"wakeupQueue",value:function(){var e=this;!this.isActive&&this.queue.length>0&&(this.isActive=!0,setTimeout(function(){return e.executeTask(e.queue[0])},0))}},{key:"pickNext",value:function(){var e=this;if(this.queue.shift(),0===this.queue.length)return void(this.isActive=!1);setTimeout(function(){return e.executeTask(e.queue[0])},0)}},{key:"pickSame",value:function(e){var t=this;this.queue[0].arg=e,setTimeout(function(){return t.executeTask(t.queue[0])},0)}},{key:"executeTask",value:function(e){var t=this;e.task(e.context,e.arg).then(function(n){t.pickNext(),e.resolve(n)}).catch(function(n){try{if(!e.handle)throw n;e.handle(n).then(function(e){return t.pickSame(e)}).catch(e.reject)}catch(t){e.reject(n)}})}},{key:"add",value:function(e,t,n,r){var i=this;return new a.default(function(o,s){i.queue.push({task:e,context:t,arg:n,handle:r,resolve:o,reject:s}),i.wakeupQueue()})}}]),e}();n.RetryingQueue=h,(0,o.default)(h),n.default=h},{"babel-runtime/core-js/object/freeze":32,"babel-runtime/core-js/promise":36,"babel-runtime/helpers/classCallCheck":41,"babel-runtime/helpers/createClass":42}],232:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i=e("babel-runtime/regenerator"),o=r(i),s=e("babel-runtime/helpers/classCallCheck"),a=r(s),u=e("babel-runtime/helpers/createClass"),c=r(u),l=e("babel-runtime/core-js/promise"),f=r(l),h=function(e,t,n,r){return new(n||(n=f.default))(function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){e.done?i(e.value):new n(function(t){t(e.value)}).then(s,a)}u((r=r.apply(e,t||[])).next())})};Object.defineProperty(n,"__esModule",{value:!0});var d=e("./logger"),p="com.twilio.rtd.cds.document",m="com.twilio.rtd.cds.list",v="com.twilio.rtd.cds.map",b="twilio.sync.event",y=function(){function e(t){var n=this;(0,a.default)(this,e),this.config=t.config,this.subscriptions=t.subscriptions,this.notifications=t.notifications,this.notifications.subscribe(b),this.notifications.subscribe(p),this.notifications.subscribe(m),this.notifications.subscribe(v),this.notifications.on("message",function(e,t){return n.onMessage(e,t)}),this.notifications.on("transportReady",function(e){e&&n.onConnected()})}return(0,c.default)(e,[{key:"onMessage",value:function(e,t){switch(e){case p:case m:case v:case b:d.default.trace("Notification type:",e,"content:",t),this.subscriptions.acceptMessage(t)}}},{key:"subscribe",value:function(e,t){return h(this,void 0,void 0,o.default.mark(function n(){return o.default.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,this.subscriptions.add(e,t);case 2:case"end":return n.stop()}},n,this)}))}},{key:"unsubscribe",value:function(e,t){return h(this,void 0,void 0,o.default.mark(function t(){return o.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.subscriptions.remove(e);case 2:case"end":return t.stop()}},t,this)}))}},{key:"onConnected",value:function(){this.subscriptions.poke()}}]),e}();n.Router=y,n.default=y},{"./logger":227,"babel-runtime/core-js/promise":36,"babel-runtime/helpers/classCallCheck":41,"babel-runtime/helpers/createClass":42,"babel-runtime/regenerator":48}],233:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i=e("babel-runtime/helpers/extends"),o=r(i),s=e("babel-runtime/core-js/json/stringify"),a=r(s),u=e("babel-runtime/helpers/classCallCheck"),c=r(u),l=e("babel-runtime/helpers/createClass"),f=r(l);Object.defineProperty(n,"__esModule",{value:!0});var h=function(){function e(t,n){(0,c.default)(this,e),this.config=t,this.storageId=null;try{this.storage=n||sessionStorage}catch(e){}}return(0,f.default)(e,[{key:"storageKey",value:function(e,t){return this.storageId+"::"+e+"::"+t}},{key:"updateStorageId",value:function(e){this.storageId=e}},{key:"store",value:function(e,t,n){return this.isReady?this._store(this.storageKey(e,t),n):null}},{key:"read",value:function(e,t){return this.isReady?this._read(this.storageKey(e,t)):null}},{key:"remove",value:function(e,t,n){if(!this.isReady)return null;try{this.storage.removeItem(this.storageKey(e,t)),n&&this.storage.removeItem(this.storageKey(e,n))}catch(e){}}},{key:"update",value:function(e,t,n,r){if(!this.isReady)return null;this._apply(this.storageKey(e,t),r),n&&this._apply(this.storageKey(e,n),r)}},{key:"_store",value:function(e,t){try{this.storage.setItem(e,(0,a.default)(t))}catch(e){}}},{key:"_read",value:function(e){try{var t=this.storage.getItem(e);if(t)return JSON.parse(t)}catch(e){}return null}},{key:"_apply",value:function(e,t){var n=this._read(e);if(!n)return!1;this._store(e,(0,o.default)(n,t))}},{key:"isReady",get:function(){return this.config.sessionStorageEnabled&&!!this.storageId}}]),e}();n.SessionStorage=h},{"babel-runtime/core-js/json/stringify":25,"babel-runtime/helpers/classCallCheck":41,"babel-runtime/helpers/createClass":42,"babel-runtime/helpers/extends":43}],234:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i=e("babel-runtime/regenerator"),o=r(i),s=e("babel-runtime/helpers/slicedToArray"),a=r(s),u=e("babel-runtime/core-js/get-iterator"),c=r(u),l=e("babel-runtime/helpers/extends"),f=r(l),h=e("babel-runtime/core-js/map"),d=r(h),p=e("babel-runtime/helpers/classCallCheck"),m=r(p),v=e("babel-runtime/helpers/createClass"),b=r(v),y=e("babel-runtime/core-js/promise"),_=r(y),g=function(e,t,n,r){return new(n||(n=_.default))(function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){e.done?i(e.value):new n(function(t){t(e.value)}).then(s,a)}u((r=r.apply(e,t||[])).next())})};Object.defineProperty(n,"__esModule",{value:!0});var k=e("backoff"),w=e("./logger"),C=e("./syncerror"),x=e("twilio-transport"),j=function(){function e(t){(0,m.default)(this,e),this.localObject=t,this.correlationId=null}return(0,b.default)(e,[{key:"markAsFailed",value:function(e){this.pendingPokeTimer&&clearTimeout(this.pendingPokeTimer),this.rejectedWithError=e}},{key:"updateLastEventId",value:function(e){this.localObject._advanceLastEventId(e)}},{key:"sid",get:function(){return this.localObject.sid}},{key:"type",get:function(){return this.localObject.type}},{key:"lastEventId",get:function(){return this.localObject.lastEventId}},{key:"isInTransition",get:function(){return null!==this.correlationId}}]),e}(),E=function(){function e(t){var n=this;(0,m.default)(this,e),this.services=t,this.subscriptions=new d.default,this.persisted=new d.default;var r={randomisationFactor:.2,initialDelay:100,maxDelay:12e4};this.backoff=k.exponential((0,f.default)(r,this.services.config.backoffConfig)),this.backoff.on("ready",function(){var e=n.getSubscriptionUpdateBatch(),t=e.action,r=e.subscriptions;t?n.applyNewSubscriptionUpdateBatch(t,r):(n.backoff.reset(),w.default.info("All subscriptions resolved."))})}return(0,b.default)(e,[{key:"getSubscriptionUpdateBatch",value:function(){function e(e,t,n,r){var i=[],o=!0,s=!1,u=void 0;try{for(var l,f=(0,c.default)(e);!(o=(l=f.next()).done);o=!0){var h=(0,a.default)(l.value,2),d=h[0],p=h[1];if(!t.get(d)&&(n||!p.isInTransition)&&!p.rejectedWithError&&(i.push(p),r&&i.length>=r))break}}catch(e){s=!0,u=e}finally{try{!o&&f.return&&f.return()}finally{if(s)throw u}}return i}var t=e(this.subscriptions,this.persisted,!1,1e3).map(function(e){return new j(e)});if(t.length>0)return{action:"establish",subscriptions:t};var n=e(this.persisted,this.subscriptions,!0,1e3);return n.length>0?{action:"cancel",subscriptions:n}:{action:null,subscriptions:null}}},{key:"persist",value:function(){try{this.backoff.backoff()}catch(e){}}},{key:"applyNewSubscriptionUpdateBatch",value:function(e,t){return g(this,void 0,void 0,o.default.mark(function n(){var r,i,s,a,u,l,f,h,d,p,m,v,b,y,_,g,k,C,j,E;return o.default.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:for(t=this.processLocalActions(e,t),r=(new Date).getTime(),i=!0,s=!1,a=void 0,n.prev=5,u=(0,c.default)(t);!(i=(l=u.next()).done);i=!0)f=l.value,this.recordActionAttemptOn(f,e,r);n.next=13;break;case 9:n.prev=9,n.t0=n.catch(5),s=!0,a=n.t0;case 13:n.prev=13,n.prev=14,!i&&u.return&&u.return();case 16:if(n.prev=16,!s){n.next=19;break}throw a;case 19:return n.finish(16);case 20:return n.finish(13);case 21:return n.prev=21,n.next=24,this.request(e,r,t.map(function(t){return{object_sid:t.sid,object_type:t.type,last_event_id:"establish"===e?t.lastEventId:void 0}}));case 24:if(h=n.sent,"establish"!==e){n.next=45;break}for(d=!0,p=!1,m=void 0,n.prev=29,v=(0,c.default)(t);!(d=(b=v.next()).done);d=!0)y=b.value,y.correlationId===r&&this.beginReplayTimeout(h.body.estimated_delivery_in_ms,y,e,r);n.next=37;break;case 33:n.prev=33,n.t1=n.catch(29),p=!0,m=n.t1;case 37:n.prev=37,n.prev=38,!d&&v.return&&v.return();case 40:if(n.prev=40,!p){n.next=43;break}throw m;case 43:return n.finish(40);case 44:return n.finish(37);case 45:this.backoff.reset(),n.next=70;break;case 48:for(n.prev=48,n.t2=n.catch(21),_=!0,g=!1,k=void 0,n.prev=53,C=(0,c.default)(t);!(_=(j=C.next()).done);_=!0)E=j.value,this.recordActionFailureOn(E,e);n.next=61;break;case 57:n.prev=57,n.t3=n.catch(53),g=!0,k=n.t3;case 61:n.prev=61,n.prev=62,!_&&C.return&&C.return();case 64:if(n.prev=64,!g){n.next=67;break}throw k;case 67:return n.finish(64);case 68:return n.finish(61);case 69:n.t2 instanceof x.TwilsockUnavailableError?(w.default.debug("Twilsock connection (required for subscription) not ready (c:"+r+"); waiting\u2026"),this.backoff.reset()):(w.default.debug("Failed an attempt to "+e+" subscriptions (c:"+r+"); retrying",n.t2),this.persist());case 70:case"end":return n.stop()}},n,this,[[5,9,13,21],[14,,16,20],[21,48],[29,33,37,45],[38,,40,44],[53,57,61,69],[62,,64,68]])}))}},{key:"processLocalActions",value:function(e,t){return"cancel"===e?t.filter(function(e){return!e.rejectedWithError}):t}},{key:"recordActionAttemptOn",value:function(e,t,n){if("establish"===t)this.persisted.set(e.sid,e),e.correlationId=n;else{var r=this.persisted.get(e.sid);r&&(r.correlationId=n)}}},{key:"recordActionFailureOn",value:function(e,t){e.correlationId=null,"establish"===t&&this.persisted.delete(e.sid)}},{key:"request",value:function(e,t,n){w.default.debug("Attempting '"+e+"' request (c:"+t+"):",n);var r={event_protocol_version:3,action:e,correlation_id:t,requests:n};return this.services.network.post(this.services.config.subscriptionsUri,r,null,!0)}},{key:"beginReplayTimeout",value:function(e,t,n,r){var i=this;!isNaN(parseFloat(e))&&isFinite(e)&&e>0&&(t.pendingPokeTimer=setTimeout(function(){t.correlationId===r&&(w.default.debug("Attempt to "+n+" "+t.sid+" (c:"+r+") timed out without confirmation; trying again."),t.correlationId=null,i.persisted.delete(t.sid),i.persist())},e))}},{key:"add",value:function(e,t){w.default.debug("Establishing intent to subscribe to "+e);var n=this.subscriptions.get(e);n&&n.lastEventId===t.lastEventId||(this.persisted.delete(e),this.subscriptions.set(e,t),this.persist())}},{key:"remove",value:function(e){w.default.debug("Establishing intent to unsubscribe from "+e),this.subscriptions.delete(e)&&this.persist()}},{key:"acceptMessage",value:function(e){switch(w.default.trace("Subscriptions received",e),e.event_type){case"subscription_established":this.applySubscriptionEstablishedMessage(e.event,e.correlation_id);break;case"subscription_canceled":this.applySubscriptionCancelledMessage(e.event,e.correlation_id);break;case"subscription_failed":this.applySubscriptionFailedMessage(e.event,e.correlation_id);break;case(e.event_type.match(/^(?:map|list|document)_/)||{}).input:;this.applyEventToSubscribedEntity(function(){return e.event_type.match(/^map_/)?e.event.map_sid:e.event_type.match(/^list_/)?e.event.list_sid:e.event_type.match(/^document_/)?e.event.document_sid:void 0}(),e);break;default:w.default.debug("Dropping unknown message type "+e.event_type)}}},{key:"applySubscriptionEstablishedMessage",value:function(e,t){var n=e.object_sid,r=this.persisted.get(e.object_sid);r&&r.correlationId===t?"interrupted"===e.replay_status?(w.default.debug("Event Replay for subscription to "+n+" (c:"+t+") interrupted; continuing eagerly."),clearTimeout(r.pendingPokeTimer),r.pendingPokeTimer=null,r.correlationId=null,this.persisted.delete(r.sid),this.backoff.reset()):"completed"===e.replay_status&&(w.default.debug("Event Replay for subscription to "+n+" (c:"+t+") completed. Subscription is ready."),clearTimeout(r.pendingPokeTimer),r.pendingPokeTimer=null,r.correlationId=null,r.updateLastEventId(e.last_event_id),this.persisted.set(e.object_sid,r),this.backoff.reset()):w.default.debug("Late message for "+e.object_sid+" (c:"+t+") dropped."),this.persist()}},{key:"applySubscriptionCancelledMessage",value:function(e,t){var n=this.persisted.get(e.object_sid);n&&n.correlationId===t?(clearTimeout(n.pendingPokeTimer),n.pendingPokeTimer=null,n.correlationId=null,this.persisted.delete(e.object_sid)):w.default.debug("Late message for "+e.object_sid+" (c:"+t+") dropped."),this.persist()}},{key:"applySubscriptionFailedMessage",value:function(e,t){var n=e.object_sid,r=this.subscriptions.get(n),i=this.persisted.get(n);r&&i?i.correlationId===t&&(i.markAsFailed(e.error),w.default.error("Failed to subscribe on "+i.sid,e.error),r.reportFailure(new C.SyncError("Failed to subscribe on service events: "+e.error.message,e.error.status,e.error.code))):!r&&i&&this.persisted.delete(n),this.persist()}},{key:"applyEventToSubscribedEntity",value:function(e,t){var n=e?this.subscriptions.get(e):null;n?(t.event.type=t.event_type,n._update(t.event)):w.default.debug("Message dropped for SID '"+e+"', for which there is no subscription.")}},{key:"poke",value:function(){w.default.info("Triggering event replay for all subscriptions.");var e=[],t=!0,n=!1,r=void 0;try{for(var i,o=(0,c.default)(this.persisted);!(t=(i=o.next()).done);t=!0){var s=(0,a.default)(i.value,2),u=(s[0],s[1]);clearTimeout(u.pendingPokeTimer),u.pendingPokeTimer=null,u.correlationId=null,u.rejectedWithError&&e.push(u)}}catch(e){n=!0,r=e}finally{try{!t&&o.return&&o.return()}finally{if(n)throw r}}this.persisted.clear();var l=!0,f=!1,h=void 0;try{for(var d,p=(0,c.default)(e);!(l=(d=p.next()).done);l=!0){var u=d.value;this.persisted.set(u.sid,u)}}catch(e){f=!0,h=e}finally{try{!l&&p.return&&p.return()}finally{if(f)throw h}}this.persist()}},{key:"shutdown",value:function(){this.backoff.reset(),this.subscriptions.clear()}}]),e}();n.Subscriptions=E,n.default=E},{"./logger":227,"./syncerror":237,"babel-runtime/core-js/get-iterator":23,"babel-runtime/core-js/map":26,"babel-runtime/core-js/promise":36,"babel-runtime/helpers/classCallCheck":41,"babel-runtime/helpers/createClass":42,"babel-runtime/helpers/extends":43,"babel-runtime/helpers/slicedToArray":46,"babel-runtime/regenerator":48,backoff:49,"twilio-transport":244}],235:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i=e("babel-runtime/core-js/object/get-prototype-of"),o=r(i),s=e("babel-runtime/helpers/classCallCheck"),a=r(s),u=e("babel-runtime/helpers/possibleConstructorReturn"),c=r(u),l=e("babel-runtime/helpers/inherits"),f=r(l);Object.defineProperty(n,"__esModule",{value:!0});var h=e("./syncerror"),d=function(e){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments[3];(0,a.default)(this,t);var s=(0,c.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,n,r));return s.body=i,s}return(0,f.default)(t,e),t}(h.SyncError);n.SyncNetworkError=d,n.default=d},{"./syncerror":237,"babel-runtime/core-js/object/get-prototype-of":33,"babel-runtime/helpers/classCallCheck":41,"babel-runtime/helpers/inherits":44,"babel-runtime/helpers/possibleConstructorReturn":45}],236:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i=e("babel-runtime/helpers/extends"),o=r(i),s=e("babel-runtime/regenerator"),a=r(s),u=e("babel-runtime/core-js/object/get-prototype-of"),c=r(u),l=e("babel-runtime/helpers/classCallCheck"),f=r(l),h=e("babel-runtime/helpers/createClass"),d=r(h),p=e("babel-runtime/helpers/possibleConstructorReturn"),m=r(p),v=e("babel-runtime/helpers/inherits"),b=r(v),y=e("babel-runtime/core-js/promise"),_=r(y),g=function(e,t,n,r){return new(n||(n=_.default))(function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){e.done?i(e.value):new n(function(t){t(e.value)}).then(s,a)}u((r=r.apply(e,t||[])).next())})};Object.defineProperty(n,"__esModule",{value:!0});var k=e("./logger"),w=e("./entity"),C=e("rfc6902"),x=e("./retryingqueue"),j=function(e){function t(e,n,r){(0,f.default)(this,t);var i=(0,m.default)(this,(t.__proto__||(0,c.default)(t)).call(this,e,r));return i.actionQueue=new x.RetryingQueue,i.descriptor=n,i.descriptor.data=i.descriptor.data||{},i}return(0,b.default)(t,e),(0,d.default)(t,[{key:"_update",value:function(e){switch(e.type){case"document_updated":if(e.id>this.lastEventId){var t=this.descriptor.data;this.descriptor.last_event_id=e.id,this.descriptor.revision=e.document_revision,this.descriptor.data=e.document_data,this.traverse(t,e.document_data,!1),this.emit("updated",e.document_data,!1),this.emit("updatedRemotely",e.document_data),this.services.storage.update(this.type,this.sid,this.uniqueName,{last_event_id:e.id,revision:e.document_revision,data:e.document_data})}break;case"document_removed":this.onRemoved(!1)}}},{key:"traverse",value:function(e,t,n){var r=this;C.createPatch(e,t).forEach(function(e){"add"===e.op?(r.emit("keyAdded",e.path,e.value,n),n||r.emit("keyAddedRemotely",e.path,e.value)):"replace"===e.op?(r.emit("keyUpdated",e.path,e.value,n),n||r.emit("keyUpdatedRemotely",e.path,e.value)):"remove"===e.op&&(r.emit("keyRemoved",e.path,n),n||r.emit("keyRemovedRemotely",e.path))})}},{key:"get",value:function(e){return this.value}},{key:"set",value:function(e,t){return this._actualSet(e,t?function(){throw new Error("Revision mismatch")}:null)}},{key:"_actualSet",value:function(e,t){var n=this,r=void 0,i={data:e,revision:t?this.revision:void 0};return t&&(r=function(r){return g(n,void 0,void 0,a.default.mark(function n(){return a.default.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(412!==r.status){n.next=4;break}return n.next=3,this.softSync();case 3:return n.abrupt("return",{revision:this.revision,data:t(this.value,e)});case 4:throw r;case 5:case"end":return n.stop()}},n,this)}))}),this.actionQueue.add(this._set.bind(this),this.uri,i,r).then(function(e){return e.last_event_id>n.descriptor.last_event_id&&(n.descriptor.revision=e.revision,n.descriptor.data=e.data,n.descriptor.last_event_id=e.last_event_id,n.services.storage.update(n.type,n.sid,n.uniqueName,{last_event_id:e.last_event_id,revision:e.revision,data:e.data})),n.emit("updated",n.value,!0),n.value})}},{key:"mutate",value:function(e){return g(this,void 0,void 0,a.default.mark(function t(){return a.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this._actualSet(e(this.value),e));case 1:case"end":return t.stop()}},t,this)}))}},{key:"update",value:function(e){return this.mutate(function(t){return(0,o.default)(t,e)})}},{key:"_set",value:function(e,t){return g(this,void 0,void 0,a.default.mark(function e(){var n;return a.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.services.network.post(this.uri,{data:t.data},t.revision);case 2:return n=e.sent,e.abrupt("return",{revision:n.body.revision,data:t.data,last_event_id:n.body.last_event_id});case 4:case"end":return e.stop()}},e,this)}))}},{key:"softSync",value:function(){var e=this;return this.services.network.get(this.uri).then(function(t){return e._update({type:"document_updated",id:t.body.last_event_id,document_revision:t.body.revision,document_data:t.body.data}),e}).catch(function(t){404===t.status?e.onRemoved(!1):k.default.error("Can't get updates for "+e.sid+":",t)})}},{key:"onRemoved",value:function(e){this._unsubscribe(),this.removalHandler(this.type,this.sid,this.uniqueName),this.emit("removed",e),e||this.emit("removedRemotely")}},{key:"removeDocument",value:function(){return g(this,void 0,void 0,a.default.mark(function e(){return a.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.services.network.delete(this.uri);case 2:this.onRemoved(!0);case 3:case"end":return e.stop()}},e,this)}))}},{key:"uri",get:function(){return this.descriptor.url}},{key:"revision",get:function(){return this.descriptor.revision}},{key:"lastEventId",get:function(){return this.descriptor.last_event_id}},{key:"sid",get:function(){return this.descriptor.sid}},{key:"value",get:function(){return this.descriptor.data}},{key:"uniqueName",get:function(){return this.descriptor.unique_name||null}},{key:"type",get:function(){return"document"}}],[{key:"type",get:function(){return"document"}}]),t}(w.SyncEntity);n.SyncDocument=j,n.default=j},{"./entity":224,"./logger":227,"./retryingqueue":231,"babel-runtime/core-js/object/get-prototype-of":33,"babel-runtime/core-js/promise":36,"babel-runtime/helpers/classCallCheck":41,"babel-runtime/helpers/createClass":42,"babel-runtime/helpers/extends":43,"babel-runtime/helpers/inherits":44,"babel-runtime/helpers/possibleConstructorReturn":45,"babel-runtime/regenerator":48,rfc6902:207}],237:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i=e("babel-runtime/core-js/object/get-prototype-of"),o=r(i),s=e("babel-runtime/helpers/classCallCheck"),a=r(s),u=e("babel-runtime/helpers/possibleConstructorReturn"),c=r(u),l=e("babel-runtime/helpers/inherits"),f=r(l);Object.defineProperty(n,"__esModule",{value:!0});var h=function(e){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;(0,a.default)(this,t);var i=(0,c.default)(this,(t.__proto__||(0,o.default)(t)).call(this));return i.name=i.constructor.name,i.message=e,i.status=n,i.code=r,i}return(0,f.default)(t,e),t}(Error);n.SyncError=h,n.default=h},{"babel-runtime/core-js/object/get-prototype-of":33,"babel-runtime/helpers/classCallCheck":41,"babel-runtime/helpers/inherits":44,"babel-runtime/helpers/possibleConstructorReturn":45}],238:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i=e("babel-runtime/helpers/extends"),o=r(i),s=e("babel-runtime/regenerator"),a=r(s),u=e("babel-runtime/core-js/object/get-prototype-of"),c=r(u),l=e("babel-runtime/helpers/classCallCheck"),f=r(l),h=e("babel-runtime/helpers/createClass"),d=r(h),p=e("babel-runtime/helpers/possibleConstructorReturn"),m=r(p),v=e("babel-runtime/helpers/inherits"),b=r(v),y=e("babel-runtime/core-js/promise"),_=r(y),g=function(e,t,n,r){return new(n||(n=_.default))(function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){e.done?i(e.value):new n(function(t){t(e.value)}).then(s,a)}u((r=r.apply(e,t||[])).next())})};Object.defineProperty(n,"__esModule",{value:!0});var k=e("./utils"),w=e("./logger"),C=e("./entity"),x=e("./retryingqueue"),j=e("./listitem"),E=e("./paginator"),S=e("./cache"),T=function(e){function t(e,n,r){(0,f.default)(this,t);var i=(0,m.default)(this,(t.__proto__||(0,c.default)(t)).call(this,e,r));return i.actionQueue=new x.RetryingQueue,i.cache=new S.Cache,i.descriptor=n,i}return(0,b.default)(t,e),(0,d.default)(t,[{key:"__set",value:function(e,t){return g(this,void 0,void 0,a.default.mark(function n(){var r;return a.default.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,this.services.network.post(e,{data:t.data},t.revision);case 2:return r=n.sent,r.body.data=t.data,n.abrupt("return",r.body);case 5:case"end":return n.stop()}},n,this)}))}},{key:"_set",value:function(e,t,n){return g(this,void 0,void 0,a.default.mark(function r(){var i,o,s=this;return a.default.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:if(n){r.next=5;break}return r.next=3,this.services.network.post(e.uri,{data:t});case 3:return i=r.sent,r.abrupt("return",e.update(i.body.last_event_id,i.body.revision,t));case 5:return o=function(r){if(412===r.status)return s.queryEvents().then(function(){return s.get(e.index)}).then(function(e){return{revision:e.revision,data:n(e.value,t)}});throw r},r.abrupt("return",this.actionQueue.add(this.__set.bind(this),e.uri,{revision:e.revision,data:t},o).then(function(t){return e.update(t.last_event_id,t.revision,t.data)}));case 7:case"end":return r.stop()}},r,this)}))}},{key:"push",value:function(e){return g(this,void 0,void 0,a.default.mark(function t(){var n,r,i;return a.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.services.network.post(this.links.items,{data:e});case 2:return n=t.sent,r=Number(n.body.index),i=this.cache.store(r,new j.ListItem({index:r,revision:n.body.revision,lastEventId:n.body.last_event_id,uri:n.body.url,value:e}),n.body.last_event_id),this.emit("itemAdded",i,!0),t.abrupt("return",i);case 7:case"end":return t.stop()}},t,this)}))}},{key:"set",value:function(e,t){return this._actualSet(e,t)}},{key:"_actualSet",value:function(e,t,n){return g(this,void 0,void 0,a.default.mark(function r(){var i;return a.default.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,this.get(e);case 2:return i=r.sent,r.next=5,this._set(i,t,n);case 5:return i=r.sent,this.emit("itemUpdated",i,!0),r.abrupt("return",i);case 8:case"end":return r.stop()}},r,this)}))}},{key:"mutate",value:function(e,t){return g(this,void 0,void 0,a.default.mark(function n(){var r;return a.default.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,this.get(e);case 2:return r=n.sent,n.abrupt("return",this._actualSet(e,t(r.value),t));case 4:case"end":return n.stop()}},n,this)}))}},{key:"update",value:function(e,t){return g(this,void 0,void 0,a.default.mark(function n(){return a.default.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",this.mutate(e,function(e){return(0,o.default)(e,t)}));case 1:case"end":return n.stop()}},n,this)}))}},{key:"remove",value:function(e){return g(this,void 0,void 0,a.default.mark(function t(){var n,r;return a.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.get(e);case 2:return n=t.sent,t.next=5,this.services.network.delete(n.uri);case 5:r=t.sent,this.cache.delete(e,r.body.last_event_id),this.emit("itemRemoved",e,!0);case 8:case"end":return t.stop()}},t,this)}))}},{key:"get",value:function(e){return g(this,void 0,void 0,a.default.mark(function t(){var n,r;return a.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(!(n=this.cache.get(e))){t.next=3;break}return t.abrupt("return",n);case 3:return t.next=5,this.queryItems({index:e});case 5:if(r=t.sent,!(r.items.length<1)){t.next=8;break}throw new Error("No item with index "+e+" found");case 8:return t.abrupt("return",this.cache.store(e,r.items[0],r.items[0].lastEventId));case 9:case"end":return t.stop()}},t,this)}))}},{key:"queryEvents",value:function(){return g(this,void 0,void 0,a.default.mark(function e(){var t,n,r=this;return a.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=this.links.events+"?From="+(this.lastEventId+1)+"&PageSize=100",e.next=3,this.services.network.get(t);case 3:n=e.sent,n.body.events.forEach(function(e){return r._update(e)});case 5:case"end":return e.stop()}},e,this)}))}},{key:"queryItems",value:function(e){return g(this,void 0,void 0,a.default.mark(function t(){var n,r,i,o,s=this;return a.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return e=e||{},n=new k.UriBuilder(this.links.items).arg("From",e.from).arg("PageSize",e.limit).arg("Index",e.index).arg("PageToken",e.pageToken).arg("Order",e.order).build(),t.next=4,this.services.network.get(n);case 4:return r=t.sent,i=r.body.items.map(function(e){return s.cache.store(Number(e.index),new j.ListItem({index:Number(e.index),uri:e.url,revision:e.revision,lastEventId:e.last_event_id,value:e.data}),e.last_event_id)}),o=r.body.meta,t.abrupt("return",new E.Paginator(i,function(e){return s.queryItems({pageToken:e})},o.previous_token,o.next_token));case 8:case"end":return t.stop()}},t,this)}))}},{key:"getItems",value:function(e){return g(this,void 0,void 0,a.default.mark(function t(){return a.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return e=e||{},e.limit=e.pageSize||e.limit||50,e.order=e.order||"asc",t.abrupt("return",this.queryItems(e));case 4:case"end":return t.stop()}},t,this)}))}},{key:"getContext",value:function(){return g(this,void 0,void 0,a.default.mark(function e(){var t;return a.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.context){e.next=2;break}return e.abrupt("return",this.context);case 2:return e.next=4,this.services.network.get(this.links.context);case 4:return t=e.sent,this.context=t.body.data,e.abrupt("return",this.context);case 7:case"end":return e.stop()}},e,this)}))}},{key:"updateContext",value:function(e){return g(this,void 0,void 0,a.default.mark(function t(){return a.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this.services.network.post(this.links.context,{data:e});case 3:return this.context=e,this.emit("contextUpdated",e,!0),t.abrupt("return",this);case 8:throw t.prev=8,t.t0=t.catch(0),w.default.error("Failed to update context",t.t0),t.t0;case 12:case"end":return t.stop()}},t,this,[[0,8]])}))}},{key:"removeList",value:function(){return g(this,void 0,void 0,a.default.mark(function e(){return a.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.services.network.delete(this.uri);case 2:this.onRemoved(!0);case 3:case"end":return e.stop()}},e,this)}))}},{key:"onRemoved",value:function(e){this._unsubscribe(),this.removalHandler(this.type,this.sid,this.uniqueName),this.emit("collectionRemoved",e),e||this.emit("collectionRemovedRemotely")}},{key:"softSync",value:function(){return g(this,void 0,void 0,a.default.mark(function e(){return a.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.queryEvents();case 3:e.next=8;break;case 5:e.prev=5,e.t0=e.catch(0),404===e.t0.status?this.onRemoved(!1):w.default.error("Can't get updates for "+this.sid+":",e.t0);case 8:case"end":return e.stop()}},e,this,[[0,5]])}))}},{key:"shouldIgnoreEvent",value:function(e,t){return this.cache.isKnown(e,t)}},{key:"_update",value:function(e){var t=Number(e.item_index);switch(e.type){case"list_item_added":this._handleItemAdded(t,e.item_url,e.id,e.item_revision,e.item_data);break;case"list_item_updated":this._handleItemUpdated(t,e.item_url,e.id,e.item_revision,e.item_data);break;case"list_item_removed":this._handleItemRemoved(t,e.id);break;case"list_context_updated":this._handleContextUpdate(e.context_data,e.id);break;case"list_removed":this.onRemoved(!1)}this._advanceLastEventId(e.id,e.list_revision)}},{key:"_advanceLastEventId",value:function(e,t){this.lastEventIdo.lastEventId&&(o.update(n,r,i),this.emit("itemUpdated",o,!1),this.emit("itemUpdatedRemotely",o)):(o=this.cache.store(e,new j.ListItem({index:e,uri:t,lastEventId:n,revision:r,value:i}),n),this.emit("itemUpdated",o,!1),this.emit("itemUpdatedRemotely",o))}},{key:"_handleItemRemoved",value:function(e,t){this.cache.delete(e,t),this.emit("itemRemoved",e,!1),
this.emit("itemRemovedRemotely",e)}},{key:"_handleContextUpdate",value:function(e,t){this.lastEventIdi.lastEventId?i.update(l.lastEventId,l.revision,l.value):i||(i=this.cache.store(e,new j.MapItem(l),l.lastEventId),c?this.emit("itemAdded",i,!0):this.emit("itemUpdated",i,!0)),r.abrupt("return",i);case 19:case"end":return r.stop()}},r,this)}))}},{key:"get",value:function(e){return g(this,void 0,void 0,a.default.mark(function t(){var n;return a.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(!this.cache.has(e)){t.next=2;break}return t.abrupt("return",this.cache.get(e));case 2:return t.next=4,this.queryItems({key:e});case 4:if(n=t.sent,!(n.items.length<1)){t.next=7;break}throw new Error("No item with key "+e+" found");case 7:return t.abrupt("return",n.items[0]);case 8:case"end":return t.stop()}},t,this)}))}},{key:"mutate",value:function(e,t){return g(this,void 0,void 0,a.default.mark(function n(){var r;return a.default.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,this.get(e).then(function(e){return e.value}).catch(function(){return{}});case 2:return r=n.sent,n.abrupt("return",this._actualSet(e,t(r),t));case 4:case"end":return n.stop()}},n,this)}))}},{key:"update",value:function(e,t){return g(this,void 0,void 0,a.default.mark(function n(){return a.default.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",this.mutate(e,function(e){return(0,o.default)(e,t)}));case 1:case"end":return n.stop()}},n,this)}))}},{key:"remove",value:function(e){return g(this,void 0,void 0,a.default.mark(function t(){var n,r;return a.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0!==e){t.next=2;break}throw new Error("Key argument is invalid");case 2:return t.next=4,this.get(e);case 4:return n=t.sent,t.next=7,this.services.network.delete(n.uri);case 7:r=t.sent,this.cache.delete(e,r.body.last_event_id),this.emit("itemRemoved",e,!0);case 10:case"end":return t.stop()}},t,this)}))}},{key:"queryItems",value:function(e){return g(this,void 0,void 0,a.default.mark(function t(){var n,r,i,o,s=this;return a.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return e=e||{},n=new k.UriBuilder(this.links.items).arg("From",e.from).arg("PageSize",e.limit).arg("Key",e.key).arg("PageToken",e.pageToken).arg("Order",e.order).build(),t.next=4,this.services.network.get(n);case 4:return r=t.sent,i=r.body.items.map(function(e){return s.cache.store(e.key,new j.MapItem(e),e.last_event_id)}),o=r.body.meta,t.abrupt("return",new E.Paginator(i,function(e){return s.queryItems({pageToken:e})},o.previous_token,o.next_token));case 8:case"end":return t.stop()}},t,this)}))}},{key:"getItems",value:function(e){return g(this,void 0,void 0,a.default.mark(function t(){return a.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return e=e||{},e.limit=e.pageSize||e.limit||50,e.order=e.order||"asc",t.abrupt("return",this.queryItems(e));case 4:case"end":return t.stop()}},t,this)}))}},{key:"softSync",value:function(){return g(this,void 0,void 0,a.default.mark(function e(){return a.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.queryEvents();case 3:e.next=8;break;case 5:e.prev=5,e.t0=e.catch(0),404===e.t0.status?this.onRemoved(!1):w.default.error("Can't get updates for "+this.sid+":",e.t0);case 8:case"end":return e.stop()}},e,this,[[0,5]])}))}},{key:"forEach",value:function(e){var t=this;return new _.default(function(n,r){function i(t){t.items.forEach(function(t){return e(t)}),t.hasNextPage?t.nextPage().then(i).catch(r):n()}t.queryItems().then(i).catch(r)})}},{key:"shouldIgnoreEvent",value:function(e,t){return this.cache.isKnown(e,t)}},{key:"_update",value:function(e){switch(e.type){case"map_item_added":this._handleItemAdded(e.item_key,e.item_url,e.id,e.item_revision,e.item_data);break;case"map_item_updated":this._handleItemUpdated(e.item_key,e.item_url,e.id,e.item_revision,e.item_data);break;case"map_item_removed":this._handleItemRemoved(e.item_key,e.id);break;case"map_context_updated":this._handleContextUpdate(e.context_data,e.id);break;case"map_removed":this.onRemoved(!1)}this._advanceLastEventId(e.id,e.map_revision)}},{key:"_advanceLastEventId",value:function(e,t){this.lastEventIdo.lastEventId&&(o.update(n,r,i),this.emit("itemUpdated",o,!1),this.emit("itemUpdatedRemotely",o)):(o=new j.MapItem({key:e,url:t,last_event_id:n,revision:r,data:i}),this.cache.store(e,o,n),this.emit("itemUpdated",o,!1),this.emit("itemUpdatedRemotely",o))}},{key:"_handleItemRemoved",value:function(e,t){this.cache.delete(e,t),this.emit("itemRemoved",e,!1),this.emit("itemRemovedRemotely",e,!1)}},{key:"_handleContextUpdate",value:function(e,t){this.lastEventId=0.5.0 <0.6.0",type:"range"},"/var/lib/jenkins/jobs/twilio-chat.js/workspace"]],_from:"twilio-sync@>=0.5.0 <0.6.0",_id:"twilio-sync@0.5.3",_inCache:!0,_location:"/twilio-sync",_nodeVersion:"7.7.1",_npmOperationalInternal:{host:"packages-12-west.internal.npmjs.com",tmp:"tmp/twilio-sync-0.5.3.tgz_1490299378756_0.1648261109367013"},_npmUser:{name:"twilio-ci",email:"mroberts+twilio-ci@twilio.com"},_npmVersion:"4.1.2",_phantomChildren:{},_requested:{raw:"twilio-sync@^0.5.0",scope:null,escapedName:"twilio-sync",name:"twilio-sync",rawSpec:"^0.5.0",spec:">=0.5.0 <0.6.0",type:"range"},_requiredBy:["/"],_resolved:"https://registry.npmjs.org/twilio-sync/-/twilio-sync-0.5.3.tgz",_shasum:"f07d93b72a27dd42b4def1fb4812f56a7845c0df",_shrinkwrap:null,_spec:"twilio-sync@^0.5.0",_where:"/var/lib/jenkins/jobs/twilio-chat.js/workspace",author:{name:"Twilio"},browser:"browser/index.js",dependencies:{"babel-runtime":"^6.23.0",karibu:"^1.0.1",loglevel:"^1.4.1","operation-retrier":"^1.1.2",platform:"^1.3.3",rfc6902:"^1.3.0","twilio-ems-client":"^0.2.0","twilio-notifications":"^0.4.0","twilio-transport":"^0.1.1",twilsock:"^0.3.0",uuid:"^3.0.1",xxhashjs:"^0.2.1"},description:"Twilio Sync client library",devDependencies:{"@types/chai":"^3.4.35","@types/chai-as-promised":"0.0.29","@types/loglevel":"^1.4.29","@types/mocha":"^2.2.39","@types/node":"^7.0.5","@types/sinon":"^1.16.35","@types/sinon-as-promised":"^4.0.5","@types/sinon-chai":"^2.7.27","async-test-tools":"^1.0.6","babel-cli":"^6.23.0","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-array-includes":"^2.0.3","babel-plugin-transform-object-assign":"^6.22.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.22.0",babelify:"^7.3.0",backoff:"^2.5.0",browserify:"^14.1.0",chai:"^3.5.0","chai-as-promised":"^6.0.0",cheerio:"^0.22.0",del:"^2.2.2","event-to-promise":"^0.8.0",gulp:"^3.9.1","gulp-babel":"^6.1.2","gulp-derequire":"^2.1.0","gulp-exit":"0.0.2","gulp-insert":"^0.5.0","gulp-istanbul":"^1.1.1","gulp-mocha":"^4.0.1","gulp-rename":"^1.2.2","gulp-replace":"^0.5.4","gulp-tap":"^0.1.3","gulp-tslint":"^7.1.0","gulp-typescript":"^3.1.5","gulp-uglify":"^2.0.1","gulp-util":"^3.0.8","ink-docstrap":"^1.3.0",isparta:"^4.0.0",jsdoc:"^3.4.3",jsonwebtoken:"^7.3.0",karma:"^1.5.0","karma-browserify":"^5.1.1","karma-browserstack-launcher":"^1.2.0","karma-mocha":"^1.3.0","karma-mocha-reporter":"^2.2.2","run-sequence":"^1.2.2",sinon:"^1.17.7","sinon-as-promised":"^4.0.2","sinon-chai":"^2.8.0","ts-node":"^2.1.0",tslint:"^4.5.1",twilio:"^3.3.0-edge",typescript:"^2.2.1",underscore:"^1.8.3","vinyl-buffer":"^1.0.0","vinyl-source-stream":"^1.1.0",watchify:"^3.9.0"},directories:{},dist:{shasum:"f07d93b72a27dd42b4def1fb4812f56a7845c0df",tarball:"https://registry.npmjs.org/twilio-sync/-/twilio-sync-0.5.3.tgz"},engines:{node:">=6"},gitHead:"87cd7d3b73030d673f1a3133f5c738c40866487b",license:"MIT",main:"lib/index.js",maintainers:[{name:"schertkov",email:"schertkov@twilio.com"},{name:"twilio-ci",email:"mroberts+twilio-ci@twilio.com"}],name:"twilio-sync",optionalDependencies:{},readme:"ERROR: No README data found!",scripts:{prepublish:"gulp build",test:"gulp unit-test"},version:"0.5.3"}},{}],243:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){return e.split("\r\n").map(function(e){return e.split(": ")}).filter(function(e){return 2===e.length&&e[1].length>0}).reduce(function(e,t){return e[t[0]]=t[1],e},{})}function s(e){var t=e.getResponseHeader("Content-Type");if(!t||0!==t.indexOf("application/json")||0===e.responseText.length)return e.responseText;try{return JSON.parse(e.responseText)}catch(t){return e.responseText}}var a=e("babel-runtime/core-js/json/stringify"),u=r(a),c=e("babel-runtime/core-js/promise"),l=r(c),f=e("babel-runtime/core-js/object/define-property"),h=r(f);Object.defineProperty(n,"__esModule",{value:!0});var d=function(){function e(e,t){for(var n=0;n0){var r=n.search.substring(1);n.params=r.split("&").map(function(e){return e.split("=")}).reduce(function(e,t){return e.hasOwnProperty(t[0])?Array.isArray(e[t[0]])?e[t[0]].push(t[1]):e[t[0]]=[e[t[0]],t[1]]:e[t[0]]=t[1],e},{})}return n}throw new Error("Incorrect URI: "+e)}function u(e,t){var n=a(t),r={method:e,host:n.host,path:n.pathname};return n.params&&(r.params=n.params),r}function c(e,t,n,r){return{to:u(e,t),headers:n,body:r}}function l(e){return{status:e.status,headers:e.header.http_headers,body:e.body}}function f(e,t,n){return{url:e,headers:t,body:n}}function h(e){try{e.body=JSON.parse(e.body)}catch(e){}return e}function d(e){for(var t=(0,k.default)(e.headers),n=t.length,r={};n--;){var i=t[n];r[i.toLowerCase()]=e.headers[i]}return e.headers=r,e}var p=e("babel-runtime/core-js/promise"),m=r(p),v=e("babel-runtime/core-js/map"),b=r(v),y=e("babel-runtime/core-js/object/define-properties"),_=r(y),g=e("babel-runtime/core-js/object/keys"),k=r(g),w=e("babel-runtime/core-js/object/get-prototype-of"),C=r(w),x=e("babel-runtime/core-js/array/from"),j=r(x),E=e("babel-runtime/core-js/reflect/construct"),S=r(E),T=e("babel-runtime/core-js/object/set-prototype-of"),R=r(T),I=e("babel-runtime/core-js/object/create"),A=r(I),P=e("babel-runtime/helpers/typeof"),O=r(P),M=e("babel-runtime/core-js/object/define-property"),F=r(M);Object.defineProperty(n,"__esModule",{value:!0}),n.TwilsockUnavailableError=n.Transport=void 0;var N=function(){function e(e,t){for(var n=0;n=200&&e<300}function o(e){return e&&e.header&&e.header.http_status}Object.defineProperty(n,"__esModule",{value:!0});var s=e("babel-runtime/core-js/promise"),a=r(s),u=e("babel-runtime/core-js/map"),c=r(u),l=e("babel-runtime/core-js/object/define-properties"),f=r(l),h=e("babel-runtime/helpers/classCallCheck"),d=r(h),p=e("babel-runtime/helpers/createClass"),m=r(p),v=e("./logger"),b=r(v),y=function(){function e(t){var n=this;(0,d.default)(this,e),(0,f.default)(this,{_activeRequests:{value:new c.default},_socket:{value:t}}),this._socket.on("reply",this._processReply.bind(this)),this._socket.on("disconnected",function(){n._activeRequests.forEach(function(e){clearTimeout(e.timeout),e.reject(new Error("Twilsock disconnected"))}),n._activeRequests.clear()})
}return(0,m.default)(e,[{key:"_processReply",value:function(e){var t=this._activeRequests.get(e.id);t&&(clearTimeout(t.timeout),this._activeRequests.delete(e.id),setTimeout(function(){i(e.status.code)?o(e)&&!i(e.header.http_status.code)?t.reject({status:e.header.http_status.code,description:e.header.http_status.status,body:e.body}):t.resolve(e):t.reject(new Error("Transport failure: "+e.status.status))},0))}},{key:"_storeRequest",value:function(e,t,n){var r={resolve:t,reject:n,timeout:setTimeout(function(){b.default.debug("request",e,"is timed out"),n(new Error("Twilsock: request timeout: "+e))},3e4)};this._activeRequests.set(e,r)}},{key:"send",value:function(e,t,n){var r=this;return new a.default(function(i,o){r._socket.isConnected||(b.default.info("Can not send upstream message. Twilsock is not in connected state"),o(new Error("Twilsock is not connected")));var s=r._socket.sendUpstreamMessage(e,t,n);b.default.trace("message sent: ",{id:s,address:e,headers:t,body:n}),r._storeRequest(s,i,o)})}},{key:"putNotificationContext",value:function(e,t){var n=this;return new a.default(function(r,i){n._socket.isConnected||(b.default.info("Can not send put notification context. Twilsock is not in connected state"),i(new Error("Twilsock is not connected")));var o={method:"put_notification_ctx",notification_ctx_id:e},s=n._socket.send(o,t);n._storeRequest(s,r,i)})}},{key:"deleteNotificationContext",value:function(e){var t=this;return new a.default(function(n,r){t._socket.isConnected||(b.default.info("Can not send delete notification context. Twilsock is not in connected state"),r(new Error("Twilsock is not connected")));var i={method:"delete_notification_ctx",notification_ctx_id:e},o=t._socket.send(i);t._storeRequest(o,n,r)})}},{key:"shutdown",value:function(){this._activeRequests.forEach(function(e){clearTimeout(e.timeout),e.reject(new Error("Twilsock: request cancelled by user"))}),this._activeRequests.clear()}}]),e}();n.default=y,t.exports=n.default},{"./logger":248,"babel-runtime/core-js/map":26,"babel-runtime/core-js/object/define-properties":30,"babel-runtime/core-js/promise":36,"babel-runtime/helpers/classCallCheck":41,"babel-runtime/helpers/createClass":42}],250:[function(e,t,n){(function(r){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function o(e){return encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,function(e,t){return String.fromCharCode("0x"+t)}).length}function s(e){var t=encodeURIComponent(e),n=t.replace(/%([0-9A-F]{2})/g,function(e,t){return String.fromCharCode("0x"+t)}),r=new Uint8Array(n.length);return Array.prototype.forEach.call(n,function(e,t){r[t]=e.charCodeAt(0)}),r}function a(e){var t=Array.prototype.map.call(e,function(e){return String.fromCharCode(e)}).join(""),n=t.replace(/(.)/g,function(e,t){var n=t.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n="0"+n),"%"+n});return decodeURIComponent(n)}function u(e){for(var t="",n=0;n>",n),this.emit("stateChanged",this.state),this._isDeferredUpdate&&(this._isDeferredUpdate=!1,setTimeout(function(){r.updateToken()},0))}},{key:"_resetBackoff",value:function(){B.default.trace("_resetBackoff"),this._backoff=this._backoffDefault,this._backoff.reset()}},{key:"_modifyBackoff",value:function(e){B.default.trace("_modifyBackoff",e);var t=e?e.backoff_policy:null;if(t){var n=t.reconnect_min_ms||2e3,r=t.reconnect_max_ms||12e4;B.default.debug("new backoff policy",n,r),this._backoff=W.default.exponential({randomisationFactor:.2,initialDelay:n,maxDelay:r})}}},{key:"_startDisconnectTimer",value:function(){var e=this;B.default.trace("_startDisconnectTimer"),this._disconnectingTimer&&(clearTimeout(this._disconnectingTimer),this._disconnectingTimer=null),this._disconnectingTimer=setTimeout(function(){B.default.debug("disconnecting is timed out"),e._closeSocket()},3e3)}},{key:"_cancelDisconnectTimer",value:function(){B.default.trace("_cancelDisconnectTimer"),this._disconnectingTimer&&(clearTimeout(this._disconnectingTimer),this._disconnectingTimer=null)}},{key:"_processReply",value:function(e){B.default.debug("receive reply:",e);var t=this._activeRequests.get(e.id);if(t)switch(clearTimeout(t.timeout),this._activeRequests.delete(e.id),t.reqType){case"init":e.status.code>=200&&e.status.code<300?this._fsm.initSuccess(e.body):401===e.status.code||403===e.status.code?this._fsm.tokenRejected(e.status):429===e.status.code?(this._modifyBackoff(e.body),this._fsm.initError(e.status)):this._fsm.initError(e.status);break;case"update":e.status.code>=200&&e.status.code<300?this._fsm.updateSuccess(e.body):401===e.status.code||403===e.status.code?this._fsm.tokenRejected(e.status):429===e.status.code?(this._modifyBackoff(e.body),this._fsm.updateError(e.status)):this._fsm.updateError(e.status);break;default:B.default.error("unexpected reply")}}},{key:"_storeRequest",value:function(e,t,n){var r=this;B.default.trace("_storeRequest");var i={reqType:t,timeout:setTimeout(function(){B.default.debug("request",t,": ",e,"is timed out"),"init"!==t&&"update"!==t&&B.default.error("unknown request type",t),r._closeSocket()},n)};this._activeRequests.set(e,i)}},{key:"_isConnected",value:function(){return this.state===t.state.CONNECTED&&this._socket&&1===this._socket.readyState}},{key:"_getState",value:function(){if(!this._fsm)return t.state.DISCONNECTED;switch(this._fsm.current){case"connecting":case"initialising":case"retrying":case"error":return t.state.CONNECTING;case"updating":case"connected":return t.state.CONNECTED;case"rejected":return t.state.REJECTED;case"disconnecting":case"waitSocketClosed":case"waitOffloadSocketClosed":return t.state.DISCONNECTING;case"disconnected":default:return t.state.DISCONNECTED}}},{key:"_initRetry",value:function(){B.default.trace("_initRetry"),this._backoff.backoff()}},{key:"_retry",value:function(){B.default.trace("_retry"),this._socket=null,this._activeToken=null,this._fsm.userRetry()}},{key:"_onConnected",value:function(){this.emit("connected")}},{key:"_finalizeSocket",value:function(){if(B.default.trace("_finalizeSocket"),this._stopWatchdogTimer(),this._onDisconnected(),this._disconnectedPromiseResolve){var e=this._disconnectedPromiseResolve;this._disconnectedPromiseResolve=null,e()}}},{key:"_onDisconnected",value:function(){this._socket=null,this._activeToken=null,this.emit("disconnected")}},{key:"_setupSocket",value:function(){B.default.trace("_setupSocket:",this._config.token);var e=this,t=this._config.twilsockUri;B.default.debug("try to connect to:",t);var n=new J(t);n.binaryType="arraybuffer",n.onopen=function(){B.default.info("socket opened"),e._fsm.socketConnected()},n.onclose=function(t){B.default.info("socket closed",t),e._fsm.socketClosed()},n.onerror=function(e){B.default.error("error: ",e)},n.onmessage=function(t){B.default.trace("data: ",t.data);var n=new Uint8Array(t.data),r=u(n);if("TWILSOCK"!==r.protocol||"V3.0"!==r.version)return B.default.error("unsupported protocol: "+r.protocol+" ver "+r.version),void e._fsm.unsupportedProtocol();var i=null;try{i=l(n.subarray(r.size,r.size+r.headerSize))}catch(n){return B.default.error("failed to parse message header",n,t),void e._fsm.protocolError()}B.default.trace("message received: ",i);var o=null;if(i.payload_size>0){var s=2+r.size+r.headerSize,c=i.payload_size;if(i.hasOwnProperty("payload_type")&&0!==i.payload_type.indexOf("application/json"))0===i.payload_type.indexOf("text/plain")&&(o=a(n.subarray(s,s+c)));else try{o=l(n.subarray(s,s+c))}catch(n){return B.default.error("failed to parse message body",n,t),void e._fsm.protocolError()}}e._updateActivityTimestamp(),"notification"===i.method?(e._confirmReceiving(i),e.emit("message",i.message_type,o)):"reply"===i.method?e.emit("reply",{id:i.id,status:i.status,header:i,body:o}):"ping"===i.method?e._confirmReceiving(i):"close"===i.method&&(B.default.trace("connection close initated by server"),e._confirmReceiving(i),308===i.status.code?(B.default.info("connection has been offloaded"),e._fsm.receiveOffload({status:i.status.status,body:o})):406===i.status.code?(B.default.error("connection has been rejected because server can not parse protocol"),e._fsm.receiveFatalClose()):417===i.status.code?(B.default.info("connection has been rejected because server could not understand client`s reply"),e._fsm.receiveFatalClose(i.status.status)):410===i.status.code?(B.default.info("connection has expired"),e._fsm.receiveClose(i.status.status)):401===i.status.code?(B.default.info("connection is not authenticate"),e._fsm.receiveClose(i.status.status)):(B.default.error("unexpected close: ",i.status),e._fsm.receiveOffload({status:i.status.status,body:null})))},this._activeToken=this._config.token,this._socket=n}},{key:"_sendInit",value:function(){B.default.trace("_sendInit");var e={id:z.default.v4(),method:"init",token:this._activeToken};this._sendPacket(e),this._storeRequest(e.id,"init",5e3)}},{key:"_sendUpdate",value:function(){B.default.trace("_sendUpdate");var e={id:z.default.v4(),method:"update",token:this._activeToken};this._sendPacket(e),this._storeRequest(e.id,"update",5e3)}},{key:"_cancelInit",value:function(){B.default.trace("_cancelInit");var e=!0,t=!1,n=void 0;try{for(var r,i=(0,y.default)(this._activeRequests);!(e=(r=i.next()).done);e=!0){var o=(0,v.default)(r.value,2),s=o[0],a=o[1];a&&"init"===a.reqType&&(clearTimeout(a.timeout),this._activeRequests.delete(s))}}catch(e){t=!0,n=e}finally{try{!e&&i.return&&i.return()}finally{if(t)throw n}}}},{key:"_cancelUpdate",value:function(){B.default.trace("_cancelUpdate");var e=!0,t=!1,n=void 0;try{for(var r,i=(0,y.default)(this._activeRequests);!(e=(r=i.next()).done);e=!0){var o=(0,v.default)(r.value,2),s=o[0],a=o[1];a&&"update"===a.reqType&&(clearTimeout(a.timeout),this._activeRequests.delete(s))}}catch(e){t=!0,n=e}finally{try{!e&&i.return&&i.return()}finally{if(t)throw n}}}},{key:"_confirmReceiving",value:function(e){B.default.trace("_confirmReceiving");var t={method:"reply",id:e.id,payload_type:"application/json",status:{code:200,status:"OK"}};try{this._sendPacket(t)}catch(e){B.default.debug("failed to confirm packet receiving",e)}}},{key:"_sendPacket",value:function(e,t){var n=c(t);e.payload_size=o(n);var r=(0,M.default)(e)+"\r\n",i="TWILSOCK V3.0 "+(o(r)-2)+"\r\n";B.default.debug("send request:",i+r+n);var a=s(i+r+n);try{this._socket.send(a.buffer)}catch(t){throw B.default.info("failed to send ",e,t),B.default.info(t.stack),t}}},{key:"_closeSocket",value:function(){B.default.trace("_closeSocket"),this._socket&&(this._socket.onopen=null,this._socket.onclose=null,this._socket.onerror=null,this._socket.onmessage=null,this._socket.close()),this._fsm.socketClosed()}},{key:"connect",value:function(){B.default.trace("connect"),this._fsm.userConnect()}},{key:"disconnect",value:function(){var e=this;return B.default.trace("disconnect"),this._fsm.is("disconnected")?p.default.resolve():new p.default(function(t){e._disconnectedPromiseResolve=t,e._fsm.userDisconnect()})}},{key:"updateToken",value:function(){if(B.default.trace("updateToken:",this._config.token),"initialising"===this._fsm.current||"updating"===this._fsm.current||"waitSocketClosed"===this._fsm.current||"waitOffloadSocketClosed"===this._fsm.current)return B.default.debug("defer updateToken because of",this._fsm.current,"is in progress"),void(this._isDeferredUpdate=!0);this._isDeferredUpdate=!1,this._activeToken=this._config.token,this._fsm.userUpdateToken()}},{key:"sendUpstreamMessage",value:function(e,t,n){var r=z.default.v4(),i={host:e.host,path:e.path,method:e.method};e.hasOwnProperty("params")&&(i.params=e.params);var o={method:"message",id:r,http_request:i};return t&&(o.http_request.headers=t),t&&t.hasOwnProperty("Content-Type")&&(o.payload_type=t["Content-Type"]),this._sendPacket(o,n),r}},{key:"send",value:function(e,t){return e.id=e.id||z.default.v4(),this._sendPacket(e,t),e.id}},{key:"_onCloseReceived",value:function(e){B.default.trace("_onCloseReceived"),B.default.info("connection closed by server, reason is",e),this._socket&&(this._socket.onopen=null,this._socket.onerror=null,this._socket.onmessage=null)}},{key:"_startWatchdogTimer",value:function(){var e=this;B.default.trace("_startWatchdogTimer"),this._timestamp=Date.now(),this._watchTimer=setInterval(function(){Date.now()-e._timestamp>43e3&&e._socket&&e._socket.close()},5e3)}},{key:"_stopWatchdogTimer",value:function(){B.default.trace("_stopWatchdogTimer"),clearInterval(this._watchTimer)}},{key:"_updateActivityTimestamp",value:function(){B.default.trace("_updateActivityTimestamp"),this._timestamp=Date.now()}}]),t}(L.default);n.default=$,$.state={DISCONNECTED:"disconnected",CONNECTING:"connecting",CONNECTED:"connected",DISCONNECTING:"disconnecting",ERROR:"error",REJECTED:"rejected"},(0,h.default)($.state),(0,h.default)($),t.exports=n.default}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./logger":248,"babel-runtime/core-js/get-iterator":23,"babel-runtime/core-js/json/stringify":25,"babel-runtime/core-js/map":26,"babel-runtime/core-js/object/define-properties":30,"babel-runtime/core-js/object/freeze":32,"babel-runtime/core-js/object/get-prototype-of":33,"babel-runtime/core-js/promise":36,"babel-runtime/helpers/classCallCheck":41,"babel-runtime/helpers/createClass":42,"babel-runtime/helpers/inherits":44,"babel-runtime/helpers/possibleConstructorReturn":45,"babel-runtime/helpers/slicedToArray":46,"babel-runtime/helpers/typeof":47,backoff:49,events:194,"javascript-state-machine":196,uuid:254,ws:61}],251:[function(e,t,n){"function"==typeof Object.create?t.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},{}],252:[function(e,t,n){t.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},{}],253:[function(e,t,n){(function(t,r){function i(e,t){var r={seen:[],stylize:s};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),m(t)?r.showHidden=t:t&&n._extend(r,t),k(r.showHidden)&&(r.showHidden=!1),k(r.depth)&&(r.depth=2),k(r.colors)&&(r.colors=!1),k(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=o),u(r,e,r.depth)}function o(e,t){var n=i.styles[t];return n?"\x1b["+i.colors[n][0]+"m"+e+"\x1b["+i.colors[n][1]+"m":e}function s(e,t){return e}function a(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}function u(e,t,r){if(e.customInspect&&t&&E(t.inspect)&&t.inspect!==n.inspect&&(!t.constructor||t.constructor.prototype!==t)){var i=t.inspect(r,e);return _(i)||(i=u(e,i,r)),i}var o=c(e,t);if(o)return o;var s=Object.keys(t),m=a(s);if(e.showHidden&&(s=Object.getOwnPropertyNames(t)),j(t)&&(s.indexOf("message")>=0||s.indexOf("description")>=0))return l(t);if(0===s.length){if(E(t)){var v=t.name?": "+t.name:"";return e.stylize("[Function"+v+"]","special")}if(w(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(x(t))return e.stylize(Date.prototype.toString.call(t),"date");if(j(t))return l(t)}var b="",y=!1,g=["{","}"];if(p(t)&&(y=!0,g=["[","]"]),E(t)){b=" [Function"+(t.name?": "+t.name:"")+"]"}if(w(t)&&(b=" "+RegExp.prototype.toString.call(t)),x(t)&&(b=" "+Date.prototype.toUTCString.call(t)),j(t)&&(b=" "+l(t)),0===s.length&&(!y||0==t.length))return g[0]+b+g[1];if(r<0)return w(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);var k;return k=y?f(e,t,r,m,s):s.map(function(n){return h(e,t,r,m,n,y)}),e.seen.pop(),d(k,b,g)}function c(e,t){if(k(t))return e.stylize("undefined","undefined");if(_(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return y(t)?e.stylize(""+t,"number"):m(t)?e.stylize(""+t,"boolean"):v(t)?e.stylize("null","null"):void 0}function l(e){return"["+Error.prototype.toString.call(e)+"]"}function f(e,t,n,r,i){for(var o=[],s=0,a=t.length;s-1&&(a=o?a.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+a.split("\n").map(function(e){return" "+e}).join("\n"))):a=e.stylize("[Circular]","special")),k(s)){if(o&&i.match(/^\d+$/))return a;s=JSON.stringify(""+i),s.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+a}function d(e,t,n){var r=0;return e.reduce(function(e,t){return r++,t.indexOf("\n")>=0&&r++,e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}function p(e){return Array.isArray(e)}function m(e){return"boolean"==typeof e}function v(e){return null===e}function b(e){return null==e}function y(e){return"number"==typeof e}function _(e){return"string"==typeof e}function g(e){return"symbol"==typeof e}function k(e){return void 0===e}function w(e){return C(e)&&"[object RegExp]"===T(e)}function C(e){return"object"==typeof e&&null!==e}function x(e){return C(e)&&"[object Date]"===T(e)}function j(e){return C(e)&&("[object Error]"===T(e)||e instanceof Error)}function E(e){return"function"==typeof e}function S(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e}function T(e){return Object.prototype.toString.call(e)}function R(e){return e<10?"0"+e.toString(10):e.toString(10)}function I(){var e=new Date,t=[R(e.getHours()),R(e.getMinutes()),R(e.getSeconds())].join(":");return[e.getDate(),M[e.getMonth()],t].join(" ")}function A(e,t){return Object.prototype.hasOwnProperty.call(e,t)}n.format=function(e){if(!_(e)){for(var t=[],n=0;n=o)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(e){return"[Circular]"}default:return e}}),a=r[n];n>>((3&t)<<3)&255;return o}}t.exports=n}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],257:[function(e,t,n){function r(e,t,n){var r=t&&n||0,i=t||[];e=e||{};var s=void 0!==e.clockseq?e.clockseq:u,f=void 0!==e.msecs?e.msecs:(new Date).getTime(),h=void 0!==e.nsecs?e.nsecs:l+1,d=f-c+(h-l)/1e4;if(d<0&&void 0===e.clockseq&&(s=s+1&16383),(d<0||f>c)&&void 0===e.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");c=f,l=h,u=s,f+=122192928e5;var p=(1e4*(268435455&f)+h)%4294967296;i[r++]=p>>>24&255,i[r++]=p>>>16&255,i[r++]=p>>>8&255,i[r++]=255&p;var m=f/4294967296*1e4&268435455;i[r++]=m>>>8&255,i[r++]=255&m,i[r++]=m>>>24&15|16,i[r++]=m>>>16&255,i[r++]=s>>>8|128,i[r++]=255&s;for(var v=e.node||a,b=0;b<6;++b)i[r+b]=v[b];return t||o(i)}var i=e("./lib/rng"),o=e("./lib/bytesToUuid"),s=i(),a=[1|s[0],s[1],s[2],s[3],s[4],s[5]],u=16383&(s[6]<<8|s[7]),c=0,l=0;t.exports=r},{"./lib/bytesToUuid":255,"./lib/rng":256}],258:[function(e,t,n){function r(e,t,n){var r=t&&n||0;"string"==typeof e&&(t="binary"==e?new Array(16):null,e=null),e=e||{};var s=e.random||(e.rng||i)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,t)for(var a=0;a<16;++a)t[r+a]=s[a];return t||o(s)}var i=e("./lib/rng"),o=e("./lib/bytesToUuid");t.exports=r},{"./lib/bytesToUuid":255,"./lib/rng":256}],259:[function(e,t,n){t.exports={h32:e("./xxhash"),h64:e("./xxhash64")}},{"./xxhash":260,"./xxhash64":261}],260:[function(e,t,n){(function(n){function r(e){for(var t=[],n=0,r=e.length;n>6,128|63&i):i<55296||i>=57344?t.push(224|i>>12,128|i>>6&63,128|63&i):(n++,i=65536+((1023&i)<<10|1023&e.charCodeAt(n)),t.push(240|i>>18,128|i>>12&63,128|i>>6&63,128|63&i))}return new Uint8Array(t)}function i(){return 2==arguments.length?new i(arguments[1]).update(arguments[0]).digest():this instanceof i?void o.call(this,arguments[0]):new i(arguments[0])}function o(e){return this.seed=e instanceof s?e.clone():s(e),this.v1=this.seed.clone().add(a).add(u),this.v2=this.seed.clone().add(u),this.v3=this.seed.clone(),this.v4=this.seed.clone().subtract(a),this.total_len=0,this.memsize=0,this.memory=null,this}/**
xxHash implementation in pure Javascript
Copyright (C) 2013, Pierre Curto
MIT license
*/
var s=e("cuint").UINT32;s.prototype.xxh_update=function(e,t){var n,r,i=u._low,o=u._high;r=e*i,n=r>>>16,n+=t*i,n&=65535,n+=e*o;var s=this._low+(65535&r),c=s>>>16;c+=this._high+(65535&n);var l=c<<16|65535&s;l=l<<13|l>>>19,s=65535&l,c=l>>>16,i=a._low,o=a._high,r=s*i,n=r>>>16,n+=c*i,n&=65535,n+=s*o,this._low=65535&r,this._high=65535&n};var a=s("2654435761"),u=s("2246822519"),c=s("3266489917"),l=s("668265263"),f=s("374761393");i.prototype.init=o,i.prototype.update=function(e){var t,i="string"==typeof e;i&&(e=r(e),i=!1,t=!0),"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&(t=!0,e=new Uint8Array(e));var o=0,s=e.length,a=o+s;if(0==s)return this;if(this.total_len+=s,0==this.memsize&&(this.memory=i?"":t?new Uint8Array(16):new n(16)),this.memsize+s<16)return i?this.memory+=e:t?this.memory.set(e.subarray(0,s),this.memsize):e.copy(this.memory,this.memsize,0,s),this.memsize+=s,this;if(this.memsize>0){i?this.memory+=e.slice(0,16-this.memsize):t?this.memory.set(e.subarray(0,16-this.memsize),this.memsize):e.copy(this.memory,this.memsize,0,16-this.memsize);var u=0;i?(this.v1.xxh_update(this.memory.charCodeAt(u+1)<<8|this.memory.charCodeAt(u),this.memory.charCodeAt(u+3)<<8|this.memory.charCodeAt(u+2)),u+=4,this.v2.xxh_update(this.memory.charCodeAt(u+1)<<8|this.memory.charCodeAt(u),this.memory.charCodeAt(u+3)<<8|this.memory.charCodeAt(u+2)),u+=4,this.v3.xxh_update(this.memory.charCodeAt(u+1)<<8|this.memory.charCodeAt(u),this.memory.charCodeAt(u+3)<<8|this.memory.charCodeAt(u+2)),u+=4,this.v4.xxh_update(this.memory.charCodeAt(u+1)<<8|this.memory.charCodeAt(u),this.memory.charCodeAt(u+3)<<8|this.memory.charCodeAt(u+2))):(this.v1.xxh_update(this.memory[u+1]<<8|this.memory[u],this.memory[u+3]<<8|this.memory[u+2]),u+=4,this.v2.xxh_update(this.memory[u+1]<<8|this.memory[u],this.memory[u+3]<<8|this.memory[u+2]),u+=4,this.v3.xxh_update(this.memory[u+1]<<8|this.memory[u],this.memory[u+3]<<8|this.memory[u+2]),u+=4,this.v4.xxh_update(this.memory[u+1]<<8|this.memory[u],this.memory[u+3]<<8|this.memory[u+2])),o+=16-this.memsize,this.memsize=0,i&&(this.memory="")}if(o<=a-16){var c=a-16;do{i?(this.v1.xxh_update(e.charCodeAt(o+1)<<8|e.charCodeAt(o),e.charCodeAt(o+3)<<8|e.charCodeAt(o+2)),o+=4,this.v2.xxh_update(e.charCodeAt(o+1)<<8|e.charCodeAt(o),e.charCodeAt(o+3)<<8|e.charCodeAt(o+2)),o+=4,this.v3.xxh_update(e.charCodeAt(o+1)<<8|e.charCodeAt(o),e.charCodeAt(o+3)<<8|e.charCodeAt(o+2)),o+=4,this.v4.xxh_update(e.charCodeAt(o+1)<<8|e.charCodeAt(o),e.charCodeAt(o+3)<<8|e.charCodeAt(o+2))):(this.v1.xxh_update(e[o+1]<<8|e[o],e[o+3]<<8|e[o+2]),o+=4,this.v2.xxh_update(e[o+1]<<8|e[o],e[o+3]<<8|e[o+2]),o+=4,this.v3.xxh_update(e[o+1]<<8|e[o],e[o+3]<<8|e[o+2]),o+=4,this.v4.xxh_update(e[o+1]<<8|e[o],e[o+3]<<8|e[o+2])),o+=4}while(o<=c)}return o=16?this.v1.rotl(1).add(this.v2.rotl(7).add(this.v3.rotl(12).add(this.v4.rotl(18)))):this.seed.clone().add(f),e.add(h.fromNumber(this.total_len));i<=o-4;)r?h.fromBits(n.charCodeAt(i+1)<<8|n.charCodeAt(i),n.charCodeAt(i+3)<<8|n.charCodeAt(i+2)):h.fromBits(n[i+1]<<8|n[i],n[i+3]<<8|n[i+2]),e.add(h.multiply(c)).rotl(17).multiply(l),i+=4;for(;i>6,128|63&i):i<55296||i>=57344?t.push(224|i>>12,128|i>>6&63,128|63&i):(n++,i=65536+((1023&i)<<10|1023&e.charCodeAt(n)),t.push(240|i>>18,128|i>>12&63,128|i>>6&63,128|63&i))}return new Uint8Array(t)}function i(){return 2==arguments.length?new i(arguments[1]).update(arguments[0]).digest():this instanceof i?void o.call(this,arguments[0]):new i(arguments[0])}function o(e){return this.seed=e instanceof s?e.clone():s(e),this.v1=this.seed.clone().add(a).add(u),this.v2=this.seed.clone().add(u),this.v3=this.seed.clone(),this.v4=this.seed.clone().subtract(a),this.total_len=0,this.memsize=0,this.memory=null,this}/**
xxHash64 implementation in pure Javascript
Copyright (C) 2016, Pierre Curto
MIT license
*/
var s=e("cuint").UINT64,a=s("11400714785074694791"),u=s("14029467366897019727"),c=s("1609587929392839161"),l=s("9650029242287828579"),f=s("2870177450012600261");i.prototype.init=o,i.prototype.update=function(e){var t,i="string"==typeof e;i&&(e=r(e),i=!1,t=!0),"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&(t=!0,e=new Uint8Array(e));var o=0,c=e.length,l=o+c;if(0==c)return this;if(this.total_len+=c,0==this.memsize&&(this.memory=i?"":t?new Uint8Array(32):new n(32)),this.memsize+c<32)return i?this.memory+=e:t?this.memory.set(e.subarray(0,c),this.memsize):e.copy(this.memory,this.memsize,0,c),this.memsize+=c,this;if(this.memsize>0){i?this.memory+=e.slice(0,32-this.memsize):t?this.memory.set(e.subarray(0,32-this.memsize),this.memsize):e.copy(this.memory,this.memsize,0,32-this.memsize);var f=0;if(i){var h;h=s(this.memory.charCodeAt(f+1)<<8|this.memory.charCodeAt(f),this.memory.charCodeAt(f+3)<<8|this.memory.charCodeAt(f+2),this.memory.charCodeAt(f+5)<<8|this.memory.charCodeAt(f+4),this.memory.charCodeAt(f+7)<<8|this.memory.charCodeAt(f+6)),this.v1.add(h.multiply(u)).rotl(31).multiply(a),f+=8,h=s(this.memory.charCodeAt(f+1)<<8|this.memory.charCodeAt(f),this.memory.charCodeAt(f+3)<<8|this.memory.charCodeAt(f+2),this.memory.charCodeAt(f+5)<<8|this.memory.charCodeAt(f+4),this.memory.charCodeAt(f+7)<<8|this.memory.charCodeAt(f+6)),this.v2.add(h.multiply(u)).rotl(31).multiply(a),f+=8,h=s(this.memory.charCodeAt(f+1)<<8|this.memory.charCodeAt(f),this.memory.charCodeAt(f+3)<<8|this.memory.charCodeAt(f+2),this.memory.charCodeAt(f+5)<<8|this.memory.charCodeAt(f+4),this.memory.charCodeAt(f+7)<<8|this.memory.charCodeAt(f+6)),this.v3.add(h.multiply(u)).rotl(31).multiply(a),f+=8,h=s(this.memory.charCodeAt(f+1)<<8|this.memory.charCodeAt(f),this.memory.charCodeAt(f+3)<<8|this.memory.charCodeAt(f+2),this.memory.charCodeAt(f+5)<<8|this.memory.charCodeAt(f+4),this.memory.charCodeAt(f+7)<<8|this.memory.charCodeAt(f+6)),this.v4.add(h.multiply(u)).rotl(31).multiply(a)}else{var h;h=s(this.memory[f+1]<<8|this.memory[f],this.memory[f+3]<<8|this.memory[f+2],this.memory[f+5]<<8|this.memory[f+4],this.memory[f+7]<<8|this.memory[f+6]),this.v1.add(h.multiply(u)).rotl(31).multiply(a),f+=8,h=s(this.memory[f+1]<<8|this.memory[f],this.memory[f+3]<<8|this.memory[f+2],this.memory[f+5]<<8|this.memory[f+4],this.memory[f+7]<<8|this.memory[f+6]),this.v2.add(h.multiply(u)).rotl(31).multiply(a),f+=8,h=s(this.memory[f+1]<<8|this.memory[f],this.memory[f+3]<<8|this.memory[f+2],this.memory[f+5]<<8|this.memory[f+4],this.memory[f+7]<<8|this.memory[f+6]),this.v3.add(h.multiply(u)).rotl(31).multiply(a),f+=8,h=s(this.memory[f+1]<<8|this.memory[f],this.memory[f+3]<<8|this.memory[f+2],this.memory[f+5]<<8|this.memory[f+4],this.memory[f+7]<<8|this.memory[f+6]),this.v4.add(h.multiply(u)).rotl(31).multiply(a)}o+=32-this.memsize,this.memsize=0,i&&(this.memory="")}if(o<=l-32){var d=l-32;do{if(i){var h;h=s(e.charCodeAt(o+1)<<8|e.charCodeAt(o),e.charCodeAt(o+3)<<8|e.charCodeAt(o+2),e.charCodeAt(o+5)<<8|e.charCodeAt(o+4),e.charCodeAt(o+7)<<8|e.charCodeAt(o+6)),this.v1.add(h.multiply(u)).rotl(31).multiply(a),o+=8,h=s(e.charCodeAt(o+1)<<8|e.charCodeAt(o),e.charCodeAt(o+3)<<8|e.charCodeAt(o+2),e.charCodeAt(o+5)<<8|e.charCodeAt(o+4),e.charCodeAt(o+7)<<8|e.charCodeAt(o+6)),this.v2.add(h.multiply(u)).rotl(31).multiply(a),o+=8,h=s(e.charCodeAt(o+1)<<8|e.charCodeAt(o),e.charCodeAt(o+3)<<8|e.charCodeAt(o+2),e.charCodeAt(o+5)<<8|e.charCodeAt(o+4),e.charCodeAt(o+7)<<8|e.charCodeAt(o+6)),this.v3.add(h.multiply(u)).rotl(31).multiply(a),o+=8,h=s(e.charCodeAt(o+1)<<8|e.charCodeAt(o),e.charCodeAt(o+3)<<8|e.charCodeAt(o+2),e.charCodeAt(o+5)<<8|e.charCodeAt(o+4),e.charCodeAt(o+7)<<8|e.charCodeAt(o+6)),this.v4.add(h.multiply(u)).rotl(31).multiply(a)}else{var h;h=s(e[o+1]<<8|e[o],e[o+3]<<8|e[o+2],e[o+5]<<8|e[o+4],e[o+7]<<8|e[o+6]),this.v1.add(h.multiply(u)).rotl(31).multiply(a),o+=8,h=s(e[o+1]<<8|e[o],e[o+3]<<8|e[o+2],e[o+5]<<8|e[o+4],e[o+7]<<8|e[o+6]),this.v2.add(h.multiply(u)).rotl(31).multiply(a),o+=8,h=s(e[o+1]<<8|e[o],e[o+3]<<8|e[o+2],e[o+5]<<8|e[o+4],e[o+7]<<8|e[o+6]),this.v3.add(h.multiply(u)).rotl(31).multiply(a),o+=8,h=s(e[o+1]<<8|e[o],e[o+3]<<8|e[o+2],e[o+5]<<8|e[o+4],e[o+7]<<8|e[o+6]),this.v4.add(h.multiply(u)).rotl(31).multiply(a)}o+=8}while(o<=d)}return o=32?(e=this.v1.clone().rotl(1),e.add(this.v2.clone().rotl(7)),e.add(this.v3.clone().rotl(12)),e.add(this.v4.clone().rotl(18)),e.xor(this.v1.multiply(u).rotl(31).multiply(a)),e.multiply(a).add(l),e.xor(this.v2.multiply(u).rotl(31).multiply(a)),e.multiply(a).add(l),e.xor(this.v3.multiply(u).rotl(31).multiply(a)),e.multiply(a).add(l),e.xor(this.v4.multiply(u).rotl(31).multiply(a)),e.multiply(a).add(l)):e=this.seed.clone().add(f),e.add(h.fromNumber(this.total_len));i<=o-8;)r?h.fromBits(n.charCodeAt(i+1)<<8|n.charCodeAt(i),n.charCodeAt(i+3)<<8|n.charCodeAt(i+2),n.charCodeAt(i+5)<<8|n.charCodeAt(i+4),n.charCodeAt(i+7)<<8|n.charCodeAt(i+6)):h.fromBits(n[i+1]<<8|n[i],n[i+3]<<8|n[i+2],n[i+5]<<8|n[i+4],n[i+7]<<8|n[i+6]),h.multiply(u).rotl(31).multiply(a),e.xor(h).rotl(27).multiply(a).add(l),i+=8;for(i+4<=o&&(r?h.fromBits(n.charCodeAt(i+1)<<8|n.charCodeAt(i),n.charCodeAt(i+3)<<8|n.charCodeAt(i+2),0,0):h.fromBits(n[i+1]<<8|n[i],n[i+3]<<8|n[i+2],0,0),e.xor(h.multiply(a)).rotl(23).multiply(u).add(c),i+=4);i=6"}}},{}]},{},[3])(3)});