From 0f0733fe66037a1ee101bda3fa79a0c62c85ec1a Mon Sep 17 00:00:00 2001 From: Mike Griffith Date: Thu, 11 May 2017 20:12:42 -0400 Subject: [PATCH] add shortcut for initializing player with metrics service already attached. bump to v1.1.0 --- README.md | 22 ++++++++------------- dist/boxcast-sdk-tvos.js | 2 +- dist/boxcast-sdk-tvos.js.gz | Bin 26924 -> 27290 bytes package.json | 2 +- src/BoxCastPlayer.js | 37 ++++++++++++++++++++++++++++++++++++ src/index.js | 1 + tests/index.spec.js | 5 +++-- tests/player.spec.js | 24 +++++++++++++++++++++++ 8 files changed, 75 insertions(+), 18 deletions(-) create mode 100644 src/BoxCastPlayer.js create mode 100644 tests/player.spec.js diff --git a/README.md b/README.md index 8e23419..92d984d 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ npm install boxcast-sdk-tvos --save Import the module and initialize constants ``` -import { BoxCastData, BoxCastPlayerMetrics } from 'boxcast-sdk-tvos'; +import { BoxCastData, BoxCastPlayer } from 'boxcast-sdk-tvos'; const YOUR_CHANNEL_ID = ' TODO: fill in from dashboard '; const YOUR_APP_NAME = ' TODO: unique identifier used for analytics '; @@ -42,20 +42,13 @@ api.getArchivedBroadcasts(YOUR_CHANNEL_ID).then((broadcasts) => { }); ``` -When ready to watch a broadcast, grab the "view" that will contain a playlist for live or on-demand content. Note: the `view.playlist` will not exist for future content or for broadcasts that were missed. +When ready to watch a broadcast, simply initialize a player for the broadcast and call the `present` +method, which will request the playlist from the BoxCast API and present a native tvOS player if available. ``` -api.getBroadcastView(broadcast.id).then((view) => { - var player = new Player(), - playlist = new Playlist(), - mediaItem = new MediaItem("video", view.playlist); - player.playlist = playlist; - player.playlist.push(mediaItem); - - var metrics = new BoxCastPlayerMetrics(broadcast, view, {HOSTNAME: YOUR_APP_NAME}); - metrics.attach(player); - - player.present(); -}); +var player = new BoxCastPlayer(broadcast, {HOSTNAME: YOUR_APP_NAME}); +player.present() + .then((tvOSPlayerInstance) => { ... }) + .catch((errorMessage) => { ... }); ``` The SDK also exposes vendor libraries (Bluebird Promise polyfill, fetch polyfill) for your use as needed. @@ -71,3 +64,4 @@ const { Promise, fetch } = vendor; ## Changelog * v1.0.0: Initial version +* v1.1.0: Add shortcut for initializing Player for broadcast with metrics service already attached diff --git a/dist/boxcast-sdk-tvos.js b/dist/boxcast-sdk-tvos.js index fe233e4..e0db915 100644 --- a/dist/boxcast-sdk-tvos.js +++ b/dist/boxcast-sdk-tvos.js @@ -1 +1 @@ -!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var n=e();for(var r in n)("object"==typeof exports?exports:t)[r]=n[r]}}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=8)}([function(t,e,n){"use strict";function r(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function i(t){return"string"!=typeof t&&(t=String(t)),t}function o(t){this.map={},t instanceof o?t.forEach(function(t,e){this.append(e,t)},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function s(t){if(t.bodyUsed)return y.a.reject(new TypeError("Already read"));t.bodyUsed=!0}function a(t){return new y.a(function(e,n){t.onload=function(){e(t.result)},t.onerror=function(){n(t.error)}})}function c(t){var e=new FileReader;return e.readAsArrayBuffer(t),a(e)}function u(t){var e=new FileReader;return e.readAsText(t),a(e)}function l(){return this.bodyUsed=!1,this._initBody=function(t){if(this._bodyInit=t,"string"==typeof t)this._bodyText=t;else if(g.blob&&Blob.prototype.isPrototypeOf(t))this._bodyBlob=t;else if(g.formData&&FormData.prototype.isPrototypeOf(t))this._bodyFormData=t;else if(t){if(!g.arrayBuffer||!ArrayBuffer.prototype.isPrototypeOf(t))throw new Error("unsupported BodyInit type")}else this._bodyText="";this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type&&this.headers.set("content-type",this._bodyBlob.type))},g.blob?(this.blob=function(){var t=s(this);if(t)return t;if(this._bodyBlob)return y.a.resolve(this._bodyBlob);if(this._bodyFormData)throw new Error("could not read FormData body as blob");return y.a.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this.blob().then(c)},this.text=function(){var t=s(this);if(t)return t;if(this._bodyBlob)return u(this._bodyBlob);if(this._bodyFormData)throw new Error("could not read FormData body as text");return y.a.resolve(this._bodyText)}):this.text=function(){var t=s(this);return t||y.a.resolve(this._bodyText)},g.formData&&(this.formData=function(){return this.text().then(p)}),this.json=function(){return this.text().then(JSON.parse)},this}function h(t){var e=t.toUpperCase();return b.indexOf(e)>-1?e:t}function f(t,e){e=e||{};var n=e.body;if(f.prototype.isPrototypeOf(t)){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new o(t.headers)),this.method=t.method,this.mode=t.mode,n||(n=t._bodyInit,t.bodyUsed=!0)}else this.url=t;if(this.credentials=e.credentials||this.credentials||"omit",!e.headers&&this.headers||(this.headers=new o(e.headers)),this.method=h(e.method||this.method||"GET"),this.mode=e.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(n)}function p(t){var e=new FormData;return t.trim().split("&").forEach(function(t){if(t){var n=t.split("="),r=n.shift().replace(/\+/g," "),i=n.join("=").replace(/\+/g," ");e.append(decodeURIComponent(r),decodeURIComponent(i))}}),e}function d(t){var e=new o;return t.getAllResponseHeaders().trim().split("\n").forEach(function(t){var n=t.trim().split(":"),r=n.shift().trim(),i=n.join(":").trim();e.append(r,i)}),e}function _(t,e){e||(e={}),this.type="default",this.status=e.status,this.ok=this.status>=200&&this.status<300,this.statusText=e.statusText,this.headers=e.headers instanceof o?e.headers:new o(e.headers),this.url=e.url||"",this._initBody(t)}var v=n(1),y=n.n(v),m={};o.prototype.append=function(t,e){t=r(t),e=i(e);var n=this.map[t];n||(n=[],this.map[t]=n),n.push(e)},o.prototype.delete=function(t){delete this.map[r(t)]},o.prototype.get=function(t){var e=this.map[r(t)];return e?e[0]:null},o.prototype.getAll=function(t){return this.map[r(t)]||[]},o.prototype.has=function(t){return this.map.hasOwnProperty(r(t))},o.prototype.set=function(t,e){this.map[r(t)]=[i(e)]},o.prototype.forEach=function(t,e){Object.getOwnPropertyNames(this.map).forEach(function(n){this.map[n].forEach(function(r){t.call(e,r,n,this)},this)},this)};var g={blob:"FileReader"in m&&"Blob"in m&&function(){try{return new Blob,!0}catch(t){return!1}}(),formData:"FormData"in m,arrayBuffer:"ArrayBuffer"in m},b=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];f.prototype.clone=function(){return new f(this)},l.call(f.prototype),l.call(_.prototype),_.prototype.clone=function(){return new _(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new o(this.headers),url:this.url})},_.error=function(){var t=new _(null,{status:0,statusText:""});return t.type="error",t};var w=[301,302,303,307,308];_.redirect=function(t,e){if(-1===w.indexOf(e))throw new RangeError("Invalid status code");return new _(null,{status:e,headers:{location:t}})},m.Headers=o,m.Request=f,m.Response=_,m.fetch=function(t,e){return new y.a(function(n,r){function i(){return"responseURL"in s?s.responseURL:/^X-Request-URL:/m.test(s.getAllResponseHeaders())?s.getResponseHeader("X-Request-URL"):void 0}var o;o=f.prototype.isPrototypeOf(t)&&!e?t:new f(t,e);var s=new XMLHttpRequest;s.onreadystatechange=function(){if(4===s.readyState){var t=1223===s.status?204:s.status;if(t<100||t>599)return void r(new TypeError("Network request failed"));var e={status:t,statusText:s.statusText,headers:d(s),url:i()},o="response"in s?s.response:s.responseText;n(new _(o,e))}},s.onerror=function(){r(new TypeError("Network request failed"))},s.onabort=function(){r(new TypeError("Network request aborted"))},s.ontimeout=function(){r(new TypeError("Network request timed out"))},s.open(o.method,o.url,!0),"include"===o.credentials&&(s.withCredentials=!0),"responseType"in s&&g.blob&&(s.responseType="blob"),o.headers.forEach(function(t,e){s.setRequestHeader(e,t)}),s.send(void 0===o._bodyInit?null:o._bodyInit)})},e.a=m.fetch},function(t,e,n){(function(e,r,i){!function(e){t.exports=e()}(function(){var t,o,s;return function t(e,n,r){function i(s,a){if(!n[s]){if(!e[s]){var c="function"==typeof _dereq_&&_dereq_;if(!a&&c)return c(s,!0);if(o)return o(s,!0);var u=new Error("Cannot find module '"+s+"'");throw u.code="MODULE_NOT_FOUND",u}var l=n[s]={exports:{}};e[s][0].call(l.exports,function(t){var n=e[s][1][t];return i(n||t)},l,l.exports,t,e,n,r)}return n[s].exports}for(var o="function"==typeof _dereq_&&_dereq_,s=0;s0;){var e=t.shift();if("function"==typeof e){var n=t.shift(),r=t.shift();e.call(n,r)}else e._settlePromises()}},i.prototype._drainQueues=function(){this._drainQueue(this._normalQueue),this._reset(),this._haveDrainedQueues=!0,this._drainQueue(this._lateQueue)},i.prototype._queueTick=function(){this._isTickUsed||(this._isTickUsed=!0,this._schedule(this.drainQueues))},i.prototype._reset=function(){this._isTickUsed=!1},n.exports=i,n.exports.firstLineError=c},{"./queue":26,"./schedule":29,"./util":36}],3:[function(t,e,n){"use strict";e.exports=function(t,e,n,r){var i=!1,o=function(t,e){this._reject(e)},s=function(t,e){e.promiseRejectionQueued=!0,e.bindingPromise._then(o,o,null,this,t)},a=function(t,e){0==(50397184&this._bitField)&&this._resolveCallback(e.target)},c=function(t,e){e.promiseRejectionQueued||this._reject(t)};t.prototype.bind=function(o){i||(i=!0,t.prototype._propagateFrom=r.propagateFromFunction(),t.prototype._boundValue=r.boundValueFunction());var u=n(o),l=new t(e);l._propagateFrom(this,1);var h=this._target();if(l._setBoundTo(u),u instanceof t){var f={promiseRejectionQueued:!1,promise:l,target:h,bindingPromise:u};h._then(e,s,void 0,l,f),u._then(a,c,void 0,l,f),l._setOnCancel(u)}else l._resolveCallback(h);return l},t.prototype._setBoundTo=function(t){void 0!==t?(this._bitField=2097152|this._bitField,this._boundTo=t):this._bitField=-2097153&this._bitField},t.prototype._isBound=function(){return 2097152==(2097152&this._bitField)},t.bind=function(e,n){return t.resolve(n).bind(e)}}},{}],4:[function(t,e,n){"use strict";function r(){try{Promise===o&&(Promise=i)}catch(t){}return o}var i;"undefined"!=typeof Promise&&(i=Promise);var o=t("./promise")();o.noConflict=r,e.exports=o},{"./promise":22}],5:[function(t,e,n){"use strict";var r=Object.create;if(r){var i=r(null),o=r(null);i[" size"]=o[" size"]=0}e.exports=function(e){function n(t,n){var r;if(null!=t&&(r=t[n]),"function"!=typeof r){var i="Object "+a.classString(t)+" has no method '"+a.toString(n)+"'";throw new e.TypeError(i)}return r}function r(t){return n(t,this.pop()).apply(t,this)}function i(t){return t[this]}function o(t){var e=+this;return e<0&&(e=Math.max(0,e+t.length)),t[e]}var s,a=t("./util"),c=a.canEvaluate;a.isIdentifier;e.prototype.call=function(t){var e=[].slice.call(arguments,1);return e.push(t),this._then(r,void 0,void 0,e,void 0)},e.prototype.get=function(t){var e,n="number"==typeof t;if(n)e=o;else if(c){var r=s(t);e=null!==r?r:i}else e=i;return this._then(e,void 0,void 0,t,void 0)}}},{"./util":36}],6:[function(t,e,n){"use strict";e.exports=function(e,n,r,i){var o=t("./util"),s=o.tryCatch,a=o.errorObj,c=e._async;e.prototype.break=e.prototype.cancel=function(){if(!i.cancellation())return this._warn("cancellation is disabled");for(var t=this,e=t;t._isCancellable();){if(!t._cancelBy(e)){e._isFollowing()?e._followee().cancel():e._cancelBranched();break}var n=t._cancellationParent;if(null==n||!n._isCancellable()){t._isFollowing()?t._followee().cancel():t._cancelBranched();break}t._isFollowing()&&t._followee().cancel(),t._setWillBeCancelled(),e=t,t=n}},e.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--},e.prototype._enoughBranchesHaveCancelled=function(){return void 0===this._branchesRemainingToCancel||this._branchesRemainingToCancel<=0},e.prototype._cancelBy=function(t){return t===this?(this._branchesRemainingToCancel=0,this._invokeOnCancel(),!0):(this._branchHasCancelled(),!!this._enoughBranchesHaveCancelled()&&(this._invokeOnCancel(),!0))},e.prototype._cancelBranched=function(){this._enoughBranchesHaveCancelled()&&this._cancel()},e.prototype._cancel=function(){this._isCancellable()&&(this._setCancelled(),c.invoke(this._cancelPromises,this,void 0))},e.prototype._cancelPromises=function(){this._length()>0&&this._settlePromises()},e.prototype._unsetOnCancel=function(){this._onCancelField=void 0},e.prototype._isCancellable=function(){return this.isPending()&&!this._isCancelled()},e.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()},e.prototype._doInvokeOnCancel=function(t,e){if(o.isArray(t))for(var n=0;n=0)return o[t]}var i=!1,o=[];return t.prototype._promiseCreated=function(){},t.prototype._pushContext=function(){},t.prototype._popContext=function(){return null},t._peekContext=t.prototype._peekContext=function(){},e.prototype._pushContext=function(){void 0!==this._trace&&(this._trace._promiseCreated=null,o.push(this._trace))},e.prototype._popContext=function(){if(void 0!==this._trace){var t=o.pop(),e=t._promiseCreated;return t._promiseCreated=null,e}return null},e.CapturedTrace=null,e.create=n,e.deactivateLongStackTraces=function(){},e.activateLongStackTraces=function(){var n=t.prototype._pushContext,o=t.prototype._popContext,s=t._peekContext,a=t.prototype._peekContext,c=t.prototype._promiseCreated;e.deactivateLongStackTraces=function(){t.prototype._pushContext=n,t.prototype._popContext=o,t._peekContext=s,t.prototype._peekContext=a,t.prototype._promiseCreated=c,i=!1},i=!0,t.prototype._pushContext=e.prototype._pushContext,t.prototype._popContext=e.prototype._popContext,t._peekContext=t.prototype._peekContext=r,t.prototype._promiseCreated=function(){var t=this._peekContext();t&&null==t._promiseCreated&&(t._promiseCreated=this)}},e}},{}],9:[function(t,n,r){"use strict";n.exports=function(n,r){function i(t,e){return{promise:e}}function o(){return!1}function s(t,e,n){var r=this;try{t(e,n,function(t){if("function"!=typeof t)throw new TypeError("onCancel must be a function, got: "+U.toString(t));r._attachCancellationCallback(t)})}catch(t){return t}}function a(t){if(!this._isCancellable())return this;var e=this._onCancel();void 0!==e?U.isArray(e)?e.push(t):this._setOnCancel([e,t]):this._setOnCancel(t)}function c(){return this._onCancelField}function u(t){this._onCancelField=t}function l(){this._cancellationParent=void 0,this._onCancelField=void 0}function h(t,e){if(0!=(1&e)){this._cancellationParent=t;var n=t._branchesRemainingToCancel;void 0===n&&(n=0),t._branchesRemainingToCancel=n+1}0!=(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}function f(t,e){0!=(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}function p(){var t=this._boundTo;return void 0!==t&&t instanceof n?t.isFulfilled()?t.value():void 0:t}function d(){this._trace=new S(this._peekContext())}function _(t,e){if(N(t)){var n=this._trace;if(void 0!==n&&e&&(n=n._parent),void 0!==n)n.attachExtraTrace(t);else if(!t.__stackCleaned__){var r=j(t);U.notEnumerableProp(t,"stack",r.message+"\n"+r.stack.join("\n")),U.notEnumerableProp(t,"__stackCleaned__",!0)}}}function v(t,e,n,r,i){if(void 0===t&&null!==e&&K){if(void 0!==i&&i._returnedNonUndefined())return;if(0==(65535&r._bitField))return;n&&(n+=" ");var o="",s="";if(e._trace){for(var a=e._trace.stack.split("\n"),c=C(a),u=c.length-1;u>=0;--u){var l=c[u];if(!M.test(l)){var h=l.match(q);h&&(o="at "+h[1]+":"+h[2]+":"+h[3]+" ");break}}if(c.length>0)for(var f=c[0],u=0;u0&&(s="\n"+a[u-1]);break}}var p="a promise was created in a "+n+"handler "+o+"but was not returned from it, see http://goo.gl/rRqMUw"+s;r._warn(p,!0,e)}}function y(t,e){var n=t+" is deprecated and will be removed in a future version.";return e&&(n+=" Use "+e+" instead."),m(n)}function m(t,e,r){if(st.warnings){var i,o=new V(t);if(e)r._attachExtraTrace(o);else if(st.longStackTraces&&(i=n._peekContext()))i.attachExtraTrace(o);else{var s=j(o);o.stack=s.message+"\n"+s.stack.join("\n")}et("warning",o)||T(o,"",!0)}}function g(t,e){for(var n=0;n=0;--a)if(r[a]===o){s=a;break}for(var a=s;a>=0;--a){var c=r[a];if(e[i]!==c)break;e.pop(),i--}e=r}}function C(t){for(var e=[],n=0;n0&&"SyntaxError"!=t.name&&(e=e.slice(n)),e}function j(t){var e=t.stack,n=t.toString();return e="string"==typeof e&&e.length>0?E(t):[" (No stack trace)"],{message:n,stack:"SyntaxError"==t.name?e:C(e)}}function T(t,e,n){if("undefined"!=typeof console){var r;if(U.isObject(t)){var i=t.stack;r=e+Q(i,t)}else r=e+String(t);"function"==typeof I?I(r,n):"function"!=typeof console.log&&"object"!=typeof console.log||console.log(r)}}function k(t,e,n,r){var i=!1;try{"function"==typeof e&&(i=!0,"rejectionHandled"===t?e(r):e(n,r))}catch(t){L.throwLater(t)}"unhandledRejection"===t?et(t,n,r)||i||T(n,"Unhandled rejection "):et(t,r)}function F(t){var e;if("function"==typeof t)e="[function "+(t.name||"anonymous")+"]";else{e=t&&"function"==typeof t.toString?t.toString():U.toString(t);if(/\[object [a-zA-Z0-9$_]+\]/.test(e))try{e=JSON.stringify(t)}catch(t){}0===e.length&&(e="(empty array)")}return"(<"+x(e)+">, no stack trace)"}function x(t){return t.length<41?t:t.substr(0,38)+"..."}function P(){return"function"==typeof ot}function O(t){var e=t.match(it);if(e)return{fileName:e[1],line:parseInt(e[2],10)}}function R(t,e){if(P()){for(var n,r,i=t.stack.split("\n"),o=e.stack.split("\n"),s=-1,a=-1,c=0;c=a||(rt=function(t){if(H.test(t))return!0;var e=O(t);return!!(e&&e.fileName===n&&s<=e.line&&e.line<=a)})}}function S(t){this._parent=t,this._promisesCreated=0;var e=this._length=1+(void 0===t?0:t._length);ot(this,S),e>32&&this.uncycle()}var A,D,I,B=n._getDomain,L=n._async,V=t("./errors").Warning,U=t("./util"),N=U.canAttachTrace,H=/[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/,M=/\((?:timers\.js):\d+:\d+\)/,q=/[\/<\(](.+?):(\d+):(\d+)\)?\s*$/,$=null,Q=null,G=!1,W=!(0==U.env("BLUEBIRD_DEBUG")),X=!(0==U.env("BLUEBIRD_WARNINGS")||!W&&!U.env("BLUEBIRD_WARNINGS")),z=!(0==U.env("BLUEBIRD_LONG_STACK_TRACES")||!W&&!U.env("BLUEBIRD_LONG_STACK_TRACES")),K=0!=U.env("BLUEBIRD_W_FORGOTTEN_RETURN")&&(X||!!U.env("BLUEBIRD_W_FORGOTTEN_RETURN"));n.prototype.suppressUnhandledRejections=function(){var t=this._target();t._bitField=-1048577&t._bitField|524288},n.prototype._ensurePossibleRejectionHandled=function(){0==(524288&this._bitField)&&(this._setRejectionIsUnhandled(),L.invokeLater(this._notifyUnhandledRejection,this,void 0))},n.prototype._notifyUnhandledRejectionIsHandled=function(){k("rejectionHandled",A,void 0,this)},n.prototype._setReturnedNonUndefined=function(){this._bitField=268435456|this._bitField},n.prototype._returnedNonUndefined=function(){return 0!=(268435456&this._bitField)},n.prototype._notifyUnhandledRejection=function(){if(this._isRejectionUnhandled()){var t=this._settledValue();this._setUnhandledRejectionIsNotified(),k("unhandledRejection",D,t,this)}},n.prototype._setUnhandledRejectionIsNotified=function(){this._bitField=262144|this._bitField},n.prototype._unsetUnhandledRejectionIsNotified=function(){this._bitField=-262145&this._bitField},n.prototype._isUnhandledRejectionNotified=function(){return(262144&this._bitField)>0},n.prototype._setRejectionIsUnhandled=function(){this._bitField=1048576|this._bitField},n.prototype._unsetRejectionIsUnhandled=function(){this._bitField=-1048577&this._bitField,this._isUnhandledRejectionNotified()&&(this._unsetUnhandledRejectionIsNotified(),this._notifyUnhandledRejectionIsHandled())},n.prototype._isRejectionUnhandled=function(){return(1048576&this._bitField)>0},n.prototype._warn=function(t,e,n){return m(t,e,n||this)},n.onPossiblyUnhandledRejection=function(t){var e=B();D="function"==typeof t?null===e?t:U.domainBind(e,t):void 0},n.onUnhandledRejectionHandled=function(t){var e=B();A="function"==typeof t?null===e?t:U.domainBind(e,t):void 0};var J=function(){};n.longStackTraces=function(){if(L.haveItemsQueued()&&!st.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");if(!st.longStackTraces&&P()){var t=n.prototype._captureStackTrace,e=n.prototype._attachExtraTrace;st.longStackTraces=!0,J=function(){if(L.haveItemsQueued()&&!st.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");n.prototype._captureStackTrace=t,n.prototype._attachExtraTrace=e,r.deactivateLongStackTraces(),L.enableTrampoline(),st.longStackTraces=!1},n.prototype._captureStackTrace=d,n.prototype._attachExtraTrace=_,r.activateLongStackTraces(),L.disableTrampolineIfNecessary()}},n.hasLongStackTraces=function(){return st.longStackTraces&&P()};var Y=function(){try{if("function"==typeof CustomEvent){var t=new CustomEvent("CustomEvent");return U.global.dispatchEvent(t),function(t,e){var n=new CustomEvent(t.toLowerCase(),{detail:e,cancelable:!0});return!U.global.dispatchEvent(n)}}if("function"==typeof Event){var t=new Event("CustomEvent");return U.global.dispatchEvent(t),function(t,e){var n=new Event(t.toLowerCase(),{cancelable:!0});return n.detail=e,!U.global.dispatchEvent(n)}}var t=document.createEvent("CustomEvent");return t.initCustomEvent("testingtheevent",!1,!0,{}),U.global.dispatchEvent(t),function(t,e){var n=document.createEvent("CustomEvent");return n.initCustomEvent(t.toLowerCase(),!1,!0,e),!U.global.dispatchEvent(n)}}catch(t){}return function(){return!1}}(),Z=function(){return U.isNode?function(){return e.emit.apply(e,arguments)}:U.global?function(t){var e="on"+t.toLowerCase(),n=U.global[e];return!!n&&(n.apply(U.global,[].slice.call(arguments,1)),!0)}:function(){return!1}}(),tt={promiseCreated:i,promiseFulfilled:i,promiseRejected:i,promiseResolved:i,promiseCancelled:i,promiseChained:function(t,e,n){return{promise:e,child:n}},warning:function(t,e){return{warning:e}},unhandledRejection:function(t,e,n){return{reason:e,promise:n}},rejectionHandled:i},et=function(t){var e=!1;try{e=Z.apply(null,arguments)}catch(t){L.throwLater(t),e=!0}var n=!1;try{n=Y(t,tt[t].apply(null,arguments))}catch(t){L.throwLater(t),n=!0}return n||e};n.config=function(t){if(t=Object(t),"longStackTraces"in t&&(t.longStackTraces?n.longStackTraces():!t.longStackTraces&&n.hasLongStackTraces()&&J()),"warnings"in t){var e=t.warnings;st.warnings=!!e,K=st.warnings,U.isObject(e)&&"wForgottenReturn"in e&&(K=!!e.wForgottenReturn)}if("cancellation"in t&&t.cancellation&&!st.cancellation){if(L.haveItemsQueued())throw new Error("cannot enable cancellation after promises are in use");n.prototype._clearCancellationData=l,n.prototype._propagateFrom=h,n.prototype._onCancel=c,n.prototype._setOnCancel=u,n.prototype._attachCancellationCallback=a,n.prototype._execute=s,nt=h,st.cancellation=!0}return"monitoring"in t&&(t.monitoring&&!st.monitoring?(st.monitoring=!0,n.prototype._fireEvent=et):!t.monitoring&&st.monitoring&&(st.monitoring=!1,n.prototype._fireEvent=o)),n},n.prototype._fireEvent=o,n.prototype._execute=function(t,e,n){try{t(e,n)}catch(t){return t}},n.prototype._onCancel=function(){},n.prototype._setOnCancel=function(t){},n.prototype._attachCancellationCallback=function(t){},n.prototype._captureStackTrace=function(){},n.prototype._attachExtraTrace=function(){},n.prototype._clearCancellationData=function(){},n.prototype._propagateFrom=function(t,e){};var nt=f,rt=function(){return!1},it=/[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/;U.inherits(S,Error),r.CapturedTrace=S,S.prototype.uncycle=function(){var t=this._length;if(!(t<2)){for(var e=[],n={},r=0,i=this;void 0!==i;++r)e.push(i),i=i._parent;t=this._length=r;for(var r=t-1;r>=0;--r){var o=e[r].stack;void 0===n[o]&&(n[o]=r)}for(var r=0;r0&&(e[a-1]._parent=void 0,e[a-1]._length=1),e[r]._parent=void 0,e[r]._length=1;var c=r>0?e[r-1]:this;a=0;--l)e[l]._length=u,u++;return}}}},S.prototype.attachExtraTrace=function(t){if(!t.__stackCleaned__){this.uncycle();for(var e=j(t),n=e.message,r=[e.stack],i=this;void 0!==i;)r.push(C(i.stack.split("\n"))),i=i._parent;w(r),b(r),U.notEnumerableProp(t,"stack",g(n,r)),U.notEnumerableProp(t,"__stackCleaned__",!0)}};var ot=function(){var t=function(t,e){return"string"==typeof t?t:void 0!==e.name&&void 0!==e.message?e.toString():F(e)};if("number"==typeof Error.stackTraceLimit&&"function"==typeof Error.captureStackTrace){Error.stackTraceLimit+=6,$=/^\s*at\s*/,Q=t;var e=Error.captureStackTrace;return rt=function(t){return H.test(t)},function(t,n){Error.stackTraceLimit+=6,e(t,n),Error.stackTraceLimit-=6}}var n=new Error;if("string"==typeof n.stack&&n.stack.split("\n")[0].indexOf("stackDetection@")>=0)return $=/@/,Q=t,G=!0,function(t){t.stack=(new Error).stack};var r;try{throw new Error}catch(t){r="stack"in t}return"stack"in n||!r||"number"!=typeof Error.stackTraceLimit?(Q=function(t,e){return"string"==typeof t?t:"object"!=typeof e&&"function"!=typeof e||void 0===e.name||void 0===e.message?F(e):e.toString()},null):($=/^\s*at\s*/,Q=t,function(t){Error.stackTraceLimit+=6;try{throw new Error}catch(e){t.stack=e.stack}Error.stackTraceLimit-=6})}();"undefined"!=typeof console&&void 0!==console.warn&&(I=function(t){console.warn(t)},U.isNode&&e.stderr.isTTY?I=function(t,e){var n=e?"":"";console.warn(n+t+"\n")}:U.isNode||"string"!=typeof(new Error).stack||(I=function(t,e){console.warn("%c"+t,e?"color: darkorange":"color: red")}));var st={warnings:X,longStackTraces:!1,cancellation:!1,monitoring:!1};return z&&n.longStackTraces(),{longStackTraces:function(){return st.longStackTraces},warnings:function(){return st.warnings},cancellation:function(){return st.cancellation},monitoring:function(){return st.monitoring},propagateFromFunction:function(){return nt},boundValueFunction:function(){return p},checkForgottenReturns:v,setBounds:R,warn:m,deprecated:y,CapturedTrace:S,fireDomEvent:Y,fireGlobalEvent:Z}}},{"./errors":12,"./util":36}],10:[function(t,e,n){"use strict";e.exports=function(t){function e(){return this.value}function n(){throw this.reason}t.prototype.return=t.prototype.thenReturn=function(n){return n instanceof t&&n.suppressUnhandledRejections(),this._then(e,void 0,void 0,{value:n},void 0)},t.prototype.throw=t.prototype.thenThrow=function(t){return this._then(n,void 0,void 0,{reason:t},void 0)},t.prototype.catchThrow=function(t){if(arguments.length<=1)return this._then(void 0,n,void 0,{reason:t},void 0);var e=arguments[1],r=function(){throw e};return this.caught(t,r)},t.prototype.catchReturn=function(n){if(arguments.length<=1)return n instanceof t&&n.suppressUnhandledRejections(),this._then(void 0,e,void 0,{value:n},void 0);var r=arguments[1];r instanceof t&&r.suppressUnhandledRejections();var i=function(){return r};return this.caught(n,i)}}},{}],11:[function(t,e,n){"use strict";e.exports=function(t,e){function n(){return o(this)}function r(t,n){return i(t,n,e,e)}var i=t.reduce,o=t.all;t.prototype.each=function(t){return i(this,t,e,0)._then(n,void 0,void 0,this,void 0)},t.prototype.mapSeries=function(t){return i(this,t,e,e)},t.each=function(t,r){return i(t,r,e,0)._then(n,void 0,void 0,t,void 0)},t.mapSeries=r}},{}],12:[function(t,e,n){"use strict";function r(t,e){function n(r){if(!(this instanceof n))return new n(r);h(this,"message","string"==typeof r?r:e),h(this,"name",t),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):Error.call(this)}return l(n,Error),n}function i(t){if(!(this instanceof i))return new i(t);h(this,"name","OperationalError"),h(this,"message",t),this.cause=t,this.isOperational=!0,t instanceof Error?(h(this,"message",t.message),h(this,"stack",t.stack)):Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}var o,s,a=t("./es5"),c=a.freeze,u=t("./util"),l=u.inherits,h=u.notEnumerableProp,f=r("Warning","warning"),p=r("CancellationError","cancellation error"),d=r("TimeoutError","timeout error"),_=r("AggregateError","aggregate error");try{o=TypeError,s=RangeError}catch(t){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(" "),y=0;y1?t.cancelPromise._reject(e):t.cancelPromise._cancel(),t.cancelPromise=null,!0)}function a(){return u.call(this,this.promise._target()._settledValue())}function c(t){if(!s(this,t))return f.e=t,f}function u(t){var i=this.promise,u=this.handler;if(!this.called){this.called=!0;var l=this.isFinallyHandler()?u.call(i._boundValue()):u.call(i._boundValue(),t);if(l===r)return l;if(void 0!==l){i._setReturnedNonUndefined();var p=n(l,i);if(p instanceof e){if(null!=this.cancelPromise){if(p._isCancelled()){var d=new h("late cancellation observer");return i._attachExtraTrace(d),f.e=d,f}p.isPending()&&p._attachCancellationCallback(new o(this))}return p._then(a,c,void 0,this,void 0)}}}return i.isRejected()?(s(this),f.e=t,f):(s(this),t)}var l=t("./util"),h=e.CancellationError,f=l.errorObj,p=t("./catch_filter")(r);return i.prototype.isFinallyHandler=function(){return 0===this.type},o.prototype._resultCancelled=function(){s(this.finallyHandler)},e.prototype._passThrough=function(t,e,n,r){return"function"!=typeof t?this.then():this._then(n,r,void 0,new i(this,e,t),void 0)},e.prototype.lastly=e.prototype.finally=function(t){return this._passThrough(t,0,u,u)},e.prototype.tap=function(t){return this._passThrough(t,1,u)},e.prototype.tapCatch=function(t){var n=arguments.length;if(1===n)return this._passThrough(t,1,void 0,u);var r,i=new Array(n-1),o=0;for(r=0;r0&&"function"==typeof arguments[e]){t=arguments[e];var r}var i=[].slice.call(arguments);t&&i.pop();var r=new n(i).promise();return void 0!==t?r.spread(t):r}}},{"./util":36}],18:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t,e,n,r){this.constructor$(t),this._promise._captureStackTrace();var i=u();this._callback=null===i?e:l.domainBind(i,e),this._preservedValues=r===o?new Array(this.length()):null,this._limit=n,this._inFlight=0,this._queue=[],p.invoke(this._asyncInit,this,void 0)}function c(t,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 e.reject(new TypeError("options argument must be an object but it is "+l.classString(i)));if("number"!=typeof i.concurrency)return e.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(t,n,s,o).promise()}var u=e._getDomain,l=t("./util"),h=l.tryCatch,f=l.errorObj,p=e._async;l.inherits(a,n),a.prototype._asyncInit=function(){this._init$(void 0,-2)},a.prototype._init=function(){},a.prototype._promiseFulfilled=function(t,n){var r=this._values,o=this.length(),a=this._preservedValues,c=this._limit;if(n<0){if(n=-1*n-1,r[n]=t,c>=1&&(this._inFlight--,this._drainQueue(),this._isResolved()))return!0}else{if(c>=1&&this._inFlight>=c)return r[n]=t,this._queue.push(n),!1;null!==a&&(a[n]=t);var u=this._promise,l=this._callback,p=u._boundValue();u._pushContext();var d=h(l).call(p,t,n,o),_=u._popContext();if(s.checkForgottenReturns(d,_,null!==a?"Promise.filter":"Promise.map",u),d===f)return this._reject(d.e),!0;var v=i(d,this._promise);if(v instanceof e){v=v._target();var y=v._bitField;if(0==(50397184&y))return c>=1&&this._inFlight++,r[n]=v,v._proxy(this,-1*(n+1)),!1;if(0==(33554432&y))return 0!=(16777216&y)?(this._reject(v._reason()),!0):(this._cancel(),!0);d=v._value()}r[n]=d}return++this._totalResolved>=o&&(null!==a?this._filter(r,a):this._resolve(r),!0)},a.prototype._drainQueue=function(){for(var t=this._queue,e=this._limit,n=this._values;t.length>0&&this._inFlight1){o.deprecated("calling Promise.try with more than 1 argument");var u=arguments[1],l=arguments[2];c=s.isArray(u)?a(t).apply(l,u):a(t).call(l,u)}else c=a(t)();var h=r._popContext();return o.checkForgottenReturns(c,h,"Promise.try",r),r._resolveFromSyncValue(c),r},e.prototype._resolveFromSyncValue=function(t){t===s.errorObj?this._rejectCallback(t.e,!1):this._resolveCallback(t,!0)}}},{"./util":36}],20:[function(t,e,n){"use strict";function r(t){return t instanceof Error&&l.getPrototypeOf(t)===Error.prototype}function i(t){var e;if(r(t)){e=new u(t),e.name=t.name,e.message=t.message,e.stack=t.stack;for(var n=l.keys(t),i=0;i1){var n,r=new Array(e-1),i=0;for(n=0;n0&&"function"!=typeof t&&"function"!=typeof e){var n=".then() only accepts functions but was passed: "+d.classString(t);arguments.length>1&&(n+=", "+d.classString(e)),this._warn(n)}return this._then(t,e,void 0,void 0,void 0)},o.prototype.done=function(t,e){this._then(t,e,void 0,void 0,void 0)._setIsFinal()},o.prototype.spread=function(t){return"function"!=typeof t?f("expecting a function but got "+d.classString(t)):this.all()._then(t,void 0,void 0,C,void 0)},o.prototype.toJSON=function(){var t={isFulfilled:!1,isRejected:!1,fulfillmentValue:void 0,rejectionReason:void 0};return this.isFulfilled()?(t.fulfillmentValue=this.value(),t.isFulfilled=!0):this.isRejected()&&(t.rejectionReason=this.reason(),t.isRejected=!0),t},o.prototype.all=function(){return arguments.length>0&&this._warn(".all() was passed arguments but it does not take any"),new T(this).promise()},o.prototype.error=function(t){return this.caught(d.originatesFromRejection,t)},o.getNewLibraryCopy=n.exports,o.is=function(t){return t instanceof o},o.fromNode=o.fromCallback=function(t){var e=new o(w);e._captureStackTrace();var n=arguments.length>1&&!!Object(arguments[1]).multiArgs,r=A(t)(R(e,n));return r===S&&e._rejectCallback(r.e,!0),e._isFateSealed()||e._setAsyncGuaranteed(),e},o.all=function(t){return new T(t).promise()},o.cast=function(t){var e=j(t);return e instanceof o||(e=new o(w),e._captureStackTrace(),e._setFulfilled(),e._rejectionHandler0=t),e},o.resolve=o.fulfilled=o.cast,o.reject=o.rejected=function(t){var e=new o(w);return e._captureStackTrace(),e._rejectCallback(t,!0),e},o.setScheduler=function(t){if("function"!=typeof t)throw new g("expecting a function but got "+d.classString(t));return y.setScheduler(t)},o.prototype._then=function(t,e,n,r,i){var s=void 0!==i,a=s?i:new o(w),c=this._target(),l=c._bitField;s||(a._propagateFrom(this,3),a._captureStackTrace(),void 0===r&&0!=(2097152&this._bitField)&&(r=0!=(50397184&l)?this._boundValue():c===this?void 0:this._boundTo),this._fireEvent("promiseChained",this,a));var h=u();if(0!=(50397184&l)){var f,p,_=c._settlePromiseCtx;0!=(33554432&l)?(p=c._rejectionHandler0,f=t):0!=(16777216&l)?(p=c._fulfillmentHandler0,f=e,c._unsetRejectionIsUnhandled()):(_=c._settlePromiseLateCancellationObserver,p=new b("late cancellation observer"),c._attachExtraTrace(p),f=e),y.invoke(_,c,{handler:null===h?f:"function"==typeof f&&d.domainBind(h,f),promise:a,receiver:r,value:p})}else c._addCallbacks(t,e,a,r,h);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(t){this._bitField=-65536&this._bitField|65535&t},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=-65537&this._bitField},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(){y.hasCustomScheduler()||(this._bitField=134217728|this._bitField)},o.prototype._receiverAt=function(t){var e=0===t?this._receiver0:this[4*t-4+3];if(e!==p)return void 0===e&&this._isBound()?this._boundValue():e},o.prototype._promiseAt=function(t){return this[4*t-4+2]},o.prototype._fulfillmentHandlerAt=function(t){return this[4*t-4+0]},o.prototype._rejectionHandlerAt=function(t){return this[4*t-4+1]},o.prototype._boundValue=function(){},o.prototype._migrateCallback0=function(t){var e=(t._bitField,t._fulfillmentHandler0),n=t._rejectionHandler0,r=t._promise0,i=t._receiverAt(0);void 0===i&&(i=p),this._addCallbacks(e,n,r,i,null)},o.prototype._migrateCallbackAt=function(t,e){var n=t._fulfillmentHandlerAt(e),r=t._rejectionHandlerAt(e),i=t._promiseAt(e),o=t._receiverAt(e);void 0===o&&(o=p),this._addCallbacks(n,r,i,o,null)},o.prototype._addCallbacks=function(t,e,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 t&&(this._fulfillmentHandler0=null===i?t:d.domainBind(i,t)),"function"==typeof e&&(this._rejectionHandler0=null===i?e:d.domainBind(i,e));else{var s=4*o-4;this[s+2]=n,this[s+3]=r,"function"==typeof t&&(this[s+0]=null===i?t:d.domainBind(i,t)),"function"==typeof e&&(this[s+1]=null===i?e:d.domainBind(i,e))}return this._setLength(o+1),o},o.prototype._proxy=function(t,e){this._addCallbacks(void 0,void 0,e,t,null)},o.prototype._resolveCallback=function(t,e){if(0==(117506048&this._bitField)){if(t===this)return this._rejectCallback(l(),!1);var n=j(t,this);if(!(n instanceof o))return this._fulfill(t);e&&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(t===this){var n=l();return this._attachExtraTrace(n),this._reject(n)}this._setFulfilled(),this._rejectionHandler0=t,(65535&e)>0&&(0!=(134217728&e)?this._settlePromises():y.settlePromises(this))}},o.prototype._reject=function(t){var e=this._bitField;if(!((117506048&e)>>>16)){if(this._setRejected(),this._fulfillmentHandler0=t,this._isFinal())return y.fatalError(t,d.isNode);(65535&e)>0?y.settlePromises(this):this._ensurePossibleRejectionHandled()}},o.prototype._fulfillPromises=function(t,e){for(var n=1;n0){if(0!=(16842752&t)){var n=this._fulfillmentHandler0;this._settlePromise0(this._rejectionHandler0,n,t),this._rejectPromises(e,n)}else{var r=this._rejectionHandler0;this._settlePromise0(this._fulfillmentHandler0,r,t),this._fulfillPromises(e,r)}this._setLength(0)}this._clearCancellationData()},o.prototype._settledValue=function(){var t=this._bitField;return 0!=(33554432&t)?this._rejectionHandler0:0!=(16777216&t)?this._fulfillmentHandler0:void 0},o.defer=o.pending=function(){return x.deprecated("Promise.defer","new Promise"),{promise:new o(w),resolve:s,reject:a}},d.notEnumerableProp(o,"_makeSelfResolutionError",l),t("./method")(o,w,j,f,x),t("./bind")(o,w,j,x),t("./cancel")(o,T,f,x),t("./direct_resolve")(o),t("./synchronous_inspection")(o),t("./join")(o,T,j,w,y,u),o.Promise=o,o.version="3.5.0",t("./map.js")(o,T,f,j,w,x),t("./call_get.js")(o),t("./using.js")(o,f,j,F,w,x),t("./timers.js")(o,w,x),t("./generators.js")(o,f,w,j,r,x),t("./nodeify.js")(o),t("./promisify.js")(o,w),t("./props.js")(o,T,j,f),t("./race.js")(o,w,j,f),t("./reduce.js")(o,T,f,j,w,x),t("./settle.js")(o,T,x),t("./some.js")(o,T,f),t("./filter.js")(o,w),t("./each.js")(o,w),t("./any.js")(o),d.toFastProperties(o),d.toFastProperties(o.prototype),c({a:1}),c({b:2}),c({c:3}),c(1),c(function(){}),c(void 0),c(!1),c(new o(w)),x.setBounds(v.firstLineError,d.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(t,e,n){"use strict";e.exports=function(e,n,r,i,o){function s(t){switch(t){case-2:return[];case-3:return{};case-6:return new Map}}function a(t){var r=this._promise=new e(n);t instanceof e&&r._propagateFrom(t,3),r._setOnCancel(this),this._values=t,this._length=0,this._totalResolved=0,this._init(void 0,-2)}var c=t("./util");c.isArray;return c.inherits(a,o),a.prototype.length=function(){return this._length},a.prototype.promise=function(){return this._promise},a.prototype._init=function t(n,o){var a=r(this._values,this._promise);if(a instanceof e){a=a._target();var u=a._bitField;if(this._values=a,0==(50397184&u))return this._promise._setAsyncGuaranteed(),a._then(t,this._reject,void 0,this,o);if(0==(33554432&u))return 0!=(16777216&u)?this._reject(a._reason()):this._cancel();a=a._value()}if(null===(a=c.asArray(a))){var l=i("expecting an array or an iterable object but got "+c.classString(a)).reason();return void this._promise._rejectCallback(l,!1)}if(0===a.length)return void(-5===o?this._resolveEmptyArray():this._resolve(s(o)));this._iterate(a)},a.prototype._iterate=function(t){var n=this.getActualLength(t.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(t){return this._totalResolved++,this._reject(t),!0},a.prototype._resultCancelled=function(){if(!this._isResolved()){var t=this._values;if(this._cancel(),t instanceof e)t.cancel();else for(var n=0;n=this._length){var n;if(this._isMap)n=f(this._values);else{n={};for(var r=this.length(),i=0,o=this.length();i>1},e.prototype.props=function(){return s(this)},e.props=function(t){return s(t)}}},{"./es5":13,"./util":36}],26:[function(t,e,n){"use strict";function r(t,e,n,r,i){for(var o=0;o=this._length&&(this._resolve(this._values),!0)},i.prototype._promiseFulfilled=function(t,e){var n=new o;return n._bitField=33554432,n._settledValueField=t,this._promiseResolved(e,n)},i.prototype._promiseRejected=function(t,e){var n=new o;return n._bitField=16777216,n._settledValueField=t,this._promiseResolved(e,n)},e.settle=function(t){return r.deprecated(".settle()",".reflect()"),new i(t).promise()},e.prototype.settle=function(){return e.settle(this)}}},{"./util":36}],31:[function(t,e,n){"use strict";e.exports=function(e,n,r){function i(t){this.constructor$(t),this._howMany=0,this._unwrap=!1,this._initialized=!1}function o(t,e){if((0|e)!==e||e<0)return r("expecting a positive integer\n\n See http://goo.gl/MqrFmX\n");var n=new i(t),o=n.promise();return n.setHowMany(e),n.init(),o}var s=t("./util"),a=t("./errors").RangeError,c=t("./errors").AggregateError,u=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 t=u(this._values);!this._isResolved()&&t&&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(t){this._howMany=t},i.prototype._promiseFulfilled=function(t){return this._addFulfilled(t),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(t){return this._addRejected(t),this._checkOutcome()},i.prototype._promiseCancelled=function(){return this._values instanceof e||null==this._values?this._cancel():(this._addRejected(l),this._checkOutcome())},i.prototype._checkOutcome=function(){if(this.howMany()>this._canPossiblyFulfill()){for(var t=new c,e=this.length();e0?this._reject(t):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(t){this._values.push(t)},i.prototype._addFulfilled=function(t){this._values[this._totalResolved++]=t},i.prototype._canPossiblyFulfill=function(){return this.length()-this._rejected()},i.prototype._getRangeError=function(t){var e="Input array must contain at least "+this._howMany+" items but contains only "+t+" items";return new a(e)},i.prototype._resolveEmptyArray=function(){this._reject(this._getRangeError(0))},e.some=function(t,e){return o(t,e)},e.prototype.some=function(t){return o(this,t)},e._SomePromiseArray=i}},{"./errors":12,"./util":36}],32:[function(t,e,n){"use strict";e.exports=function(t){function e(t){void 0!==t?(t=t._target(),this._bitField=t._bitField,this._settledValueField=t._isFateSealed()?t._settledValue():void 0):(this._bitField=0,this._settledValueField=void 0)}e.prototype._settledValue=function(){return this._settledValueField};var n=e.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=e.prototype.error=e.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=e.prototype.isFulfilled=function(){return 0!=(33554432&this._bitField)},o=e.prototype.isRejected=function(){return 0!=(16777216&this._bitField)},s=e.prototype.isPending=function(){return 0==(50397184&this._bitField)},a=e.prototype.isResolved=function(){return 0!=(50331648&this._bitField)};e.prototype.isCancelled=function(){return 0!=(8454144&this._bitField)},t.prototype.__isCancelled=function(){return 65536==(65536&this._bitField)},t.prototype._isCancelled=function(){return this._target().__isCancelled()},t.prototype.isCancelled=function(){return 0!=(8454144&this._target()._bitField)},t.prototype.isPending=function(){return s.call(this._target())},t.prototype.isRejected=function(){return o.call(this._target())},t.prototype.isFulfilled=function(){return i.call(this._target())},t.prototype.isResolved=function(){return a.call(this._target())},t.prototype.value=function(){return n.call(this._target())},t.prototype.reason=function(){var t=this._target();return t._unsetRejectionIsUnhandled(),r.call(t)},t.prototype._value=function(){return this._settledValue()},t.prototype._reason=function(){return this._unsetRejectionIsUnhandled(),this._settledValue()},t.PromiseInspection=e}},{}],33:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t,r){if(l(t)){if(t instanceof e)return t;var i=o(t);if(i===u){r&&r._pushContext();var c=e.reject(i.e);return r&&r._popContext(),c}if("function"==typeof i){if(s(t)){var c=new e(n);return t._then(c._fulfill,c._reject,void 0,c,null),c}return a(t,i,r)}}return t}function i(t){return t.then}function o(t){try{return i(t)}catch(t){return u.e=t,u}}function s(t){try{return h.call(t,"_promise0")}catch(t){return!1}}function a(t,r,i){function o(t){a&&(a._resolveCallback(t),a=null)}function s(t){a&&(a._rejectCallback(t,h,!0),a=null)}var a=new e(n),l=a;i&&i._pushContext(),a._captureStackTrace(),i&&i._popContext();var h=!0,f=c.tryCatch(r).call(t,o,s);return h=!1,a&&f===u&&(a._rejectCallback(f.e,!0,!0),a=null),l}var c=t("./util"),u=c.errorObj,l=c.isObject,h={}.hasOwnProperty;return r}},{"./util":36}],34:[function(t,e,n){"use strict";e.exports=function(e,n,r){function i(t){this.handle=t}function o(t){return clearTimeout(this.handle),t}function s(t){throw clearTimeout(this.handle),t}var a=t("./util"),c=e.TimeoutError;i.prototype._resultCancelled=function(){clearTimeout(this.handle)};var u=function(t){return l(+this).thenReturn(t)},l=e.delay=function(t,o){var s,a;return void 0!==o?(s=e.resolve(o)._then(u,null,null,t,void 0),r.cancellation()&&o instanceof e&&s._setOnCancel(o)):(s=new e(n),a=setTimeout(function(){s._fulfill()},+t),r.cancellation()&&s._setOnCancel(new i(a)),s._captureStackTrace()),s._setAsyncGuaranteed(),s};e.prototype.delay=function(t){return l(t,this)};var h=function(t,e,n){var r;r="string"!=typeof e?e instanceof Error?e:new c("operation timed out"):new c(e),a.markAsOriginatingFromRejection(r),t._attachExtraTrace(r),t._reject(r),null!=n&&n.cancel()};e.prototype.timeout=function(t,e){t=+t;var n,a,c=new i(setTimeout(function(){n.isPending()&&h(n,e,a)},t));return r.cancellation()?(a=this.then(),n=a._then(o,s,void 0,c,void 0),n._setOnCancel(c)):n=this._then(o,s,void 0,c,void 0),n}}},{"./util":36}],35:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t){setTimeout(function(){throw t},0)}function c(t){var e=r(t);return e!==t&&"function"==typeof t._isDisposable&&"function"==typeof t._getDisposer&&t._isDisposable()&&e._setDisposable(t._getDisposer()),e}function u(t,n){function i(){if(s>=u)return l._fulfill();var o=c(t[s++]);if(o instanceof e&&o._isDisposable()){try{o=r(o._getDisposer().tryDispose(n),t.promise)}catch(t){return a(t)}if(o instanceof e)return o._then(i,a,null,null,null)}i()}var s=0,u=t.length,l=new e(o);return i(),l}function l(t,e,n){this._data=t,this._promise=e,this._context=n}function h(t,e,n){this.constructor$(t,e,n)}function f(t){return l.isDisposer(t)?(this.resources[this.index]._setDisposable(t),t.promise()):t}function p(t){this.length=t,this.promise=null,this[t-1]=null}var d=t("./util"),_=t("./errors").TypeError,v=t("./util").inherits,y=d.errorObj,m=d.tryCatch,g={};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():g},l.prototype.tryDispose=function(t){var e=this.resource(),n=this._context;void 0!==n&&n._pushContext();var r=e!==g?this.doDispose(e,t):null;return void 0!==n&&n._popContext(),this._promise._unsetDisposable(),this._data=null,r},l.isDisposer=function(t){return null!=t&&"function"==typeof t.resource&&"function"==typeof t.tryDispose},v(h,l),h.prototype.doDispose=function(t,e){return this.data().call(t,t,e)},p.prototype._resultCancelled=function(){for(var t=this.length,n=0;n0},e.prototype._getDisposer=function(){return this._disposer},e.prototype._unsetDisposable=function(){this._bitField=-131073&this._bitField,this._disposer=void 0},e.prototype.disposer=function(t){if("function"==typeof t)return new h(t,this,i());throw new _}}},{"./errors":12,"./util":36}],36:[function(t,i,o){"use strict";function s(){try{var t=S;return S=null,t.apply(this,arguments)}catch(t){return R.e=t,R}}function a(t){return S=t,s}function c(t){return null==t||!0===t||!1===t||"string"==typeof t||"number"==typeof t}function u(t){return"function"==typeof t||"object"==typeof t&&null!==t}function l(t){return c(t)?new Error(g(t)):t}function h(t,e){var n,r=t.length,i=new Array(r+1);for(n=0;n1,r=e.length>0&&!(1===e.length&&"constructor"===e[0]),i=B.test(t+"")&&P.names(t).length>0;if(n||r||i)return!0}return!1}catch(t){return!1}}function v(t){function e(){}e.prototype=t;for(var n=8;n--;)new e;return t}function y(t){return L.test(t)}function m(t,e,n){for(var r=new Array(t),i=0;i10||t[0]>0}(),q.isNode&&q.toFastProperties(e);try{throw new Error}catch(t){q.lastLineError=t}i.exports=q},{"./es5":13}]},{},[4])(4)}),"undefined"!=typeof window&&null!==window?window.P=window.Promise:"undefined"!=typeof self&&null!==self&&(self.P=self.Promise)}).call(e,n(2),n(3),n(11).setImmediate)},function(t,e){function n(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function i(t){if(l===setTimeout)return setTimeout(t,0);if((l===n||!l)&&setTimeout)return l=setTimeout,setTimeout(t,0);try{return l(t,0)}catch(e){try{return l.call(null,t,0)}catch(e){return l.call(this,t,0)}}}function o(t){if(h===clearTimeout)return clearTimeout(t);if((h===r||!h)&&clearTimeout)return h=clearTimeout,clearTimeout(t);try{return h(t)}catch(e){try{return h.call(null,t)}catch(e){return h.call(this,t)}}}function s(){_&&p&&(_=!1,p.length?d=p.concat(d):v=-1,d.length&&a())}function a(){if(!_){var t=i(s);_=!0;for(var e=d.length;e;){for(p=d,d=[];++v1)for(var n=1;n0&&void 0!==arguments[0]?arguments[0]:{};r(this,t),this._apibaseurl=e.APIBASEURL||l,this._fetch=a.a}return u(t,[{key:"findBroadcasts",value:function(t,e){return e=n.i(c.a)(e),this._fetch(this._apibaseurl+"channels/"+t+"/broadcasts?q="+encodeURIComponent(e)+"&s=-starts_at&l=100&p=0").then(i).then(function(t){return t.map(o)})}},{key:"getLiveBroadcasts",value:function(t){return this.findBroadcasts(t,"timeframe:current")}},{key:"getArchivedBroadcasts",value:function(t){return this.findBroadcasts(t,"timeframe:past")}},{key:"getBroadcast",value:function(t){return this._fetch(this._apibaseurl+"broadcasts/"+t).then(i).then(o)}},{key:"getBroadcastView",value:function(t){return this._fetch(this._apibaseurl+"broadcasts/"+t+"/view").then(i)}}]),t}();e.default=h},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var i=n(0),o=function(){function t(t,e){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:{};r(this,t),this._broadcast=e,this._broadcastView=n,this._baseUrl=o.METRICSBASEURL||s,this._hostName=o.HOSTNAME||a,this._viewId=this.getUniqueViewID(),this._viewerId=this.getViewerID(),this._currentPosition=0,this._duration=0,this._lastPlayTime=null,this._fetch=i.a}return o(t,[{key:"attach",value:function(t){var e=this;t.addEventListener("timeDidChange",function(t){e._currentPosition=t.time},{interval:1}),this.postAction("setup",{user_agent:"BoxCastTV/"+Device.appVersion+" (tvOS; "+Device.appIdentifier+" "+Device.appVersion+"; "+Device.model+"; "+Device.productType+"; "+Device.systemVersion+"; "+Device.vendorIdentifier+")",platform:"tvOS",browser_name:"tvOS",os:"tvOS",browser_version:Device.systemVersion,model:Device.model,product_type:Device.productType,system_version:Device.systemVersion,vendor_identifier:Device.vendorIdentifier,player_version:Device.appVersion,host:this._hostName,language:"",remote_ip:""}),t.addEventListener("stateDidChange",function(t){var n=null;"playing"===t.state?(n="play",e._lastPlayTime=Date.now()/1e3):"paused"!==t.state&&"loading"!==t.state&&"end"!==t.state||("paused"===t.state||"end"===t.state?n="pause":"loading"===t.state&&(n="buffer"),e._lastPlayTime&&(e._duration+=Date.now()/1e3-e._lastPlayTime),e._lastPlayTime=null),n&&e.postAction(n)}),t.addEventListener("requestSeekToTime",function(t){e.postAction("seek",{offset:t.requestedTime})}),t.addEventListener("timeDidChange",function(t){e.postAction("time",{position:t.time})},{interval:60}),t.addEventListener("mediaItemDidChange",function(t){1===t.reason&&(e._lastPlayTime&&(e._duration+=Date.now()/1e3-e._lastPlayTime),e._lastPlayTime=null,e.postAction("complete"))})}},{key:"getViewerID",value:function(){var t=localStorage.getItem("viewer-id");return t||(t=this.getUniqueViewID(),localStorage.setItem("viewer-id",t)),t}},{key:"getUniqueViewID",value:function(){var t=function(t){for(var e="",n="0123456789ABCDEF",r=0;r<5;r++)e+=n.charAt(Math.floor(Math.random()*n.length));return e};return t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()}},{key:"postAction",value:function(t,e){var n=this._duration;this._lastPlayTime&&(n+=Date.now()/1e3-this._lastPlayTime);var r={is_live:"live"===this._broadcastView.status,account_id:this._broadcast.account_id,broadcast_id:this._broadcast.id,channel_id:this._broadcast.channel_id,view_id:this._viewId,viewer_id:this._viewerId,position:this._currentPosition,duration:n,timestamp:(new Date).toISOString()};e&&Object.getOwnPropertyNames(e).forEach(function(t){r[t]=e[t]}),this.postMetrics(t,r)}},{key:"postMetrics",value:function(t,e){var n={action:t};return Object.getOwnPropertyNames(e).forEach(function(t){n[t]=e[t]}),this._fetch(this._baseUrl+"player/interaction",{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(n)})}}]),t}();e.default=c},function(t,e){String.prototype.encodeHTML||(String.prototype.encodeHTML=function(){return this.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}),Array.prototype.equals||(Array.prototype.equals=function(t){if(this===t)return!0;if(null==t)return!1;if(this.length!=t.length)return!1;for(var e=0;e=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n(10),e.setImmediate=setImmediate,e.clearImmediate=clearImmediate}])}); \ No newline at end of file +!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var n=e();for(var r in n)("object"==typeof exports?exports:t)[r]=n[r]}}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=9)}([function(t,e,n){"use strict";function r(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function i(t){return"string"!=typeof t&&(t=String(t)),t}function o(t){this.map={},t instanceof o?t.forEach(function(t,e){this.append(e,t)},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function s(t){if(t.bodyUsed)return y.a.reject(new TypeError("Already read"));t.bodyUsed=!0}function a(t){return new y.a(function(e,n){t.onload=function(){e(t.result)},t.onerror=function(){n(t.error)}})}function c(t){var e=new FileReader;return e.readAsArrayBuffer(t),a(e)}function u(t){var e=new FileReader;return e.readAsText(t),a(e)}function l(){return this.bodyUsed=!1,this._initBody=function(t){if(this._bodyInit=t,"string"==typeof t)this._bodyText=t;else if(g.blob&&Blob.prototype.isPrototypeOf(t))this._bodyBlob=t;else if(g.formData&&FormData.prototype.isPrototypeOf(t))this._bodyFormData=t;else if(t){if(!g.arrayBuffer||!ArrayBuffer.prototype.isPrototypeOf(t))throw new Error("unsupported BodyInit type")}else this._bodyText="";this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type&&this.headers.set("content-type",this._bodyBlob.type))},g.blob?(this.blob=function(){var t=s(this);if(t)return t;if(this._bodyBlob)return y.a.resolve(this._bodyBlob);if(this._bodyFormData)throw new Error("could not read FormData body as blob");return y.a.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this.blob().then(c)},this.text=function(){var t=s(this);if(t)return t;if(this._bodyBlob)return u(this._bodyBlob);if(this._bodyFormData)throw new Error("could not read FormData body as text");return y.a.resolve(this._bodyText)}):this.text=function(){var t=s(this);return t||y.a.resolve(this._bodyText)},g.formData&&(this.formData=function(){return this.text().then(p)}),this.json=function(){return this.text().then(JSON.parse)},this}function f(t){var e=t.toUpperCase();return b.indexOf(e)>-1?e:t}function h(t,e){e=e||{};var n=e.body;if(h.prototype.isPrototypeOf(t)){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new o(t.headers)),this.method=t.method,this.mode=t.mode,n||(n=t._bodyInit,t.bodyUsed=!0)}else this.url=t;if(this.credentials=e.credentials||this.credentials||"omit",!e.headers&&this.headers||(this.headers=new o(e.headers)),this.method=f(e.method||this.method||"GET"),this.mode=e.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(n)}function p(t){var e=new FormData;return t.trim().split("&").forEach(function(t){if(t){var n=t.split("="),r=n.shift().replace(/\+/g," "),i=n.join("=").replace(/\+/g," ");e.append(decodeURIComponent(r),decodeURIComponent(i))}}),e}function d(t){var e=new o;return t.getAllResponseHeaders().trim().split("\n").forEach(function(t){var n=t.trim().split(":"),r=n.shift().trim(),i=n.join(":").trim();e.append(r,i)}),e}function _(t,e){e||(e={}),this.type="default",this.status=e.status,this.ok=this.status>=200&&this.status<300,this.statusText=e.statusText,this.headers=e.headers instanceof o?e.headers:new o(e.headers),this.url=e.url||"",this._initBody(t)}var v=n(3),y=n.n(v),m={};o.prototype.append=function(t,e){t=r(t),e=i(e);var n=this.map[t];n||(n=[],this.map[t]=n),n.push(e)},o.prototype.delete=function(t){delete this.map[r(t)]},o.prototype.get=function(t){var e=this.map[r(t)];return e?e[0]:null},o.prototype.getAll=function(t){return this.map[r(t)]||[]},o.prototype.has=function(t){return this.map.hasOwnProperty(r(t))},o.prototype.set=function(t,e){this.map[r(t)]=[i(e)]},o.prototype.forEach=function(t,e){Object.getOwnPropertyNames(this.map).forEach(function(n){this.map[n].forEach(function(r){t.call(e,r,n,this)},this)},this)};var g={blob:"FileReader"in m&&"Blob"in m&&function(){try{return new Blob,!0}catch(t){return!1}}(),formData:"FormData"in m,arrayBuffer:"ArrayBuffer"in m},b=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];h.prototype.clone=function(){return new h(this)},l.call(h.prototype),l.call(_.prototype),_.prototype.clone=function(){return new _(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new o(this.headers),url:this.url})},_.error=function(){var t=new _(null,{status:0,statusText:""});return t.type="error",t};var w=[301,302,303,307,308];_.redirect=function(t,e){if(-1===w.indexOf(e))throw new RangeError("Invalid status code");return new _(null,{status:e,headers:{location:t}})},m.Headers=o,m.Request=h,m.Response=_,m.fetch=function(t,e){return new y.a(function(n,r){function i(){return"responseURL"in s?s.responseURL:/^X-Request-URL:/m.test(s.getAllResponseHeaders())?s.getResponseHeader("X-Request-URL"):void 0}var o;o=h.prototype.isPrototypeOf(t)&&!e?t:new h(t,e);var s=new XMLHttpRequest;s.onreadystatechange=function(){if(4===s.readyState){var t=1223===s.status?204:s.status;if(t<100||t>599)return void r(new TypeError("Network request failed"));var e={status:t,statusText:s.statusText,headers:d(s),url:i()},o="response"in s?s.response:s.responseText;n(new _(o,e))}},s.onerror=function(){r(new TypeError("Network request failed"))},s.onabort=function(){r(new TypeError("Network request aborted"))},s.ontimeout=function(){r(new TypeError("Network request timed out"))},s.open(o.method,o.url,!0),"include"===o.credentials&&(s.withCredentials=!0),"responseType"in s&&g.blob&&(s.responseType="blob"),o.headers.forEach(function(t,e){s.setRequestHeader(e,t)}),s.send(void 0===o._bodyInit?null:o._bodyInit)})},e.a=m.fetch},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t){return t.json()}function o(t){return t.preview=s(t.preview||"").replace(/ /g,"%20"),t}function s(t){return t.startsWith("//")&&(t="http:"+t),t}Object.defineProperty(e,"__esModule",{value:!0});var a=n(0),c=n(10),u=function(){function t(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};r(this,t),this._apibaseurl=e.APIBASEURL||l,this._fetch=a.a}return u(t,[{key:"findBroadcasts",value:function(t,e){return e=n.i(c.a)(e),this._fetch(this._apibaseurl+"channels/"+t+"/broadcasts?q="+encodeURIComponent(e)+"&s=-starts_at&l=100&p=0").then(i).then(function(t){return t.map(o)})}},{key:"getLiveBroadcasts",value:function(t){return this.findBroadcasts(t,"timeframe:current")}},{key:"getArchivedBroadcasts",value:function(t){return this.findBroadcasts(t,"timeframe:past")}},{key:"getBroadcast",value:function(t){return this._fetch(this._apibaseurl+"broadcasts/"+t).then(i).then(o)}},{key:"getBroadcastView",value:function(t){return this._fetch(this._apibaseurl+"broadcasts/"+t+"/view").then(i)}}]),t}();e.default=f},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var i=n(0),o=function(){function t(t,e){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:{};r(this,t),this._broadcast=e,this._broadcastView=n,this._baseUrl=o.METRICSBASEURL||s,this._hostName=o.HOSTNAME||a,this._viewId=this.getUniqueViewID(),this._viewerId=this.getViewerID(),this._currentPosition=0,this._duration=0,this._lastPlayTime=null,this._fetch=i.a}return o(t,[{key:"attach",value:function(t){var e=this;t.addEventListener("timeDidChange",function(t){e._currentPosition=t.time},{interval:1}),this.postAction("setup",{user_agent:"BoxCastTV/"+Device.appVersion+" (tvOS; "+Device.appIdentifier+" "+Device.appVersion+"; "+Device.model+"; "+Device.productType+"; "+Device.systemVersion+"; "+Device.vendorIdentifier+")",platform:"tvOS",browser_name:"tvOS",os:"tvOS",browser_version:Device.systemVersion,model:Device.model,product_type:Device.productType,system_version:Device.systemVersion,vendor_identifier:Device.vendorIdentifier,player_version:Device.appVersion,host:this._hostName,language:"",remote_ip:""}),t.addEventListener("stateDidChange",function(t){var n=null;"playing"===t.state?(n="play",e._lastPlayTime=Date.now()/1e3):"paused"!==t.state&&"loading"!==t.state&&"end"!==t.state||("paused"===t.state||"end"===t.state?n="pause":"loading"===t.state&&(n="buffer"),e._lastPlayTime&&(e._duration+=Date.now()/1e3-e._lastPlayTime),e._lastPlayTime=null),n&&e.postAction(n)}),t.addEventListener("requestSeekToTime",function(t){e.postAction("seek",{offset:t.requestedTime})}),t.addEventListener("timeDidChange",function(t){e.postAction("time",{position:t.time})},{interval:60}),t.addEventListener("mediaItemDidChange",function(t){1===t.reason&&(e._lastPlayTime&&(e._duration+=Date.now()/1e3-e._lastPlayTime),e._lastPlayTime=null,e.postAction("complete"))})}},{key:"getViewerID",value:function(){var t=localStorage.getItem("viewer-id");return t||(t=this.getUniqueViewID(),localStorage.setItem("viewer-id",t)),t}},{key:"getUniqueViewID",value:function(){var t=function(t){for(var e="",n="0123456789ABCDEF",r=0;r<5;r++)e+=n.charAt(Math.floor(Math.random()*n.length));return e};return t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()}},{key:"postAction",value:function(t,e){var n=this._duration;this._lastPlayTime&&(n+=Date.now()/1e3-this._lastPlayTime);var r={is_live:"live"===this._broadcastView.status,account_id:this._broadcast.account_id,broadcast_id:this._broadcast.id,channel_id:this._broadcast.channel_id,view_id:this._viewId,viewer_id:this._viewerId,position:this._currentPosition,duration:n,timestamp:(new Date).toISOString()};e&&Object.getOwnPropertyNames(e).forEach(function(t){r[t]=e[t]}),this.postMetrics(t,r)}},{key:"postMetrics",value:function(t,e){var n={action:t};return Object.getOwnPropertyNames(e).forEach(function(t){n[t]=e[t]}),this._fetch(this._baseUrl+"player/interaction",{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(n)})}}]),t}();e.default=c},function(t,e,n){(function(e,r,i){!function(e){t.exports=e()}(function(){var t,o,s;return function t(e,n,r){function i(s,a){if(!n[s]){if(!e[s]){var c="function"==typeof _dereq_&&_dereq_;if(!a&&c)return c(s,!0);if(o)return o(s,!0);var u=new Error("Cannot find module '"+s+"'");throw u.code="MODULE_NOT_FOUND",u}var l=n[s]={exports:{}};e[s][0].call(l.exports,function(t){var n=e[s][1][t];return i(n||t)},l,l.exports,t,e,n,r)}return n[s].exports}for(var o="function"==typeof _dereq_&&_dereq_,s=0;s0;){var e=t.shift();if("function"==typeof e){var n=t.shift(),r=t.shift();e.call(n,r)}else e._settlePromises()}},i.prototype._drainQueues=function(){this._drainQueue(this._normalQueue),this._reset(),this._haveDrainedQueues=!0,this._drainQueue(this._lateQueue)},i.prototype._queueTick=function(){this._isTickUsed||(this._isTickUsed=!0,this._schedule(this.drainQueues))},i.prototype._reset=function(){this._isTickUsed=!1},n.exports=i,n.exports.firstLineError=c},{"./queue":26,"./schedule":29,"./util":36}],3:[function(t,e,n){"use strict";e.exports=function(t,e,n,r){var i=!1,o=function(t,e){this._reject(e)},s=function(t,e){e.promiseRejectionQueued=!0,e.bindingPromise._then(o,o,null,this,t)},a=function(t,e){0==(50397184&this._bitField)&&this._resolveCallback(e.target)},c=function(t,e){e.promiseRejectionQueued||this._reject(t)};t.prototype.bind=function(o){i||(i=!0,t.prototype._propagateFrom=r.propagateFromFunction(),t.prototype._boundValue=r.boundValueFunction());var u=n(o),l=new t(e);l._propagateFrom(this,1);var f=this._target();if(l._setBoundTo(u),u instanceof t){var h={promiseRejectionQueued:!1,promise:l,target:f,bindingPromise:u};f._then(e,s,void 0,l,h),u._then(a,c,void 0,l,h),l._setOnCancel(u)}else l._resolveCallback(f);return l},t.prototype._setBoundTo=function(t){void 0!==t?(this._bitField=2097152|this._bitField,this._boundTo=t):this._bitField=-2097153&this._bitField},t.prototype._isBound=function(){return 2097152==(2097152&this._bitField)},t.bind=function(e,n){return t.resolve(n).bind(e)}}},{}],4:[function(t,e,n){"use strict";function r(){try{Promise===o&&(Promise=i)}catch(t){}return o}var i;"undefined"!=typeof Promise&&(i=Promise);var o=t("./promise")();o.noConflict=r,e.exports=o},{"./promise":22}],5:[function(t,e,n){"use strict";var r=Object.create;if(r){var i=r(null),o=r(null);i[" size"]=o[" size"]=0}e.exports=function(e){function n(t,n){var r;if(null!=t&&(r=t[n]),"function"!=typeof r){var i="Object "+a.classString(t)+" has no method '"+a.toString(n)+"'";throw new e.TypeError(i)}return r}function r(t){return n(t,this.pop()).apply(t,this)}function i(t){return t[this]}function o(t){var e=+this;return e<0&&(e=Math.max(0,e+t.length)),t[e]}var s,a=t("./util"),c=a.canEvaluate;a.isIdentifier;e.prototype.call=function(t){var e=[].slice.call(arguments,1);return e.push(t),this._then(r,void 0,void 0,e,void 0)},e.prototype.get=function(t){var e,n="number"==typeof t;if(n)e=o;else if(c){var r=s(t);e=null!==r?r:i}else e=i;return this._then(e,void 0,void 0,t,void 0)}}},{"./util":36}],6:[function(t,e,n){"use strict";e.exports=function(e,n,r,i){var o=t("./util"),s=o.tryCatch,a=o.errorObj,c=e._async;e.prototype.break=e.prototype.cancel=function(){if(!i.cancellation())return this._warn("cancellation is disabled");for(var t=this,e=t;t._isCancellable();){if(!t._cancelBy(e)){e._isFollowing()?e._followee().cancel():e._cancelBranched();break}var n=t._cancellationParent;if(null==n||!n._isCancellable()){t._isFollowing()?t._followee().cancel():t._cancelBranched();break}t._isFollowing()&&t._followee().cancel(),t._setWillBeCancelled(),e=t,t=n}},e.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--},e.prototype._enoughBranchesHaveCancelled=function(){return void 0===this._branchesRemainingToCancel||this._branchesRemainingToCancel<=0},e.prototype._cancelBy=function(t){return t===this?(this._branchesRemainingToCancel=0,this._invokeOnCancel(),!0):(this._branchHasCancelled(),!!this._enoughBranchesHaveCancelled()&&(this._invokeOnCancel(),!0))},e.prototype._cancelBranched=function(){this._enoughBranchesHaveCancelled()&&this._cancel()},e.prototype._cancel=function(){this._isCancellable()&&(this._setCancelled(),c.invoke(this._cancelPromises,this,void 0))},e.prototype._cancelPromises=function(){this._length()>0&&this._settlePromises()},e.prototype._unsetOnCancel=function(){this._onCancelField=void 0},e.prototype._isCancellable=function(){return this.isPending()&&!this._isCancelled()},e.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()},e.prototype._doInvokeOnCancel=function(t,e){if(o.isArray(t))for(var n=0;n=0)return o[t]}var i=!1,o=[];return t.prototype._promiseCreated=function(){},t.prototype._pushContext=function(){},t.prototype._popContext=function(){return null},t._peekContext=t.prototype._peekContext=function(){},e.prototype._pushContext=function(){void 0!==this._trace&&(this._trace._promiseCreated=null,o.push(this._trace))},e.prototype._popContext=function(){if(void 0!==this._trace){var t=o.pop(),e=t._promiseCreated;return t._promiseCreated=null,e}return null},e.CapturedTrace=null,e.create=n,e.deactivateLongStackTraces=function(){},e.activateLongStackTraces=function(){var n=t.prototype._pushContext,o=t.prototype._popContext,s=t._peekContext,a=t.prototype._peekContext,c=t.prototype._promiseCreated;e.deactivateLongStackTraces=function(){t.prototype._pushContext=n,t.prototype._popContext=o,t._peekContext=s,t.prototype._peekContext=a,t.prototype._promiseCreated=c,i=!1},i=!0,t.prototype._pushContext=e.prototype._pushContext,t.prototype._popContext=e.prototype._popContext,t._peekContext=t.prototype._peekContext=r,t.prototype._promiseCreated=function(){var t=this._peekContext();t&&null==t._promiseCreated&&(t._promiseCreated=this)}},e}},{}],9:[function(t,n,r){"use strict";n.exports=function(n,r){function i(t,e){return{promise:e}}function o(){return!1}function s(t,e,n){var r=this;try{t(e,n,function(t){if("function"!=typeof t)throw new TypeError("onCancel must be a function, got: "+U.toString(t));r._attachCancellationCallback(t)})}catch(t){return t}}function a(t){if(!this._isCancellable())return this;var e=this._onCancel();void 0!==e?U.isArray(e)?e.push(t):this._setOnCancel([e,t]):this._setOnCancel(t)}function c(){return this._onCancelField}function u(t){this._onCancelField=t}function l(){this._cancellationParent=void 0,this._onCancelField=void 0}function f(t,e){if(0!=(1&e)){this._cancellationParent=t;var n=t._branchesRemainingToCancel;void 0===n&&(n=0),t._branchesRemainingToCancel=n+1}0!=(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}function h(t,e){0!=(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}function p(){var t=this._boundTo;return void 0!==t&&t instanceof n?t.isFulfilled()?t.value():void 0:t}function d(){this._trace=new S(this._peekContext())}function _(t,e){if(N(t)){var n=this._trace;if(void 0!==n&&e&&(n=n._parent),void 0!==n)n.attachExtraTrace(t);else if(!t.__stackCleaned__){var r=j(t);U.notEnumerableProp(t,"stack",r.message+"\n"+r.stack.join("\n")),U.notEnumerableProp(t,"__stackCleaned__",!0)}}}function v(t,e,n,r,i){if(void 0===t&&null!==e&&K){if(void 0!==i&&i._returnedNonUndefined())return;if(0==(65535&r._bitField))return;n&&(n+=" ");var o="",s="";if(e._trace){for(var a=e._trace.stack.split("\n"),c=C(a),u=c.length-1;u>=0;--u){var l=c[u];if(!M.test(l)){var f=l.match(q);f&&(o="at "+f[1]+":"+f[2]+":"+f[3]+" ");break}}if(c.length>0)for(var h=c[0],u=0;u0&&(s="\n"+a[u-1]);break}}var p="a promise was created in a "+n+"handler "+o+"but was not returned from it, see http://goo.gl/rRqMUw"+s;r._warn(p,!0,e)}}function y(t,e){var n=t+" is deprecated and will be removed in a future version.";return e&&(n+=" Use "+e+" instead."),m(n)}function m(t,e,r){if(st.warnings){var i,o=new V(t);if(e)r._attachExtraTrace(o);else if(st.longStackTraces&&(i=n._peekContext()))i.attachExtraTrace(o);else{var s=j(o);o.stack=s.message+"\n"+s.stack.join("\n")}et("warning",o)||T(o,"",!0)}}function g(t,e){for(var n=0;n=0;--a)if(r[a]===o){s=a;break}for(var a=s;a>=0;--a){var c=r[a];if(e[i]!==c)break;e.pop(),i--}e=r}}function C(t){for(var e=[],n=0;n0&&"SyntaxError"!=t.name&&(e=e.slice(n)),e}function j(t){var e=t.stack,n=t.toString();return e="string"==typeof e&&e.length>0?E(t):[" (No stack trace)"],{message:n,stack:"SyntaxError"==t.name?e:C(e)}}function T(t,e,n){if("undefined"!=typeof console){var r;if(U.isObject(t)){var i=t.stack;r=e+Q(i,t)}else r=e+String(t);"function"==typeof I?I(r,n):"function"!=typeof console.log&&"object"!=typeof console.log||console.log(r)}}function k(t,e,n,r){var i=!1;try{"function"==typeof e&&(i=!0,"rejectionHandled"===t?e(r):e(n,r))}catch(t){L.throwLater(t)}"unhandledRejection"===t?et(t,n,r)||i||T(n,"Unhandled rejection "):et(t,r)}function F(t){var e;if("function"==typeof t)e="[function "+(t.name||"anonymous")+"]";else{e=t&&"function"==typeof t.toString?t.toString():U.toString(t);if(/\[object [a-zA-Z0-9$_]+\]/.test(e))try{e=JSON.stringify(t)}catch(t){}0===e.length&&(e="(empty array)")}return"(<"+x(e)+">, no stack trace)"}function x(t){return t.length<41?t:t.substr(0,38)+"..."}function P(){return"function"==typeof ot}function O(t){var e=t.match(it);if(e)return{fileName:e[1],line:parseInt(e[2],10)}}function R(t,e){if(P()){for(var n,r,i=t.stack.split("\n"),o=e.stack.split("\n"),s=-1,a=-1,c=0;c=a||(rt=function(t){if(H.test(t))return!0;var e=O(t);return!!(e&&e.fileName===n&&s<=e.line&&e.line<=a)})}}function S(t){this._parent=t,this._promisesCreated=0;var e=this._length=1+(void 0===t?0:t._length);ot(this,S),e>32&&this.uncycle()}var A,D,I,B=n._getDomain,L=n._async,V=t("./errors").Warning,U=t("./util"),N=U.canAttachTrace,H=/[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/,M=/\((?:timers\.js):\d+:\d+\)/,q=/[\/<\(](.+?):(\d+):(\d+)\)?\s*$/,$=null,Q=null,G=!1,W=!(0==U.env("BLUEBIRD_DEBUG")),X=!(0==U.env("BLUEBIRD_WARNINGS")||!W&&!U.env("BLUEBIRD_WARNINGS")),z=!(0==U.env("BLUEBIRD_LONG_STACK_TRACES")||!W&&!U.env("BLUEBIRD_LONG_STACK_TRACES")),K=0!=U.env("BLUEBIRD_W_FORGOTTEN_RETURN")&&(X||!!U.env("BLUEBIRD_W_FORGOTTEN_RETURN"));n.prototype.suppressUnhandledRejections=function(){var t=this._target();t._bitField=-1048577&t._bitField|524288},n.prototype._ensurePossibleRejectionHandled=function(){0==(524288&this._bitField)&&(this._setRejectionIsUnhandled(),L.invokeLater(this._notifyUnhandledRejection,this,void 0))},n.prototype._notifyUnhandledRejectionIsHandled=function(){k("rejectionHandled",A,void 0,this)},n.prototype._setReturnedNonUndefined=function(){this._bitField=268435456|this._bitField},n.prototype._returnedNonUndefined=function(){return 0!=(268435456&this._bitField)},n.prototype._notifyUnhandledRejection=function(){if(this._isRejectionUnhandled()){var t=this._settledValue();this._setUnhandledRejectionIsNotified(),k("unhandledRejection",D,t,this)}},n.prototype._setUnhandledRejectionIsNotified=function(){this._bitField=262144|this._bitField},n.prototype._unsetUnhandledRejectionIsNotified=function(){this._bitField=-262145&this._bitField},n.prototype._isUnhandledRejectionNotified=function(){return(262144&this._bitField)>0},n.prototype._setRejectionIsUnhandled=function(){this._bitField=1048576|this._bitField},n.prototype._unsetRejectionIsUnhandled=function(){this._bitField=-1048577&this._bitField,this._isUnhandledRejectionNotified()&&(this._unsetUnhandledRejectionIsNotified(),this._notifyUnhandledRejectionIsHandled())},n.prototype._isRejectionUnhandled=function(){return(1048576&this._bitField)>0},n.prototype._warn=function(t,e,n){return m(t,e,n||this)},n.onPossiblyUnhandledRejection=function(t){var e=B();D="function"==typeof t?null===e?t:U.domainBind(e,t):void 0},n.onUnhandledRejectionHandled=function(t){var e=B();A="function"==typeof t?null===e?t:U.domainBind(e,t):void 0};var J=function(){};n.longStackTraces=function(){if(L.haveItemsQueued()&&!st.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");if(!st.longStackTraces&&P()){var t=n.prototype._captureStackTrace,e=n.prototype._attachExtraTrace;st.longStackTraces=!0,J=function(){if(L.haveItemsQueued()&&!st.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");n.prototype._captureStackTrace=t,n.prototype._attachExtraTrace=e,r.deactivateLongStackTraces(),L.enableTrampoline(),st.longStackTraces=!1},n.prototype._captureStackTrace=d,n.prototype._attachExtraTrace=_,r.activateLongStackTraces(),L.disableTrampolineIfNecessary()}},n.hasLongStackTraces=function(){return st.longStackTraces&&P()};var Y=function(){try{if("function"==typeof CustomEvent){var t=new CustomEvent("CustomEvent");return U.global.dispatchEvent(t),function(t,e){var n=new CustomEvent(t.toLowerCase(),{detail:e,cancelable:!0});return!U.global.dispatchEvent(n)}}if("function"==typeof Event){var t=new Event("CustomEvent");return U.global.dispatchEvent(t),function(t,e){var n=new Event(t.toLowerCase(),{cancelable:!0});return n.detail=e,!U.global.dispatchEvent(n)}}var t=document.createEvent("CustomEvent");return t.initCustomEvent("testingtheevent",!1,!0,{}),U.global.dispatchEvent(t),function(t,e){var n=document.createEvent("CustomEvent");return n.initCustomEvent(t.toLowerCase(),!1,!0,e),!U.global.dispatchEvent(n)}}catch(t){}return function(){return!1}}(),Z=function(){return U.isNode?function(){return e.emit.apply(e,arguments)}:U.global?function(t){var e="on"+t.toLowerCase(),n=U.global[e];return!!n&&(n.apply(U.global,[].slice.call(arguments,1)),!0)}:function(){return!1}}(),tt={promiseCreated:i,promiseFulfilled:i,promiseRejected:i,promiseResolved:i,promiseCancelled:i,promiseChained:function(t,e,n){return{promise:e,child:n}},warning:function(t,e){return{warning:e}},unhandledRejection:function(t,e,n){return{reason:e,promise:n}},rejectionHandled:i},et=function(t){var e=!1;try{e=Z.apply(null,arguments)}catch(t){L.throwLater(t),e=!0}var n=!1;try{n=Y(t,tt[t].apply(null,arguments))}catch(t){L.throwLater(t),n=!0}return n||e};n.config=function(t){if(t=Object(t),"longStackTraces"in t&&(t.longStackTraces?n.longStackTraces():!t.longStackTraces&&n.hasLongStackTraces()&&J()),"warnings"in t){var e=t.warnings;st.warnings=!!e,K=st.warnings,U.isObject(e)&&"wForgottenReturn"in e&&(K=!!e.wForgottenReturn)}if("cancellation"in t&&t.cancellation&&!st.cancellation){if(L.haveItemsQueued())throw new Error("cannot enable cancellation after promises are in use");n.prototype._clearCancellationData=l,n.prototype._propagateFrom=f,n.prototype._onCancel=c,n.prototype._setOnCancel=u,n.prototype._attachCancellationCallback=a,n.prototype._execute=s,nt=f,st.cancellation=!0}return"monitoring"in t&&(t.monitoring&&!st.monitoring?(st.monitoring=!0,n.prototype._fireEvent=et):!t.monitoring&&st.monitoring&&(st.monitoring=!1,n.prototype._fireEvent=o)),n},n.prototype._fireEvent=o,n.prototype._execute=function(t,e,n){try{t(e,n)}catch(t){return t}},n.prototype._onCancel=function(){},n.prototype._setOnCancel=function(t){},n.prototype._attachCancellationCallback=function(t){},n.prototype._captureStackTrace=function(){},n.prototype._attachExtraTrace=function(){},n.prototype._clearCancellationData=function(){},n.prototype._propagateFrom=function(t,e){};var nt=h,rt=function(){return!1},it=/[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/;U.inherits(S,Error),r.CapturedTrace=S,S.prototype.uncycle=function(){var t=this._length;if(!(t<2)){for(var e=[],n={},r=0,i=this;void 0!==i;++r)e.push(i),i=i._parent;t=this._length=r;for(var r=t-1;r>=0;--r){var o=e[r].stack;void 0===n[o]&&(n[o]=r)}for(var r=0;r0&&(e[a-1]._parent=void 0,e[a-1]._length=1),e[r]._parent=void 0,e[r]._length=1;var c=r>0?e[r-1]:this;a=0;--l)e[l]._length=u,u++;return}}}},S.prototype.attachExtraTrace=function(t){if(!t.__stackCleaned__){this.uncycle();for(var e=j(t),n=e.message,r=[e.stack],i=this;void 0!==i;)r.push(C(i.stack.split("\n"))),i=i._parent;w(r),b(r),U.notEnumerableProp(t,"stack",g(n,r)),U.notEnumerableProp(t,"__stackCleaned__",!0)}};var ot=function(){var t=function(t,e){return"string"==typeof t?t:void 0!==e.name&&void 0!==e.message?e.toString():F(e)};if("number"==typeof Error.stackTraceLimit&&"function"==typeof Error.captureStackTrace){Error.stackTraceLimit+=6,$=/^\s*at\s*/,Q=t;var e=Error.captureStackTrace;return rt=function(t){return H.test(t)},function(t,n){Error.stackTraceLimit+=6,e(t,n),Error.stackTraceLimit-=6}}var n=new Error;if("string"==typeof n.stack&&n.stack.split("\n")[0].indexOf("stackDetection@")>=0)return $=/@/,Q=t,G=!0,function(t){t.stack=(new Error).stack};var r;try{throw new Error}catch(t){r="stack"in t}return"stack"in n||!r||"number"!=typeof Error.stackTraceLimit?(Q=function(t,e){return"string"==typeof t?t:"object"!=typeof e&&"function"!=typeof e||void 0===e.name||void 0===e.message?F(e):e.toString()},null):($=/^\s*at\s*/,Q=t,function(t){Error.stackTraceLimit+=6;try{throw new Error}catch(e){t.stack=e.stack}Error.stackTraceLimit-=6})}();"undefined"!=typeof console&&void 0!==console.warn&&(I=function(t){console.warn(t)},U.isNode&&e.stderr.isTTY?I=function(t,e){var n=e?"":"";console.warn(n+t+"\n")}:U.isNode||"string"!=typeof(new Error).stack||(I=function(t,e){console.warn("%c"+t,e?"color: darkorange":"color: red")}));var st={warnings:X,longStackTraces:!1,cancellation:!1,monitoring:!1};return z&&n.longStackTraces(),{longStackTraces:function(){return st.longStackTraces},warnings:function(){return st.warnings},cancellation:function(){return st.cancellation},monitoring:function(){return st.monitoring},propagateFromFunction:function(){return nt},boundValueFunction:function(){return p},checkForgottenReturns:v,setBounds:R,warn:m,deprecated:y,CapturedTrace:S,fireDomEvent:Y,fireGlobalEvent:Z}}},{"./errors":12,"./util":36}],10:[function(t,e,n){"use strict";e.exports=function(t){function e(){return this.value}function n(){throw this.reason}t.prototype.return=t.prototype.thenReturn=function(n){return n instanceof t&&n.suppressUnhandledRejections(),this._then(e,void 0,void 0,{value:n},void 0)},t.prototype.throw=t.prototype.thenThrow=function(t){return this._then(n,void 0,void 0,{reason:t},void 0)},t.prototype.catchThrow=function(t){if(arguments.length<=1)return this._then(void 0,n,void 0,{reason:t},void 0);var e=arguments[1],r=function(){throw e};return this.caught(t,r)},t.prototype.catchReturn=function(n){if(arguments.length<=1)return n instanceof t&&n.suppressUnhandledRejections(),this._then(void 0,e,void 0,{value:n},void 0);var r=arguments[1];r instanceof t&&r.suppressUnhandledRejections();var i=function(){return r};return this.caught(n,i)}}},{}],11:[function(t,e,n){"use strict";e.exports=function(t,e){function n(){return o(this)}function r(t,n){return i(t,n,e,e)}var i=t.reduce,o=t.all;t.prototype.each=function(t){return i(this,t,e,0)._then(n,void 0,void 0,this,void 0)},t.prototype.mapSeries=function(t){return i(this,t,e,e)},t.each=function(t,r){return i(t,r,e,0)._then(n,void 0,void 0,t,void 0)},t.mapSeries=r}},{}],12:[function(t,e,n){"use strict";function r(t,e){function n(r){if(!(this instanceof n))return new n(r);f(this,"message","string"==typeof r?r:e),f(this,"name",t),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):Error.call(this)}return l(n,Error),n}function i(t){if(!(this instanceof i))return new i(t);f(this,"name","OperationalError"),f(this,"message",t),this.cause=t,this.isOperational=!0,t instanceof Error?(f(this,"message",t.message),f(this,"stack",t.stack)):Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}var o,s,a=t("./es5"),c=a.freeze,u=t("./util"),l=u.inherits,f=u.notEnumerableProp,h=r("Warning","warning"),p=r("CancellationError","cancellation error"),d=r("TimeoutError","timeout error"),_=r("AggregateError","aggregate error");try{o=TypeError,s=RangeError}catch(t){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(" "),y=0;y1?t.cancelPromise._reject(e):t.cancelPromise._cancel(),t.cancelPromise=null,!0)}function a(){return u.call(this,this.promise._target()._settledValue())}function c(t){if(!s(this,t))return h.e=t,h}function u(t){var i=this.promise,u=this.handler;if(!this.called){this.called=!0;var l=this.isFinallyHandler()?u.call(i._boundValue()):u.call(i._boundValue(),t);if(l===r)return l;if(void 0!==l){i._setReturnedNonUndefined();var p=n(l,i);if(p instanceof e){if(null!=this.cancelPromise){if(p._isCancelled()){var d=new f("late cancellation observer");return i._attachExtraTrace(d),h.e=d,h}p.isPending()&&p._attachCancellationCallback(new o(this))}return p._then(a,c,void 0,this,void 0)}}}return i.isRejected()?(s(this),h.e=t,h):(s(this),t)}var l=t("./util"),f=e.CancellationError,h=l.errorObj,p=t("./catch_filter")(r);return i.prototype.isFinallyHandler=function(){return 0===this.type},o.prototype._resultCancelled=function(){s(this.finallyHandler)},e.prototype._passThrough=function(t,e,n,r){return"function"!=typeof t?this.then():this._then(n,r,void 0,new i(this,e,t),void 0)},e.prototype.lastly=e.prototype.finally=function(t){return this._passThrough(t,0,u,u)},e.prototype.tap=function(t){return this._passThrough(t,1,u)},e.prototype.tapCatch=function(t){var n=arguments.length;if(1===n)return this._passThrough(t,1,void 0,u);var r,i=new Array(n-1),o=0;for(r=0;r0&&"function"==typeof arguments[e]){t=arguments[e];var r}var i=[].slice.call(arguments);t&&i.pop();var r=new n(i).promise();return void 0!==t?r.spread(t):r}}},{"./util":36}],18:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t,e,n,r){this.constructor$(t),this._promise._captureStackTrace();var i=u();this._callback=null===i?e:l.domainBind(i,e),this._preservedValues=r===o?new Array(this.length()):null,this._limit=n,this._inFlight=0,this._queue=[],p.invoke(this._asyncInit,this,void 0)}function c(t,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 e.reject(new TypeError("options argument must be an object but it is "+l.classString(i)));if("number"!=typeof i.concurrency)return e.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(t,n,s,o).promise()}var u=e._getDomain,l=t("./util"),f=l.tryCatch,h=l.errorObj,p=e._async;l.inherits(a,n),a.prototype._asyncInit=function(){this._init$(void 0,-2)},a.prototype._init=function(){},a.prototype._promiseFulfilled=function(t,n){var r=this._values,o=this.length(),a=this._preservedValues,c=this._limit;if(n<0){if(n=-1*n-1,r[n]=t,c>=1&&(this._inFlight--,this._drainQueue(),this._isResolved()))return!0}else{if(c>=1&&this._inFlight>=c)return r[n]=t,this._queue.push(n),!1;null!==a&&(a[n]=t);var u=this._promise,l=this._callback,p=u._boundValue();u._pushContext();var d=f(l).call(p,t,n,o),_=u._popContext();if(s.checkForgottenReturns(d,_,null!==a?"Promise.filter":"Promise.map",u),d===h)return this._reject(d.e),!0;var v=i(d,this._promise);if(v instanceof e){v=v._target();var y=v._bitField;if(0==(50397184&y))return c>=1&&this._inFlight++,r[n]=v,v._proxy(this,-1*(n+1)),!1;if(0==(33554432&y))return 0!=(16777216&y)?(this._reject(v._reason()),!0):(this._cancel(),!0);d=v._value()}r[n]=d}return++this._totalResolved>=o&&(null!==a?this._filter(r,a):this._resolve(r),!0)},a.prototype._drainQueue=function(){for(var t=this._queue,e=this._limit,n=this._values;t.length>0&&this._inFlight1){o.deprecated("calling Promise.try with more than 1 argument");var u=arguments[1],l=arguments[2];c=s.isArray(u)?a(t).apply(l,u):a(t).call(l,u)}else c=a(t)();var f=r._popContext();return o.checkForgottenReturns(c,f,"Promise.try",r),r._resolveFromSyncValue(c),r},e.prototype._resolveFromSyncValue=function(t){t===s.errorObj?this._rejectCallback(t.e,!1):this._resolveCallback(t,!0)}}},{"./util":36}],20:[function(t,e,n){"use strict";function r(t){return t instanceof Error&&l.getPrototypeOf(t)===Error.prototype}function i(t){var e;if(r(t)){e=new u(t),e.name=t.name,e.message=t.message,e.stack=t.stack;for(var n=l.keys(t),i=0;i1){var n,r=new Array(e-1),i=0;for(n=0;n0&&"function"!=typeof t&&"function"!=typeof e){var n=".then() only accepts functions but was passed: "+d.classString(t);arguments.length>1&&(n+=", "+d.classString(e)),this._warn(n)}return this._then(t,e,void 0,void 0,void 0)},o.prototype.done=function(t,e){this._then(t,e,void 0,void 0,void 0)._setIsFinal()},o.prototype.spread=function(t){return"function"!=typeof t?h("expecting a function but got "+d.classString(t)):this.all()._then(t,void 0,void 0,C,void 0)},o.prototype.toJSON=function(){var t={isFulfilled:!1,isRejected:!1,fulfillmentValue:void 0,rejectionReason:void 0};return this.isFulfilled()?(t.fulfillmentValue=this.value(),t.isFulfilled=!0):this.isRejected()&&(t.rejectionReason=this.reason(),t.isRejected=!0),t},o.prototype.all=function(){return arguments.length>0&&this._warn(".all() was passed arguments but it does not take any"),new T(this).promise()},o.prototype.error=function(t){return this.caught(d.originatesFromRejection,t)},o.getNewLibraryCopy=n.exports,o.is=function(t){return t instanceof o},o.fromNode=o.fromCallback=function(t){var e=new o(w);e._captureStackTrace();var n=arguments.length>1&&!!Object(arguments[1]).multiArgs,r=A(t)(R(e,n));return r===S&&e._rejectCallback(r.e,!0),e._isFateSealed()||e._setAsyncGuaranteed(),e},o.all=function(t){return new T(t).promise()},o.cast=function(t){var e=j(t);return e instanceof o||(e=new o(w),e._captureStackTrace(),e._setFulfilled(),e._rejectionHandler0=t),e},o.resolve=o.fulfilled=o.cast,o.reject=o.rejected=function(t){var e=new o(w);return e._captureStackTrace(),e._rejectCallback(t,!0),e},o.setScheduler=function(t){if("function"!=typeof t)throw new g("expecting a function but got "+d.classString(t));return y.setScheduler(t)},o.prototype._then=function(t,e,n,r,i){var s=void 0!==i,a=s?i:new o(w),c=this._target(),l=c._bitField;s||(a._propagateFrom(this,3),a._captureStackTrace(),void 0===r&&0!=(2097152&this._bitField)&&(r=0!=(50397184&l)?this._boundValue():c===this?void 0:this._boundTo),this._fireEvent("promiseChained",this,a));var f=u();if(0!=(50397184&l)){var h,p,_=c._settlePromiseCtx;0!=(33554432&l)?(p=c._rejectionHandler0,h=t):0!=(16777216&l)?(p=c._fulfillmentHandler0,h=e,c._unsetRejectionIsUnhandled()):(_=c._settlePromiseLateCancellationObserver,p=new b("late cancellation observer"),c._attachExtraTrace(p),h=e),y.invoke(_,c,{handler:null===f?h:"function"==typeof h&&d.domainBind(f,h),promise:a,receiver:r,value:p})}else c._addCallbacks(t,e,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(t){this._bitField=-65536&this._bitField|65535&t},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=-65537&this._bitField},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(){y.hasCustomScheduler()||(this._bitField=134217728|this._bitField)},o.prototype._receiverAt=function(t){var e=0===t?this._receiver0:this[4*t-4+3];if(e!==p)return void 0===e&&this._isBound()?this._boundValue():e},o.prototype._promiseAt=function(t){return this[4*t-4+2]},o.prototype._fulfillmentHandlerAt=function(t){return this[4*t-4+0]},o.prototype._rejectionHandlerAt=function(t){return this[4*t-4+1]},o.prototype._boundValue=function(){},o.prototype._migrateCallback0=function(t){var e=(t._bitField,t._fulfillmentHandler0),n=t._rejectionHandler0,r=t._promise0,i=t._receiverAt(0);void 0===i&&(i=p),this._addCallbacks(e,n,r,i,null)},o.prototype._migrateCallbackAt=function(t,e){var n=t._fulfillmentHandlerAt(e),r=t._rejectionHandlerAt(e),i=t._promiseAt(e),o=t._receiverAt(e);void 0===o&&(o=p),this._addCallbacks(n,r,i,o,null)},o.prototype._addCallbacks=function(t,e,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 t&&(this._fulfillmentHandler0=null===i?t:d.domainBind(i,t)),"function"==typeof e&&(this._rejectionHandler0=null===i?e:d.domainBind(i,e));else{var s=4*o-4;this[s+2]=n,this[s+3]=r,"function"==typeof t&&(this[s+0]=null===i?t:d.domainBind(i,t)),"function"==typeof e&&(this[s+1]=null===i?e:d.domainBind(i,e))}return this._setLength(o+1),o},o.prototype._proxy=function(t,e){this._addCallbacks(void 0,void 0,e,t,null)},o.prototype._resolveCallback=function(t,e){if(0==(117506048&this._bitField)){if(t===this)return this._rejectCallback(l(),!1);var n=j(t,this);if(!(n instanceof o))return this._fulfill(t);e&&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(t===this){var n=l();return this._attachExtraTrace(n),this._reject(n)}this._setFulfilled(),this._rejectionHandler0=t,(65535&e)>0&&(0!=(134217728&e)?this._settlePromises():y.settlePromises(this))}},o.prototype._reject=function(t){var e=this._bitField;if(!((117506048&e)>>>16)){if(this._setRejected(),this._fulfillmentHandler0=t,this._isFinal())return y.fatalError(t,d.isNode);(65535&e)>0?y.settlePromises(this):this._ensurePossibleRejectionHandled()}},o.prototype._fulfillPromises=function(t,e){for(var n=1;n0){if(0!=(16842752&t)){var n=this._fulfillmentHandler0;this._settlePromise0(this._rejectionHandler0,n,t),this._rejectPromises(e,n)}else{var r=this._rejectionHandler0;this._settlePromise0(this._fulfillmentHandler0,r,t),this._fulfillPromises(e,r)}this._setLength(0)}this._clearCancellationData()},o.prototype._settledValue=function(){var t=this._bitField;return 0!=(33554432&t)?this._rejectionHandler0:0!=(16777216&t)?this._fulfillmentHandler0:void 0},o.defer=o.pending=function(){return x.deprecated("Promise.defer","new Promise"),{promise:new o(w),resolve:s,reject:a}},d.notEnumerableProp(o,"_makeSelfResolutionError",l),t("./method")(o,w,j,h,x),t("./bind")(o,w,j,x),t("./cancel")(o,T,h,x),t("./direct_resolve")(o),t("./synchronous_inspection")(o),t("./join")(o,T,j,w,y,u),o.Promise=o,o.version="3.5.0",t("./map.js")(o,T,h,j,w,x),t("./call_get.js")(o),t("./using.js")(o,h,j,F,w,x),t("./timers.js")(o,w,x),t("./generators.js")(o,h,w,j,r,x),t("./nodeify.js")(o),t("./promisify.js")(o,w),t("./props.js")(o,T,j,h),t("./race.js")(o,w,j,h),t("./reduce.js")(o,T,h,j,w,x),t("./settle.js")(o,T,x),t("./some.js")(o,T,h),t("./filter.js")(o,w),t("./each.js")(o,w),t("./any.js")(o),d.toFastProperties(o),d.toFastProperties(o.prototype),c({a:1}),c({b:2}),c({c:3}),c(1),c(function(){}),c(void 0),c(!1),c(new o(w)),x.setBounds(v.firstLineError,d.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(t,e,n){"use strict";e.exports=function(e,n,r,i,o){function s(t){switch(t){case-2:return[];case-3:return{};case-6:return new Map}}function a(t){var r=this._promise=new e(n);t instanceof e&&r._propagateFrom(t,3),r._setOnCancel(this),this._values=t,this._length=0,this._totalResolved=0,this._init(void 0,-2)}var c=t("./util");c.isArray;return c.inherits(a,o),a.prototype.length=function(){return this._length},a.prototype.promise=function(){return this._promise},a.prototype._init=function t(n,o){var a=r(this._values,this._promise);if(a instanceof e){a=a._target();var u=a._bitField;if(this._values=a,0==(50397184&u))return this._promise._setAsyncGuaranteed(),a._then(t,this._reject,void 0,this,o);if(0==(33554432&u))return 0!=(16777216&u)?this._reject(a._reason()):this._cancel();a=a._value()}if(null===(a=c.asArray(a))){var l=i("expecting an array or an iterable object but got "+c.classString(a)).reason();return void this._promise._rejectCallback(l,!1)}if(0===a.length)return void(-5===o?this._resolveEmptyArray():this._resolve(s(o)));this._iterate(a)},a.prototype._iterate=function(t){var n=this.getActualLength(t.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(t){return this._totalResolved++,this._reject(t),!0},a.prototype._resultCancelled=function(){if(!this._isResolved()){var t=this._values;if(this._cancel(),t instanceof e)t.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},e.prototype.props=function(){return s(this)},e.props=function(t){return s(t)}}},{"./es5":13,"./util":36}],26:[function(t,e,n){"use strict";function r(t,e,n,r,i){for(var o=0;o=this._length&&(this._resolve(this._values),!0)},i.prototype._promiseFulfilled=function(t,e){var n=new o;return n._bitField=33554432,n._settledValueField=t,this._promiseResolved(e,n)},i.prototype._promiseRejected=function(t,e){var n=new o;return n._bitField=16777216,n._settledValueField=t,this._promiseResolved(e,n)},e.settle=function(t){return r.deprecated(".settle()",".reflect()"),new i(t).promise()},e.prototype.settle=function(){return e.settle(this)}}},{"./util":36}],31:[function(t,e,n){"use strict";e.exports=function(e,n,r){function i(t){this.constructor$(t),this._howMany=0,this._unwrap=!1,this._initialized=!1}function o(t,e){if((0|e)!==e||e<0)return r("expecting a positive integer\n\n See http://goo.gl/MqrFmX\n");var n=new i(t),o=n.promise();return n.setHowMany(e),n.init(),o}var s=t("./util"),a=t("./errors").RangeError,c=t("./errors").AggregateError,u=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 t=u(this._values);!this._isResolved()&&t&&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(t){this._howMany=t},i.prototype._promiseFulfilled=function(t){return this._addFulfilled(t),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(t){return this._addRejected(t),this._checkOutcome()},i.prototype._promiseCancelled=function(){return this._values instanceof e||null==this._values?this._cancel():(this._addRejected(l),this._checkOutcome())},i.prototype._checkOutcome=function(){if(this.howMany()>this._canPossiblyFulfill()){for(var t=new c,e=this.length();e0?this._reject(t):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(t){this._values.push(t)},i.prototype._addFulfilled=function(t){this._values[this._totalResolved++]=t},i.prototype._canPossiblyFulfill=function(){return this.length()-this._rejected()},i.prototype._getRangeError=function(t){var e="Input array must contain at least "+this._howMany+" items but contains only "+t+" items";return new a(e)},i.prototype._resolveEmptyArray=function(){this._reject(this._getRangeError(0))},e.some=function(t,e){return o(t,e)},e.prototype.some=function(t){return o(this,t)},e._SomePromiseArray=i}},{"./errors":12,"./util":36}],32:[function(t,e,n){"use strict";e.exports=function(t){function e(t){void 0!==t?(t=t._target(),this._bitField=t._bitField,this._settledValueField=t._isFateSealed()?t._settledValue():void 0):(this._bitField=0,this._settledValueField=void 0)}e.prototype._settledValue=function(){return this._settledValueField};var n=e.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=e.prototype.error=e.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=e.prototype.isFulfilled=function(){return 0!=(33554432&this._bitField)},o=e.prototype.isRejected=function(){return 0!=(16777216&this._bitField)},s=e.prototype.isPending=function(){return 0==(50397184&this._bitField)},a=e.prototype.isResolved=function(){return 0!=(50331648&this._bitField)};e.prototype.isCancelled=function(){return 0!=(8454144&this._bitField)},t.prototype.__isCancelled=function(){return 65536==(65536&this._bitField)},t.prototype._isCancelled=function(){return this._target().__isCancelled()},t.prototype.isCancelled=function(){return 0!=(8454144&this._target()._bitField)},t.prototype.isPending=function(){return s.call(this._target())},t.prototype.isRejected=function(){return o.call(this._target())},t.prototype.isFulfilled=function(){return i.call(this._target())},t.prototype.isResolved=function(){return a.call(this._target())},t.prototype.value=function(){return n.call(this._target())},t.prototype.reason=function(){var t=this._target();return t._unsetRejectionIsUnhandled(),r.call(t)},t.prototype._value=function(){return this._settledValue()},t.prototype._reason=function(){return this._unsetRejectionIsUnhandled(),this._settledValue()},t.PromiseInspection=e}},{}],33:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t,r){if(l(t)){if(t instanceof e)return t;var i=o(t);if(i===u){r&&r._pushContext();var c=e.reject(i.e);return r&&r._popContext(),c}if("function"==typeof i){if(s(t)){var c=new e(n);return t._then(c._fulfill,c._reject,void 0,c,null),c}return a(t,i,r)}}return t}function i(t){return t.then}function o(t){try{return i(t)}catch(t){return u.e=t,u}}function s(t){try{return f.call(t,"_promise0")}catch(t){return!1}}function a(t,r,i){function o(t){a&&(a._resolveCallback(t),a=null)}function s(t){a&&(a._rejectCallback(t,f,!0),a=null)}var a=new e(n),l=a;i&&i._pushContext(),a._captureStackTrace(),i&&i._popContext();var f=!0,h=c.tryCatch(r).call(t,o,s);return f=!1,a&&h===u&&(a._rejectCallback(h.e,!0,!0),a=null),l}var c=t("./util"),u=c.errorObj,l=c.isObject,f={}.hasOwnProperty;return r}},{"./util":36}],34:[function(t,e,n){"use strict";e.exports=function(e,n,r){function i(t){this.handle=t}function o(t){return clearTimeout(this.handle),t}function s(t){throw clearTimeout(this.handle),t}var a=t("./util"),c=e.TimeoutError;i.prototype._resultCancelled=function(){clearTimeout(this.handle)};var u=function(t){return l(+this).thenReturn(t)},l=e.delay=function(t,o){var s,a;return void 0!==o?(s=e.resolve(o)._then(u,null,null,t,void 0),r.cancellation()&&o instanceof e&&s._setOnCancel(o)):(s=new e(n),a=setTimeout(function(){s._fulfill()},+t),r.cancellation()&&s._setOnCancel(new i(a)),s._captureStackTrace()),s._setAsyncGuaranteed(),s};e.prototype.delay=function(t){return l(t,this)};var f=function(t,e,n){var r;r="string"!=typeof e?e instanceof Error?e:new c("operation timed out"):new c(e),a.markAsOriginatingFromRejection(r),t._attachExtraTrace(r),t._reject(r),null!=n&&n.cancel()};e.prototype.timeout=function(t,e){t=+t;var n,a,c=new i(setTimeout(function(){n.isPending()&&f(n,e,a)},t));return r.cancellation()?(a=this.then(),n=a._then(o,s,void 0,c,void 0),n._setOnCancel(c)):n=this._then(o,s,void 0,c,void 0),n}}},{"./util":36}],35:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t){setTimeout(function(){throw t},0)}function c(t){var e=r(t);return e!==t&&"function"==typeof t._isDisposable&&"function"==typeof t._getDisposer&&t._isDisposable()&&e._setDisposable(t._getDisposer()),e}function u(t,n){function i(){if(s>=u)return l._fulfill();var o=c(t[s++]);if(o instanceof e&&o._isDisposable()){try{o=r(o._getDisposer().tryDispose(n),t.promise)}catch(t){return a(t)}if(o instanceof e)return o._then(i,a,null,null,null)}i()}var s=0,u=t.length,l=new e(o);return i(),l}function l(t,e,n){this._data=t,this._promise=e,this._context=n}function f(t,e,n){this.constructor$(t,e,n)}function h(t){return l.isDisposer(t)?(this.resources[this.index]._setDisposable(t),t.promise()):t}function p(t){this.length=t,this.promise=null,this[t-1]=null}var d=t("./util"),_=t("./errors").TypeError,v=t("./util").inherits,y=d.errorObj,m=d.tryCatch,g={};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():g},l.prototype.tryDispose=function(t){var e=this.resource(),n=this._context;void 0!==n&&n._pushContext();var r=e!==g?this.doDispose(e,t):null;return void 0!==n&&n._popContext(),this._promise._unsetDisposable(),this._data=null,r},l.isDisposer=function(t){return null!=t&&"function"==typeof t.resource&&"function"==typeof t.tryDispose},v(f,l),f.prototype.doDispose=function(t,e){return this.data().call(t,t,e)},p.prototype._resultCancelled=function(){for(var t=this.length,n=0;n0},e.prototype._getDisposer=function(){return this._disposer},e.prototype._unsetDisposable=function(){this._bitField=-131073&this._bitField,this._disposer=void 0},e.prototype.disposer=function(t){if("function"==typeof t)return new f(t,this,i());throw new _}}},{"./errors":12,"./util":36}],36:[function(t,i,o){"use strict";function s(){try{var t=S;return S=null,t.apply(this,arguments)}catch(t){return R.e=t,R}}function a(t){return S=t,s}function c(t){return null==t||!0===t||!1===t||"string"==typeof t||"number"==typeof t}function u(t){return"function"==typeof t||"object"==typeof t&&null!==t}function l(t){return c(t)?new Error(g(t)):t}function f(t,e){var n,r=t.length,i=new Array(r+1);for(n=0;n1,r=e.length>0&&!(1===e.length&&"constructor"===e[0]),i=B.test(t+"")&&P.names(t).length>0;if(n||r||i)return!0}return!1}catch(t){return!1}}function v(t){function e(){}e.prototype=t;for(var n=8;n--;)new e;return t}function y(t){return L.test(t)}function m(t,e,n){for(var r=new Array(t),i=0;i10||t[0]>0}(),q.isNode&&q.toFastProperties(e);try{throw new Error}catch(t){q.lastLineError=t}i.exports=q},{"./es5":13}]},{},[4])(4)}),"undefined"!=typeof window&&null!==window?window.P=window.Promise:"undefined"!=typeof self&&null!==self&&(self.P=self.Promise)}).call(e,n(4),n(5),n(12).setImmediate)},function(t,e){function n(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function i(t){if(l===setTimeout)return setTimeout(t,0);if((l===n||!l)&&setTimeout)return l=setTimeout,setTimeout(t,0);try{return l(t,0)}catch(e){try{return l.call(null,t,0)}catch(e){return l.call(this,t,0)}}}function o(t){if(f===clearTimeout)return clearTimeout(t);if((f===r||!f)&&clearTimeout)return f=clearTimeout,clearTimeout(t);try{return f(t)}catch(e){try{return f.call(null,t)}catch(e){return f.call(this,t)}}}function s(){_&&p&&(_=!1,p.length?d=p.concat(d):v=-1,d.length&&a())}function a(){if(!_){var t=i(s);_=!0;for(var e=d.length;e;){for(p=d,d=[];++v1)for(var n=1;n1&&void 0!==arguments[1]?arguments[1]:{};r(this,t),this._broadcast=e,this._options=n,this._api=new o.default(n)}return s(t,[{key:"present",value:function(){var t=this;return this._api.getBroadcastView(this._broadcast.id).then(function(e){if(!e.playlist)throw"This broadcast is unavailable for viewing. The status is "+e.status;var n=new Player,r=new Playlist,o=new MediaItem("video",e.playlist);return n.playlist=r,n.playlist.push(o),new i.default(broadcast,e,t._options).attach(n),n.present(),n})}}]),t}();e.default=a},function(t,e){String.prototype.encodeHTML||(String.prototype.encodeHTML=function(){return this.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}),Array.prototype.equals||(Array.prototype.equals=function(t){if(this===t)return!0;if(null==t)return!1;if(this.length!=t.length)return!1;for(var e=0;e=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n(11),e.setImmediate=setImmediate,e.clearImmediate=clearImmediate}])}); \ No newline at end of file diff --git a/dist/boxcast-sdk-tvos.js.gz b/dist/boxcast-sdk-tvos.js.gz index 714643ae1ebde4cd4475a66526adbfac257b0fdc..2796abac15085127715f6f0af48424f1d5219219 100644 GIT binary patch delta 26674 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 w!U>9XR`Q9D#-}KX08V(&$>&p", - "version": "1.0.0", + "version": "1.1.0", "description": "BoxCast SDK for tvOS/TVML video playback", "bugs": { "url": "https://github.com/boxcast/boxcast-sdk-tvos/issues" diff --git a/src/BoxCastPlayer.js b/src/BoxCastPlayer.js new file mode 100644 index 0000000..1c2a10a --- /dev/null +++ b/src/BoxCastPlayer.js @@ -0,0 +1,37 @@ +/* + BoxCastPlayer.js + BoxCast tvOS/TVML SDK + + Copyright (c) 2017 BoxCast. All rights reserved. +*/ + +import BoxCastPlayerMetrics from './BoxCastPlayerMetrics'; +import BoxCastData from './BoxCastData'; + +export default class BoxCastPlayer { + constructor(broadcast, options={}) { + this._broadcast = broadcast; + this._options = options; + this._api = new BoxCastData(options); + } + + present() { + return this._api.getBroadcastView(this._broadcast.id).then((view) => { + if (!view.playlist) { + throw `This broadcast is unavailable for viewing. The status is ${view.status}`; + } + var player = new Player(), + playlist = new Playlist(), + mediaItem = new MediaItem("video", view.playlist); + player.playlist = playlist; + player.playlist.push(mediaItem); + + var metrics = new BoxCastPlayerMetrics(broadcast, view, this._options); + metrics.attach(player); + + player.present(); + + return player; + }); + } +} \ No newline at end of file diff --git a/src/index.js b/src/index.js index 775bd1d..395d84c 100644 --- a/src/index.js +++ b/src/index.js @@ -11,6 +11,7 @@ import fetch from './fetch'; module.exports = { BoxCastData: require('./BoxCastData'), + BoxCastPlayer: require('./BoxCastPlayer'), BoxCastPlayerMetrics: require('./BoxCastPlayerMetrics'), vendor: { Promise, diff --git a/tests/index.spec.js b/tests/index.spec.js index 27d03f3..e36d748 100644 --- a/tests/index.spec.js +++ b/tests/index.spec.js @@ -1,8 +1,9 @@ describe('BoxCast SDK for tvOS', function () { - it('should export data, metrics and vendor classes', function () { - const { BoxCastData, BoxCastPlayerMetrics, vendor } = require('../src'); + it('should export data, player, metrics and vendor classes', function () { + const { BoxCastData, BoxCastPlayer, BoxCastPlayerMetrics, vendor } = require('../src'); expect(BoxCastData).toBeTruthy(); + expect(BoxCastPlayer).toBeTruthy(); expect(BoxCastPlayerMetrics).toBeTruthy(); expect(vendor.Promise).toBeTruthy(); expect(vendor.fetch).toBeTruthy(); diff --git a/tests/player.spec.js b/tests/player.spec.js new file mode 100644 index 0000000..cb897f6 --- /dev/null +++ b/tests/player.spec.js @@ -0,0 +1,24 @@ +import './_mock'; +import BoxCastPlayer from '../src/BoxCastPlayer'; +import Promise from 'bluebird'; + +describe('BoxCastPlayer', function () { + // Mock TVML built-ins + global.Player = jest.fn(); + global.Playlist = jest.fn(); + global.MediaItem = jest.fn(); + + var broadcast = {id: 1000}; + var player = new BoxCastPlayer(broadcast, {HOSTNAME: 'My App for tvOS'}); + player._api = {getBroadcastView: jest.fn()}; + + it('should reject the request if the playlist is not availble', function() { + player._api.getBroadcastView.mockReturnValue(new Promise((res, rej) => res({json: () => {playlist: ''}}))); + return expect(player.present()).rejects.toMatch('broadcast is unavailable'); + }); + + it('should initialize a player if the playlist is available', function() { + player._api.getBroadcastView.mockReturnValue(new Promise((res, rej) => res({json: () => {playlist: 'http://cdn.example.com/all.m3u8'}}))); + return expect(player.present()).rejects.toMatch('broadcast is unavailable'); + }); +});