@vkontakte/videoplayer-core 2.0.33 → 2.0.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.cjs.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vkontakte/videoplayer-core v2.0.
|
|
3
|
-
*
|
|
4
|
-
* https://st.mycdn.me/static/playersdk/2-0-
|
|
2
|
+
* @vkontakte/videoplayer-core v2.0.34
|
|
3
|
+
* Fri, 10 Dec 2021 16:30:56 GMT
|
|
4
|
+
* https://st.mycdn.me/static/playersdk/2-0-34/doc/
|
|
5
5
|
*/
|
|
6
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@vkontakte/videoplayer-shared");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(i){if("default"!==i){var r=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,r.get?r:{enumerable:!0,get:function(){return e[i]}})}})),t.default=e,Object.freeze(t)}var r,a,n,s,o,u=t(require("lodash/debounce"));exports.PlaybackState=void 0,(r=exports.PlaybackState||(exports.PlaybackState={})).STOPPED="stopped",r.PLAYING="playing",r.PAUSED="paused",exports.VideoFormat=void 0,(a=exports.VideoFormat||(exports.VideoFormat={})).MPEG="MPEG",a.DASH="DASH",a.DASH_SEP="DASH_SEP",a.DASH_WEBM="DASH_WEBM",a.DASH_WEBM_VK="DASH_WEBM_VK",a.DASH_ONDEMAND="DASH_ONDEMAND",a.DASH_LIVE="DASH_LIVE",a.DASH_LIVE_WEBM="DASH_LIVE_WEBM",a.HLS="HLS",a.HLS_ONDEMAND="HLS_ONDEMAND",a.HLS_JS="HLS_JS",a.HLS_LIVE="HLS_LIVE",function(e){e.SCREEN="SCREEN",e.CHROMECAST="CHROMECAST"}(n||(n={})),exports.ChromecastState=void 0,(s=exports.ChromecastState||(exports.ChromecastState={})).NOT_AVAILABLE="NOT_AVAILABLE",s.AVAILABLE="AVAILABLE",s.CONNECTING="CONNECTING",s.CONNECTED="CONNECTED",exports.StartStatus=void 0,(o=exports.StartStatus||(exports.StartStatus={})).SuccessWithSound="success_with_sound",o.SuccessWithoutSound="success_without_sound",o.Failed="failed";var d=function(){return(d=Object.assign||function(e){for(var t,i=1,r=arguments.length;i<r;i++)for(var a in t=arguments[i])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)};function c(e,t,i,r){return new(i||(i=Promise))((function(a,n){function s(e){try{u(r.next(e))}catch(e){n(e)}}function o(e){try{u(r.throw(e))}catch(e){n(e)}}function u(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,o)}u((r=r.apply(e,t||[])).next())}))}function l(e,t){var i,r,a,n,s={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function o(n){return function(o){return function(n){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,r&&(a=2&n[0]?r.return:n[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,n[1])).done)return a;switch(r=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return s.label++,{value:n[1],done:!1};case 5:s.label++,r=n[1],n=[0];continue;case 7:n=s.ops.pop(),s.trys.pop();continue;default:if(!(a=s.trys,(a=a.length>0&&a[a.length-1])||6!==n[0]&&2!==n[0])){s=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]<a[3])){s.label=n[1];break}if(6===n[0]&&s.label<a[1]){s.label=a[1],a=n;break}if(a&&s.label<a[2]){s.label=a[2],s.ops.push(n);break}a[2]&&s.ops.pop(),s.trys.pop();continue}n=t.call(e,s)}catch(e){n=[6,e],r=0}finally{i=a=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,o])}}}function p(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],r=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function h(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var r,a,n=i.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=n.next()).done;)s.push(r.value)}catch(e){a={error:e}}finally{try{r&&!r.done&&(i=n.return)&&i.call(n)}finally{if(a)throw a.error}}return s}function f(e,t,i){if(i||2===arguments.length)for(var r,a=0,n=t.length;a<n;a++)!r&&a in t||(r||(r=Array.prototype.slice.call(t,0,a)),r[a]=t[a]);return e.concat(r||Array.prototype.slice.call(t))}var v,m,S={throughputEstimator:{emaAlpha:.2,emaAlphaSlow:.2,emaAlphaFast:.7,changeThreshold:.2,useBrowserEstimation:!0,streamMinSampleSize:10240,streamMinSampleTime:300},autoTrackSelection:{bitrateFactor:1.2,usePixelRatio:!0,limitByContainer:!0,containerSizeFactor:2,stepQualityDown:!1,stepQualityDownExceptForTop:!1},enableTelemetryAtStart:!1,formatsToAvoid:[exports.VideoFormat.DASH_WEBM_VK],disableChromecast:!1,chromecastReceiverId:void 0,useWebmBigRequest:!0,bigRequestMinInitSize:51200,bigRequestMinDataSize:1048576,stripRangeHeader:!0,flushShortLoopedBuffers:!0,insufficientBufferRuleMargin:1e4,dashSeekInSegmentDurationThreshold:18e4,dashSeekInSegmentAlwaysSeekDelta:1e4},b=function(){function t(t){var i,r=this;this.connection$=new e.ValueSubject(void 0),this.castState$=new e.ValueSubject(exports.ChromecastState.NOT_AVAILABLE),this.errorEvent$=new e.Subject,this.realCastState$=new e.ValueSubject(exports.ChromecastState.NOT_AVAILABLE),this.subscription=new e.Subscription,this.params=t,this.log=this.params.dependencies.logger.createComponentLog("ChromecastInitializer");var a,n="chrome"in window;(this.log({message:"[constructor] receiverApplicationId: "+this.params.receiverApplicationId+", isDisabled: "+this.params.isDisabled+", isSupported: "+n}),!t.isDisabled&&n)&&(e.isNonNullable(null===(i=window.chrome)||void 0===i?void 0:i.cast)?this.initializeCastApi():(window.__onGCastApiAvailable=function(e){e&&r.initializeCastApi()},(a="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1",new Promise((function(e,t){var i=document.createElement("script");i.setAttribute("src",a),i.onload=function(){return e},i.onerror=function(){return t},document.body.appendChild(i)}))).catch((function(){return r.errorEvent$.next({id:"ChromecastLoading",message:"Script loading failed!"})}))))}return t.prototype.connect=function(){var e;null===(e=cast.framework.CastContext.getInstance())||void 0===e||e.requestSession()},t.prototype.disconnect=function(){var e,t;null===(t=null===(e=cast.framework.CastContext.getInstance())||void 0===e?void 0:e.getCurrentSession())||void 0===t||t.endSession(!0)},t.prototype.stopMedia=function(){return new Promise((function(e,t){var i,r,a;null===(a=null===(r=null===(i=cast.framework.CastContext.getInstance())||void 0===i?void 0:i.getCurrentSession())||void 0===r?void 0:r.getMediaSession())||void 0===a||a.stop(new chrome.cast.media.StopRequest,e,t)}))},t.prototype.toggleConnection=function(){e.isNonNullable(this.connection$.getValue())?this.disconnect():this.connect()},t.prototype.setVolume=function(t){var i=this.connection$.getValue();e.isNullable(i)||(i.remotePlayer.volumeLevel=t,i.remotePlayerController.setVolumeLevel())},t.prototype.setMuted=function(t){var i=this.connection$.getValue();e.isNullable(i)||t!==i.remotePlayer.isMuted&&i.remotePlayerController.muteOrUnmute()},t.prototype.destroy=function(){this.subscription.unsubscribe()},t.prototype.initListeners=function(){var t=this,i=new cast.framework.RemotePlayer,r=new cast.framework.RemotePlayerController(i),a=cast.framework.CastContext.getInstance();this.subscription.add(e.fromEvent(a,cast.framework.CastContextEventType.SESSION_STATE_CHANGED).subscribe((function(i){var r,n;switch(i.sessionState){case cast.framework.SessionState.SESSION_STARTED:case cast.framework.SessionState.SESSION_STARTING:case cast.framework.SessionState.SESSION_RESUMED:t.contentId=null===(n=null===(r=a.getCurrentSession())||void 0===r?void 0:r.getMediaSession())||void 0===n?void 0:n.media.contentId;break;case cast.framework.SessionState.NO_SESSION:case cast.framework.SessionState.SESSION_ENDING:case cast.framework.SessionState.SESSION_ENDED:case cast.framework.SessionState.SESSION_START_FAILED:t.contentId=void 0;break;default:return e.assertNever(i.sessionState)}}))).add(e.merge(e.fromEvent(a,cast.framework.CastContextEventType.CAST_STATE_CHANGED).pipe(e.tap((function(e){t.log({message:"[cast.framework.RemotePlayerEventType.CAST_STATE_CHANGED]: "+JSON.stringify(e)})})),e.map((function(e){return e.castState}))),e.observableFrom([a.getCastState()])).pipe(e.filterChanged(),e.map(g),e.tap((function(e){t.log({message:"realCastState$: "+e})}))).subscribe(this.realCastState$)).add(this.realCastState$.subscribe((function(n){var s,o=n===exports.ChromecastState.CONNECTED,u=e.isNonNullable(t.connection$.getValue());if(o&&!u){var d=a.getCurrentSession();e.assertNonNullable(d);var c=d.getCastDevice(),l=null===(s=d.getMediaSession())||void 0===s?void 0:s.media.contentId;(e.isNullable(l)||l===t.contentId)&&(t.log({message:"connection created"}),t.connection$.next({remotePlayer:i,remotePlayerController:r,session:d,castDevice:c}))}else!o&&u&&(t.log({message:"connection destroyed"}),t.connection$.next(void 0));t.castState$.next(n===exports.ChromecastState.CONNECTED?e.isNonNullable(t.connection$.getValue())?exports.ChromecastState.CONNECTED:exports.ChromecastState.AVAILABLE:n)})))},t.prototype.initializeCastApi=function(){var e,t,i,r;try{t=cast.framework.CastContext.getInstance(),i=chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,r=chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED}catch(e){return}try{t.setOptions({receiverApplicationId:null!==(e=this.params.receiverApplicationId)&&void 0!==e?e:i,autoJoinPolicy:r}),this.initListeners()}catch(e){this.errorEvent$.next({id:"ChromecastInitializer",message:"[initializeCastApi] failed",thrown:e})}},t}(),g=function(t){switch(t){case cast.framework.CastState.NO_DEVICES_AVAILABLE:return exports.ChromecastState.NOT_AVAILABLE;case cast.framework.CastState.NOT_CONNECTED:return exports.ChromecastState.AVAILABLE;case cast.framework.CastState.CONNECTING:return exports.ChromecastState.CONNECTING;case cast.framework.CastState.CONNECTED:return exports.ChromecastState.CONNECTED;default:return e.assertNever(t)}};!function(e){e.VIDEO="video",e.AUDIO="audio",e.TEXT="text"}(v||(v={})),function(e){e.NONE="none",e.DOWNLOADING="downloading",e.DOWNLOADED="downloaded",e.FED="fed"}(m||(m={}));var y,T,E=function(e){return c(void 0,void 0,void 0,(function(){var t,i,r;return l(this,(function(a){switch(a.label){case 0:t=e.muted,a.label=1;case 1:return a.trys.push([1,3,,8]),[4,e.play()];case 2:return a.sent(),[3,8];case 3:if(i=a.sent(),t)return console.warn(i),[2,!1];e.muted=!0,a.label=4;case 4:return a.trys.push([4,6,,7]),[4,e.play()];case 5:return a.sent(),[3,7];case 6:return r=a.sent(),e.muted=!1,console.warn(r),[2,!1];case 7:return[3,8];case 8:return[2,!0]}}))}))},P=function(t,i,r,a){var n=void 0===a?{}:a,s=n.equal,o=void 0===s?function(e,t){return e===t}:s,u=n.changed$,d=n.onError,c=t.getState(),l=i(),p=e.isNullable(u),h=new e.Subscription;return u&&h.add(u.subscribe((function(e){var i=t.getState();o(e,i)&&t.setState(e)}),d)),o(l,c)||(r(c),p&&t.setState(c)),h.add(t.stateChangeStarted$.subscribe((function(e){r(e.to),p&&t.setState(e.to)}),d)),h},k=function(t,i,r){return P(i,(function(){return t.loop}),(function(i){e.isNonNullable(i)&&(t.loop=i)}),{onError:r})},w=function(t,i,r,a){return P(i,(function(){return{muted:t.muted,volume:t.volume}}),(function(i){e.isNonNullable(i)&&(t.muted=i.muted,t.volume=i.volume)}),{equal:function(e,t){return e===t||(null==e?void 0:e.muted)===(null==t?void 0:t.muted)&&(null==e?void 0:e.volume)===(null==t?void 0:t.volume)},changed$:r,onError:a})},x=function(e,t){if(e.id===t)return!0;var i=h(t.split("|"),3);i[0];var r=i[1],a=i[2];return e.language===r&&e.label===a},A=function(){function t(){this.available$=new e.Subject,this.current$=new e.ValueSubject(void 0),this.error$=new e.Subject,this.subscription=new e.Subscription,this.externalTracks=new Map}return t.prototype.connect=function(t,i,r){var a=this;this.video=t,this.cueSettings=i.textTrackCuesSettings,this.subscribe();var n=function(e){a.error$.next({id:"TextTracksManager",message:"Generic HtmlVideoTextTrackManager error",thrown:e})};this.subscription.add(this.available$.subscribe(r.availableTextTracks$)),this.subscription.add(this.current$.subscribe(r.currentTextTrack$)),this.subscription.add(this.error$.subscribe(r.error$)),this.subscription.add(P(i.externalTextTracks,(function(){return Object.values(a.externalTracks)}),(function(t){e.isNonNullable(t)&&a.setExternal(t)}),{equal:function(t,i){return e.isNonNullable(t)&&e.isNonNullable(i)&&t.length===i.length&&t.every((function(e,t){return e.id===i[t].id}))},changed$:this.available$.pipe(e.map((function(e){return e.filter((function(e){return"external"===e.type}))}))),onError:n})),this.subscription.add(P(i.currentTextTrack,(function(){if(!a.video){var e=a.htmlTextTracksAsArray().find((function(e){return"showing"===e.mode}));return e&&a.htmlTextTrackToITextTrack(e).id}}),(function(e){return a.select(e)}),{changed$:this.current$,onError:n})),this.subscription.add(P(i.textTrackCuesSettings,(function(){return{}}),(function(){var e,t;if(a.video)try{for(var i=p(a.htmlTextTracksAsArray()),r=i.next();!r.done;r=i.next()){var n=r.value;a.applyCueSettings(n.cues),a.applyCueSettings(n.activeCues)}}catch(t){e={error:t}}finally{try{r&&!r.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}})))},t.prototype.subscribe=function(){var t=this;e.assertNonNullable(this.video);var i=this.video.textTracks;this.subscription.add(e.fromEvent(i,"addtrack").subscribe((function(){var e=t.current$.getValue();t.select(e)}))),this.subscription.add(e.merge(e.fromEvent(i,"addtrack"),e.fromEvent(i,"removetrack"),e.observableFrom(["init"])).pipe(e.map((function(){return t.htmlTextTracksAsArray().map((function(e){return t.htmlTextTrackToITextTrack(e)}))})),e.filterChanged((function(e,t){return e.length===t.length&&e.every((function(e,i){return e.id===t[i].id}))}))).subscribe(this.available$)),this.subscription.add(e.merge(e.fromEvent(i,"change"),e.observableFrom(["init"])).pipe(e.map((function(){return t.htmlTextTracksAsArray().find((function(e){return"showing"===e.mode}))})),e.map((function(e){return e&&t.htmlTextTrackToITextTrack(e).id})),e.filterChanged()).subscribe(this.current$));var r=function(e){var i,r;return t.applyCueSettings(null!==(r=null===(i=e.target)||void 0===i?void 0:i.activeCues)&&void 0!==r?r:null)};this.subscription.add(e.fromEvent(i,"addtrack").subscribe((function(e){var i,a;null===(i=e.track)||void 0===i||i.addEventListener("cuechange",r);var n=function(e){var i,r,a,s,o,u=null!==(r=null===(i=e.target)||void 0===i?void 0:i.cues)&&void 0!==r?r:null;u&&u.length&&(t.applyCueSettings(null!==(s=null===(a=e.target)||void 0===a?void 0:a.cues)&&void 0!==s?s:null),null===(o=e.target)||void 0===o||o.removeEventListener("cuechange",n))};null===(a=e.track)||void 0===a||a.addEventListener("cuechange",n)}))),this.subscription.add(e.fromEvent(i,"removetrack").subscribe((function(e){var t;null===(t=e.track)||void 0===t||t.removeEventListener("cuechange",r)})))},t.prototype.applyCueSettings=function(t){var i,r;if(t&&t.length){var a=this.cueSettings.getState();try{for(var n=p(Array.from(t)),s=n.next();!s.done;s=n.next()){var o=s.value;e.isNonNullable(a.align)&&(o.align=a.align),e.isNonNullable(a.position)&&(o.position=a.position),e.isNonNullable(a.size)&&(o.size=a.size),e.isNonNullable(a.line)&&(o.line=a.line)}}catch(e){i={error:e}}finally{try{s&&!s.done&&(r=n.return)&&r.call(n)}finally{if(i)throw i.error}}}},t.prototype.htmlTextTracksAsArray=function(i){void 0===i&&(i=!1),e.assertNonNullable(this.video);var r=f([],h(this.video.textTracks),!1);return i?r:r.filter(t.isHealthyTrack)},t.prototype.htmlTextTrackToITextTrack=function(e){var t=e.language,i=e.label,r=""!==e.id?e.id:function(e){return["__",e.language,e.label].join("|")}(e);return this.externalTracks.has(r)?{id:r,type:"external",language:t,label:i,url:this.externalTracks.get(r).url}:{id:r,type:"internal",language:t,label:i}},t.isHealthyTrack=function(e){return"metadata"!==e.kind&&(""!==e.id||""!==e.label||""!==e.language)},t.prototype.setExternal=function(e){var t=this;e.filter((function(e){var i=e.id;return!t.externalTracks.has(i)})).forEach((function(e){return t.attach(e)})),Array.from(this.externalTracks.keys()).filter((function(t){return!e.find((function(e){return e.id===t}))})).forEach((function(e){return t.detach(e)}))},t.prototype.select=function(t){var i,r;e.assertNonNullable(this.video);try{for(var a=p(this.htmlTextTracksAsArray(!0)),n=a.next();!n.done;n=a.next()){var s=n.value;e.isNonNullable(t)&&x(s,t)?s.mode="showing":s.mode="disabled"}}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}},t.prototype.destroy=function(){var e,t;if(this.subscription.unsubscribe(),this.video)try{for(var i=p(Array.from(this.video.getElementsByTagName("track"))),r=i.next();!r.done;r=i.next()){var a=r.value,n=a.getAttribute("id");n&&this.externalTracks.has(n)&&this.video.removeChild(a)}}catch(t){e={error:t}}finally{try{r&&!r.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}this.externalTracks.clear()},t.prototype.attach=function(t){e.assertNonNullable(this.video);var i=document.createElement("track");i.setAttribute("src",t.url),i.setAttribute("id",t.id),t.label&&i.setAttribute("label",t.label),t.language&&i.setAttribute("srclang",t.language),this.externalTracks.set(t.id,t),this.video.appendChild(i)},t.prototype.detach=function(t){e.assertNonNullable(this.video);var i=Array.prototype.find.call(this.video.getElementsByTagName("track"),(function(e){return e.getAttribute("id")===t}));i&&this.video.removeChild(i),this.externalTracks.delete(t)},t}(),N=function(e){var t=document.createElement("video");return t.setAttribute("crossorigin","anonymous"),t.setAttribute("playsinline","playsinline"),e.appendChild(t),t},$=function(t){return new e.Observable((function(i){var r=0;return(new e.Subscription).add(e.fromEvent(t,"loadstart").subscribe((function(){r=Date.now()}))).add(e.fromEvent(t,"loadeddata").subscribe((function(){i.next(Date.now()-r)})))})).pipe(e.once())},D=function(){function e(e){this._buffer=[],this._source=e}return e.prototype.fill=function(){this._buffer=[];for(var e=this._source.currentTime,t=0,i=this._source.buffered.length;t<i;t++){var r=this._source.buffered.start(t),a=this._source.buffered.end(t);r>e&&r-e<3&&(r=e),this._buffer.push({start:r,end:a,i:t})}return this._buffer.sort((function(e,t){return e.start-t.start})),this._buffer},e.prototype.getByTime=function(e){return this._buffer.find((function(t){return e>=t.start&&e<t.end}))},e.prototype.getNextWithGap=function(e,t){var i=this.getNext(e);if(i&&i.start-e.end<(t||3))return i},e.prototype.getNext=function(e){var t=this._buffer.indexOf(e);if(~t&&this._buffer.length-1>t)return this._buffer[++t]},e.prototype.smartRemove=function(e,t,i){this._buffer.forEach((function(r){var a=r.start,n=r.end,s=a>=e&&a<t,o=n>=e&&n<t;s&&o||(s?i(t,n):o?i(a,e):a<e&&n>t?(i(t,n),i(a,e)):i(a,n))}))},e.prototype.destroy=function(){this._buffer=[]},e}(),_=function(e,t,i){void 0===i&&(i=3);for(var r=0,a=0,n=0;n<e.length;n++){var s=e.start(n),o=e.end(n);if(s<=t&&t<=o){if(r=s,a=o,!i)return{start:r,end:a};for(var u=n-1;u>=0;u--)e.end(u)+i>=r&&(r=e.start(u));for(var d=n+1;d<e.length;d++)e.start(d)-i<=a&&(a=e.end(d))}}return{start:r,end:a}},I=function(t){return new e.Observable((function(i){var r=0;return(new e.Subscription).add(e.fromEvent(t,"loadstart").subscribe((function(){r=Date.now()}))).add(e.fromEvent(t,"loadedmetadata").subscribe((function(){i.next(Date.now()-r)})))})).pipe(e.once())},R=function(t){var i=function(i,r){return void 0===r&&(r=function(){}),e.fromEvent(t,i).pipe(e.map(r))},r=e.merge.apply(void 0,f([],h(["waiting","pause","canplay","canplaythrough","playing","seeked","ended"].map((function(i){return e.fromEvent(t,i)}))),!1)).pipe(e.map((function(){return t.readyState<3})),e.filterChanged()),a=e.merge(e.fromEvent(t,"progress"),e.fromEvent(t,"timeupdate")).pipe(e.map((function(){return _(t.buffered,t.currentTime)}))),n=e.fromEvent(t,"volumechange").pipe(e.debounce(0),e.map((function(){return{muted:t.muted,volume:t.volume}}))),s=e.fromEvent(t,"error").pipe(e.map((function(){var e=t.error;return{id:e?"MediaError#"+e.code:"HtmlVideoError",message:e?e.message:"Error event from HTML video element"}})));return{play$:i("play"),pause$:i("pause"),canplay$:i("canplay"),ended$:i("ended"),error$:s,seeked$:i("seeked"),seeking$:i("seeking"),progress$:i("progress"),loadedMetadata$:i("loadedmetadata"),loadedData$:i("loadeddata"),timeUpdate$:i("timeupdate",(function(){return t.currentTime})),durationChange$:i("durationchange",(function(){return t.duration})),isBuffering$:r,currentBuffer$:a,volumeState$:n,firstBytes$:I(t),firstFrame$:$(t)}},C=function(e,t,i){void 0===i&&(i=!1);var r=e.getTransition();!i&&r&&r.to!==t||e.setState(t)};exports.VideoQuality=void 0,(y=exports.VideoQuality||(exports.VideoQuality={})).INVARIANT="Invariant quality",y.Q_144P="144p",y.Q_240P="240p",y.Q_360P="360p",y.Q_480P="480p",y.Q_720P="720p",y.Q_1080P="1080p",y.Q_1440P="1440p",y.Q_2160P="2160p",y.Q_4320P="4320p";var L,O=((T={})[exports.VideoQuality.Q_144P]=144,T[exports.VideoQuality.Q_240P]=240,T[exports.VideoQuality.Q_360P]=360,T[exports.VideoQuality.Q_480P]=480,T[exports.VideoQuality.Q_720P]=720,T[exports.VideoQuality.Q_1080P]=1080,T[exports.VideoQuality.Q_1440P]=1440,T[exports.VideoQuality.Q_2160P]=2160,T[exports.VideoQuality.Q_4320P]=4320,T),V=function(e,t){return O[e]>O[t]},M=function(e,t){return O[e]<O[t]},B=Object.keys(O).sort((function(e,t){return M(e,t)?-1:1})),U=function(e,t){var i=e.width,r=e.height;return function(e,t){return void 0===t&&(t=.02),f([],h(B),!1).find((function(i){return O[i]*(1+t)>=e}))}(Math.min(i,r),t)},F=function(e){return e===exports.VideoQuality.INVARIANT},H=!1,q={},G=function(e){e(q)},Y=function(e,t){var i;H&&(q.meta=null!==(i=q.meta)&&void 0!==i?i:{},q.meta[e]=t)},j=function(){function e(e){this.name=e}return e.prototype.next=function(e){var t,i;if(H){q.series=null!==(t=q.series)&&void 0!==t?t:{};var r=null!==(i=q.series[this.name])&&void 0!==i?i:[];r.push([Date.now(),e]),q.series[this.name]=r}},e}(),Q=new j("best_bitrate"),z=function(t,i){var r,a,n=i.container,s=i.throughput,o=i.tuning,u=o.usePixelRatio&&null!==(r=window.devicePixelRatio)&&void 0!==r?r:1,d=o.limitByContainer&&n&&n.width>0&&n.height>0&&{width:n.width*u*o.containerSizeFactor,height:n.height*u*o.containerSizeFactor},c=d&&U(d,0),l=t.filter((function(e){return!F(e.quality)})).sort((function(e,t){return V(e.quality,t.quality)?-1:1})),p=l.filter((function(t){var i=!c||M(t.quality,c),r=!(e.isNonNullable(s)&&isFinite(s)&&e.isNonNullable(t.bitrate))||s>=t.bitrate*o.bitrateFactor;return i&&r})),h=p[0];if(h&&h.bitrate&&Q.next(h.bitrate),o.stepQualityDown&&h){if(v=p[1])return v}else if(o.stepQualityDownExceptForTop&&h){var f=h===l[0],v=p[1];if(f&&h.bitrate&&s){var m=2*h.bitrate;if(s>=m*o.bitrateFactor)return h}if(v)return v}return null!==(a=null!=h?h:l[l.length-1])&&void 0!==a?a:t[0]},W=function(e){return new URL(e).hostname},J=function(t,i){return void 0===i&&(i=300),window.ResizeObserver?new e.Observable((function(r){var a=new ResizeObserver(u.default((function(t){var i,a,n=t[0];n&&(n.contentBoxSize&&n.contentBoxSize[0]?(a=n.contentBoxSize[0].blockSize,i=n.contentBoxSize[0].inlineSize):n.contentRect&&(i=n.contentRect.width,a=n.contentRect.height),e.isNonNullable(i)&&e.isNonNullable(a)&&r.next({width:i,height:a}))}),i));return a.observe(t),function(){return a.disconnect()}})):new e.Observable((function(e){var i=t.getBoundingClientRect(),r=i.width,a=i.height;e.next({width:r,height:a})}))},X=function(){function t(t){this.transitionStarted$=new e.Subject,this.transitionEnded$=new e.Subject,this.transitionUpdated$=new e.Subject,this.forceChanged$=new e.Subject,this.stateChangeStarted$=e.merge(this.transitionStarted$,this.transitionUpdated$),this.stateChangeEnded$=e.merge(this.transitionEnded$,this.forceChanged$),this.state=t}return t.prototype.setState=function(e){var t=this.transition,i=this.state;this.transition=void 0,this.state=e,t?t.to===e?this.transitionEnded$.next(t):this.forceChanged$.next({from:t.from,to:e,canceledTransition:t}):this.forceChanged$.next({from:i,to:e,canceledTransition:t})},t.prototype.startTransitionTo=function(t){var i=this.transition,r=this.state;r===t||e.isNonNullable(i)&&i.to===t||(this.state=t,i?(this.transition={from:i.from,to:t,canceledTransition:i},this.transitionUpdated$.next(this.transition)):(this.transition={from:r,to:t},this.transitionStarted$.next(this.transition)))},t.prototype.getTransition=function(){return this.transition},t.prototype.getState=function(){return this.state},t}();!function(e){e[e.HEADER=0]="HEADER",e[e.PARAM=1]="PARAM"}(L||(L={}));var K,Z,ee,te=function(t,i,r,a,n,s){return void 0===a&&(a=L.HEADER),c(void 0,void 0,void 0,(function(){var o,u,p,f,v,m,S,b,g,y,T,E,P,k,w,x,A,N;return l(this,(function($){switch($.label){case 0:switch(o=new Headers(null===(w=null==s?void 0:s.fetchInit)||void 0===w?void 0:w.headers),u=t,a){case L.HEADER:o.append("Range",i+"-"+r);break;case L.PARAM:(p=new URL(u,location.href)).searchParams.append("bytes",i+"-"+r),u=p.toString();break;default:e.assertNever(a)}return[4,fetch(u,d(d({},null!==(x=null==s?void 0:s.fetchInit)&&void 0!==x?x:{}),{headers:o}))];case 1:return(f=$.sent()).ok&&f.body?(v=h(f.body.tee(),2),m=v[0],S=v[1],b=m.getReader(),null===(A=null==s?void 0:s.throughputEstimator)||void 0===A||A.stream$.next(S),g=parseInt(null!==(N=f.headers.get("Content-Length"))&&void 0!==N?N:"",10),y=0,T=new ArrayBuffer(g),E=new Uint8Array(T),P=new DataView(T),k=function(e){var t=e.done,i=e.value;return c(void 0,void 0,void 0,(function(){return l(this,(function(e){switch(e.label){case 0:return t?(null==n||n(P,y),[3,3]):[3,1];case 1:return i?(E.set(i,y),y+=i.byteLength,null==n||n(P,y),[4,null==b?void 0:b.read().then(k)]):[3,3];case 2:e.sent(),e.label=3;case 3:return[2]}}))}))},[4,null==b?void 0:b.read().then(k)]):[2,Promise.reject(new Error("Fetch error "+f.status+": "+f.statusText))];case 2:return $.sent(),[2,T]}}))}))},ie=function(e){if(!(e instanceof DOMException)||"AbortError"!==e.name&&20!==e.code)throw e};!function(e){e[e.EBML=440786851]="EBML",e[e.EBMLVersion=17030]="EBMLVersion",e[e.EBMLReadVersion=17143]="EBMLReadVersion",e[e.EBMLMaxIDLength=17138]="EBMLMaxIDLength",e[e.EBMLMaxSizeLength=17139]="EBMLMaxSizeLength",e[e.DocType=17026]="DocType",e[e.DocTypeVersion=17031]="DocTypeVersion",e[e.DocTypeReadVersion=17029]="DocTypeReadVersion",e[e.Void=236]="Void",e[e.Segment=408125543]="Segment",e[e.SeekHead=290298740]="SeekHead",e[e.Seek=19899]="Seek",e[e.SeekID=21419]="SeekID",e[e.SeekPosition=21420]="SeekPosition",e[e.Info=357149030]="Info",e[e.TimestampScale=2807729]="TimestampScale",e[e.Duration=17545]="Duration",e[e.Tracks=374648427]="Tracks",e[e.Chapters=272869232]="Chapters",e[e.Cluster=524531317]="Cluster",e[e.Attachments=423732329]="Attachments",e[e.Tags=307544935]="Tags",e[e.Cues=475249515]="Cues",e[e.CuePoint=187]="CuePoint",e[e.CueTime=179]="CueTime",e[e.CueTrackPositions=183]="CueTrackPositions",e[e.CueTrack=247]="CueTrack",e[e.CueClusterPosition=241]="CueClusterPosition",e[e.CueRelativePosition=240]="CueRelativePosition",e[e.CueDuration=178]="CueDuration",e[e.CueBlockNumber=21368]="CueBlockNumber",e[e.CueCodecState=234]="CueCodecState",e[e.CueReference=219]="CueReference",e[e.CueRefTime=150]="CueRefTime"}(Z||(Z={})),function(e){e.SignedInteger="int",e.UnsignedInteger="uint",e.Float="float",e.String="string",e.UTF8="utf8",e.Date="date",e.Master="master",e.Binary="binary"}(ee||(ee={}));var re,ae=((K={})[Z.EBML]={type:ee.Master},K[Z.EBMLVersion]={type:ee.UnsignedInteger},K[Z.EBMLReadVersion]={type:ee.UnsignedInteger},K[Z.EBMLMaxIDLength]={type:ee.UnsignedInteger},K[Z.EBMLMaxSizeLength]={type:ee.UnsignedInteger},K[Z.DocType]={type:ee.String},K[Z.DocTypeVersion]={type:ee.UnsignedInteger},K[Z.DocTypeReadVersion]={type:ee.UnsignedInteger},K[Z.Void]={type:ee.Binary},K[Z.Segment]={type:ee.Master},K[Z.SeekHead]={type:ee.Master},K[Z.Seek]={type:ee.Master},K[Z.SeekID]={type:ee.Binary},K[Z.SeekPosition]={type:ee.UnsignedInteger},K[Z.Info]={type:ee.Master},K[Z.TimestampScale]={type:ee.UnsignedInteger},K[Z.Duration]={type:ee.Float},K[Z.Tracks]={type:ee.Master},K[Z.Chapters]={type:ee.Master},K[Z.Cluster]={type:ee.Master},K[Z.Attachments]={type:ee.Master},K[Z.Tags]={type:ee.Master},K[Z.Cues]={type:ee.Master},K[Z.CuePoint]={type:ee.Master},K[Z.CueTime]={type:ee.UnsignedInteger},K[Z.CueTrackPositions]={type:ee.Master},K[Z.CueTrack]={type:ee.UnsignedInteger},K[Z.CueClusterPosition]={type:ee.UnsignedInteger},K[Z.CueRelativePosition]={type:ee.UnsignedInteger},K[Z.CueDuration]={type:ee.UnsignedInteger},K[Z.CueBlockNumber]={type:ee.UnsignedInteger},K[Z.CueCodecState]={type:ee.UnsignedInteger},K[Z.CueReference]={type:ee.Master},K[Z.CueRefTime]={type:ee.UnsignedInteger},K),ne=function(e){var t=e.getUint8(0),i=0;128&t?i=1:64&t?i=2:32&t?i=3:16&t&&(i=4);var r=se(e,i),a=r in ae,n=a?ae[r].type:ee.Binary,s=e.getUint8(i),o=0;128&s?o=1:64&s?o=2:32&s?o=3:16&s?o=4:8&s?o=5:4&s?o=6:2&s?o=7:1&s&&(o=8);var u,d=new DataView(e.buffer,e.byteOffset+i+1,o-1),c=((s&255>>o)<<8*(o-1))+se(d),l=i+o;return u=l+c>e.byteLength?new DataView(e.buffer,e.byteOffset+l):new DataView(e.buffer,e.byteOffset+l,c),{tag:a?r:"0x"+r.toString(16).toUpperCase(),type:n,value:u,valueSize:c}},se=function(e,t){switch(void 0===t&&(t=e.byteLength),t){case 1:return e.getUint8(0);case 2:return e.getUint16(0);case 3:return e.getUint16(0)<<8|e.getUint8(2);case 4:return e.getUint32(0);case 5:return e.getUint32(0)<<8|e.getUint8(4);case 6:return e.getUint32(0)<<16|e.getUint16(4);case 7:return e.getUint32(0)<<32|e.getUint16(4)<<8|e.getUint8(6);case 8:return e.getUint32(0)<<32|e.getUint32(4)}return 0},oe=function(t,i){switch(i){case ee.SignedInteger:return t.getInt8(0);case ee.UnsignedInteger:return se(t);case ee.Float:return 4===t.byteLength?t.getFloat32(0):t.getFloat64(0);case ee.String:return new TextDecoder("ascii").decode(t);case ee.UTF8:return new TextDecoder("utf-8").decode(t);case ee.Date:return new Date(Date.UTC(2001,0)+t.getInt8(0)).getTime();case ee.Master:case ee.Binary:return t;default:e.assertNever(i)}},ue=function(e,t){for(var i=0;i<e.byteLength;){var r=new DataView(e.buffer,e.byteOffset+i),a=ne(r);if(!t(a))return;a.type===ee.Master&&ue(a.value,t),i=a.value.byteOffset-e.byteOffset+a.valueSize}},de=[Z.Info,Z.SeekHead,Z.Tracks,Z.Chapters,Z.Cluster,Z.Cues,Z.Attachments,Z.Tags],ce=function(e,t,i){return void 0===t&&(t=0),c(void 0,void 0,void 0,(function(){var r,a,n,s,o,u,d,c,p,h,f,v,m,S,b;return l(this,(function(l){switch(l.label){case 0:return r=e.initRange,a=r.from,n=r.to,s=a,o=n,u=!1,e.indexRange&&(d=e.indexRange.from,c=e.indexRange.to,(u=n+1===d)&&(s=Math.min(d,a),o=Math.max(c,n))),s=Math.min(s,0),o+=t,[4,te(e.url,s,o,L.PARAM,void 0,{throughputEstimator:i})];case 1:if(p=l.sent(),!function(e){if(e.getUint32(0)!==Z.EBML)return!1;var t=void 0,i=void 0,r=void 0,a=ne(e);return ue(a.value,(function(e){var a=e.tag,n=e.type,s=e.value;return a===Z.EBMLReadVersion?t=oe(s,n):a===Z.DocType?i=oe(s,n):a===Z.DocTypeReadVersion&&(r=oe(s,n)),!0})),(void 0===t||t<=1)&&void 0!==i&&"webm"===i&&(void 0===r||r<=2)}(h=new DataView(p,a-s,n-s)))throw new Error("Not a valid webm file");return f=le(h),u&&void 0!==d&&void 0!==c?(v=new DataView(p,d-s,c-d),[3,5]):[3,2];case 2:return void 0===f.cuesSeekPosition?[3,4]:(m=f.segmentStart+f.cuesSeekPosition,1048576,[4,te(e.url,m,m+1048576,L.PARAM)]);case 3:return S=l.sent(),v=new DataView(S),[3,5];case 4:throw new ReferenceError("No way to load representation index");case 5:return b=pe(v,f),[2,{dataView:new DataView(p),init:f,segments:b}]}}))}))},le=function(t){var i=void 0,r=void 0,a=void 0,n=void 0,s=!1,o=!1,u=!1,d=void 0,c=void 0;return ue(t,(function(e){var t=e.tag,l=e.type,p=e.value,h=e.valueSize;if(t===Z.SeekID){var f=oe(p,l);c=se(f)}else t!==Z.SeekPosition&&(c=void 0);return t===Z.Segment?(i=p.byteOffset,r=p.byteOffset+h):t===Z.Info?s=!0:t===Z.SeekHead?o=!0:t===Z.TimestampScale?a=oe(p,l):t===Z.Duration?n=oe(p,l):t===Z.SeekPosition&&c===Z.Cues?d=oe(p,l):s&&o&&de.includes(t)&&(u=!0),!u})),e.assertNonNullable(i,"Failed to parse webm Segment start"),e.assertNonNullable(r,"Failed to parse webm Segment end"),e.assertNonNullable(n,"Failed to parse webm Segment duration"),a=null!=a?a:1e6,{segmentStart:Math.round(i/1e9*a*1e3),segmentEnd:Math.round(r/1e9*a*1e3),timeScale:a,segmentDuration:Math.round(n/1e9*a*1e3),cuesSeekPosition:d}},pe=function(t,i){var r,a=!1,n=!1,s=function(t){return e.isNonNullable(t.time)&&e.isNonNullable(t.position)},o=[];return ue(t,(function(e){var t=e.tag,i=e.type,u=e.value;switch(t){case Z.Cues:a=!0;break;case Z.CuePoint:r&&s(r)&&o.push(r),r={};break;case Z.CueTime:r&&(r.time=oe(u,i));break;case Z.CueTrackPositions:break;case Z.CueClusterPosition:r&&(r.position=oe(u,i));break;default:a&&de.includes(t)&&(n=!0)}return!(a&&n)})),r&&s(r)&&o.push(r),o.map((function(e,t){var r=e.time,a=e.position,n=o[t+1];return{status:m.NONE,time:{from:r,to:n?n.time:i.segmentDuration},byte:{from:i.segmentStart+a,to:n?i.segmentStart+n.position-1:i.segmentEnd-1}}}))},he=function(){function t(t,i,r,a){var n=a.throughputEstimator;this.ended$=new e.ValueSubject(!1),this.playingRepresentation$=new e.ValueSubject(void 0),this.error$=new e.Subject,this.subscription=new e.Subscription,this.abortController=new AbortController,this.throughputEstimator=n,this.initData=new Map,this.segments=new Map,this.representations=new Map(r.map((function(e){return[e.id,e]}))),this.kind=t,this.mediaSource=i,this.sourceBuffer=null,this.segmentDownloadPromise=Promise.resolve()}return t.prototype.startWith=function(t){return c(this,void 0,void 0,(function(){var i,r,a,n,s,o,u,c,p,h=this;return l(this,(function(l){switch(l.label){case 0:return i=this.representations.get(t),e.assertNonNullable(i,"Cannot find representation "+t),r=Math.ceil(1e3*i.bitrate/8*1*1.1),this.playingRepresentationId=t,this.downloadingRepresentationId=t,this.sourceBuffer=this.mediaSource.addSourceBuffer(i.mime+'; codecs="'+i.codecs+'"'),this.subscription.add(e.fromEvent(this.sourceBuffer,"updateEnd").subscribe((function(){return h.checkEjectedSegments()}),(function(e){return h.error$.next({id:"SegmentEjection",message:"Error when trying to clear segments ejecte by browser",thrown:e})}))),[4,ce(i,r,this.throughputEstimator)];case 1:return a=l.sent(),n=a.dataView,s=a.segments,o=n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength-r),this.initData.set(t,o),u=s.filter((function(e){return e.byte.from>=n.byteOffset&&e.byte.to<n.byteOffset+n.byteLength})),c=u.at(-1),p=new DataView(n.buffer,n.byteOffset,u.length&&c?Math.min(c.byte.to-n.byteOffset+1,n.byteLength):n.byteLength-r),[4,this.appendDataToBuffer(p)];case 2:return l.sent(),this.segments.set(t,s.map((function(e){return d(d({},e),{status:e.byte.from>=n.byteOffset&&e.byte.to<n.byteOffset+n.byteLength?m.FED:m.NONE})}))),this.maintain(0),[2]}}))}))},t.prototype.switchTo=function(t){var i;return c(this,void 0,void 0,(function(){var r;return l(this,(function(a){switch(a.label){case 0:return t===this.downloadingRepresentationId?[2]:(r=this.initData.get(t))?[3,2]:[4,this.loadAllInits()];case 1:a.sent(),r=this.initData.get(t),a.label=2;case 2:e.assertNonNullable(r,"No init buffer for "+t),e.assertNonNullable(this.sourceBuffer),this.abortController.abort(),this.abortController=new AbortController;try{this.sourceBuffer.abort()}catch(e){this.error$.next({id:"SourceBufferAbort",message:"SourceBuffer.abort() threw",thrown:e})}return[4,this.appendDataToBuffer(r)];case 3:return a.sent(),e.isNonNullable(this.playingRepresentationId)&&(null===(i=this.segments.get(this.playingRepresentationId))||void 0===i||i.forEach((function(e){e.status===m.FED&&(e.status=m.NONE)}))),this.downloadingRepresentationId=t,[2]}}))}))},t.prototype.maintain=function(t){return c(this,void 0,void 0,(function(){var i,r,a,n,s,o,u,d,c,p=this;return l(this,(function(l){switch(l.label){case 0:if(e.isNullable(this.downloadingRepresentationId)||e.isNullable(this.playingRepresentationId)||e.isNullable(this.sourceBuffer)||this.ended$.getValue())return[2];if(i=this.representations.get(this.downloadingRepresentationId),r=this.segments.get(this.downloadingRepresentationId),e.assertNonNullable(i),e.assertNonNullable(r),a=r.find((function(e){return t>=e.time.from&&t<e.time.to})),n=t,this.playingRepresentationId!==this.downloadingRepresentationId)for(n=t+5e3,s=0;s<this.sourceBuffer.buffered.length;s++)if(o=this.sourceBuffer.buffered.start(s),u=this.sourceBuffer.buffered.end(s),t>=o&&t<=u){n=Math.min(n,u);break}return(d=this.selectForwardBufferSegments(r,n)).length?[4,this.loadSegments(d,i)]:[3,2];case 1:l.sent(),l.label=2;case 2:return this.loadAllInitsPromise||!a||a.status!==m.FED||d.length||this.loadAllInits().catch((function(e){return p.error$.next({id:"InitDownload",message:"Error when trying to load all inits",thrown:e})})),(c=r.at(-1))&&a===c&&c.status===m.FED&&this.ended$.next(!0),[2]}}))}))},t.prototype.destroy=function(){this.initData.clear(),this.segments.clear(),this.representations.clear(),this.subscription.unsubscribe(),this.sourceBuffer&&"open"===this.mediaSource.readyState&&(this.sourceBuffer.abort(),this.mediaSource.removeSourceBuffer(this.sourceBuffer)),this.abortController.abort()},t.prototype.selectForwardBufferSegments=function(e,t){var i=e.findIndex((function(e){var i=e.status,r=e.time,a=r.from,n=r.to;return i===m.NONE&&(a>t||a<=t&&n>=t)&&n<=t+3e4}));if(-1===i)return[];for(var r=0,a=[],n=i;n<e.length&&r<=1048576;n++){var s=e[n];r+=s.byte.to+1-s.byte.from,s.status===m.NONE&&a.push(s)}return a},t.prototype.loadSegments=function(e,t){return c(this,void 0,void 0,(function(){var i,r,a,n,s,o,u=this;return l(this,(function(d){if(!e.length)return[2];i=e.at(0).byte.from,r=e.at(-1).byte.to;try{for(a=p(e),n=a.next();!n.done;n=a.next())n.value.status=m.DOWNLOADING}catch(e){s={error:e}}finally{try{n&&!n.done&&(o=a.return)&&o.call(a)}finally{if(s)throw s.error}}return this.segmentDownloadPromise=this.segmentDownloadPromise.then((function(){return c(u,void 0,void 0,(function(){var a,n,s,o,u,d=this;return l(this,(function(c){switch(c.label){case 0:return[4,te(t.url,i,r,L.PARAM,(function(t,r){var a,n,s=function(e){if(e.status===m.DOWNLOADING&&e.byte.from-i>=0&&e.byte.to+1-i<=r){e.status=m.DOWNLOADED;var a=new DataView(t.buffer,t.byteOffset+e.byte.from-i,e.byte.to+1-e.byte.from);d.appendDataToBuffer(a).then((function(){d.playingRepresentationId=d.downloadingRepresentationId,d.playingRepresentation$.next(d.playingRepresentationId),e.status=m.FED}))}};try{for(var o=p(e),u=o.next();!u.done;u=o.next()){s(u.value)}}catch(e){a={error:e}}finally{try{u&&!u.done&&(n=o.return)&&n.call(o)}finally{if(a)throw a.error}}}),{throughputEstimator:this.throughputEstimator,fetchInit:{signal:this.abortController.signal}})];case 1:return a=c.sent(),n=e.at(-1),s=null===(u=this.segments.get(t.id))||void 0===u?void 0:u.at(-1),n&&s&&n.status===m.DOWNLOADING&&n===s&&(n.status=m.DOWNLOADED,o=new DataView(a,n.byte.from-i),this.appendDataToBuffer(o).then((function(){d.playingRepresentationId=d.downloadingRepresentationId,d.playingRepresentation$.next(d.playingRepresentationId),n.status=m.FED}))),[2]}}))}))})).catch(ie).catch((function(e){return u.error$.next({id:"SegmentDownload",message:"Error when fetching segments",thrown:e})})),[2,this.segmentDownloadPromise]}))}))},t.prototype.loadAllInits=function(){return c(this,void 0,void 0,(function(){var e=this;return l(this,(function(t){return this.loadAllInitsPromise||(this.loadAllInitsPromise=Promise.all(Array.from(this.representations.entries()).map((function(t){var i=h(t,2),r=i[0],a=i[1];return e.initData.has(r)?Promise.resolve():ce(a).then((function(t){var i=t.dataView,a=t.segments,n=i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength);e.initData.set(r,n),e.segments.set(r,a)}))}))).then(void 0)),[2,this.loadAllInitsPromise]}))}))},t.prototype.appendDataToBuffer=function(i){return c(this,void 0,void 0,(function(){return l(this,(function(r){switch(r.label){case 0:if(e.assertNonNullable(this.sourceBuffer),this.sourceBuffer.updating)return[3,2];try{this.sourceBuffer.appendBuffer(i)}catch(e){this.error$.next({id:"AppendBuffer",message:"Error appending data to buffer",thrown:e})}return[4,t.waitForBufferUpdate(this.sourceBuffer)];case 1:return r.sent(),[3,5];case 2:return[4,t.waitForBufferUpdate(this.sourceBuffer)];case 3:return r.sent(),[4,this.appendDataToBuffer(i)];case 4:r.sent(),r.label=5;case 5:return[2]}}))}))},t.prototype.checkEjectedSegments=function(){var t,i;if(!e.isNullable(this.sourceBuffer)&&!e.isNullable(this.playingRepresentationId)){var r=this.segments.get(this.playingRepresentationId);e.assertNonNullable(r);for(var a=[],n=0;n<this.sourceBuffer.buffered.length;n++){var s=1e3*this.sourceBuffer.buffered.start(n),o=this.sourceBuffer.buffered.end(n),u=1e3*(o%1>.9?Math.round(o):o);a.push({from:s,to:u})}var d=function(e){var t=a.some((function(t){return t.from<=e.time.from&&t.to>=e.time.to}));e.status!==m.FED||t||(e.status=m.NONE)};try{for(var c=p(r),l=c.next();!l.done;l=c.next()){d(l.value)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(i=c.return)&&i.call(c)}finally{if(t)throw t.error}}}},t.waitForBufferUpdate=function(e){return c(this,void 0,void 0,(function(){return l(this,(function(t){return[2,new Promise((function(t){return e?e.addEventListener("update",(function(){return t()})):t()}))]}))}))},t}(),fe=["timeupdate","progress","play","seeked","stalled"];!function(e){e.NONE="none",e.MANIFEST_LOADED="manifest_loaded",e.REPRESENTATION_SELECTED="representation_selected"}(re||(re={}));var ve,me=function(){function t(t){var i=this;this.element=null,this.source=null,this.manifest=null,this.subscription=new e.Subscription,this.state$=new X(re.NONE),this.currentVideoRepresentation$=new e.ValueSubject(void 0),this.tick=function(){var e,t;if(i.element){var r=1e3*i.element.currentTime;null===(e=i.videoBufferManager)||void 0===e||e.maintain(r),null===(t=i.audioBufferManager)||void 0===t||t.maintain(r)}},this.throughputEstimator=t.throughputEstimator}return t.prototype.initManifest=function(e,t){return c(this,void 0,void 0,(function(){var i;return l(this,(function(r){switch(r.label){case 0:return this.element=e,this.state$.startTransitionTo(re.MANIFEST_LOADED),[4,(a=t,c(void 0,void 0,void 0,(function(){return l(this,(function(e){switch(e.label){case 0:return[4,fetch(a,null==n?void 0:n.fetchInit)];case 1:return[2,e.sent().text()]}}))}))).catch(ie)];case 1:return i=r.sent(),this.manifest=function(e,t){var i,r,a,n,s,o,u,d,c,l,f,m,S,b,g,y,T,E,P,k,w={representations:{video:[],audio:[],text:[]}},x=(new DOMParser).parseFromString(e,"application/xml").children[0].children[0].children,A=0;try{for(var N=p(x),$=N.next();!$.done;$=N.next()){var D=$.value,_=D.getAttribute("mimeType"),I=D.getAttribute("codecs"),R=null!==(s=D.getAttribute("contentType"))&&void 0!==s?s:null==_?void 0:_.split("/")[0],C=D.querySelectorAll("Representation");try{for(var L=(a=void 0,p(C)),O=L.next();!O.done;O=L.next()){var V=O.value,M=null!==(o=V.getAttribute("mimeType"))&&void 0!==o?o:_,B=null!==(d=null!==(u=V.getAttribute("codecs"))&&void 0!==u?u:I)&&void 0!==d?d:"",U=null!==(l=null!==(c=V.getAttribute("contentType"))&&void 0!==c?c:null==M?void 0:M.split("/")[0])&&void 0!==l?l:R,F=parseInt(null!==(f=V.getAttribute("width"))&&void 0!==f?f:"",10),H=parseInt(null!==(m=V.getAttribute("height"))&&void 0!==m?m:"",10),q=parseInt(null!==(S=V.getAttribute("bandwidth"))&&void 0!==S?S:"",10)/1e3,G=(null!==(b=V.getAttribute("id"))&&void 0!==b?b:(A++).toString(10))+"@"+("video"===U?H+"p":"audio"===U?q+"Kbps":B),Y=null!==(T=null===(y=null===(g=V.querySelector("BaseURL"))||void 0===g?void 0:g.textContent)||void 0===y?void 0:y.trim())&&void 0!==T?T:"",j=new URL(Y,t).toString(),Q=h((null!==(P=null===(E=V.querySelector("SegmentBase Initialization"))||void 0===E?void 0:E.getAttribute("range"))&&void 0!==P?P:"").split("-").map((function(e){return parseInt(e,10)})),2),z={from:Q[0],to:Q[1]},W=null===(k=V.querySelector("SegmentBase"))||void 0===k?void 0:k.getAttribute("indexRange"),J=h(W?W.split("-").map((function(e){return parseInt(e,10)})):[],2),X=J[0],K=J[1],Z=W?{from:X,to:K}:void 0;if(U&&M){var ee={video:v.VIDEO,audio:v.AUDIO,text:v.TEXT}[U];ee&&w.representations[ee].push({id:G,kind:ee,initRange:z,indexRange:Z,bitrate:q,mime:M,codecs:B,width:F,height:H,url:j})}}}catch(e){a={error:e}}finally{try{O&&!O.done&&(n=L.return)&&n.call(L)}finally{if(a)throw a.error}}}}catch(e){i={error:e}}finally{try{$&&!$.done&&(r=N.return)&&r.call(N)}finally{if(i)throw i.error}}return w}(null!=i?i:"",t),this.state$.setState(re.MANIFEST_LOADED),[2,this.manifest]}var a,n}))}))},t.prototype.initRepresentations=function(t,i){return c(this,void 0,void 0,(function(){var r,a,n,s,o,u,d,c=this;return l(this,(function(l){switch(l.label){case 0:return e.assertNonNullable(this.manifest),e.assertNonNullable(this.element),this.state$.startTransitionTo(re.REPRESENTATION_SELECTED),this.source=new MediaSource,this.element.src=URL.createObjectURL(this.source),r=new Promise((function(e){var t;return null===(t=c.source)||void 0===t?void 0:t.addEventListener("sourceopen",e)})),a={throughputEstimator:this.throughputEstimator},this.videoBufferManager=new he(v.VIDEO,this.source,this.manifest.representations.video,a),this.audioBufferManager=new he(v.AUDIO,this.source,this.manifest.representations.audio,a),this.subscription.add(e.combine({video:this.videoBufferManager.ended$,audio:this.audioBufferManager.ended$}).subscribe((function(e){var t;Object.values(e).every((function(e){return!0===e}))&&"open"===(null===(t=c.source)||void 0===t?void 0:t.readyState)&&c.source.endOfStream()}))),this.subscription.add(this.videoBufferManager.playingRepresentation$.subscribe(this.currentVideoRepresentation$)),[4,r];case 1:return l.sent(),[4,Promise.all([this.videoBufferManager.startWith(t),this.audioBufferManager.startWith(i)])];case 2:l.sent(),this.state$.setState(re.REPRESENTATION_SELECTED);try{for(n=p(fe),s=n.next();!s.done;s=n.next())o=s.value,this.element.addEventListener(o,this.tick)}catch(e){u={error:e}}finally{try{s&&!s.done&&(d=n.return)&&d.call(n)}finally{if(u)throw u.error}}return this.tick(),[2]}}))}))},t.prototype.switchRepresentation=function(t,i){return c(this,void 0,void 0,(function(){var r,a;return l(this,(function(n){return r=(a={},a[v.VIDEO]=this.videoBufferManager,a[v.AUDIO]=this.audioBufferManager,a[v.TEXT]=null,a)[t],e.assertNonNullable(r),[2,r.switchTo(i)]}))}))},t.prototype.seek=function(t){e.assertNonNullable(this.element),e.assertNonNullable(this.videoBufferManager),e.assertNonNullable(this.audioBufferManager),this.videoBufferManager.maintain(t),this.audioBufferManager.maintain(t),this.element.currentTime=t/1e3},t.prototype.stop=function(){var e,t;this.element=null,this.source=null,this.manifest=null,this.currentVideoRepresentation$.next(void 0),null===(e=this.videoBufferManager)||void 0===e||e.destroy(),this.videoBufferManager=null,null===(t=this.audioBufferManager)||void 0===t||t.destroy(),this.audioBufferManager=null,this.state$.setState(re.NONE)},t.prototype.destroy=function(){var e,t,i;this.subscription.unsubscribe(),this.stop();try{for(var r=p(fe),a=r.next();!a.done;a=r.next()){var n=a.value;null===(i=this.element)||void 0===i||i.removeEventListener(n,this.tick)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=r.return)&&t.call(r)}finally{if(e)throw e.error}}this.source=null},t}();!function(e){e.STOPPED="stopped",e.READY="ready",e.PLAYING="playing",e.PAUSED="paused"}(ve||(ve={}));var Se,be=function(e){var t=e.id,i=e.width,r=e.height,a=e.bitrate,n=U({width:i,height:r});return n&&{id:t,quality:n,bitrate:a,size:{width:i,height:r}}},ge=function(e,t,i){var r,a=Array.from(t).sort((function(e,t){return t.bitrate-e.bitrate})).indexOf(i);return null!==(r=e.at(Math.round(e.length*a/t.length)))&&void 0!==r?r:e.at(-1)},ye=function(){function t(t){var i=this;this.subscription=new e.Subscription,this.videoState=new X(ve.STOPPED),this.elementSize$=new e.ValueSubject(void 0),this.textTracksManager=new A,this.videoTracks=[],this.syncPlayback=function(){var t=i.videoState.getState(),r=i.params.desiredState.playbackState.getState(),a=i.params.desiredState.playbackState.getTransition(),n=i.params.desiredState.seekPosition.getTransition();if(!i.videoState.getTransition()){var s=null==n?void 0:n.to;if((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(s)&&t!==ve.STOPPED&&r!==exports.PlaybackState.STOPPED&&i.seek(s),r!==exports.PlaybackState.STOPPED){if(t===ve.STOPPED)return i.videoState.startTransitionTo(ve.READY),void i.prepare();switch(t){case ve.READY:return void(r===exports.PlaybackState.PAUSED?(i.videoState.setState(ve.PAUSED),C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):r===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(ve.PLAYING),i.playIfAllowed()));case ve.PLAYING:return void(r===exports.PlaybackState.PAUSED?(i.videoState.startTransitionTo(ve.PAUSED),i.video.pause()):(null==a?void 0:a.to)===exports.PlaybackState.PLAYING&&C(i.params.desiredState.playbackState,exports.PlaybackState.PLAYING));case ve.PAUSED:return void(r===exports.PlaybackState.PLAYING?(i.videoState.startTransitionTo(ve.PLAYING),i.playIfAllowed()):(null==a?void 0:a.to)===exports.PlaybackState.PAUSED&&C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED));default:return e.assertNever(t)}}else t!==ve.STOPPED&&(i.videoState.startTransitionTo(ve.STOPPED),i.player.stop(),i.video.setAttribute("src",""),i.video.load(),i.params.output.position$.next(0),i.params.output.duration$.next(1/0),i.params.output.currentBuffer$.next(void 0),i.params.output.hostname$.next(void 0),i.videoState.setState(ve.STOPPED),C(i.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0))}},this.params=t,this.video=N(this.params.container),this.params.output.element$.next(this.video),this.params.output.availableVideoTracks$.next([]),this.params.output.hostname$.next(W(this.params.source.url)),this.player=new me({throughputEstimator:this.params.dependencies.throughputEstimator}),this.subscribe()}return t.prototype.subscribe=function(){var t=this,i=this.params,r=i.output,a=i.desiredState,n=R(this.video),s=function(e){r.error$.next({id:"DashVKProvider",message:"DashVKProvider internal logic error",thrown:e})},o=function(e,i){return t.subscription.add(e.subscribe(i,s))};o(n.timeUpdate$,r.position$),o(n.durationChange$,r.duration$),o(n.ended$,r.endedEvent$),o(n.error$,r.error$),o(n.isBuffering$,r.isBuffering$),o(n.currentBuffer$,r.currentBuffer$),o(n.firstBytes$,r.firstBytesEvent$),o(n.firstFrame$,r.firstFrameEvent$),this.subscription.add(n.seeked$.subscribe((function(){return a.seekPosition.setState(void 0)}),s)),this.subscription.add(k(this.video,a.isLooped,s)),this.subscription.add(w(this.video,a.volume,n.volumeState$,s)),this.subscription.add(n.volumeState$.subscribe(this.params.output.volume$,s)),this.subscription.add(n.play$.subscribe((function(){t.videoState.setState(ve.PLAYING),C(a.playbackState,exports.PlaybackState.PLAYING)}),s)).add(n.pause$.subscribe((function(){t.videoState.setState(ve.PAUSED),C(a.playbackState,exports.PlaybackState.PAUSED)}),s)).add(n.canplay$.subscribe((function(){t.videoState.getState()===ve.PLAYING&&t.playIfAllowed()}),s)),this.subscription.add(this.player.state$.stateChangeEnded$.pipe(e.filter((function(e){return e.to===re.REPRESENTATION_SELECTED}))).subscribe((function(){t.videoState.setState(ve.READY)}))),this.subscription.add(e.merge(this.player.state$.stateChangeEnded$,a.videoTrack.stateChangeStarted$,a.autoVideoTrackSwitching.transitionStarted$,this.params.dependencies.throughputEstimator.estimation$,this.elementSize$).subscribe((function(){var i,r,n,s=t.player.state$.getState(),o=t.player.state$.getTransition();if(s!==re.NONE&&t.videoTracks.length){var u=s===re.MANIFEST_LOADED&&!o,c=a.autoVideoTrackSwitching.getState(),l=a.videoTrack.getState(),p=null===(i=t.videoTracks.find((function(e){return e.track.id===l})))||void 0===i?void 0:i.track;a.autoVideoTrackSwitching.getTransition()&&a.autoVideoTrackSwitching.setState(c);var h=z(t.videoTracks.map((function(e){return e.track})),{container:t.elementSize$.getValue(),throughput:t.params.dependencies.throughputEstimator.estimation$.getValue(),tuning:d(d({},t.params.tuning.autoTrackSelection),{bitrateFactor:1.4*t.params.tuning.autoTrackSelection.bitrateFactor})});if(u){var f=null!=p?p:h,m=f&&(null===(r=t.videoTracks.find((function(e){return e.track===f})))||void 0===r?void 0:r.representation);e.assertNonNullable(m);var S=ge(t.audioRepresentations,t.videoTracks.map((function(e){return e.representation})),m);e.assertNonNullable(S),t.player.initRepresentations(m.id,S.id)}else{var b=c?null!=h?h:p:null!=p?p:h;if(m=b&&(null===(n=t.videoTracks.find((function(e){return e.track===b})))||void 0===n?void 0:n.representation)){S=ge(t.audioRepresentations,t.videoTracks.map((function(e){return e.representation})),m);t.player.switchRepresentation(v.VIDEO,m.id),S&&t.player.switchRepresentation(v.AUDIO,S.id)}}}}))),this.subscription.add(this.player.currentVideoRepresentation$.pipe(e.filterChanged(),e.map((function(e){var i;return e&&(null===(i=t.videoTracks.find((function(t){return t.representation.id===e})))||void 0===i?void 0:i.track)}))).subscribe(r.currentVideoTrack$)),o(J(this.video),this.elementSize$),this.textTracksManager.connect(this.video,a,r);var u=e.merge(a.playbackState.stateChangeStarted$,a.videoTrack.stateChangeStarted$,a.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0));this.subscription.add(u.subscribe(this.syncPlayback,s))},t.prototype.prepare=function(){return c(this,void 0,void 0,(function(){var e,t,i,r,a,n,s;return l(this,(function(o){switch(o.label){case 0:return[4,this.player.initManifest(this.video,this.params.source.url)];case 1:e=o.sent(),this.videoTracks=[];try{for(t=p(e.representations.video),i=t.next();!i.done;i=t.next())r=i.value,(a=be(r))&&this.videoTracks.push({track:a,representation:r})}catch(e){n={error:e}}finally{try{i&&!i.done&&(s=t.return)&&s.call(t)}finally{if(n)throw n.error}}return this.audioRepresentations=Array.from(e.representations.audio).sort((function(e,t){return t.bitrate-e.bitrate})),this.params.output.availableVideoTracks$.next(this.videoTracks.map((function(e){return e.track}))),[2]}}))}))},t.prototype.seek=function(e){this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.player.seek(1e3*e)},t.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.video.remove(),this.params.output.element$.next(void 0),this.player.destroy()},t.prototype.playIfAllowed=function(){var e=this;E(this.video).then((function(t){t||(e.videoState.setState(ve.PAUSED),C(e.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0))}))},t}();!function(e){e[e.OFFSET_P=0]="OFFSET_P",e[e.PLAYBACK_SHIFT=1]="PLAYBACK_SHIFT"}(Se||(Se={}));var Te,Ee=function(t,i,r){switch(void 0===i&&(i=0),void 0===r&&(r=Se.OFFSET_P),r){case Se.OFFSET_P:return t.replace("_offset_p",0===i?"":"_"+i.toFixed(0));case Se.PLAYBACK_SHIFT:if(0===i)return t;var a=new URL(t);return a.searchParams.append("playback_shift",i.toFixed(0)),a.toString();default:e.assertNever(r)}return t};!function(e){e.STOPPED="stopped",e.READY="ready",e.PLAYING="playing",e.PAUSED="paused"}(Te||(Te={}));var Pe,ke=function(){function t(t){var i=this;this.subscription=new e.Subscription,this.loadMediaTimeoutSubscription=new e.Subscription,this.videoState=new X(Te.STOPPED),this.syncPlayback=function(){var t=i.videoState.getState(),r=i.videoState.getTransition(),a=i.params.desiredState.playbackState.getState(),n=i.params.desiredState.playbackState.getTransition(),s=i.params.desiredState.seekPosition.getTransition();if(i.log({message:"[syncPlayback] videoState: "+t+"; videoTransition: "+JSON.stringify(r)+"; desiredPlaybackState: "+a+"; desiredPlaybackStateTransition: "+i.params.desiredState.playbackState.getTransition()+"; seekPositionTransition: "+JSON.stringify(s)+";"}),a!==exports.PlaybackState.STOPPED){if(!r){var o=null==s?void 0:s.to;if((null==n?void 0:n.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(o)&&t!==Te.STOPPED)return i.params.desiredState.seekPosition.setState(o),i.params.desiredState.seekPosition.startTransitionTo(void 0),void i.seek(o);switch(a){case exports.PlaybackState.PLAYING:switch(t){case Te.PLAYING:break;case Te.PAUSED:case Te.READY:i.videoState.startTransitionTo(Te.PLAYING),i.params.connection.remotePlayerController.playOrPause();break;case Te.STOPPED:i.videoState.startTransitionTo(Te.READY),i.prepare();break;default:e.assertNever(t)}break;case exports.PlaybackState.PAUSED:switch(t){case Te.PLAYING:i.videoState.startTransitionTo(Te.PAUSED),i.params.connection.remotePlayerController.playOrPause();break;case Te.PAUSED:break;case Te.READY:i.videoState.startTransitionTo(Te.PAUSED),i.videoState.setState(Te.PAUSED);break;case Te.STOPPED:i.videoState.startTransitionTo(Te.READY),i.prepare();break;default:e.assertNever(t)}break;default:e.assertNever(a)}}}else t!==Te.STOPPED&&(i.videoState.startTransitionTo(Te.STOPPED),i.stop())},this.params=t,this.log=this.params.dependencies.logger.createComponentLog("ChromecastProvider"),this.log({message:"constructor, format: "+t.format}),this.params.output.isLive$.next(function(t){switch(t){case exports.VideoFormat.MPEG:case exports.VideoFormat.DASH:case exports.VideoFormat.DASH_SEP:case exports.VideoFormat.DASH_ONDEMAND:case exports.VideoFormat.DASH_WEBM:case exports.VideoFormat.DASH_WEBM_VK:case exports.VideoFormat.HLS:case exports.VideoFormat.HLS_JS:case exports.VideoFormat.HLS_ONDEMAND:return!1;case exports.VideoFormat.HLS_LIVE:case exports.VideoFormat.DASH_LIVE:case exports.VideoFormat.DASH_LIVE_WEBM:return!0;default:return e.assertNever(t)}}(t.format)),this.handleRemoteVolumeChange({volume:this.params.connection.remotePlayer.volumeLevel,muted:this.params.connection.remotePlayer.isMuted});var r=this.params.connection.session.getMediaSession();r&&this.restoreSession(r),this.subscribe()}return t.prototype.destroy=function(){this.log({message:"[destroy]"}),this.subscription.unsubscribe()},t.prototype.subscribe=function(){var t=this;this.subscription.add(this.loadMediaTimeoutSubscription);var i=new e.Subscription;this.subscription.add(i),this.subscription.add(e.merge(this.videoState.stateChangeStarted$.pipe(e.map((function(e){return"stateChangeStarted$ "+JSON.stringify(e)}))),this.videoState.stateChangeEnded$.pipe(e.map((function(e){return"stateChangeEnded$ "+JSON.stringify(e)})))).subscribe((function(e){return t.log({message:"[videoState] "+e})})));var r=function(e,i){return t.subscription.add(e.subscribe(i))};if(this.params.output.isLive$.getValue())this.params.output.position$.next(0),this.params.output.duration$.next(0);else{var a=new e.Subject;i.add(a.pipe(e.debounce(500)).subscribe((function(e){t.params.desiredState.seekPosition.setState(e),t.params.desiredState.seekPosition.startTransitionTo(void 0),t.params.desiredState.seekPosition.setState(void 0)})));var n=NaN;i.add(e.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.CURRENT_TIME_CHANGED).subscribe((function(i){t.logRemoteEvent(i);var r=i.value;t.params.output.position$.next(r);var s=t.params.desiredState.seekPosition.getTransition();e.isNonNullable(s)&&e.isNullable(s.to)?t.params.desiredState.seekPosition.setState(void 0):Math.abs(r-n)>5&&a.next(r),n=r}))),i.add(e.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.DURATION_CHANGED).subscribe((function(e){t.logRemoteEvent(e),t.params.output.duration$.next(e.value)})))}r(e.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED),(function(e){t.logRemoteEvent(e),e.value?t.handleRemoteReady():(t.handleRemoteStop(),i.unsubscribe())})),r(e.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED),(function(e){t.logRemoteEvent(e),e.value?t.handleRemotePause():t.handleRemotePlay()})),r(e.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED),(function(i){t.logRemoteEvent(i);var r=t.params.connection.remotePlayer,a=i.value,n=t.params.output.isBuffering$.getValue(),s=a===chrome.cast.media.PlayerState.BUFFERING;switch(n!==s&&t.params.output.isBuffering$.next(s),a){case chrome.cast.media.PlayerState.IDLE:!t.params.output.isLive$.getValue()&&r.duration-r.currentTime<5&&t.params.output.endedEvent$.next(),t.handleRemoteStop(),C(t.params.desiredState.playbackState,exports.PlaybackState.STOPPED);break;case chrome.cast.media.PlayerState.PAUSED:t.handleRemotePause();break;case chrome.cast.media.PlayerState.PLAYING:t.handleRemotePlay();break;case chrome.cast.media.PlayerState.BUFFERING:break;default:e.assertNever(a)}})),r(e.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED),(function(e){t.logRemoteEvent(e),t.handleRemoteVolumeChange({volume:e.value})})),r(e.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED),(function(e){t.logRemoteEvent(e),t.handleRemoteVolumeChange({muted:e.value})})),r(e.merge(this.params.desiredState.playbackState.stateChangeStarted$,this.params.desiredState.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0)),this.syncPlayback)},t.prototype.restoreSession=function(e){this.log({message:"restoreSession"});var t=this.params.connection.remotePlayer;if(e.playerState!==chrome.cast.media.PlayerState.IDLE){t.isPaused?(this.videoState.setState(Te.PAUSED),C(this.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):(this.videoState.setState(Te.PLAYING),C(this.params.desiredState.playbackState,exports.PlaybackState.PLAYING));var i=this.params.output.isLive$.getValue();this.params.output.duration$.next(i?0:t.duration),this.params.output.position$.next(i?0:t.currentTime),this.params.desiredState.seekPosition.setState(void 0)}},t.prototype.prepare=function(){var e=this.params.format;this.log({message:"[prepare] format: "+e});var t=this.createMediaInfo(e),i=this.createLoadRequest(t);this.loadMedia(i)},t.prototype.handleRemotePause=function(){var e=this.videoState.getState(),t=this.videoState.getTransition();(null==t?void 0:t.to)!==Te.PAUSED&&e!==Te.PLAYING||(this.videoState.setState(Te.PAUSED),C(this.params.desiredState.playbackState,exports.PlaybackState.PAUSED))},t.prototype.handleRemotePlay=function(){var e=this.videoState.getState(),t=this.videoState.getTransition();(null==t?void 0:t.to)!==Te.PLAYING&&e!==Te.PAUSED||(this.videoState.setState(Te.PLAYING),C(this.params.desiredState.playbackState,exports.PlaybackState.PLAYING))},t.prototype.handleRemoteReady=function(){var e=this.videoState.getTransition();(null==e?void 0:e.to)===Te.READY&&this.videoState.setState(Te.READY)},t.prototype.handleRemoteStop=function(){this.videoState.getState()!==Te.STOPPED&&this.videoState.setState(Te.STOPPED)},t.prototype.handleRemoteVolumeChange=function(e){var t,i,r=this.params.output.volume$.getValue(),a={volume:null!==(t=e.volume)&&void 0!==t?t:r.volume,muted:null!==(i=e.muted)&&void 0!==i?i:r.muted};a.volume===r.volume&&a.muted==a.muted||this.params.output.volume$.next(a)},t.prototype.seek=function(e){var t=this.params.connection,i=t.remotePlayer,r=t.remotePlayerController;i.currentTime=e,r.seek()},t.prototype.stop=function(){this.params.connection.remotePlayerController.stop()},t.prototype.createMediaInfo=function(t){var i,r,a,n,s=this.params.source;switch(t){case exports.VideoFormat.MPEG:var o=s[t];e.assertNonNullable(o);var u=Object.keys(o).sort((function(e,t){return e===t?0:e===exports.VideoQuality.INVARIANT?1:t===exports.VideoQuality.INVARIANT?-1:M(e,t)?1:-1}))[0];e.assertNonNullable(u);var d=o[u];e.assertNonNullable(d),r=d,a="video/mp4",n=chrome.cast.media.StreamType.BUFFERED;break;case exports.VideoFormat.HLS:case exports.VideoFormat.HLS_ONDEMAND:var c=s[t];e.assertNonNullable(c),r=c.url,a="application/x-mpegurl",n=chrome.cast.media.StreamType.BUFFERED;break;case exports.VideoFormat.DASH_SEP:case exports.VideoFormat.DASH_ONDEMAND:case exports.VideoFormat.DASH_WEBM_VK:case exports.VideoFormat.DASH_WEBM:var l=s[t];e.assertNonNullable(l),r=l.url,a="application/dash+xml",n=chrome.cast.media.StreamType.BUFFERED;break;case exports.VideoFormat.HLS_LIVE:c=s[t];e.assertNonNullable(c),r=Ee(c.url),a="application/x-mpegurl",n=chrome.cast.media.StreamType.LIVE;break;case exports.VideoFormat.DASH_LIVE_WEBM:l=s[t];e.assertNonNullable(l),r=l.url,a="application/dash+xml",n=chrome.cast.media.StreamType.LIVE;break;case exports.VideoFormat.HLS_JS:case exports.VideoFormat.DASH:case exports.VideoFormat.DASH_LIVE:var p="Unsupported format for Chromecast",h=new Error(p);throw this.params.output.error$.next({id:"ChromecastProvider.createMediaInfo()",message:p,thrown:h}),h;default:return e.assertNever(t)}var f=new chrome.cast.media.MediaInfo(null!==(i=this.params.meta.videoId)&&void 0!==i?i:r,a);f.contentUrl=r,f.streamType=n,f.metadata=new chrome.cast.media.GenericMediaMetadata;var v=this.params.meta,m=v.title,S=v.subtitle;return e.isNonNullable(m)&&(f.metadata.title=m),e.isNonNullable(S)&&(f.metadata.subtitle=S),f},t.prototype.createLoadRequest=function(e){var t,i=new chrome.cast.media.LoadRequest(e);i.autoplay=!1;var r=this.params.desiredState.seekPosition.getTransition();return i.currentTime=r?this.params.output.isLive$.getValue()?0:null!==(t=r.to)&&void 0!==t?t:0:0,i},t.prototype.loadMedia=function(t){var i=this,r=this.params.connection.session.loadMedia(t),a=new Promise((function(t,r){i.loadMediaTimeoutSubscription.add(e.timeout(7e3).subscribe((function(){return r("timeout(7000)")})))}));Promise.race([r,a]).then((function(){i.log({message:"[loadMedia] completed, format: "+i.params.format});var e=i.params.desiredState.seekPosition;e.getTransition()&&e.setState(void 0),i.handleRemoteReady()}),(function(e){var t="[prepare] loadMedia failed, format: "+i.params.format+", reason: "+e;i.log({message:t}),i.params.output.error$.next({id:"ChromecastProvider.loadMedia",message:t,thrown:e})})).finally((function(){i.loadMediaTimeoutSubscription.unsubscribe()}))},t.prototype.logRemoteEvent=function(e){this.log({message:"[remoteEvent] "+JSON.stringify(e)})},t}();!function(e){e.STOPPED="stopped",e.READY="ready",e.PLAYING="playing",e.PAUSED="paused"}(Pe||(Pe={}));var we,xe=function(){function t(t){var i=this;this.subscription=new e.Subscription,this.videoState=new X(Pe.STOPPED),this.trackUrls={},this.textTracksManager=new A,this.syncPlayback=function(){var t=i.videoState.getState(),r=i.params.desiredState.playbackState.getState(),a=i.params.desiredState.playbackState.getTransition();if(r!==exports.PlaybackState.STOPPED){if(!i.videoState.getTransition()){var n=i.params.desiredState.videoTrack.getTransition(),s=i.params.desiredState.seekPosition.getTransition();if(t===Pe.STOPPED)return i.videoState.startTransitionTo(Pe.READY),void i.prepare();if(n){var o=i.video.currentTime;return i.prepare(),void(s||i.params.desiredState.seekPosition.startTransitionTo(o))}var u=null==s?void 0:s.to;switch((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(u)&&i.seek(u),t){case Pe.READY:return void(r===exports.PlaybackState.PAUSED?(i.videoState.setState(Pe.PAUSED),C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):r===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(Pe.PLAYING),i.playIfAllowed()));case Pe.PLAYING:return void(r===exports.PlaybackState.PAUSED?(i.videoState.startTransitionTo(Pe.PAUSED),i.video.pause()):(null==a?void 0:a.to)===exports.PlaybackState.PLAYING&&C(i.params.desiredState.playbackState,exports.PlaybackState.PLAYING));case Pe.PAUSED:return void(r===exports.PlaybackState.PLAYING?(i.videoState.startTransitionTo(Pe.PLAYING),i.playIfAllowed()):(null==a?void 0:a.to)===exports.PlaybackState.PAUSED&&C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED));default:return e.assertNever(t)}}}else t!==Pe.STOPPED&&(i.videoState.startTransitionTo(Pe.STOPPED),i.video.setAttribute("src",""),i.video.load(),i.params.output.position$.next(0),i.params.output.duration$.next(1/0),i.params.output.currentBuffer$.next(void 0),i.params.output.hostname$.next(void 0),i.videoState.setState(Pe.STOPPED),C(i.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0))},this.params=t,this.video=N(t.container),this.params.output.element$.next(this.video),Object.entries(this.params.source).forEach((function(e,t){var r=h(e,2),a=r[0],n=r[1],s=t.toString(10);i.trackUrls[s]={track:{quality:a,id:s},url:n}})),this.params.output.availableVideoTracks$.next(Object.values(this.trackUrls).map((function(e){return e.track}))),this.params.output.isLive$.next(!1),this.subscribe()}return t.prototype.subscribe=function(){var t=this,i=this.params,r=i.output,a=i.desiredState,n=function(e){r.error$.next({id:"MpegProvider",message:"MpegProvider internal logic error",thrown:e})},s=R(this.video),o=function(e,i){return t.subscription.add(e.subscribe(i,n))};o(s.timeUpdate$,r.position$),o(s.durationChange$,r.duration$),o(s.ended$,r.endedEvent$),o(s.error$,r.error$),o(s.isBuffering$,r.isBuffering$),o(s.currentBuffer$,r.currentBuffer$),o(s.firstBytes$,r.firstBytesEvent$),o(s.firstFrame$,r.firstFrameEvent$),this.subscription.add(s.seeked$.subscribe((function(){return a.seekPosition.setState(void 0)}),n)),this.subscription.add(k(this.video,a.isLooped,n)),this.subscription.add(w(this.video,a.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$,n)),this.subscription.add(s.play$.subscribe((function(){t.videoState.setState(Pe.PLAYING),C(a.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.pause$.subscribe((function(){t.videoState.setState(Pe.PAUSED),C(a.playbackState,exports.PlaybackState.PAUSED)}),n)).add(s.canplay$.subscribe((function(){var i;(null===(i=t.videoState.getTransition())||void 0===i?void 0:i.to)===Pe.READY&&t.videoState.setState(Pe.READY);var r=t.params.desiredState.videoTrack.getTransition();r&&e.isNonNullable(r.to)&&(t.params.desiredState.videoTrack.setState(r.to),t.params.output.currentVideoTrack$.next(t.trackUrls[r.to].track)),t.videoState.getState()===Pe.PLAYING&&t.playIfAllowed()}),n)),this.subscription.add(a.autoVideoTrackSwitching.stateChangeStarted$.subscribe((function(){return a.autoVideoTrackSwitching.setState(!1)}),n)),this.textTracksManager.connect(this.video,a,r);var u=e.merge(a.playbackState.stateChangeStarted$,a.videoTrack.stateChangeStarted$,a.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0));this.subscription.add(u.subscribe(this.syncPlayback,n))},t.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.trackUrls={},this.video.remove(),this.params.output.element$.next(void 0)},t.prototype.prepare=function(){var t,i,r=null!==(i=null===(t=this.params.desiredState.videoTrack.getTransition())||void 0===t?void 0:t.to)&&void 0!==i?i:this.params.desiredState.videoTrack.getState();e.assertNonNullable(r,"MpegProvider: track is not selected");var a=this.trackUrls[r].url;e.assertNonNullable(a,"MpegProvider: No url for "+r),this.video.setAttribute("src",a),this.video.load(),this.params.output.hostname$.next(W(a))},t.prototype.playIfAllowed=function(){var e=this;E(this.video).then((function(t){t||(e.videoState.setState(Pe.PAUSED),C(e.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0))}))},t.prototype.seek=function(e){this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.video.currentTime=e},t}(),Ae=function(){function t(e,t,i,r,a,n){void 0===t&&(t=[]),this._failoverIndex=0,this._failoverCount=0,this._xhr=null,this._retryTimeout=0,this._url=e,this._failoverHosts=t,this._completeCb=i,this._progressCb=r,this._headersCb=a,this._errorCb=n,this._request()}return t.prototype._request=function(){var t=this;this._xhr=new XMLHttpRequest,this._xhr.open("GET",this._url,!0),this._xhr.overrideMimeType("text/plain; charset=x-user-defined");var i=!1;this._xhr.onreadystatechange=function(){var r,a,n,s,o,u,d,c;if(e.assertNonNullable(t._xhr),(null===(r=t._xhr)||void 0===r?void 0:r.status)>=400)return null===(a=t._errorCb)||void 0===a||a.call(t,"Http"+(null===(n=t._xhr)||void 0===n?void 0:n.status),"XHR response code "+(null===(s=t._xhr)||void 0===s?void 0:s.status)),void t.abort();if(4!==t._xhr.readyState||0!==t._xhr.status)try{t._xhr.readyState>=2&&!i&&(i=!0,null===(o=t._headersCb)||void 0===o||o.call(t)),4===t._xhr.readyState&&(null===(u=t._completeCb)||void 0===u||u.call(t,t._xhr.response)),3===t._xhr.readyState&&(null===(d=t._progressCb)||void 0===d||d.call(t,t._xhr.response))}catch(e){throw null===(c=t._errorCb)||void 0===c||c.call(t,"XHR2CallbackError","xhr2 callback threw "+String(e),e),e}},this._xhr.onerror=function(){var e;null===(e=t._xhr)||void 0===e||e.abort(),t._retryTimeout=window.setTimeout((function(){var e,i,r;if(t._xhr)if(++t._failoverCount>=30)t._xhr=null,null===(e=t._errorCb)||void 0===e||e.call(t,"XHR2Failover","XHR failed, retrying failover host");else{var a=void 0;t._failoverIndex>=t._failoverHosts.length?(a=t._url,t._failoverIndex=0):(a=t._url.replace((i=t._url,(r=document.createElement("a")).href=i,r.host),t._failoverHosts[t._failoverIndex]),t._failoverIndex++),t._xhr.open("GET",a,!0),t._xhr.send(null)}}),500)},this._xhr.send(null)},t.prototype.abort=function(){window.clearTimeout(this._retryTimeout),this._completeCb=this._progressCb=this._errorCb=void 0,this._xhr&&(this._xhr.abort(),this._xhr=null)},t}(),Ne=function(){function e(e){this._maxBufferDuration=Number.POSITIVE_INFINITY,this._isFull=!1,this._params=e,this._mediaSource=e.mediaSource,this._sourceBuffer=e.sourceBuffer,this._onDashCallback=e.onDashCallback}return e.prototype._appendBuffer=function(e,t){try{this._isFull=!1,(this._sourceBuffer.appendBuffer||this._sourceBuffer.append).bind(this._sourceBuffer)(e),null==t||t()}catch(e){if("QuotaExceededError"!==e.name)throw this._params.onError("AppendBuffer","Unknown Buffer error",e),e;this._isFull=!0;for(var i=this._sourceBuffer.buffered,r=0,a=0,n=i.length;a<n;a++)r+=i.end(a)-i.start(a);r&&(this._maxBufferDuration=Math.round(r))}},e.prototype.getMaxBufferDuration=function(){return this._maxBufferDuration},e.prototype.isFull=function(){return this._isFull},e.prototype.load=function(t,i,r,a,n,s,o){var u=this;this.abort((function(){var d=0,c=Date.now(),l=Date.now(),p=0,h=r-i+1,f=function(t){a(e._str2ua(t.substr(d))),d=t.length};u._lastXhr=new Ae(t.baseURL+"&bytes="+i+"-"+r,t.failoverHosts,(function(e){u._lastXhr=void 0,f(e);var t=Date.now()-c;u._params.onBandwidthChange({size:h,duration:t,speed:8*h/(t/1e3)}),u._onDashCallback("loading",{size:e.length,done:!0}),null==n||n()}),(function(e){e.length-d>o&&f(e);var t=e.length-p,i=Date.now()-l;p&&u._params.onBandwidthChange({size:t,duration:i,speed:8*t/(i/1e3)}),p=e.length,l=Date.now(),u._onDashCallback("loading",{size:e.length,done:!1})}),s,(function(e,t,i){return u._params.onError(e,t,i)}))}))},e.prototype.abort=function(e){var t,i=this;null===(t=this._lastXhr)||void 0===t||t.abort(),this._sbUpdatingStop(this._lastStreamUpdatingCallback),this._lastStreamUpdatingCallback=this._sbUpdatingWatch((function(){i._appendPromiseUint8Array&&(i._appendBuffer(i._appendPromiseUint8Array),i._appendPromiseUint8Array=void 0),i._lastStreamUpdatingCallback=i._sbUpdatingWatch((function(){"open"===i._mediaSource.readyState&&i._sourceBuffer.abort(),null==e||e()}))}))},e.prototype._sbUpdatingWatch=function(e){var t=this;if(this._sourceBuffer.updating){var i=function(){try{t._sbUpdatingStop(i),t._sbUpdatingWatch(e)}catch(e){throw t._params.onError("SourceBuffer","Source Buffer update error",e),e}};return this._sourceBuffer.addEventListener("updateend",i,!1),i}e()},e.prototype._sbUpdatingStop=function(e){e&&this._sourceBuffer.removeEventListener("updateend",e,!1)},e.prototype.append=function(t,i){var r=this;this._appendPromiseUint8Array?this._appendPromiseUint8Array=e._concatUint8(this._appendPromiseUint8Array,t):(this._appendPromiseUint8Array=t,this._lastStreamUpdatingCallback=this._sbUpdatingWatch((function(){r._appendPromiseUint8Array&&r._appendBuffer(r._appendPromiseUint8Array,(function(){r._appendPromiseUint8Array=void 0,i&&r._sbUpdatingWatch(i)}))})))},e.prototype.endOfStream=function(){var e=this;"open"===this._mediaSource.readyState&&this._sbUpdatingWatch((function(){return e._mediaSource.endOfStream()}))},e._concatUint8=function(e,t){var i=new Uint8Array(e.byteLength+t.byteLength);return i.set(e,0),i.set(t,e.byteLength),i},e._str2ua=function(e){for(var t=new Uint8Array(e.length),i=0;i<e.length;i++)t[i]=e.charCodeAt(i);return t},e.prototype.remove=function(e,t){var i=this;this._sbUpdatingWatch((function(){!i._sourceBuffer.updating&&i._sourceBuffer.remove&&i._sourceBuffer.remove(e,t),i._maxBufferDuration=Number.POSITIVE_INFINITY}))},e.prototype.destroy=function(){var e;null===(e=this._lastXhr)||void 0===e||e.abort(),this._sbUpdatingStop(this._lastStreamUpdatingCallback),"open"===this._mediaSource.readyState&&this._sourceBuffer.abort()},e}(),$e=function(){function t(e){var t;this._representations=[],this._appendVector={},this._cachingPaused=!1,this._duration=0,this.STREAM_END_THRESHOLD=1,this._params=e,this._video=e.video,this._buffer=e.buffer,this._onDashCallback=null!==(t=e.onDashCallback)&&void 0!==t?t:function(){},this._config=e.config}return t.prototype._parseDurationFromISO8601=function(e){var t=function(e,t){var i=e?parseFloat(e.replace(",",".")):NaN;return(isNaN(i)?0:i)*t},i=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/.exec(e),r="-"===(null==i?void 0:i[1])?-1:1;t(null==i?void 0:i[2],r),t(null==i?void 0:i[3],r),t(null==i?void 0:i[4],r),t(null==i?void 0:i[5],r);return 3600*t(null==i?void 0:i[6],r)+60*t(null==i?void 0:i[7],r)+t(null==i?void 0:i[8],r)},t.prototype.getRepresentations=function(){return this._representations},t.prototype.attachSource=function(e,t){var i=this;new Ae(e,t,(function(r){var a,n;i.attachManifest(r,t,(a=e,(n=document.createElement("a")).href=a,n.origin))}),void 0,void 0,(function(e,t,r){return i._params.onError(e,t,r)}))},t.prototype.attachManifest=function(e,t,i){var r=this,a=(new DOMParser).parseFromString(e,"text/xml").documentElement,n=function(e,t){var i=e.attributes.getNamedItem(t);return i?i.value:null};this._duration=this._parseDurationFromISO8601(String(n(a,"mediaPresentationDuration")));var s=[],o=[];Array.prototype.forEach.call(a.getElementsByTagName("Representation"),(function(e){var r,a,u,d,c,l,p,h,f,v,m,S,b,g,y,T,E,P=e.getElementsByTagName("SegmentBase")[0],k=P&&n(P,"indexRange").split("-"),w=P&&P.getElementsByTagName("Initialization")[0],x=w&&n(w,"range").split("-");if(x&&k){var A=Number(null===(p=e.attributes.getNamedItem("bandwidth"))||void 0===p?void 0:p.value),N=(i?i+"/":"")+e.getElementsByTagName("BaseURL")[0].childNodes[0].data;s.push({width:Number(null===(h=e.attributes.getNamedItem("width"))||void 0===h?void 0:h.value),height:Number(null===(f=e.attributes.getNamedItem("height"))||void 0===f?void 0:f.value),bandwidth:A,baseURL:N,failoverHosts:t,indexFrom:Number(k[0]),indexTo:Number(k[1]),initFrom:Number(x[0]),initTo:Number(x[1]),codecs:null!==(m=null===(v=e.attributes.getNamedItem("codecs"))||void 0===v?void 0:v.value)&&void 0!==m?m:void 0,mimeType:null!==(b=null===(S=e.attributes.getNamedItem("mimeType"))||void 0===S?void 0:S.value)&&void 0!==b?b:void 0,bufferSize:.1*A/8,bufferLength:.1,name:null!==(y=null===(g=e.attributes.getNamedItem("okQuality"))||void 0===g?void 0:g.value)&&void 0!==y?y:void 0,id:null!==(E=null===(T=e.attributes.getNamedItem("id"))||void 0===T?void 0:T.value)&&void 0!==E?E:void 0})}else{var $=e.parentElement;if("text"===(null==$?void 0:$.getAttribute("contentType"))){var D=null!==(r=e.getAttribute("id"))&&void 0!==r?r:void 0,_=(i?i+"/":"")+(null===(c=null===(d=null===(u=null===(a=e.getElementsByTagName("BaseURL"))||void 0===a?void 0:a[0])||void 0===u?void 0:u.childNodes)||void 0===d?void 0:d[0])||void 0===c?void 0:c.data),I=null!==(l=$.getAttribute("lang"))&&void 0!==l?l:void 0;_&&o.push({id:D,url:_,language:I})}}})),s.length?(this._representations=s,o.forEach((function(e){var t=e.id,i=e.language,a=e.url,n=document.createElement("track");n.setAttribute("src",a),t&&n.setAttribute("id",t),i&&n.setAttribute("srclang",i),r._video.appendChild(n)})),this._representations.sort((function(e,t){return t.bandwidth-e.bandwidth})),this._params.onManifestReady(this._representations)):this._onDashCallback("error")},t.prototype._loadInitAndSidx=function(e,t){var i=this;if(e!==this._currentRepresentation)if(e.refs)this._stream.abort((function(){i._stream.append(e.initMessage,t)}));else{var r=Date.now();this._stream.load(e,e.initFrom,e.indexTo,(function(r){var a=e.initTo-e.initFrom+1;if(r.byteLength){e.initMessage=new Uint8Array(r.buffer,0,a);var n=new DataView(r.buffer);a+=12;var s=n.getUint32(a+4,!1);a+=8;var o=n.getUint32(a,!1),u=n.getUint32(a+4,!1)+(e.indexTo+1);a+=8;var d=n.getUint16(a+2,!1);a+=4,e.refs=[];for(var c=0;c<d;c+=1){var l=u+(2147483647&n.getUint32(a,!1)),p=o+n.getUint32(a+4,!1);a+=12,e.refs.push({fromTime:o/s,toTime:p/s,fromOffset:u,toOffset:l-1}),u=l,o=p}var h=e.refs[e.refs.length-1];h.toTime-h.fromTime<.3&&e.refs.pop(),i._stream.append(e.initMessage,t)}else i._params.onError("EmptyResponse","Empty response")}),void 0,(function(){i._params.onIdxRequestPing(Date.now()-r)}),e.indexTo-e.initFrom+1)}else t&&t()},t.prototype.startPlay=function(e){var t=this,i=window.MediaSource||window.WebKitMediaSource;if(i){var r=new i,a=void 0,n=void 0,s=function(){t._loopTimeout=window.setTimeout((function(){try{!function(){var i=t._findRef(t._video.currentTime);if(i&&!t._video.paused){if(!t._cachingPaused&&void 0!==t._lastLoadOffset&&t._lastLoadOffset-t._video.currentTime<t._config.FRONT_CACHE_DURATION&&t._lastLoadOffset-t._video.currentTime<t._stream.getMaxBufferDuration()){var r=t._stream.isFull()?t._findBufferRangeEnd(t._video.currentTime):t._lastLoadOffset;t._loadRef(t._params.selectRepresentation(t._representations),r)}var s,o=t._appendVector[String(i.fromTime)];if(o!==a&&(a=o,t._params.onRepresentationPlay(o)),t._findRef(i.toTime)){var u=t._buffer.getByTime(t._video.currentTime);if(!u)return void t._onDashCallback("buffering");(s=u.end-t._video.currentTime)<e.bufferLength&&(t._onDashCallback("buffering"),n!==u.end&&(n=u.end,window.setTimeout((function(){try{var e=t._buffer.getNextWithGap(u);e&&(t._video.currentTime=e.start)}catch(e){throw t._params.onError("GapSyncError","Seek Error "+String(e),e),e}}),1e3*s)))}}}()}catch(e){throw t._params.onError("LoopError","Dash Loop exception "+String(e),e),e}s()}),250)},o=function(){if(!t._stream)try{var i=r.addSourceBuffer(e.mimeType+'; codecs="'+e.codecs+'"');t._stream=new Ne({mediaSource:r,sourceBuffer:i,onBandwidthChange:t._params.onBandwidthChange,onError:t._params.onError,onDashCallback:t._onDashCallback})}catch(e){throw t._params.onError("DashSourceOpen","Source open exception "+String(e),e),e}t._loadInitAndSidx(e),r.duration||(r.duration=t._duration),t._loopTimeout||s(),r.removeEventListener("sourceopen",o),r.removeEventListener("webkitsourceopen",o)};r.addEventListener("sourceopen",o,!1),r.addEventListener("webkitsourceopen",o,!1),this._video&&(this._video.src=window.URL.createObjectURL(r),this._video.addEventListener("waiting",(function(){var e=t._video&&t._video.played.length;e&&!t._video.currentTime&&t._video.loop?t._video.duration-t._video.played.end(e-1)<t.STREAM_END_THRESHOLD&&t.seek(0):t._video.duration-t._video.currentTime<t.STREAM_END_THRESHOLD&&t._stream.endOfStream()})))}else this._params.onError("MediaSourceNotSupported","MediaSource is not supported")},t.prototype._loadRef=function(e,t,i){var r=this;void 0===i&&(i=!1),this._lastLoadOffset=void 0,this._loadInitAndSidx(e,(function(){r._currentRepresentation=e;var a=r._findRef(t);if(a){if(i){r._isLastRef(a)&&t>=a.toTime&&(t=a.fromTime);var n=r._findRef(r._video.currentTime),s=Math.abs(r._video.currentTime-t),o=r._video.duration<r._config.SEEK_IN_SEGMENT_THRESHOLD/1e3||a===n||s<=r._config.SEEK_IN_SEGMENT_DELTA/1e3;r._video.currentTime=o?t:a.fromTime}r._appendVector[String(a.fromTime)]=e,r._stream.load(e,a.fromOffset,a.toOffset,(function(e,t){return r._stream.append(e,t)}),(function(){r._lastLoadOffset=a.toTime,r._video.duration-r._lastLoadOffset<r.STREAM_END_THRESHOLD&&r._stream.endOfStream()}),void 0,e.bufferSize)}}))},t.prototype.setQualityByRepresentation=function(e){var t=this,i=this._buffer.getByTime(this._video.currentTime),r=this._findRef(this._video.currentTime);if(i&&r){var a=.1;if(r.toTime<i.end+a){var n=this._findRef(r.toTime);n&&n.toTime<i.end+a?(this._buffer.smartRemove(r.fromTime-a,n.toTime+a,(function(e,i){return t._stream.remove(e,i)})),this._loadRef(e,n.toTime)):(this._buffer.smartRemove(r.fromTime-a,r.toTime+a,(function(e,i){return t._stream.remove(e,i)})),this._loadRef(e,r.toTime))}}},t.prototype.setQuality=function(e){return this.setQualityByRepresentation(this._representations[e])},t.prototype.pauseCaching=function(){this._cachingPaused=!0},t.prototype.resumeCaching=function(){this._cachingPaused=!1},t.prototype.seek=function(e,t){void 0===t&&(t=!1),this._stream&&this._buffer.getByTime(e)&&!t?this._video.currentTime=e:this._loadRef(this._params.selectRepresentation(this._representations),e,!0)},t.prototype.updateRefsForCurrentTime=function(){var t=this._video.currentTime;this._stream&&!e.isNullable(this._buffer.getByTime(t))||this._loadRef(this._params.selectRepresentation(this._representations),t,!1)},t.prototype._findRef=function(e){var t,i=null===(t=this._currentRepresentation)||void 0===t?void 0:t.refs;if(i){if(!Array.isArray(i)||0!==i.length){for(var r=void 0,a=0;a<i.length;a++){var n=i[a];if(n.fromTime<=e&&n.toTime>e)return n;n.fromTime>e&&(!r||n.fromTime<r.fromTime)&&(r=n)}if(!r){var s=i[i.length-1];if(e>s.toTime)return s}return r}this._params.onError("emptyrefs","Empty refs")}},t.prototype._isLastRef=function(e){var t,i=null===(t=this._currentRepresentation)||void 0===t?void 0:t.refs;if(!i)return!1;var r=i[i.length-1];return e.fromTime===r.fromTime},t.prototype._findBufferRangeEnd=function(e){for(var t=this._video.buffered.length;t-- >0;){var i=this._video.buffered.start(t),r=this._video.buffered.end(t);if(e>i&&e<r)return Math.round(10*r)/10}return e},t.prototype.destroy=function(){this._stream&&this._stream.destroy(),clearTimeout(this._loopTimeout),this._loopTimeout=void 0},t}();!function(e){e.STOPPED="stopped",e.MANIFEST_LOADED="manifest-loaded",e.INITIAL_REPRESENTATION_SELECTED="initial-representation-selected",e.METADATA_LOADED="metadata-loaded",e.READY="ready",e.PLAYING="playing",e.PAUSED="paused"}(we||(we={}));var De,_e=[we.PAUSED,we.PLAYING],Ie=function(){function t(t){var i=this;this.videoState=new X(we.STOPPED),this.subscription=new e.Subscription,this.representations$=new e.ValueSubject([]),this.currentRepresentation$=new e.ValueSubject(void 0),this.textTracksManager=new A,this.elementSize$=new e.ValueSubject(void 0),this.dashLiteEvents={idxRequestPing$:new e.Subject,manifestReady$:new e.Subject,representationPlay$:new e.Subject,error$:new e.Subject},this.handleManifestReady=function(e){var t,r,a,n,s=[];try{for(var o=p(e),u=o.next();!u.done;u=o.next()){var d=u.value,c=null!==(n=null!==(a=d.name)&&void 0!==a?a:d.id)&&void 0!==n?n:d.height.toString(10),l=U(d),h=d.bandwidth/1e3,f={width:d.width,height:d.height};if(l){var v={id:c,quality:l,bitrate:h,size:f};s.push({track:v,representation:d})}}}catch(e){t={error:e}}finally{try{u&&!u.done&&(r=o.return)&&r.call(o)}finally{if(t)throw t.error}}i.representations$.next(s),i.params.output.availableVideoTracks$.next(s.map((function(e){return e.track}))),i.videoState.setState(we.MANIFEST_LOADED)},this.handleRepresentationPlay=function(e){var t,r=null===(t=i.representations$.getValue().find((function(t){return t.representation===e})))||void 0===t?void 0:t.track;r&&(i.params.output.currentVideoTrack$.next(r),i.params.desiredState.videoTrack.getTransition()&&i.params.desiredState.videoTrack.setState(r.id))},this.selectRepresentation=function(){var t=i.currentRepresentation$.getValue();return e.assertNonNullable(t,"Can't select representation. something went wrong"),t},this.syncPlayback=function(){var t=i.videoState.getState(),r=i.videoState.getTransition(),a=i.params.desiredState.playbackState.getState(),n=i.params.desiredState.playbackState.getTransition(),s=i.params.desiredState.seekPosition.getTransition();if(i.log({message:"[syncPlayback] videoState: "+t+"; videoTransition: "+JSON.stringify(r)+"; desiredPlaybackState: "+a+"; seekPositionTransition: "+JSON.stringify(s)+";"}),a!==exports.PlaybackState.STOPPED){if(!r){var o=null==s?void 0:s.to;switch((null==n?void 0:n.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(o)&&_e.includes(t)&&i.seek(o),t){case we.STOPPED:return i.videoState.startTransitionTo(we.MANIFEST_LOADED),void i.prepare();case we.MANIFEST_LOADED:return void i.videoState.startTransitionTo(we.INITIAL_REPRESENTATION_SELECTED);case we.INITIAL_REPRESENTATION_SELECTED:return i.videoState.startTransitionTo(we.METADATA_LOADED),void i.dash.startPlay(i.selectRepresentation());case we.METADATA_LOADED:return i.videoState.startTransitionTo(we.READY),void i.dash.seek(null!=o?o:0);case we.READY:return void(a===exports.PlaybackState.PAUSED?(i.videoState.setState(we.PAUSED),C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):a===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(we.PLAYING),i.playIfAllowed()));case we.PLAYING:return void(a===exports.PlaybackState.PAUSED?(i.videoState.startTransitionTo(we.PAUSED),i.video.pause()):(null==n?void 0:n.to)===exports.PlaybackState.PLAYING&&C(i.params.desiredState.playbackState,exports.PlaybackState.PLAYING));case we.PAUSED:return void(a===exports.PlaybackState.PLAYING?(i.videoState.startTransitionTo(we.PLAYING),i.playIfAllowed()):(null==n?void 0:n.to)===exports.PlaybackState.PAUSED&&C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED));default:return e.assertNever(t)}}}else t!==we.STOPPED&&(i.videoState.startTransitionTo(we.STOPPED),i.dash.destroy(),i.video.setAttribute("src",""),i.video.load(),i.params.output.position$.next(0),i.params.output.duration$.next(1/0),i.params.output.currentBuffer$.next(void 0),i.params.output.hostname$.next(void 0),i.videoState.setState(we.STOPPED),C(i.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0))},this.params=t,this.log=this.params.dependencies.logger.createComponentLog("DashProvider"),e.merge(this.videoState.stateChangeStarted$.pipe(e.map((function(e){return{transition:e,type:"start"}}))),this.videoState.stateChangeEnded$.pipe(e.map((function(e){return{transition:e,type:"end"}})))).subscribe((function(e){var t=e.transition,r=e.type;i.log({message:"[videoState change] "+r+": "+JSON.stringify(t)})})),this.video=N(t.container),this.params.output.element$.next(this.video),this.params.output.isLive$.next(!1),"url"===this.params.source.type&&this.params.output.hostname$.next(W(this.params.source.url)),this.buffer=new D(this.video),this.dash=new $e({video:this.video,buffer:this.buffer,selectRepresentation:this.selectRepresentation,onIdxRequestPing:function(e){return i.dashLiteEvents.idxRequestPing$.next(e)},onManifestReady:function(e){return i.dashLiteEvents.manifestReady$.next(e)},onRepresentationPlay:function(e){return i.dashLiteEvents.representationPlay$.next(e)},onBandwidthChange:function(e){return i.params.dependencies.throughputEstimator.rawSpeed$.next({size:e.size,time:e.duration})},onError:function(e,t,r){i.log({message:"[DashLite error], "+e}),i.dashLiteEvents.error$.next({id:e,message:t,thrown:r})},config:{SEEK_IN_SEGMENT_THRESHOLD:this.params.tuning.dashSeekInSegmentDurationThreshold,SEEK_IN_SEGMENT_DELTA:this.params.tuning.dashSeekInSegmentAlwaysSeekDelta,FRONT_CACHE_DURATION:this.params.config.cacheDuration/1e3}}),this.subscribe()}return t.prototype.subscribe=function(){var t=this,i=this.params,r=i.output,a=i.desiredState,n=function(e){r.error$.next({id:"DashProvider",message:"DashProvider internal logic error",thrown:e})},s=R(this.video),o=function(e,i){return t.subscription.add(e.subscribe(i,n))};o(s.timeUpdate$,r.position$),o(s.durationChange$,r.duration$),o(s.ended$,r.endedEvent$),o(s.error$,r.error$),o(s.isBuffering$,r.isBuffering$),o(s.firstFrame$,r.firstFrameEvent$),this.subscription.add(s.seeking$.subscribe((function(){e.isNullable(t.params.desiredState.seekPosition.getTransition())&&(t.videoState.getState()===we.PLAYING||t.videoState.getState()===we.PAUSED)&&t.dash.updateRefsForCurrentTime()}))),this.subscription.add(s.seeked$.subscribe((function(){return a.seekPosition.setState(void 0)}))),this.subscription.add(k(this.video,a.isLooped,n)),this.subscription.add(w(this.video,a.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$)),this.textTracksManager.connect(this.video,a,r),o(J(this.video),this.elementSize$),this.subscription.add(s.canplay$.subscribe((function(){var e;(null===(e=t.videoState.getTransition())||void 0===e?void 0:e.to)===we.READY&&t.videoState.setState(we.READY)}),n)).add(s.pause$.subscribe((function(){t.videoState.setState(we.PAUSED),C(t.params.desiredState.playbackState,exports.PlaybackState.PAUSED)}))).add(s.play$.subscribe((function(){t.videoState.setState(we.PLAYING),C(t.params.desiredState.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.loadedMetadata$.subscribe((function(){t.videoState.setState(we.METADATA_LOADED)}),n)).add(s.currentBuffer$.subscribe((function(e){t.buffer.fill(),r.currentBuffer$.next(e)}),n)).add(this.dashLiteEvents.error$.pipe(e.map((function(e){return{id:"DashLite_"+e.id,message:e.message,thrown:e.thrown}}))).subscribe(this.params.output.error$)).add(e.merge(this.params.desiredState.videoTrack.transitionStarted$,this.params.desiredState.autoVideoTrackSwitching.transitionStarted$,this.representations$,this.params.dependencies.throughputEstimator.estimation$,this.params.output.element$,this.elementSize$).pipe(e.map((function(){var i,r,a,n=t.representations$.getValue(),s=t.params.desiredState.autoVideoTrackSwitching.getState(),o=t.params.desiredState.autoVideoTrackSwitching.getTransition(),u=t.params.desiredState.videoTrack.getState(),d=t.params.desiredState.videoTrack.getTransition(),c=t.params.dependencies.throughputEstimator.estimation$.getValue(),l=t.elementSize$.getValue(),p=o?o.to:s;return o&&t.params.desiredState.autoVideoTrackSwitching.setState(o.to),a=!p&&e.isNonNullable(u)?u:d?d.to:null===(i=z(n.map((function(e){return e.track})),{container:l,throughput:c,tuning:t.params.tuning.autoTrackSelection}))||void 0===i?void 0:i.id,e.isNonNullable(a)?null===(r=n.find((function(e){return e.track.id===a})))||void 0===r?void 0:r.representation:void 0})),e.filterChanged()).subscribe(this.currentRepresentation$,n)).add(e.combine({needToSelectRepresentation:this.videoState.stateChangeStarted$.pipe(e.filter((function(e){return e.to===we.INITIAL_REPRESENTATION_SELECTED}))),currentRepresentationSelected:this.currentRepresentation$.pipe(e.filter(e.isNonNullable))}).pipe(e.once()).subscribe((function(){return t.videoState.setState(we.INITIAL_REPRESENTATION_SELECTED)}),n)).add(this.currentRepresentation$.pipe(e.filter(e.isNonNullable),e.filterChanged()).subscribe((function(e){t.dash.setQualityByRepresentation(e),t.params.output.hostname$.next(W(e.baseURL))}),n)).add(this.dashLiteEvents.idxRequestPing$.pipe(e.once()).subscribe(this.params.output.firstBytesEvent$)).add(this.dashLiteEvents.manifestReady$.subscribe(this.handleManifestReady,n)).add(this.dashLiteEvents.representationPlay$.pipe(e.filter(e.isNonNullable)).subscribe(this.handleRepresentationPlay,n)).add(e.merge(a.playbackState.stateChangeStarted$,a.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0)).subscribe(this.syncPlayback,n))},t.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.video.remove(),this.params.output.element$.next(void 0),this.buffer.destroy(),this.dash.destroy()},t.prototype.prepare=function(){var t=this.params.source;switch(t.type){case"url":this.dash.attachSource(t.url);break;case"raw":this.dash.attachManifest(t.raw);break;default:return e.assertNever(t)}},t.prototype.seek=function(e){this.log({message:"[seek] position: "+e}),this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.dash.seek(e)},t.prototype.playIfAllowed=function(){var e=this;E(this.video).then((function(t){t||(e.videoState.setState(we.PAUSED),C(e.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0))}))},t}(),Re=function(e){return e.range?e.range.split("-").map((function(e){return parseInt(e,10)})):[NaN,NaN]},Ce=function(){function e(e){this.params=e,this.dashJsRequestQueue=new Map,this.activeRequests=new Map}return e.prototype.setMetrics=function(e){this.dashMetrics=e},e.prototype.queueDashJSRequest=function(e){var t,i=e.request.url,r=null!==(t=this.dashJsRequestQueue.get(i))&&void 0!==t?t:[];r.push(e),this.dashJsRequestQueue.set(i,r)},e.prototype.executeNextRequests=function(){return c(this,void 0,void 0,(function(){var e,t,i,r,a,n,s,o,u,d,c,f,v;return l(this,(function(l){try{for(e=p(this.dashJsRequestQueue.entries()),t=e.next();!t.done;t=e.next()){if(i=h(t.value,2),r=i[0],a=i[1],n=this.activeRequests.get(r)){if(a.length&&this.onBigRequestProgress(n),!(s=a[0])||!s.request.range)continue;if(o=h(Re(s.request),2),u=o[0],d=o[1],u>=n.from&&d<=n.to)continue;this.activeRequests.delete(r)}a.length&&(c=this.sendBigRequest(r,a.map((function(e){return e.request}))),this.activeRequests.set(r,c))}}catch(e){f={error:e}}finally{try{t&&!t.done&&(v=e.return)&&v.call(e)}finally{if(f)throw f.error}}return[2]}))}))},e.prototype.abort=function(e){var t,i,r;if(e){var a=e.request,n=(null!==(r=this.dashJsRequestQueue.get(a.url))&&void 0!==r?r:[]).includes(e),s=this.activeRequests.get(a.url);n&&s&&s.abortController.abort()}else try{for(var o=p(this.activeRequests.values()),u=o.next();!u.done;u=o.next()){u.value.abortController.abort()}}catch(e){t={error:e}}finally{try{u&&!u.done&&(i=o.return)&&i.call(o)}finally{if(t)throw t.error}}},e.prototype.destroy=function(){this.abort(),this.dashMetrics=void 0,this.dashJsRequestQueue.clear(),this.activeRequests.clear()},e.prototype.sendBigRequest=function(t,i){for(var r=this,a=i.map(Re),n=a[0][0],s=a[0][1],o=1;o<a.length&&s<this.params.minDataSize;o++){var u=a[o][1];u-n<=2*this.params.minDataSize&&(s=Math.max(s,u))}s=0===n?Math.max(s,n+this.params.minInitSize):Math.max(s,n+this.params.minDataSize);var d=new URL(t,location.href);d.searchParams.append("bytes",n+"-"+s);var p=d.toString(),f=new AbortController,v=f.signal,m={url:t,from:n,to:s,loaded:0,data:null,abortController:f};v.addEventListener("abort",(function(){return r.onBigRequestAbort(m)}));var S=function(e){var t,i;throw null===(i=(t=r.params).onError)||void 0===i||i.call(t,{id:"BigRequestParsing",message:"Error parsing response data",thrown:e}),e};return fetch(p,{signal:v}).then((function(t){var i,a,n;if(t.ok&&t.body){var s=h(t.body.tee(),2),o=s[0],u=s[1];null===(a=(i=r.params).onDownloadStream)||void 0===a||a.call(i,u);var d=o.getReader(),p=parseInt(null!==(n=t.headers.get("Content-Length"))&&void 0!==n?n:"",10);m.data=new ArrayBuffer(p);var f=new Uint8Array(m.data),v=function(t){var i=t.done,a=t.value;return c(r,void 0,void 0,(function(){return l(this,(function(t){switch(t.label){case 0:return i?(this.onBigRequestProgress(m),[3,3]):[3,1];case 1:return a?(f.set(a,m.loaded),m.loaded+=a.byteLength,this.onBigRequestProgress(m),[4,null==d?void 0:d.read().then(v,e.suppressStreamErrors).catch(S)]):[3,3];case 2:t.sent(),t.label=3;case 3:return[2]}}))}))};null==d||d.read().then(v,e.suppressStreamErrors).catch(S)}else r.onBigRequestError(m)}),e.suppressAbort).catch((function(e){return r.onBigRequestError(m,e)})),m},e.prototype.onBigRequestProgress=function(e){var t,i,r,a,n,s,o,u,d,c=e.url,l=e.from,f=e.to,v=e.loaded,m=e.data;if(this.activeRequests.has(c)&&m){var S=null!==(r=this.dashJsRequestQueue.get(c))&&void 0!==r?r:[],b=function(e){var t=e.request,i=h(Re(t),2),r=i[0],p=i[1],S=r>=l&&p<=l+v,b=l>=r&&l+v<p,y=m.slice(r-l,Math.min(p-l+1,v));(S||b)&&(t.requestStartDate=null!==(a=t.requestStartDate)&&void 0!==a?a:new Date,t.firstByteDate=null!==(n=t.firstByteDate)&&void 0!==n?n:new Date,t.bytesLoaded=y.byteLength,t.bytesTotal=f-l),S?(t.requestEndDate=new Date,g.dashJsRequestQueue.set(c,(null!==(s=g.dashJsRequestQueue.get(c))&&void 0!==s?s:[]).filter((function(t){return t!==e}))),null===(o=e.success)||void 0===o||o.call(e,y,"",c),null===(u=g.dashMetrics)||void 0===u||u.addHttpRequest(t,c,200,{},[])):b&&(null===(d=e.progress)||void 0===d||d.call(e,{loaded:v,total:f-l,lengthComputable:!0,stream:!0}))},g=this;try{for(var y=p(S),T=y.next();!T.done;T=y.next()){b(T.value)}}catch(e){t={error:e}}finally{try{T&&!T.done&&(i=y.return)&&i.call(y)}finally{if(t)throw t.error}}}},e.prototype.onBigRequestError=function(e,t){var i,r,a,n,s,o,u=e.url,d=e.from,c=e.to;if(null===(n=(a=this.params).onError)||void 0===n||n.call(a,{id:"BigRequest",message:"Download error",thrown:t}),this.activeRequests.has(u)){var l=null!==(s=this.dashJsRequestQueue.get(u))&&void 0!==s?s:[];try{for(var f=p(l),v=f.next();!v.done;v=f.next()){var m=v.value,S=h(Re(m.request),2),b=S[0],g=S[1];(b>=d&&b<c||g>d&&g<=c)&&(null===(o=null==m?void 0:m.error)||void 0===o||o.call(m,m.request,String(t)))}}catch(e){i={error:e}}finally{try{v&&!v.done&&(r=f.return)&&r.call(f)}finally{if(i)throw i.error}}if(this.activeRequests.delete(u),t)throw t}},e.prototype.onBigRequestAbort=function(e){var t,i,r,a,n=e.url,s=e.from,o=e.to;if(this.activeRequests.has(n)){var u=null!==(r=this.dashJsRequestQueue.get(n))&&void 0!==r?r:[];try{for(var d=p(u),c=d.next();!c.done;c=d.next()){var l=c.value,f=h(Re(l.request),2),v=f[0],m=f[1];(v>=s&&v<o||m>s&&m<=o)&&(null===(a=null==l?void 0:l.abort)||void 0===a||a.call(l,l.request))}}catch(e){t={error:e}}finally{try{c&&!c.done&&(i=d.return)&&i.call(d)}finally{if(t)throw t.error}}this.activeRequests.delete(n)}},e.suppressAbort=function(e){if(!(e instanceof DOMException)||"AbortError"!==e.name&&20!==e.code)throw e},e.suppressStreamErrors=function(){},e}(),Le=function(){function e(e,t,i){this.baseLoader=e,this.config=i,this.bigRequest=t,t.setMetrics(i.dashMetrics)}return e.shouldDelegateToBase=function(e){return"download"!==e.action||"text"===e.mediaType||!e.range||"arraybuffer"!==e.responseType},e.prototype.load=function(t){var i=t.request;if(e.shouldDelegateToBase(i))return this.baseLoader.load(t);this.bigRequest.queueDashJSRequest(t),this.bigRequest.executeNextRequests()},e.prototype.abort=function(t){if(!t)return this.baseLoader.abort(),void this.bigRequest.abort();var i=t.request;e.shouldDelegateToBase(i)?this.baseLoader.abort(t):this.bigRequest.abort(t)},e}(),Oe=function(e,t){var i=new Ce(t);return e.extend("SchemeLoaderFactory",(function(){var e=this.parent.getLoader;return{getLoader:function(t){return function(e,t){return function(i){return{create:function(r){var a=e(i).create(r);return new Le(a,t,r)}}}}(e(t),i)}}}),!0),function(){return i.destroy()}},Ve=function(t){var i=new e.ValueSubject(1/0),r=new e.Subject,a=NaN,n=!1,s=function(t){var r,a,n;if(t.getAllResponseHeaders().includes("x-playback-duration")){var s=parseInt(null!==(r=t.getResponseHeader("X-Playback-Duration"))&&void 0!==r?r:"",10),o=parseInt(null!==(a=t.getResponseHeader("X-Playback-Duration-Millis"))&&void 0!==a?a:"",10),u=null!==(n=null!=o?o:1e3*s)&&void 0!==n?n:NaN;e.isNonNullable(u)&&!isNaN(u)&&i.next(u)}},o=function(e){e.readyState>=2&&!n&&(n=!0,r.next(Date.now()-a))};return t.extend("XHRLoader",(function(){var e=this.parent,t=e.load.bind(e);return{load:function(e){if("MPD"===e.request.type){var i=e.onload,r=e.progress;e.onload=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return s(this),i.apply(void 0,f([],h(e),!1))},e.progress=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return o(this),r.apply(void 0,f([],h(e),!1))},a=Date.now(),n=!1}return t(e)}}}),!0),{playbackDuration$:i,ping$:r}},Me=function(){function e(){this.pausedTime=0,this.streamOffset=0,this.pauseTimestamp=0}return e.prototype.getTotalPausedTime=function(){return this.pausedTime+this.getCurrentPausedTime()},e.prototype.getCurrentPausedTime=function(){return this.pauseTimestamp>0?Date.now()-this.pauseTimestamp:0},e.prototype.getStreamOffset=function(){return this.streamOffset},e.prototype.getTotalOffset=function(){return this.getTotalPausedTime()+this.streamOffset},e.prototype.pause=function(){0===this.pauseTimestamp&&(this.pauseTimestamp=Date.now())},e.prototype.resume=function(){this.pauseTimestamp>0&&(this.pausedTime+=this.getCurrentPausedTime(),this.pauseTimestamp=0)},e.prototype.resetTo=function(e){this.streamOffset=e,this.pauseTimestamp=0,this.pausedTime=0},e}(),Be={};!function(e){e.DOWNLOADING_LIB="downloading_lib",e.STOPPED="stopped",e.STREAM_INITIALIZED="stream_initialized",e.READY="ready",e.PLAYING="playing",e.PAUSED="paused"}(De||(De={}));var Ue=function(t,i){return new e.Observable((function(e){var r=function(t){return e.next(t)};return t.on(i,r),function(){return t.off(i,r)}}))},Fe=function(){function t(t){var i=this;this.subscription=new e.Subscription,this.videoState=new X(De.DOWNLOADING_LIB),this.textTracksManager=new A,this.videoTracks=[],this.isLive$=new e.ValueSubject(void 0),this.maxSeekBackTime$=new e.ValueSubject(1/0),this.availableFrom$=new e.ValueSubject(void 0),this.liveOffset=new Me,this.syncPlayback=function(){var t=i.videoState.getState(),r=i.params.desiredState.playbackState.getState(),a=i.params.desiredState.playbackState.getTransition(),n=i.params.desiredState.seekPosition.getTransition(),s=i.isLive$.getValue();if(!i.videoState.getTransition()&&t!==De.DOWNLOADING_LIB&&t!==De.STREAM_INITIALIZED){var o=null==n?void 0:n.to;switch((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(o)&&t!==De.STOPPED&&r!==exports.PlaybackState.STOPPED&&(s?i.seek(o+He(i.liveOffset.getTotalPausedTime())):i.seek(o)),r){case exports.PlaybackState.STOPPED:switch(t){case De.STOPPED:break;case De.PLAYING:case De.PAUSED:case De.READY:i.stop();break;default:e.assertNever(t)}break;case exports.PlaybackState.PLAYING:switch(t){case De.PLAYING:break;case De.PAUSED:s&&(i.liveOffset.getTotalPausedTime()<i.params.config.maxPausedTime&&i.liveOffset.getTotalOffset()<i.maxSeekBackTime$.getValue()?(i.liveOffset.resume(),i.params.output.position$.next(He(i.liveOffset.getTotalOffset()))):i.seek(He(i.liveOffset.getTotalOffset()))),i.play();break;case De.READY:i.play();break;case De.STOPPED:i.prepare();break;default:e.assertNever(t)}break;case exports.PlaybackState.PAUSED:switch(t){case De.PLAYING:i.pause(),i.liveOffset.pause();break;case De.PAUSED:break;case De.READY:i.videoState.setState(De.PAUSED),C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED);break;case De.STOPPED:i.prepare();break;default:e.assertNever(t)}break;default:e.assertNever(r)}}},this.video=N(t.container),this.params=t,this.params.output.element$.next(this.video),this.params.output.availableVideoTracks$.next([]),this.params.output.hostname$.next(W(this.params.source.url)),this.loadDashJs()}return t.prototype.loadDashJs=function(){var e=this,t=!1,r=function(i){var r,a;t||e.params.output.error$.next({id:"timeout"===i?"DashJSTimedOut":"DashJSLoadingError",message:"Dash.js failed to load: "+(null===(a=null===(r=i)||void 0===r?void 0:r.toString)||void 0===a?void 0:a.call(r)),thrown:i}),t=!0},a=window.setTimeout((function(){return r("timeout")}),5e3);Promise.resolve().then((function(){return i(require("dashjs/dist/dash.mediaplayer.min.js"))})).then((function(i){t||(Be.MediaPlayer=i.MediaPlayer,Be.Debug=i.Debug,e.init())}),r).finally((function(){window.clearTimeout(a),t=!0}))},t.prototype.init=function(){var t=this;e.assertNonNullable(Be.MediaPlayer,"dashjs not loaded"),e.assertNonNullable(Be.Debug,"dashjs not loaded"),this.player=Be.MediaPlayer().create(),this.player.updateSettings({debug:{logLevel:3},streaming:{buffer:{fastSwitchEnabled:!0},abr:{limitBitrateByPortal:this.params.tuning.autoTrackSelection.limitByContainer,usePixelRatioInLimitBitrateByPortal:this.params.tuning.autoTrackSelection.usePixelRatio,additionalAbrRules:{insufficientBufferRule:!1}},utcSynchronization:{useManifestDateHeaderTimeSource:!0}}}),(this.params.format===exports.VideoFormat.DASH_WEBM||this.params.format===exports.VideoFormat.DASH_LIVE_WEBM)&&this.params.tuning.useWebmBigRequest?this.destroyBigRequest=Oe(this.player,{minInitSize:this.params.tuning.bigRequestMinInitSize,minDataSize:this.params.tuning.bigRequestMinDataSize,onError:function(e){return t.params.output.error$.next(e)},onDownloadStream:function(e){return t.params.dependencies.throughputEstimator.stream$.next(e)}}):this.params.tuning.stripRangeHeader&&this.player.extend("HTTPLoader",(function(){var e=this.parent.load;return{load:function(t){if(t.request&&t.request.range){var i=h(t.request.range.split("-").map((function(e){return parseInt(e,10)})),2),r=i[0],a=i[1],n=new URL(t.request.url,location.href);n.searchParams.append("bytes",r+"-"+a),t.request.url=n.toString(),t.request.range=void 0}e(t)}}}),!0),this.player.clearDefaultUTCTimingSources(),this.subscribe(),this.videoState.setState(De.STOPPED)},t.prototype.subscribe=function(){var t=this,i=this.params,r=i.output,a=i.desiredState,n=function(e){r.error$.next({id:"DashIFProvider",message:"DashIFProvider internal logic error",thrown:e})},s=function(e,i){return t.subscription.add(e.subscribe(i,n))};s(Ue(this.player,"error").pipe(e.map((function(e){return{id:"DashJS#"+("object"==typeof e.error?e.error.code:e.error),message:"object"==typeof e.error?e.error.message:void 0}}))),r.error$),s(Ue(this.player,"playbackError").pipe(e.map((function(e){return{id:"DashJSPlayback",message:e.error}}))),r.error$);var o=Ue(this.player,"qualityChangeRendered").pipe(e.filter((function(e){return"video"===e.mediaType})),e.map((function(e){var i,r=e.newQuality;return null===(i=t.videoTracks.find((function(e){return e.bitrateInfo.qualityIndex===r})))||void 0===i?void 0:i.track})));o.pipe(e.filter(e.isNonNullable)).subscribe(r.currentVideoTrack$),this.subscription.add(this.videoState.transitionEnded$.pipe(e.filter((function(e){return e.to===De.STREAM_INITIALIZED})),e.once()).subscribe((function(){t.subscription.add(P(a.videoTrack,(function(){var e,i,r=t.player.getQualityFor("video");return null===(i=null===(e=t.videoTracks.find((function(e){return e.bitrateInfo.qualityIndex===r})))||void 0===e?void 0:e.track)||void 0===i?void 0:i.id}),(function(i){var r;if(!e.isNullable(i)){var a=null===(r=t.videoTracks.find((function(e){return e.track.id===i})))||void 0===r?void 0:r.bitrateInfo;a&&t.player.setQualityFor("video",a.qualityIndex)}}),{changed$:o.pipe(e.map((function(e){return null==e?void 0:e.id}))),onError:n}))}),n)),this.subscription.add(P(a.autoVideoTrackSwitching,(function(){var e,i,r;return null===(r=null===(i=null===(e=t.player.getSettings().streaming)||void 0===e?void 0:e.abr)||void 0===i?void 0:i.autoSwitchBitrate)||void 0===r?void 0:r.video}),(function(e){return t.player.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:e}}}})}),{onError:n})),s(Ue(this.player,"bufferStateChanged").pipe(e.filter((function(e){return"video"===e.mediaType})),e.map((function(e){return"bufferStalled"===e.state}))),r.isBuffering$),s(Ue(this.player,"fragmentLoadingStarted").pipe(e.map((function(e){return W(e.request.url)}))),r.hostname$),s(Ue(this.player,"streamInitialized"),(function(e){var i,a,n=e.streamInfo,s=n.duration,o=n.manifestInfo,u=o.isDynamic,d=o.availableFrom;t.isLive$.next(u),t.availableFrom$.next(d.getTime()),u||r.duration$.next(s),t.videoTracks=[];var c,l=t.player.getQualityFor("video");try{for(var h=p(t.player.getBitrateInfoListFor("video")),f=h.next();!f.done;f=h.next()){var v=f.value,m=v.qualityIndex.toString(10),S=U(v),b=v.bitrate/1e3,g={width:v.width,height:v.height};if(S){var y={id:m,quality:S,bitrate:b,size:g};t.videoTracks.push({track:y,bitrateInfo:v}),v.qualityIndex===l&&(c=y)}}}catch(e){i={error:e}}finally{try{f&&!f.done&&(a=h.return)&&a.call(h)}finally{if(i)throw i.error}}r.availableVideoTracks$.next(t.videoTracks.map((function(e){return e.track}))),c&&r.currentVideoTrack$.next(c),t.videoState.setState(De.STREAM_INITIALIZED),t.videoState.startTransitionTo(De.READY)})),s(Ue(this.player,"fragmentLoadingCompleted"),(function(e){var i=e.request;if(i.requestEndDate&&i.firstByteDate&&i.bytesLoaded){var r=i.requestEndDate.getTime()-i.firstByteDate.getTime(),a=i.bytesLoaded;t.params.dependencies.throughputEstimator.rawSpeed$.next({time:r,size:a})}})),s(this.params.dependencies.throughputEstimator.estimation$,(function(e){if(t.params.desiredState.autoVideoTrackSwitching.getState()&&t.videoTracks.length){var i=z(t.videoTracks.map((function(e){return e.track})),{container:{width:t.video.offsetWidth,height:t.video.offsetHeight},throughput:e,tuning:t.params.tuning.autoTrackSelection}),r=t.videoTracks.find((function(e){return e.track===i}));(null==r?void 0:r.bitrateInfo)&&t.player.setQualityFor("video",null==r?void 0:r.bitrateInfo.qualityIndex,!1)}})),s(e.combine({maxSeekBackTime:this.maxSeekBackTime$,isLive:this.isLive$.pipe(e.filter(e.isNonNullable))}).pipe(e.filter((function(e){return e.isLive})),e.map((function(e){var t=e.maxSeekBackTime;return He(t)}))),this.params.output.duration$);var u=Ue(this.player,"playbackTimeUpdated").pipe(e.map((function(e){var t=e.time;return null!=t?t:0})));s(e.combine({availableFrom:this.availableFrom$.pipe(e.filter(e.isNonNullable)),currentTime:u}),(function(e){var i=e.availableFrom,r=e.currentTime;return t.params.output.liveTime$.next(i+1e3*r)})),s(u.pipe(e.filter((function(){return!1===t.isLive$.getValue()}))),r.position$),s(Ue(this.player,"playbackSeeked"),(function(){return a.seekPosition.setState(void 0)})),s(Ue(this.player,"playbackEnded"),r.endedEvent$),s(Ue(this.player,"playbackProgress").pipe(e.map((function(){return _(t.video.buffered,t.video.currentTime)}))),r.currentBuffer$),s(Ue(this.player,"playbackPlaying"),(function(){t.videoState.setState(De.PLAYING),C(a.playbackState,exports.PlaybackState.PLAYING)})),s(Ue(this.player,"playbackNotAllowed"),(function(){t.player.isMuted()?(t.player.setMute(!1),t.videoState.setState(De.PAUSED),C(t.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0)):(t.player.setMute(!0),t.player.play())})),s(Ue(this.player,"playbackPaused"),(function(){t.videoState.setState(De.PAUSED),C(a.playbackState,exports.PlaybackState.PAUSED)})),s(Ue(this.player,"canPlay"),(function(){var e;(null===(e=t.videoState.getTransition())||void 0===e?void 0:e.to)===De.READY&&t.videoState.setState(De.READY)})),s(this.isLive$,r.isLive$),s(J(this.video),(function(){t.player.isReady()&&t.player.updatePortalSize()})),s(e.merge(a.playbackState.stateChangeStarted$,a.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0)),this.syncPlayback);var d=Ve(this.player),c=d.playbackDuration$,l=d.ping$;s(c,this.maxSeekBackTime$),s(l.pipe(e.once()),r.firstBytesEvent$),this.params.tuning.flushShortLoopedBuffers&&s(e.combine({isLive:this.isLive$,isShort:r.duration$.pipe(e.map((function(e){return e<30}))),isLooped:a.isLooped.stateChangeEnded$.pipe(e.map((function(e){return e.to})))}),(function(e){var i=e.isLive,r=e.isShort,a=e.isLooped,n=!i&&r&&a;t.player.updateSettings({streaming:{buffer:{flushBufferAtTrackSwitch:n}}})})),s(u.pipe(e.filter((function(e){return e>t.params.tuning.insufficientBufferRuleMargin})),e.once()),(function(){return t.player.updateSettings({streaming:{abr:{additionalAbrRules:{insufficientBufferRule:!0}}}})})),this.textTracksManager.connect(this.video,a,r),this.subscription.add(Ue(this.player,"manifestLoaded").pipe(e.once()).subscribe((function(){var i=Date.now();t.subscription.add(Ue(t.player,"playbackPlaying").pipe(e.once()).subscribe((function(){return r.firstFrameEvent$.next(Date.now()-i)}),n))}),n)),this.subscription.add(k(this.video,a.isLooped,n));var h=R(this.video).volumeState$;this.subscription.add(w(this.video,a.volume,h,n)),this.subscription.add(h.subscribe(r.volume$,n))},t.prototype.stop=function(){this.params.output.position$.next(0),this.params.output.duration$.next(1/0),this.params.output.currentBuffer$.next(void 0),this.params.output.hostname$.next(void 0),this.player.attachSource(null),this.player.attachView(null),this.player.initialize(),this.player.clearDefaultUTCTimingSources(),this.videoState.setState(De.STOPPED),C(this.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0)},t.prototype.prepare=function(){this.videoState.startTransitionTo(De.STREAM_INITIALIZED),this.player.initialize(),this.player.clearDefaultUTCTimingSources(),this.player.attachView(this.video),this.player.attachSource(this.params.source.url)},t.prototype.seek=function(e){if(this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.isLive$.getValue()){var t=-Math.round(1e3*e),i=t<this.maxSeekBackTime$.getValue()?t:0;this.liveOffset.resetTo(i),this.params.output.position$.next(He(i));var r=Ee(this.params.source.url,this.liveOffset.getTotalOffset()/1e3,Se.PLAYBACK_SHIFT);this.player.attachSource(r)}else this.player.seek(e)},t.prototype.play=function(){this.videoState.startTransitionTo(De.PLAYING),this.player.play()},t.prototype.pause=function(){this.videoState.startTransitionTo(De.PAUSED),this.video.pause()},t.prototype.destroy=function(){var e,t;this.subscription.unsubscribe(),this.textTracksManager.destroy();try{null===(e=this.player)||void 0===e||e.destroy()}catch(e){}this.video.remove(),this.params.output.element$.next(void 0),null===(t=this.destroyBigRequest)||void 0===t||t.call(this)},t}(),He=function(e){return-e/1e3};function qe(){return window.performance?window.performance.now():Date.now()}function Ge(e){return qe()-e}function Ye(e){var t=e.split("/"),i=t.slice(0,t.length-1).join("/"),r=/^([a-z]+:)?\/\//i;return{resolve:function(e,t,a){void 0===a&&(a=!1),function(e){return r.test(e)}(e)||(e.startsWith("/")||(e="/"+e),e=i+e);var n=e.indexOf("?")>-1?"&":"?";return a&&(e+=n+"lowLat=1",n="&"),t&&(e+=n+"_rnd="+Math.floor(999999999*Math.random())),e}}}function je(t,i,r,a){var n,s,o,u,d,c=window.XMLHttpRequest,l=!1,p=0,h=!1,f="arraybuffer",v=7e3,m=2e3,S=function(){if(!l){e.assertNonNullable(u);var t=Ge(u);t<m?setTimeout(S,m-t):((m*=2)>v&&(m=v),s&&s.abort(),s=new c,g())}},b=function(){if(!l){if(--p>=0)return S(),void(a&&a());l=!0,d&&d(),r&&r()}},g=function(){u=qe(),(s=new c).open("get",t);var r,a=0,p=0,v=function(){return e.assertNonNullable(u),Math.max(u,Math.max(r||0,p||0))};if(n&&s.addEventListener("progress",(function(e){var t=qe();n.updateChunk&&e.loaded>a&&(n.updateChunk(v(),e.loaded-a),a=e.loaded,r=t)})),o&&(s.timeout=o,s.addEventListener("timeout",(function(){return b()}))),s.addEventListener("load",(function(){if(!l){e.assertNonNullable(s);var t=s.status;if(t>=200&&t<300){if(s.response.byteLength&&n){var r=s.response.byteLength-a;r&&n.updateChunk&&n.updateChunk(v(),r)}d&&d(),s&&i(s.response)}else b()}})),s.addEventListener("error",(function(){b()})),h){var m=function(){e.assertNonNullable(s),s.readyState===XMLHttpRequest.HEADERS_RECEIVED&&(p=qe(),s.removeEventListener("readystatechange",m))};s.addEventListener("readystatechange",m)}return s.responseType=f,s.send(),y},y={withBitrateReporting:function(e){return n=e,y},withParallel:function(e){return h=e,y},withJSONResponse:function(){return f="json",y},withRetryCount:function(e){return p=e,y},withRetryInterval:function(t,i){return e.isNonNullable(t)&&(m=t),e.isNonNullable(i)&&(v=i),y},withTimeout:function(e){return o=e,y},withFinally:function(e){return d=e,y},send:g,abort:function(){s&&(s.abort(),s=void 0),l=!0,d&&d()}};return y}var Qe,ze=function(){function e(e){this.intervals=[],this.currentRate=0,this.logger=e}return e.prototype._updateRate=function(e){var t=.2;this.currentRate&&(e<.1*this.currentRate?t=.8:e<.5*this.currentRate?t=.5:e<.7*this.currentRate&&(t=.3)),e=Math.max(1,Math.min(e,104857600)),this.currentRate=this.currentRate?this.currentRate*(1-t)+e*t:e},e.prototype._createInterval=function(e,t,i){return{start:e,end:t,bytes:i}},e.prototype._doMergeIntervals=function(e,t){e.start=Math.min(t.start,e.start),e.end=Math.max(t.end,e.end),e.bytes+=t.bytes},e.prototype._mergeIntervals=function(e,t){return e.start<=t.end&&t.start<=e.end&&(this._doMergeIntervals(e,t),!0)},e.prototype._flushIntervals=function(){if(!this.intervals.length)return!1;var e=this.intervals[0].start,t=this.intervals[this.intervals.length-1].end-500;if(t-e>2e3){for(var i=0,r=0;this.intervals.length>0;){var a=this.intervals[0];if(a.end<=t)i+=a.end-a.start,r+=a.bytes,this.intervals.splice(0,1);else{if(a.start>=t)break;var n=t-a.start,s=a.end-a.start;i+=n;var o=a.bytes*n/s;r+=o,a.start=t,a.bytes-=o}}if(r>0&&i>0){var u=8*r/(i/1e3);return this._updateRate(u),this.logger("rate updated, new="+Math.round(u/1024)+"K; average="+Math.round(this.currentRate/1024)+"K bytes/ms="+Math.round(r)+"/"+Math.round(i)+" interval="+Math.round(t-e)),!0}}return!1},e.prototype._joinIntervals=function(){var e;do{e=!1;for(var t=0;t<this.intervals.length-1;++t)this._mergeIntervals(this.intervals[t],this.intervals[t+1])&&(this.intervals.splice(t+1,1),e=!0)}while(e)},e.prototype.addInterval=function(e,t,i){return this.intervals.push(this._createInterval(e,t,i)),this._joinIntervals(),this.intervals.length>100&&(this.logger("too many intervals ("+this.intervals.length+"); will merge",{type:"warn"}),this._doMergeIntervals(this.intervals[1],this.intervals[0]),this.intervals.splice(0,1)),this._flushIntervals()},e.prototype.getBitRate=function(){return this.currentRate},e}(),We=function(){function e(e,t,i,r,a){this.pendingQueue=[],this.activeRequests={},this.completeRequests={},this.averageSegmentDuration=2e3,this.lastPrefetchStart=0,this.throttleTimeout=null,this.RETRY_COUNT=e,this.TIMEOUT=t,this.BITRATE_ESTIMATOR=i,this.MAX_PARALLEL_REQUESTS=r,this.logger=a}return e.prototype.limitCompleteCount=function(){for(var e;(e=Object.keys(this.completeRequests)).length>this._getParallelRequestCount()+2;){var t=e[Math.floor(Math.random()*e.length)];this.logger("Dropping completed request for url "+t,{type:"warn"}),delete this.completeRequests[t]}},e.prototype._sendRequest=function(e,t){var i=this,r=qe();e._request=je(t,(function(a){e._complete=1,e._responseData=a,e._downloadTime=qe()-r,delete i.activeRequests[t],i._sendPending(),e._cb?e._cb(a,e._downloadTime):(i.limitCompleteCount(),i.completeRequests[t]=e)}),(function(){return r="error",delete i.activeRequests[t],i.limitCompleteCount(),i.completeRequests[t]=e,i._sendPending(),e._error=1,e._errorMsg=r,void(e._errorCB?e._errorCB(r):(i.limitCompleteCount(),i.completeRequests[t]=e));var r}),(function(){e._retry=1,e._retryCB&&e._retryCB()})),e._request.withRetryCount(this.RETRY_COUNT).withTimeout(this.TIMEOUT).withBitrateReporting(this.BITRATE_ESTIMATOR).withParallel(this._getParallelRequestCount()>1).withFinally((function(){e._finallyCB&&e._finallyCB()})),this.activeRequests[t]=e,e._request.send(),this.lastPrefetchStart=qe()},e.prototype._getParallelRequestCount=function(){return Math.min(this.MAX_PARALLEL_REQUESTS,this.averageSegmentDuration<3e3?3:2)},e.prototype._getPrefetchDelay=function(){return Math.max(100,Math.min(5e3,this.averageSegmentDuration/3))},e.prototype._canSendPending=function(){var e=this,t=this._getParallelRequestCount(),i=qe();if(Object.keys(this.activeRequests).length>=t)return!1;var r=this._getPrefetchDelay()-(i-this.lastPrefetchStart);return this.throttleTimeout&&clearTimeout(this.throttleTimeout),!(r>0)||(this.throttleTimeout=window.setTimeout((function(){return e._sendPending()}),r),!1)},e.prototype._sendPending=function(){for(;this._canSendPending();){var e=this.pendingQueue.pop();if(!e)return;this.activeRequests[e]||this.completeRequests[e]||(this.logger("Submitting pending request url="+e),this._sendRequest({},e))}},e.prototype._removeFromActive=function(e){delete this.completeRequests[e],delete this.activeRequests[e]},e.prototype.abortAll=function(){Object.values(this.activeRequests).forEach((function(e){e&&e._request&&e._request.abort()})),this.activeRequests={},this.pendingQueue=[],this.completeRequests={}},e.prototype.requestData=function(e,t,i,r){var a=this,n={send:function(){var s=a.activeRequests[e]||a.completeRequests[e];if(s)s._cb=t,s._errorCB=i,s._retryCB=r,s._finallyCB=n._finallyCB,s._error||s._complete?(a._removeFromActive(e),setTimeout((function(){s._complete?(a.logger("Requested url already prefetched, url="+e),t(s._responseData,s._downloadTime)):(a.logger("Requested url already prefetched with error, url="+e),i(s._errorMsg)),n._finallyCB&&n._finallyCB()}),0)):a.logger("Attached to active request, url="+e);else{var o=a.pendingQueue.indexOf(e);-1!==o&&a.pendingQueue.splice(o,1),a.logger("Request not prefetched, starting new request, url="+e+(-1===o?"":"; removed pending")),a._sendRequest(n,e)}}};return n._cb=t,n._errorCB=i,n._retryCB=r,n.abort=function(){n.request&&n.request.abort()},n.withFinally=function(e){return n._finallyCB=e,n},n},e.prototype.prefetch=function(e){this.activeRequests[e]||this.completeRequests[e]?this.logger("Request already active for url="+e):(this.logger("Added to pending queue; url="+e),this.pendingQueue.unshift(e),this._sendPending())},e.prototype.optimizeForSegDuration=function(e){this.averageSegmentDuration=e},e}(),Je=function(){function t(e){this.paused=!1,this.autoQuality=!0,this.buffering=!0,this.destroyed=!1,this.videoPlayStarted=!1,this.lowLatency=!1,this.bitrate=0,this.manifest=[],this.sourceBuffer=0,this.bufferStates=[],this.sourceJitter=-1,this.params=e,this.chunkRateEstimator=new ze(this.params.logger),this._initVideo()}return t.prototype.attachSource=function(e){this.manifestUrl=e,this.urlResolver=Ye(e),this.bitrateSwitcher=this._initBitrateSwitcher(),this._initManifest()},t.prototype.setAutoQualityEnabled=function(e){this.autoQuality=e},t.prototype.switchByName=function(e){for(var t,i=0;i<this.manifest.length;++i)if((t=this.manifest[i]).name===e)return void this._switchToQuality(t)},t.prototype.catchUp=function(){this.rep&&this.rep.stop(),this.currentManifestEntry&&(this.paused=!1,this._initPlayerWith(this.currentManifestEntry),this._notifyBuffering(!0))},t.prototype.stop=function(){this.params.videoElement.pause(),this.rep&&(this.rep.stop(),this.rep=null)},t.prototype.pause=function(){this.paused=!0,this.params.videoElement.pause(),this.videoPlayStarted=!1,this._notifyBuffering(!1)},t.prototype.play=function(e){this.paused=!1;var t=this.lowLatency&&this._getBufferSizeSec()>this.sourceJitter+5;this.rep&&!t?(this.bufferStates=[],this.videoPlayStarted=!1,this.shouldPlay()?this._playVideoElement(e):this._notifyBuffering(!0)):this.catchUp()},t.prototype.startPlay=function(e,t){this.autoQuality=t,this._initPlayerWith(e)},t.prototype.destroy=function(){this.destroyed=!0,this.rep&&(this.rep.stop(),this.rep=null),this.manifestRequest&&this.manifestRequest.abort(),this.manifestRefetchTimer&&(clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=void 0)},t.prototype.reinit=function(e){this.manifestUrl=e,this.urlResolver=Ye(e),this.catchUp()},t.prototype._handleNetworkError=function(){this.params.logger("Fatal network error"),this.params.playerCallback({name:"error",type:"network"})},t.prototype._retryCallback=function(){this.params.playerCallback({name:"retry"})},t.prototype._getBufferSizeSec=function(){var e=this.params.videoElement,t=0,i=e.buffered.length;return 0!==i&&(t=e.buffered.end(i-1)-Math.max(e.currentTime,e.buffered.start(0))),t},t.prototype._notifyBuffering=function(e){this.destroyed||(this.params.logger("buffering: "+e),this.params.playerCallback({name:"buffering",isBuffering:e}),this.buffering=e)},t.prototype._initVideo=function(){var e=this,t=this.params,i=t.videoElement,r=t.logger;i.addEventListener("error",(function(t){var a;e.destroyed||(r("Video element error: "+(null===(a=i.error)||void 0===a?void 0:a.code)),e.params.playerCallback({name:"error",type:"media"}))})),i.addEventListener("timeupdate",(function(){var t=e._getBufferSizeSec();!e.paused&&t<.3?e.buffering||(e.buffering=!0,window.setTimeout((function(){!e.paused&&e.buffering&&e._notifyBuffering(!0),i.pause(),e.videoPlayStarted=!1}),1e3*(t+.1))):e.buffering&&e.videoPlayStarted&&e._notifyBuffering(!1)})),i.addEventListener("playing",(function(){r("playing")})),i.addEventListener("stalled",(function(){return e._fixupStall()})),i.addEventListener("waiting",(function(){return e._fixupStall()}))},t.prototype._fixupStall=function(){var e,t=this.params,i=t.logger,r=t.videoElement,a=r.buffered.length;0!==a&&(e=r.buffered.start(a-1),r.currentTime<e&&(i("Fixup stall"),r.currentTime=e))},t.prototype._selectQuality=function(e){for(var t,i,r,a=this.params.videoElement,n=a&&1.62*(window.devicePixelRatio||1)*a.offsetHeight||520,s=0;s<this.manifest.length;++s)(r=this.manifest[s]).bitrate<e&&n>Math.min(r.video.height,r.video.width)?(!i||r.bitrate>i.bitrate)&&(i=r):(!t||t.bitrate>r.bitrate)&&(t=r);return i||t},t.prototype.shouldPlay=function(){if(this.paused)return!1;var t=this._getBufferSizeSec()-Math.max(1,this.sourceJitter);return t>3||e.isNonNullable(this.downloadRate)&&(this.downloadRate>1.5&&t>2||this.downloadRate>2&&t>1)},t.prototype._setVideoSrc=function(t,i){var r=this,a=this.params,n=a.logger,s=a.videoElement,o=a.playerCallback;this.mediaSource=new window.MediaSource,n("setting video src"),s.src=URL.createObjectURL(this.mediaSource),this.mediaSource.addEventListener("sourceopen",(function(){e.assertNonNullable(r.mediaSource),r.sourceBuffer=r.mediaSource.addSourceBuffer(t.codecs),r.bufferStates=[],i()})),this.videoPlayStarted=!1,s.addEventListener("canplay",(function(){r.shouldPlay()&&(r.videoPlayStarted=!0,r._playVideoElement())}));var u=function(){var e,t,i,r;t="progress",i=function(){s.buffered.length?(s.currentTime=s.buffered.start(0),o({name:"playing"})):u()},r=function(){for(var a=[],n=0;n<arguments.length;n++)a[n]=arguments[n];i.apply(null,a),e.removeEventListener(t,r)},(e=s).addEventListener(t,r)};u()},t.prototype._initPlayerWith=function(e){var t=this;this.bitrate=0,this.rep=0,this.sourceBuffer=0,this.bufferStates=[],this.filesFetcher&&this.filesFetcher.abortAll(),this.filesFetcher=new We(3,1e4,this.bitrateSwitcher,this.params.config.MAX_PARALLEL_REQUESTS,this.params.logger),this._setVideoSrc(e,(function(){return t._switchToQuality(e)}))},t.prototype._representation=function(t){var i=this,r=this.params,a=r.logger,n=r.videoElement,s=r.playerCallback,o=!1,u=null,d=null,c=null,l=null,p=!1,h=function(){var e=o&&(!p||p===i.rep);return e||a("Not running!"),e},f=function(e){var t=n.playbackRate;n.playbackRate!==e&&(a("Playback rate switch: "+t+"=>"+e),n.playbackRate=e)},v=function(){if(i.lowLatency){var e=i._getBufferSizeSec();if(i.bufferStates.length<5)return void f(1);for(var t=qe()-6e4,r=0,n=0;n<i.bufferStates.length;n++){var s=i.bufferStates[n];e=Math.min(e,s.buf),s.ts<t&&r++}i.bufferStates.splice(0,r),a("update playback rate; minBuffer="+e+" drop="+r+" jitter="+i.sourceJitter);var o=e-1;i.sourceJitter>=0?o-=i.sourceJitter/2:i.sourceJitter-=1,f(o>3?1.15:o>1?1.1:o>.3?1.01:1)}else f(1)},m=function(t){var r,n=function(){return r&&r.start?r.start.length:0},o=function(e){return r.start[e]/1e3},u=function(e){return r.dur[e]/1e3},d=function(e){return r.fragIndex+e},c=function(e,t){return{chunkIdx:d(e),startTS:o(e),dur:u(e),discontinuity:t}},p=function(){var e=0;if(r&&r.dur){var t=Math.max(i.sourceJitter,1);for(i.lowLatency||(t+=2),e=r.dur.length-1;e>=0&&!((t-=r.dur[e]/1e3)<=0);--e);}return c(e,!0)};return{seek:function(u,d){!function(e,t,r){l&&l.abort(),l=je(i.urlResolver.resolve(e,!0,i.lowLatency),t,r,(function(){return i._retryCallback()})).withTimeout(1e4).withRetryCount(3).withFinally((function(){l=null})).withJSONResponse().send()}(t,(function(t){if(h()){r=t;var l,f=Boolean(r.lowLatency);f!==i.lowLatency&&(l=f,i.lowLatency=l,a("lowLatency changed to "+l),v());for(var m=0,S=0;S<r.dur.length;++S)m+=r.dur[S];m>0&&(e.assertNonNullable(i.filesFetcher),i.filesFetcher.optimizeForSegDuration(m/r.dur.length)),s({name:"index",zeroTime:r.zeroTime,shiftDuration:r.shiftDuration}),i.sourceJitter=r.hasOwnProperty("jitter")?Math.min(10,Math.max(.01,r.jitter/1e3)):1,u(function(t){var i=n();if(!(i<=0)){if(e.isNonNullable(t))for(var r=0;r<i;r++)if(o(r)>t)return c(r);return p()}}(d))}}),(function(){return i._handleNetworkError()}))},nextChunk:function(e){var t=n(),i=e?e.chunkIdx+1:0,s=i-r.fragIndex;if(!(t<=0)){if(!e||s<0||s-t>10)return a("Resync: offset="+s+" bChunks="+t+" chunk="+JSON.stringify(e)),p();if(!(s>=t))return c(i-r.fragIndex,!1)}}}},S=function(){o=!1,d&&d.abort(),c&&c.abort(),l&&l.abort(),e.assertNonNullable(i.filesFetcher),i.filesFetcher.abortAll()};return p={start:function(r){var a,n,s,p,f,b,g,y,T,E,P=i.params,k=P.videoElement,w=P.logger,x=m(t.jidxUrl),A=0,N=function(){f&&(clearTimeout(f),f=void 0);var e=Math.max(500,1e3*(i._getBufferSizeSec()-i.sourceJitter-5)),t=A+e,r=qe(),a=Math.min(1e4,t-r);A=r;var n=function(){l||h()&&x.seek((function(){h()&&(A=qe(),$(),N())}))};a>0?f=window.setTimeout((function(){i.paused?N():n()}),a):n()},$=function(){for(var e;e=x.nextChunk(p);)p=e,C(e);var r=x.nextChunk(s);if(r){if(s&&r.discontinuity)return w("Detected discontinuity; restarting playback"),void(i.paused?N():(S(),i._initPlayerWith(t)));R(r)}else N()},D=function(e,t){if(h()&&i.sourceBuffer){var r,a,n=function(i){window.setTimeout((function(){h()&&D(e,t)}),i)};if(i.sourceBuffer.updating)w("Source buffer is updating; delaying appendBuffer"),n(100);else{var s=qe(),o=k.currentTime;!i.paused&&k.buffered.length>1&&b===o&&s-g>500&&(w("Stall suspected; trying to fix"),i._fixupStall()),b!==o&&(b=o,g=s);var u=i._getBufferSizeSec();if(u>30)w("Buffered "+u+" seconds; delaying appendBuffer"),n(2e3);else try{i.sourceBuffer.appendBuffer(e),i.videoPlayStarted?(i.bufferStates.push({ts:s,buf:u}),v(),i.bufferStates.length>200&&i.bufferStates.shift()):i.shouldPlay()&&(i.videoPlayStarted=!0,i._playVideoElement()),t&&t()}catch(e){if("QuotaExceededError"!==e.name)throw e;w("QuotaExceededError; delaying appendBuffer"),0!==i.sourceBuffer.buffered.length&&(a=o)-(r=i.sourceBuffer.buffered.start(0))>4&&i.sourceBuffer.remove(r,a-3),n(1e3)}}}},_=function(){n&&a&&(w(["Appending chunk, sz="+n.byteLength+":",JSON.stringify(s)]),D(n,(function(){n=null,$()})))},I=function(e){return t.fragUrlTemplate.replace("%%id%%",e.chunkIdx)},R=function(t){var r,a,o;h()&&(r=I(t),a=function(e,r){if(h()){if(r/=1e3,n=e,s=t,u=t.startTS,r){var a=Math.min(10,t.dur/r);i.downloadRate=i.downloadRate?.7*i.downloadRate+.3*a:a}_()}},o=function(){return i._handleNetworkError()},e.assertNonNullable(i.filesFetcher),null==d||d.abort(),d=i.filesFetcher.requestData(i.urlResolver.resolve(r,!1),a,o,(function(){return i._retryCallback()})).withFinally((function(){d=null})).send())},C=function(t){h()&&(e.assertNonNullable(i.filesFetcher),i.filesFetcher.prefetch(i.urlResolver.resolve(I(t),!1)))},L=function(e){h()&&(t.cachedHeader=e,D(e,(function(){a=!0,_()})))};o=!0,x.seek((function(t){h()&&(A=qe(),t?(p=t,!e.isNullable(r)||t.startTS>r?R(t):(s=t,$())):N())}),r),t.cachedHeader?L(t.cachedHeader):(y=t.headerUrl,T=L,E=function(){return i._handleNetworkError()},c&&c.abort(),c=je(i.urlResolver.resolve(y,!1),T,E,(function(){return i._retryCallback()})).withTimeout(1e4).withBitrateReporting(i.bitrateSwitcher).withRetryCount(3).withFinally((function(){c=null})).send())},stop:S,getTimestampSec:function(){return u}}},t.prototype._switchToQuality=function(t){var i,r=this.params,a=r.logger,n=r.playerCallback;t.bitrate!==this.bitrate&&(this.rep&&(i=this.rep.getTimestampSec(),e.isNonNullable(i)&&(i+=.1),this.rep.stop()),this.currentManifestEntry=t,this.rep=this._representation(t),a("switch to quality: codecs="+t.codecs+"; headerUrl="+t.headerUrl+"; bitrate="+t.bitrate),this.bitrate=t.bitrate,e.assertNonNullable(this.bitrateSwitcher),this.bitrateSwitcher.notifySwitch(this.bitrate),this.rep.start(i),n({name:"qualitySwitch",quality:t}))},t.prototype._qualityAvailable=function(t){return e.isNonNullable(this.manifest.find((function(e){return e.name===t})))},t.prototype._initBitrateSwitcher=function(){var e,t=this,i=this.params,r=i.logger,a=i.playerCallback,n={updateChunk:function(e,i){var r=qe();if(t.chunkRateEstimator.addInterval(e,r,i)){var n=t.chunkRateEstimator.getBitRate();return a({name:"bandwidth",size:i,duration:r-e,speed:n}),!0}},get:function(){var e=t.chunkRateEstimator.getBitRate();return e?.85*e:0}},s=-1/0,o=!0,u=function(){var i=n.get();if(i&&e&&t.autoQuality){if(o&&i>e&&Ge(s)<3e4)return;!function(e){var i,a,n;t.autoQuality&&(t.currentManifestEntry&&t._qualityAvailable(t.currentManifestEntry.name)&&e<t.bitrate&&(a=t._getBufferSizeSec(),n=e/t.bitrate,a>10&&n>.8||a>15&&n>.5||a>20&&n>.3)?r("Not switching: buffer="+Math.floor(a)+"; bitrate="+t.bitrate+"; newRate="+Math.floor(e)):(i=t._selectQuality(e))?t._switchToQuality(i):r("Could not find quality by bitrate "+e))}(i)}o=t.autoQuality};return{updateChunk:function(e,t){var i=n.updateChunk(e,t);return i&&u(),i},notifySwitch:function(t){var i=qe();t<e&&(s=i),e=t}}},t.prototype._fetchManifest=function(e,t,i){var r=this;this.manifestRequest=je(this.urlResolver.resolve(e,!0),t,i,(function(){return r._retryCallback()})).withJSONResponse().withTimeout(1e4).withRetryCount(3).withRetryInterval(300,2e3).send().withFinally((function(){r.manifestRequest=void 0}))},t.prototype._playVideoElement=function(e){var t=this.params.videoElement;E(t).then((function(t){t||null==e||e()}))},t.prototype._handleManifestUpdate=function(e){var t=this,i=this.params,r=i.logger,a=i.playerCallback,n=i.videoElement;this.manifest=function(e){var i=[];return(null==e?void 0:e.length)?(e.forEach((function(e,t){e.video&&n.canPlayType(e.codecs).replace(/no/,"")&&window.MediaSource.isTypeSupported(e.codecs)&&(e.index=t,i.push(e))})),i.sort((function(e,t){return e.video&&t.video?t.video.height-e.video.height:t.bitrate-e.bitrate})),i):(t.params.playerCallback({name:"error",type:"partial_metadata"}),[])}(e),r("Valid manifest entries: "+this.manifest.length+"/"+e.length),a({name:"manifest",manifest:this.manifest})},t.prototype._refetchManifest=function(e){var t=this;this.destroyed||(this.manifestRefetchTimer&&clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=window.setTimeout((function(){t._fetchManifest(e,(function(i){t.destroyed||(t._handleManifestUpdate(i),t._refetchManifest(e))}),(function(){return t._refetchManifest(e)}))}),6e4))},t.prototype._initManifest=function(){var e=this;this._fetchManifest(this.manifestUrl,(function(t){e.destroyed||(e._handleManifestUpdate(t),e._refetchManifest(e.manifestUrl))}),(function(){return e._handleNetworkError()}))},t}();!function(e){e.STOPPED="stopped",e.MANIFEST_READY="manifest_ready",e.READY="ready",e.PLAYING="playing",e.PAUSED="paused"}(Qe||(Qe={}));var Xe,Ke=[Qe.PAUSED,Qe.PLAYING,Qe.READY],Ze=[Qe.PAUSED,Qe.PLAYING,Qe.READY],et=function(){function t(t){var i=this;this.subscription=new e.Subscription,this.videoState=new X(Qe.STOPPED),this.representations$=new e.ValueSubject([]),this.textTracksManager=new A,this.maxSeekBackTime$=new e.ValueSubject(1/0),this.zeroTime$=new e.ValueSubject(void 0),this.liveOffset=new Me,this._dashCb=function(t){var r,a,n,s,o;switch(t.name){case"buffering":var u=t.isBuffering;i.params.output.isBuffering$.next(u);break;case"error":i.params.output.error$.next({id:"DashLiveProviderInternal:"+t.type,message:"LiveDashPlayer reported error"});break;case"manifest":var c=t.manifest,l=[];try{for(var h=p(c),f=h.next();!f.done;f=h.next()){var v=f.value,m=null!==(n=v.name)&&void 0!==n?n:v.index.toString(10),S=U(v.video),b=v.bitrate/1e3,g=d({},v.video);if(S){var y={id:m,quality:S,bitrate:b,size:g};l.push({track:y,representation:v})}}}catch(e){r={error:e}}finally{try{f&&!f.done&&(a=h.return)&&a.call(h)}finally{if(r)throw r.error}}i.representations$.next(l),i.params.output.availableVideoTracks$.next(l.map((function(e){return e.track}))),(null===(s=i.videoState.getTransition())||void 0===s?void 0:s.to)===Qe.MANIFEST_READY&&i.videoState.setState(Qe.MANIFEST_READY);break;case"qualitySwitch":var T=t.quality;y=null===(o=i.representations$.getValue().find((function(e){return e.representation===T})))||void 0===o?void 0:o.track;i.params.output.hostname$.next(new URL(T.headerUrl,i.params.source.url).hostname),e.isNonNullable(y)&&i.params.output.currentVideoTrack$.next(y);break;case"bandwidth":g=t.size;var E=t.duration;i.params.dependencies.throughputEstimator.rawSpeed$.next({size:g,time:E});break;case"index":i.maxSeekBackTime$.next(t.shiftDuration),i.zeroTime$.next(t.zeroTime)}},this.syncPlayback=function(){var t,r=i.videoState.getState(),a=i.videoState.getTransition(),n=i.params.desiredState.playbackState.getState(),s=i.params.desiredState.playbackState.getTransition(),o=i.params.desiredState.seekPosition.getTransition();if(i.log({message:"[syncPlayback] videoState: "+r+"; videoTransition: "+JSON.stringify(a)+"; desiredPlaybackState: "+n+"; seekPositionTransition: "+JSON.stringify(o)+";"}),n!==exports.PlaybackState.STOPPED){if(!a){if(Ze.includes(r)){var u=null===(t=i.params.desiredState.videoTrack.getTransition())||void 0===t?void 0:t.to;e.isNonNullable(u)&&i.setVideoTrack(u);var d=i.params.desiredState.autoVideoTrackSwitching.getTransition();d&&i.setAutoQuality(d.to)}var c=null==o?void 0:o.to;if((null==s?void 0:s.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(c)&&Ke.includes(r))i.seek(c+tt(i.liveOffset.getTotalPausedTime()));else switch(r){case Qe.STOPPED:return i.videoState.startTransitionTo(Qe.MANIFEST_READY),void i.dash.attachSource(Ee(i.params.source.url));case Qe.MANIFEST_READY:i.videoState.startTransitionTo(Qe.READY),i.prepare();break;case Qe.READY:return void(n===exports.PlaybackState.PAUSED?i.videoState.setState(Qe.PAUSED):n===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(Qe.PLAYING),i.dash.play((function(){i.liveOffset.pause(),i.videoState.setState(Qe.PAUSED)}))));case Qe.PLAYING:return void(n===exports.PlaybackState.PAUSED&&(i.videoState.startTransitionTo(Qe.PAUSED),i.liveOffset.pause(),i.dash.pause()));case Qe.PAUSED:return void(n===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(Qe.PLAYING),i.liveOffset.getTotalPausedTime()<i.params.config.maxPausedTime&&i.liveOffset.getTotalOffset()<i.maxSeekBackTime$.getValue()?(i.liveOffset.resume(),i.dash.play((function(){i.liveOffset.pause(),i.videoState.setState(Qe.PAUSED)})),i.params.output.position$.next(tt(i.liveOffset.getTotalOffset()))):i.seek(tt(i.liveOffset.getTotalOffset()))));default:return e.assertNever(r)}}}else r!==Qe.STOPPED&&(i.videoState.startTransitionTo(Qe.STOPPED),i.dash.destroy(),i.video.setAttribute("src",""),i.video.load(),i.videoState.setState(Qe.STOPPED))},this.params=t,this.log=this.params.dependencies.logger.createComponentLog("DashLiveProvider");var r=function(e){t.output.error$.next({id:"DashLiveProvider",message:"DashLiveProvider internal logic error",thrown:e})};e.merge(this.videoState.stateChangeStarted$.pipe(e.map((function(e){return{transition:e,type:"start"}}))),this.videoState.stateChangeEnded$.pipe(e.map((function(e){return{transition:e,type:"end"}})))).subscribe((function(e){var t=e.transition,r=e.type;i.log({message:"[videoState change] "+r+": "+JSON.stringify(t)})})),this.video=N(t.container),this.params.output.element$.next(this.video),this.dash=this.createLiveDashPlayer(),this.params.output.duration$.next(1/0),this.params.output.position$.next(0),this.params.output.isLive$.next(!0),this.params.output.hostname$.next(W(this.params.source.url)),this.textTracksManager.connect(this.video,this.params.desiredState,this.params.output);var a=R(this.video);this.subscription.add(a.canplay$.subscribe((function(){var e;(null===(e=i.videoState.getTransition())||void 0===e?void 0:e.to)===Qe.READY&&i.videoState.setState(Qe.READY)}),r)).add(a.pause$.subscribe((function(){i.videoState.setState(Qe.PAUSED)}),r)).add(a.play$.subscribe((function(){i.videoState.setState(Qe.PLAYING)}),r)).add(a.error$.subscribe(this.params.output.error$)).add(this.maxSeekBackTime$.pipe(e.filterChanged(),e.map(tt)).subscribe(this.params.output.duration$)).add(e.combine({zeroTime:this.zeroTime$.pipe(e.filter(e.isNonNullable)),position:a.timeUpdate$}).subscribe((function(e){var t=e.zeroTime,r=e.position;return i.params.output.liveTime$.next(t+1e3*r)}),r)).add(k(this.video,this.params.desiredState.isLooped,r)).add(w(this.video,this.params.desiredState.volume,a.volumeState$,r)).add(a.volumeState$.subscribe(this.params.output.volume$,r)).add(I(this.video).subscribe(this.params.output.firstBytesEvent$)).add($(this.video).subscribe(this.params.output.firstFrameEvent$)).add(this.videoState.stateChangeEnded$.subscribe((function(t){switch(t.to){case Qe.STOPPED:i.params.output.position$.next(0),i.params.output.duration$.next(1/0),i.params.desiredState.playbackState.setState(exports.PlaybackState.STOPPED);break;case Qe.MANIFEST_READY:case Qe.READY:break;case Qe.PAUSED:i.params.desiredState.playbackState.setState(exports.PlaybackState.PAUSED);break;case Qe.PLAYING:i.params.desiredState.playbackState.setState(exports.PlaybackState.PLAYING);break;default:return e.assertNever(t.to)}}),r)).add(e.merge(t.desiredState.playbackState.stateChangeStarted$,t.desiredState.seekPosition.stateChangeStarted$,t.desiredState.videoTrack.stateChangeStarted$,t.desiredState.autoVideoTrackSwitching.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0)).subscribe(this.syncPlayback,r))}return t.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.video.remove(),this.params.output.element$.next(void 0),this.dash.destroy()},t.prototype.createLiveDashPlayer=function(){var e=this,t=new Je({videoElement:this.video,config:{CHUNK_DURATION:this.params.config.chunkDuration,BUFFER_OPTIMAL_DURATION:this.params.config.optimalBufferDuration,MAX_PARALLEL_REQUESTS:this.params.config.maxParallelRequests},playerCallback:this._dashCb,logger:function(t){e.params.dependencies.logger.log({message:String(t),component:"LiveDashPlayer"})}});return t.pause(),t},t.prototype.prepare=function(){var t,i,r,a,n,s,o=this.representations$.getValue(),u=null!==(i=null===(t=this.params.desiredState.videoTrack.getTransition())||void 0===t?void 0:t.to)&&void 0!==i?i:this.params.desiredState.videoTrack.getState(),d=null!==(a=null===(r=this.params.desiredState.autoVideoTrackSwitching.getTransition())||void 0===r?void 0:r.to)&&void 0!==a?a:this.params.desiredState.autoVideoTrackSwitching.getState(),c=!d&&e.isNonNullable(u)?u:null===(n=z(o.map((function(e){return e.track})),{container:{width:this.video.offsetWidth,height:this.video.offsetHeight},throughput:this.params.dependencies.throughputEstimator.estimation$.getValue(),tuning:this.params.tuning.autoTrackSelection}))||void 0===n?void 0:n.id,l=null===(s=o.find((function(e){return e.track.id===c})))||void 0===s?void 0:s.representation;e.assertNonNullable(l),this.dash.startPlay(l,d),this.params.desiredState.videoTrack.getTransition()&&this.params.desiredState.videoTrack.setState(c),this.params.desiredState.autoVideoTrackSwitching.getTransition()&&this.params.desiredState.autoVideoTrackSwitching.setState(d)},t.prototype.setVideoTrack=function(t){var i,r=null===(i=this.representations$.getValue().find((function(e){return e.track.id===t})))||void 0===i?void 0:i.representation;e.assertNonNullable(r),this.dash.switchByName(r.name),this.params.desiredState.videoTrack.setState(t)},t.prototype.setAutoQuality=function(e){this.dash.setAutoQualityEnabled(e),this.params.desiredState.autoVideoTrackSwitching.setState(e)},t.prototype.seek=function(e){this.log({message:"[seek] position: "+e}),this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0);var t=-Math.round(1e3*e),i=t<this.maxSeekBackTime$.getValue()?t:0;this.liveOffset.resetTo(i),this.params.output.position$.next(tt(i)),this.dash.reinit(Ee(this.params.source.url,i)),this.params.desiredState.seekPosition.setState(void 0)},t}(),tt=function(e){return-e/1e3},it=function(e){if(e.QUALITY)switch(e.QUALITY){case"mobile":return exports.VideoQuality.Q_144P;case"lowest":return exports.VideoQuality.Q_240P;case"low":return exports.VideoQuality.Q_360P;case"sd":case"medium":return exports.VideoQuality.Q_480P;case"hd":case"high":return exports.VideoQuality.Q_720P;case"fullhd":case"full":return exports.VideoQuality.Q_1080P;case"quadhd":case"quad":return exports.VideoQuality.Q_1440P;case"ultrahd":case"ultra":return exports.VideoQuality.Q_2160P}if(e.RESOLUTION){var t=h(e.RESOLUTION.split("x").map((function(e){return parseInt(e,10)})),2),i=t[0],r=t[1],a=U({width:i,height:r});if(a)return a}return null},rt=function(e,t){return void 0===t&&(t=e),c(void 0,void 0,void 0,(function(){var i,r,a,n,s,o,u,d,c,p,f,v,m,S,b,g;return l(this,(function(l){switch(l.label){case 0:return[4,fetch(e)];case 1:return[4,l.sent().text()];case 2:for(i=l.sent(),r=i.split("\n"),a=[],n=0;n<r.length;n++)s=r[n],(o=s.match(/^#EXT-X-STREAM-INF:(.+)/))&&(u=Object.fromEntries(o[1].split(",").map((function(e){return e.split("=")}))),d=null!==(g=u.QUALITY)&&void 0!==g?g:"stream-"+u.BANDWIDTH,c=it(u),p=void 0,u.BANDWIDTH&&(p=parseInt(u.BANDWIDTH,10)/1e3||void 0),!p&&u["AVERAGE-BANDWIDTH"]&&(p=parseInt(u["AVERAGE-BANDWIDTH"],10)/1e3||void 0),f=void 0,u.RESOLUTION&&(v=h(u.RESOLUTION.split("x").map((function(e){return parseInt(e,10)})),2),m=v[0],S=v[1],m&&S&&(f={width:m,height:S})),b=new URL(r[++n],t).toString(),c&&a.push({id:d,quality:c,url:b,bandwidth:p,size:f}));return[2,a]}}))}))};!function(e){e.STOPPED="stopped",e.READY="ready",e.PLAYING="playing",e.CHANGING_MANIFEST="changing_manifest",e.PAUSED="paused"}(Xe||(Xe={}));var at,nt=function(){function t(t){var i=this;this.subscription=new e.Subscription,this.videoState=new X(Xe.STOPPED),this.textTracksManager=new A,this.manifests$=new e.ValueSubject([]),this.syncPlayback=function(){var t=i.videoState.getState(),r=i.params.desiredState.playbackState.getState(),a=i.params.desiredState.playbackState.getTransition(),n=i.params.desiredState.videoTrack.getTransition(),s=i.params.desiredState.autoVideoTrackSwitching.getTransition();if(r!==exports.PlaybackState.STOPPED){if(!i.videoState.getTransition()){var o=i.params.desiredState.seekPosition.getTransition();if(t===Xe.STOPPED)return i.videoState.startTransitionTo(Xe.READY),void i.prepare();if(n||s){var u=i.videoState.getState();i.videoState.setState(Xe.CHANGING_MANIFEST),i.videoState.startTransitionTo(u);var d=i.video.currentTime;return i.prepare(),void(o&&!e.isNullable(o.to)||i.params.desiredState.seekPosition.startTransitionTo(d))}var c=null==o?void 0:o.to;switch((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(c)&&i.seek(c),t){case Xe.READY:return void(r===exports.PlaybackState.PAUSED?(i.videoState.setState(Xe.PAUSED),C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):r===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(Xe.PLAYING),i.playIfAllowed()));case Xe.PLAYING:return void(r===exports.PlaybackState.PAUSED?(i.videoState.startTransitionTo(Xe.PAUSED),i.video.pause()):(null==a?void 0:a.to)===exports.PlaybackState.PLAYING&&C(i.params.desiredState.playbackState,exports.PlaybackState.PLAYING));case Xe.PAUSED:return void(r===exports.PlaybackState.PLAYING?(i.videoState.startTransitionTo(Xe.PLAYING),i.playIfAllowed()):(null==a?void 0:a.to)===exports.PlaybackState.PAUSED&&C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED));case Xe.CHANGING_MANIFEST:break;default:return e.assertNever(t)}}}else t!==Xe.STOPPED&&(i.videoState.startTransitionTo(Xe.STOPPED),i.video.setAttribute("src",""),i.video.load(),i.params.output.position$.next(0),i.params.output.duration$.next(1/0),i.params.output.currentBuffer$.next(void 0),i.params.output.hostname$.next(void 0),i.videoState.setState(Xe.STOPPED),C(i.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0))},this.params=t,this.video=N(t.container),this.params.output.element$.next(this.video);var r={id:"master",quality:exports.VideoQuality.INVARIANT,url:this.params.source.url};this.manifests$.next([r]),this.params.output.isLive$.next(!1),this.params.output.hostname$.next(W(this.params.source.url)),rt(this.params.source.url).then((function(e){i.manifests$.next(f([r],h(e),!1))})),this.subscribe()}return t.prototype.selectManifest=function(){var e,t,i=this.params.desiredState,r=i.autoVideoTrackSwitching,a=i.videoTrack,n=r.getState(),s=a.getTransition(),o=null!==(t=null!==(e=null==s?void 0:s.to)&&void 0!==e?e:a.getState())&&void 0!==t?t:"master",u=this.manifests$.getValue();if(u){var d=n?"master":o;return n&&!s&&a.startTransitionTo("master"),u.find((function(e){return e.id===d}))}},t.prototype.subscribe=function(){var t=this,i=this.params,r=i.output,a=i.desiredState,n=function(e){r.error$.next({id:"HlsProvider",message:"HlsProvider internal logic error",thrown:e})},s=R(this.video),o=function(e,i){return t.subscription.add(e.subscribe(i))};o(s.timeUpdate$,r.position$),o(s.durationChange$,r.duration$),o(s.ended$,r.endedEvent$),o(s.error$,r.error$),o(s.isBuffering$,r.isBuffering$),o(s.currentBuffer$,r.currentBuffer$),o(s.firstBytes$,r.firstBytesEvent$),o(s.firstFrame$,r.firstFrameEvent$),this.subscription.add(s.seeked$.subscribe((function(){return a.seekPosition.setState(void 0)}),n)),this.subscription.add(k(this.video,a.isLooped,n)),this.subscription.add(w(this.video,a.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$,n)),this.textTracksManager.connect(this.video,a,r),this.subscription.add(s.play$.subscribe((function(){t.videoState.setState(Xe.PLAYING),C(a.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.pause$.subscribe((function(){t.videoState.setState(Xe.PAUSED),C(a.playbackState,exports.PlaybackState.PAUSED)}),n)).add(s.canplay$.subscribe((function(){var e;(null===(e=t.videoState.getTransition())||void 0===e?void 0:e.to)===Xe.READY&&t.videoState.setState(Xe.READY),t.videoState.getState()===Xe.PLAYING&&t.playIfAllowed()}),n).add(s.loadedMetadata$.subscribe((function(){var i=t.params.desiredState.seekPosition.getTransition(),r=t.videoState.getTransition(),a=t.params.desiredState.videoTrack.getTransition(),n=t.params.desiredState.autoVideoTrackSwitching.getTransition();if(a&&e.isNonNullable(a.to)){var s=a.to;t.params.desiredState.videoTrack.setState(s);var o=t.manifests$.getValue().find((function(e){return e.id===s}));o&&(t.params.output.currentVideoTrack$.next(o),t.params.output.hostname$.next(W(o.url)))}n&&t.params.desiredState.autoVideoTrackSwitching.setState(n.to),r&&r.from===Xe.CHANGING_MANIFEST&&t.videoState.setState(r.to),i&&e.isNonNullable(i.to)&&t.seek(i.to)}),n))),this.subscription.add(this.manifests$.pipe(e.map((function(e){return e.map((function(e){return{id:e.id,quality:e.quality,size:e.size,bitrate:e.bandwidth}}))}))).subscribe(this.params.output.availableVideoTracks$,n));var u=e.merge(a.playbackState.stateChangeStarted$,a.seekPosition.stateChangeStarted$,a.videoTrack.stateChangeStarted$,a.autoVideoTrackSwitching.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0));this.subscription.add(u.subscribe(this.syncPlayback,n))},t.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.video.remove(),this.params.output.element$.next(void 0)},t.prototype.prepare=function(){var t=this.selectManifest();e.isNullable(t)||(this.video.setAttribute("src",t.url),this.video.load())},t.prototype.playIfAllowed=function(){var e=this;E(this.video).then((function(t){t||(e.videoState.setState(Xe.PAUSED),C(e.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0))}))},t.prototype.seek=function(e){this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.video.currentTime=e},t}();!function(e){e.STOPPED="stopped",e.READY="ready",e.PLAYING="playing",e.CHANGING_MANIFEST="changing_manifest",e.PAUSED="paused"}(at||(at={}));var st,ot=function(){function t(t){var i,r=this;this.subscription=new e.Subscription,this.videoState=new X(at.STOPPED),this.textTracksManager=new A,this.manifests$=new e.ValueSubject([]),this.liveOffset=new Me,this.manifestStartTime$=new e.ValueSubject(void 0),this.syncPlayback=function(){var t=r.videoState.getState(),i=r.params.desiredState.playbackState.getState(),a=r.params.desiredState.playbackState.getTransition(),n=r.params.desiredState.videoTrack.getTransition(),s=r.params.desiredState.autoVideoTrackSwitching.getTransition();if(i!==exports.PlaybackState.STOPPED){if(!r.videoState.getTransition()){var o=r.params.desiredState.seekPosition.getTransition();if(t===at.STOPPED)return r.videoState.startTransitionTo(at.READY),void r.prepare();if(n||s){var u=r.videoState.getState();r.videoState.setState(at.CHANGING_MANIFEST),r.videoState.startTransitionTo(u);var d=ut(r.liveOffset.getTotalOffset());return r.prepare(),void(o&&!e.isNullable(o.to)||r.params.desiredState.seekPosition.startTransitionTo(d))}var c=null==o?void 0:o.to;if((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(c))return r.videoState.startTransitionTo(at.READY),r.seek(c+ut(r.liveOffset.getTotalPausedTime())),void r.prepare();switch(t){case at.READY:return void(i===exports.PlaybackState.PAUSED?(r.videoState.setState(at.PAUSED),r.liveOffset.pause(),C(r.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):i===exports.PlaybackState.PLAYING&&(r.videoState.startTransitionTo(at.PLAYING),r.playIfAllowed()));case at.PLAYING:return void(i===exports.PlaybackState.PAUSED?(r.videoState.startTransitionTo(at.PAUSED),r.liveOffset.pause(),r.video.pause()):(null==a?void 0:a.to)===exports.PlaybackState.PLAYING&&C(r.params.desiredState.playbackState,exports.PlaybackState.PLAYING));case at.PAUSED:return void(i===exports.PlaybackState.PLAYING?(r.videoState.startTransitionTo(at.PLAYING),r.liveOffset.getTotalPausedTime()<r.params.config.maxPausedTime&&r.liveOffset.getTotalOffset()<r.maxSeekBackTime$.getValue()?(r.liveOffset.resume(),r.playIfAllowed(),r.params.output.position$.next(ut(r.liveOffset.getTotalOffset()))):r.seek(ut(r.liveOffset.getTotalOffset()))):(null==a?void 0:a.to)===exports.PlaybackState.PAUSED&&(C(r.params.desiredState.playbackState,exports.PlaybackState.PAUSED),r.liveOffset.pause()));case at.CHANGING_MANIFEST:break;default:return e.assertNever(t)}}}else t!==at.STOPPED&&(r.videoState.startTransitionTo(at.STOPPED),r.video.setAttribute("src",""),r.video.load(),r.params.output.position$.next(0),r.params.output.duration$.next(1/0),r.params.output.currentBuffer$.next(void 0),r.params.output.hostname$.next(void 0),r.videoState.setState(at.STOPPED),C(r.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0))},this.params=t,this.video=N(t.container),this.params.output.element$.next(this.video);var a={id:"master",quality:exports.VideoQuality.INVARIANT,url:this.params.source.url};this.manifests$.next([a]),rt(Ee(this.params.source.url)).then((function(e){r.manifests$.next(f([a],h(e),!1))})),this.params.output.isLive$.next(!0),this.params.output.hostname$.next(W(this.params.source.url)),this.maxSeekBackTime$=new e.ValueSubject(null!==(i=t.source.maxSeekBackTime)&&void 0!==i?i:1/0),this.subscribe()}return t.prototype.selectManifest=function(){var e,t,i=this.params.desiredState,r=i.autoVideoTrackSwitching,a=i.videoTrack,n=r.getState(),s=a.getTransition(),o=null!==(t=null!==(e=null==s?void 0:s.to)&&void 0!==e?e:a.getState())&&void 0!==t?t:"master",u=this.manifests$.getValue();if(u){var d=n?"master":o;return n&&!s&&a.startTransitionTo("master"),u.find((function(e){return e.id===d}))}},t.prototype.subscribe=function(){var t=this,i=this.params,r=i.output,a=i.desiredState,n=function(e){r.error$.next({id:"HlsLiveProvider",message:"HlsLiveProvider internal logic error",thrown:e})},s=R(this.video),o=function(e,i){return t.subscription.add(e.subscribe(i,n))};o(s.ended$,r.endedEvent$),o(s.error$,r.error$),o(s.isBuffering$,r.isBuffering$),o(s.currentBuffer$,r.currentBuffer$),o(s.firstBytes$,r.firstBytesEvent$),o(s.firstFrame$,r.firstFrameEvent$),this.subscription.add(a.isLooped.stateChangeStarted$.subscribe((function(){return a.isLooped.setState(!1)}),n)),this.subscription.add(w(this.video,a.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$,n)),this.textTracksManager.connect(this.video,a,r),this.subscription.add(s.play$.subscribe((function(){t.videoState.setState(at.PLAYING),C(a.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.pause$.subscribe((function(){t.videoState.setState(at.PAUSED),C(a.playbackState,exports.PlaybackState.PAUSED)}),n)).add(s.canplay$.subscribe((function(){var e;(null===(e=t.videoState.getTransition())||void 0===e?void 0:e.to)===at.READY&&t.videoState.setState(at.READY),t.videoState.getState()===at.PLAYING&&t.playIfAllowed()}),n)),this.subscription.add(this.maxSeekBackTime$.pipe(e.filterChanged(),e.map(ut)).subscribe(this.params.output.duration$,n)),this.subscription.add(s.loadedMetadata$.subscribe((function(){var i=t.params.desiredState.seekPosition.getTransition(),r=t.videoState.getTransition(),a=t.params.desiredState.videoTrack.getTransition(),n=t.params.desiredState.autoVideoTrackSwitching.getTransition();if(a&&e.isNonNullable(a.to)){var s=a.to;t.params.desiredState.videoTrack.setState(s);var o=t.manifests$.getValue().find((function(e){return e.id===s}));o&&(t.params.output.currentVideoTrack$.next(o),t.params.output.hostname$.next(W(o.url)))}n&&t.params.desiredState.autoVideoTrackSwitching.setState(n.to),r&&r.from===at.CHANGING_MANIFEST&&t.videoState.setState(r.to),i&&e.isNonNullable(i.to)&&t.seek(i.to)}),n)),this.subscription.add(s.loadedData$.subscribe((function(){var e,i,r=null===(i=null===(e=t.video)||void 0===e?void 0:e.getStartDate())||void 0===i?void 0:i.getTime();t.manifestStartTime$.next(r||void 0)}),n)),this.subscription.add(e.combine({startTime:this.manifestStartTime$.pipe(e.filter(e.isNonNullable)),currentTime:s.timeUpdate$}).subscribe((function(e){var i=e.startTime,r=e.currentTime;return t.params.output.liveTime$.next(i+1e3*r)}),n)),this.subscription.add(this.manifests$.pipe(e.map((function(e){return e.map((function(e){return{id:e.id,quality:e.quality,size:e.size,bitrate:e.bandwidth}}))}))).subscribe(this.params.output.availableVideoTracks$,n));var u=e.merge(a.playbackState.stateChangeStarted$,a.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,a.videoTrack.stateChangeStarted$,a.autoVideoTrackSwitching.stateChangeStarted$,e.observableFrom(["init"])).pipe(e.debounce(0));this.subscription.add(u.subscribe(this.syncPlayback,n))},t.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.video.remove(),this.params.output.element$.next(void 0)},t.prototype.prepare=function(){var t=this,i=this.selectManifest();if(!e.isNullable(i)){var r,a=Ee(i.url,this.liveOffset.getTotalOffset());this.video.setAttribute("src",a),this.video.load(),(r=a,c(void 0,void 0,void 0,(function(){var e;return l(this,(function(t){switch(t.label){case 0:return[4,fetch(r,{method:"HEAD"})];case 1:return[2,(e=t.sent()).headers.has("X-Playback-Duration")?parseInt(e.headers.get("X-Playback-Duration"),10):void 0]}}))}))).then((function(i){e.isNullable(i)||t.maxSeekBackTime$.next(i)}))}},t.prototype.playIfAllowed=function(){var e=this;E(this.video).then((function(t){t||(e.videoState.setState(at.PAUSED),e.liveOffset.pause(),C(e.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0))}))},t.prototype.seek=function(e){this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0);var t=-Math.round(1e3*e),i=t<this.maxSeekBackTime$.getValue()?t:0;this.liveOffset.resetTo(i),this.params.output.position$.next(ut(i)),this.params.desiredState.seekPosition.setState(void 0)},t}(),ut=function(e){return-e/1e3},dt={};!function(e){e.INITIALIZING="initializing",e.STOPPED="stopped",e.READY="ready",e.PLAYING="playing",e.PAUSED="paused"}(st||(st={}));var ct,lt,pt,ht,ft,vt,mt,St,bt,gt,yt,Tt,Et,Pt,kt,wt=function(t,i){return new e.Observable((function(e){var r=function(t,i){return e.next(i)};return t.on(i,r),function(){return t.off(i,r)}}))},xt=function(){function t(t){var i=this;this.subscription=new e.Subscription,this.videoState=new X(st.INITIALIZING),this.textTracksManager=new A,this.trackLevels=new Map,this.syncPlayback=function(){var t=i.videoState.getState(),r=i.params.desiredState.playbackState.getState(),a=i.params.desiredState.playbackState.getTransition(),n=i.params.desiredState.seekPosition.getTransition();if(t!==st.INITIALIZING){var s=null==n?void 0:n.to;switch((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(s)&&i.seek(s),r){case exports.PlaybackState.STOPPED:switch(t){case st.STOPPED:break;case st.READY:case st.PLAYING:case st.PAUSED:i.stop();break;default:e.assertNever(t)}break;case exports.PlaybackState.PLAYING:switch(t){case st.PLAYING:break;case st.STOPPED:i.prepare();break;case st.READY:case st.PAUSED:i.playIfAllowed();break;default:e.assertNever(t)}break;case exports.PlaybackState.PAUSED:switch(t){case st.PAUSED:break;case st.STOPPED:i.prepare();break;case st.READY:i.videoState.setState(st.PAUSED),C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED);break;case st.PLAYING:i.pause();break;default:e.assertNever(t)}break;default:e.assertNever(r)}}},this.video=N(t.container),this.params=t,this.params.output.element$.next(this.video),this.params.output.isLive$.next(!1),this.params.output.hostname$.next(W(this.params.source.url)),this.loadHlsJs()}return t.prototype.destroy=function(){var e,t;this.subscription.unsubscribe(),this.trackLevels.clear(),this.textTracksManager.destroy(),null===(e=this.hls)||void 0===e||e.detachMedia(),null===(t=this.hls)||void 0===t||t.destroy(),this.video.remove(),this.params.output.element$.next(void 0)},t.prototype.loadHlsJs=function(){var e=this,t=!1,r=function(i){t||e.params.output.error$.next({id:"timeout"===i?"HlsJsTimeout":"HlsJsLoadError",message:"Failed to load Hls.js",thrown:i}),t=!0},a=window.setTimeout((function(){return r("timeout")}),5e3);Promise.resolve().then((function(){return i(require("hls.js"))})).then((function(i){t||(dt.Hls=i.default,dt.Events=i.default.Events,e.init())}),r).finally((function(){window.clearTimeout(a),t=!0}))},t.prototype.init=function(){e.assertNonNullable(dt.Hls,"hls.js not loaded"),this.hls=new dt.Hls({fragLoadingMaxRetry:5,levelLoadingMaxRetry:2,manifestLoadingMaxRetry:2,fragLoadingMaxRetryTimeout:16e3,manifestLoadingMaxRetryTimeout:2e3,levelLoadingMaxRetryTimeout:2e3}),this.subscribe(),this.videoState.setState(st.STOPPED)},t.prototype.subscribe=function(){var t=this;e.assertNonNullable(dt.Events,"hls.js not loaded");var i=this.params,r=i.desiredState,a=i.output,n=function(e){a.error$.next({id:"HlsJsProvider",message:"HlsJsProvider internal logic error",thrown:e})},s=R(this.video),o=function(e,i){return t.subscription.add(e.subscribe(i,n))};o(s.timeUpdate$,a.position$),o(s.durationChange$,a.duration$),o(s.ended$,a.endedEvent$),o(s.error$,a.error$),o(s.isBuffering$,a.isBuffering$),o(s.currentBuffer$,a.currentBuffer$),o(s.firstBytes$,a.firstBytesEvent$),o(s.firstFrame$,a.firstFrameEvent$),this.subscription.add(s.seeked$.subscribe((function(){return r.seekPosition.setState(void 0)}),n)),this.subscription.add(k(this.video,r.isLooped,n)),this.subscription.add(w(this.video,r.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$)),this.subscription.add(wt(this.hls,dt.Events.ERROR).subscribe((function(e){var t;e.fatal&&a.error$.next({id:["HlsJsFatal",e.type,e.details].join("_"),message:"HlsJs fatal "+e.type+" "+e.details+", "+(null===(t=e.err)||void 0===t?void 0:t.message)+" "+e.reason,thrown:e.error})}))),this.subscription.add(s.play$.subscribe((function(){t.videoState.setState(st.PLAYING),C(r.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.pause$.subscribe((function(){t.videoState.setState(st.PAUSED),C(r.playbackState,exports.PlaybackState.PAUSED)}),n)).add(s.canplay$.subscribe((function(){var e;(null===(e=t.videoState.getTransition())||void 0===e?void 0:e.to)===st.READY&&t.videoState.setState(st.READY),t.videoState.getState()===st.PLAYING&&t.playIfAllowed()}),n)),o(wt(this.hls,dt.Events.MANIFEST_PARSED).pipe(e.map((function(e){return e.levels.reduce((function(e,i){var r=i.name||i.height.toString(10),a=i.width,n=i.height,s=U({width:a,height:n});if(!s)return e;var o={id:r.toString(),quality:s,bitrate:i.bitrate/1e3,size:{width:a,height:n}};return t.trackLevels.set(r,{track:o,level:i}),e.push(o),e}),[])}))),a.availableVideoTracks$),o(wt(this.hls,dt.Events.LEVEL_LOADING).pipe(e.map((function(e){var t=e.url;return W(t)}))),a.hostname$),this.subscription.add(P(r.autoVideoTrackSwitching,(function(){return t.hls.autoLevelEnabled}),(function(e){t.hls.nextLevel=e?-1:t.hls.currentLevel,t.hls.loadLevel=e?-1:t.hls.loadLevel}),{onError:n}));var u=function(e){var i;return null===(i=Array.from(t.trackLevels.values()).find((function(t){return t.level===e})))||void 0===i?void 0:i.track},d=wt(this.hls,dt.Events.LEVEL_SWITCHED).pipe(e.map((function(e){var i=e.level;return u(t.hls.levels[i])})));d.pipe(e.filter(e.isNonNullable)).subscribe(a.currentVideoTrack$,n),this.subscription.add(P(r.videoTrack,(function(){var e;return null===(e=u(t.hls.levels[t.hls.currentLevel]))||void 0===e?void 0:e.id}),(function(i){var r;if(!e.isNullable(i)){var a=null===(r=t.trackLevels.get(i))||void 0===r?void 0:r.level;if(a){var n=t.hls.levels.indexOf(a),s=t.hls.currentLevel,o=t.hls.levels[s];!o||a.bitrate>o.bitrate?t.hls.nextLevel=n:(t.hls.loadLevel=n,t.hls.loadLevel=n)}}}),{changed$:d.pipe(e.map((function(e){return null==e?void 0:e.id}))),onError:n})),o(s.progress$,(function(){t.params.dependencies.throughputEstimator.rawThroughput$.next(t.hls.bandwidthEstimate/1e3)})),this.textTracksManager.connect(this.video,r,a);var c=e.merge(r.playbackState.stateChangeStarted$,r.videoTrack.stateChangeStarted$,r.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0));this.subscription.add(c.subscribe(this.syncPlayback,n))},t.prototype.prepare=function(){this.videoState.startTransitionTo(st.READY),this.hls.attachMedia(this.video),this.hls.loadSource(this.params.source.url)},t.prototype.playIfAllowed=function(){return c(this,void 0,void 0,(function(){return l(this,(function(e){switch(e.label){case 0:return this.videoState.startTransitionTo(st.PLAYING),[4,E(this.video)];case 1:return e.sent()||(this.videoState.setState(st.PAUSED),C(this.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0)),[2]}}))}))},t.prototype.pause=function(){this.videoState.startTransitionTo(st.PAUSED),this.video.pause()},t.prototype.seek=function(e){this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.video.currentTime=e},t.prototype.stop=function(){this.params.output.position$.next(0),this.params.output.duration$.next(1/0),this.params.output.currentBuffer$.next(void 0),this.params.output.hostname$.next(void 0),this.hls.stopLoad(),this.hls.detachMedia(),this.video.setAttribute("src",""),this.video.load(),this.videoState.setState(st.STOPPED),C(this.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0)},t}(),At=function(){function e(e){this.iterator=e[Symbol.iterator](),this.next()}return e.prototype.next=function(){this.current=this.iterator.next()},e.prototype.getValue=function(){if(this.current.done)throw new Error("Iterable is completed");return this.current.value},e.prototype.isCompleted=function(){return Boolean(this.current.done)},e}(),Nt=(Pt=window.navigator.userAgent,!/chrome/i.test(Pt)&&/webkit|safari|khtml/i.test(Pt)),$t=(null===(lt=null===(ct=navigator)||void 0===ct?void 0:ct.userAgentData)||void 0===lt?void 0:lt.mobile)||/Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(navigator.appVersion),Dt=document.createElement("video"),_t={mse:Boolean(window.MediaSource&&MediaStreamTrack&&(null===(pt=null===SourceBuffer||void 0===SourceBuffer?void 0:SourceBuffer.prototype)||void 0===pt?void 0:pt.appendBuffer)),hls:Boolean(Dt.canPlayType("application/x-mpegurl")||Dt.canPlayType("vnd.apple.mpegURL"))},It={mp4:Boolean(Dt.canPlayType("video/mp4")),webm:Boolean(Dt.canPlayType("video/webm"))},Rt={h264:Boolean(null===(ft=null===(ht=window.MediaSource)||void 0===ht?void 0:ht.isTypeSupported)||void 0===ft?void 0:ft.call(ht,'video/mp4; codecs="avc1.42000a,mp4a.40.2"')),h265:Boolean(null===(mt=null===(vt=window.MediaSource)||void 0===vt?void 0:vt.isTypeSupported)||void 0===mt?void 0:mt.call(vt,'video/mp4; codecs="hev1.1.6.L93.B0"')),vp9:Boolean(null===(bt=null===(St=window.MediaSource)||void 0===St?void 0:St.isTypeSupported)||void 0===bt?void 0:bt.call(St,'video/webm; codecs="vp9"')),aac:Boolean(null===(yt=null===(gt=window.MediaSource)||void 0===gt?void 0:gt.isTypeSupported)||void 0===yt?void 0:yt.call(gt,'audio/mp4; codecs="mp4a.40.2"')),opus:Boolean(null===(Et=null===(Tt=window.MediaSource)||void 0===Tt?void 0:Tt.isTypeSupported)||void 0===Et?void 0:Et.call(Tt,'audio/webm; codecs="opus"'))},Ct=(Rt.h264||Rt.h265)&&Rt.aac,Lt=!Nt,Ot=$t||Nt,Vt=!_t.hls||!Ot,Mt=3e4,Bt=18e4,Ut=3,Ft=100,Ht={cacheDuration:12e4},qt={maxPausedTime:3e4,chunkDuration:5e3,optimalBufferDuration:1e4,maxParallelRequests:5},Gt={maxPausedTime:3e4},Yt={maxPausedTime:3e4},jt=function(){function t(t){this.current$=new e.ValueSubject({type:void 0}),this.providerError$=new e.Subject,this.noAvailableProvidersError$=new e.Subject,this.providerOutput={position$:new e.ValueSubject(0),duration$:new e.ValueSubject(1/0),volume$:new e.ValueSubject({muted:!1,volume:1}),currentVideoTrack$:new e.ValueSubject(void 0),availableVideoTracks$:new e.ValueSubject([]),currentBuffer$:new e.ValueSubject(void 0),isBuffering$:new e.ValueSubject(!0),error$:new e.Subject,endedEvent$:new e.Subject,firstBytesEvent$:new e.Subject,firstFrameEvent$:new e.Subject,isLive$:new e.ValueSubject(void 0),liveTime$:new e.ValueSubject(void 0),availableTextTracks$:new e.ValueSubject([]),currentTextTrack$:new e.ValueSubject(void 0),hostname$:new e.ValueSubject(void 0),element$:new e.ValueSubject(void 0)},this.subscription=new e.Subscription,this.params=t,this.log=this.params.dependencies.logger.createComponentLog("ProviderContainer");var i=this.params.tuning.formatsToAvoid,r=i.length?f(f([],h(t.screenFormatsPriority.filter((function(e){return!i.includes(e)}))),!1),h(t.screenFormatsPriority.filter((function(e){return i.includes(e)}))),!1):t.screenFormatsPriority;this.screenFormatsIterator=new At(r.filter((function(i){return e.isNonNullable(t.sources[i])})).filter((function(t){switch(t){case exports.VideoFormat.DASH:return _t.mse&&It.mp4&&Ct&≪case exports.VideoFormat.DASH_SEP:return _t.mse&&It.mp4&&Ct;case exports.VideoFormat.DASH_WEBM:case exports.VideoFormat.DASH_WEBM_VK:case exports.VideoFormat.DASH_LIVE_WEBM:return _t.mse&&It.webm&&Rt.vp9&&Rt.opus;case exports.VideoFormat.DASH_LIVE:case exports.VideoFormat.DASH_ONDEMAND:return _t.mse&&It.mp4&&Ct;case exports.VideoFormat.HLS:case exports.VideoFormat.HLS_LIVE:case exports.VideoFormat.HLS_ONDEMAND:return _t.hls&&It.mp4&&Ot;case exports.VideoFormat.HLS_JS:return _t.mse&&It.mp4&&Ct&&Vt;case exports.VideoFormat.MPEG:return It.mp4;default:return e.assertNever(t)}}))),this.chromecastFormatsIterator=new At(t.chromecastFormatsPriority.filter((function(i){return e.isNonNullable(t.sources[i])})))}return t.prototype.init=function(){var e=this;this.subscription.add(this.initProviderErrorHandling()),this.subscription.add(this.params.dependencies.chromecastInitializer.connection$.subscribe((function(){e.reinitProvider()})))},t.prototype.destroy=function(){this.destroyProvider(),this.current$.next({type:void 0}),this.subscription.unsubscribe()},t.prototype.initProvider=function(){var t=this.chooseDestination(),i=this.chooseFormat(t);if(e.isNullable(i))this.handleNoFormatsError(t);else{var r=this.createProvider(t,i);this.current$.next({type:i,provider:r,destination:t})}},t.prototype.reinitProvider=function(){this.destroyProvider(),this.initProvider()},t.prototype.switchToNextProvider=function(){this.destroyProvider();var t=this.current$.getValue().destination;e.assertNonNullable(t),this.skipFormat(t),this.initProvider()},t.prototype.destroyProvider=function(){var e=this.current$.getValue().provider;if(e){this.log({message:"destroyProvider"});var t=this.params.desiredState.seekPosition;t.getTransition()||t.startTransitionTo(this.providerOutput.position$.getValue()),e.destroy();var i=this.providerOutput.isBuffering$;i.getValue()||i.next(!0)}},t.prototype.createProvider=function(t,i){switch(this.log({message:"createProvider: "+t+":"+i}),t){case n.SCREEN:return this.createScreenProvider(i);case n.CHROMECAST:return this.createChromecastProvider(i);default:return e.assertNever(t)}},t.prototype.createScreenProvider=function(t){var i=this.params,r=i.sources,a=i.container,n=i.desiredState,s=this.providerOutput;switch(t){case exports.VideoFormat.DASH:var o=r[t];return e.assertNonNullable(o),new Ie({container:a,source:o,desiredState:n,output:s,config:Ht,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.DASH_WEBM_VK:o=r[t];return e.assertNonNullable(o),new ye({container:a,source:o,desiredState:n,output:s,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.DASH_SEP:case exports.VideoFormat.DASH_WEBM:case exports.VideoFormat.DASH_ONDEMAND:case exports.VideoFormat.DASH_LIVE_WEBM:o=r[t];return e.assertNonNullable(o),new Fe({container:a,source:o,desiredState:n,output:s,format:t,config:Yt,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.HLS:case exports.VideoFormat.HLS_ONDEMAND:o=r[t];return e.assertNonNullable(o),new nt({container:a,source:o,desiredState:n,output:s,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.HLS_LIVE:o=r[t];return e.assertNonNullable(o),new ot({container:a,source:o,desiredState:n,output:s,config:Gt,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.HLS_JS:o=r[t];return e.assertNonNullable(o),new xt({container:a,source:o,desiredState:n,output:s,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.MPEG:o=r[t];return e.assertNonNullable(o),new xe({container:a,source:o,desiredState:n,output:s,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.DASH_LIVE:o=r[t];return e.assertNonNullable(o),new et({container:a,source:o,desiredState:n,output:s,config:qt,dependencies:this.params.dependencies,tuning:this.params.tuning});default:return e.assertNever(t)}},t.prototype.createChromecastProvider=function(t){var i=this.params,r=i.sources,a=i.container,n=i.desiredState,s=i.meta,o=this.providerOutput,u=this.params.dependencies.chromecastInitializer.connection$.getValue();return e.assertNonNullable(u),new ke({connection:u,meta:s,container:a,source:r,format:t,desiredState:n,output:o,dependencies:this.params.dependencies,tuning:this.params.tuning})},t.prototype.chooseDestination=function(){return this.params.dependencies.chromecastInitializer.connection$.getValue()?n.CHROMECAST:n.SCREEN},t.prototype.chooseFormat=function(t){switch(t){case n.SCREEN:return this.screenFormatsIterator.isCompleted()?void 0:this.screenFormatsIterator.getValue();case n.CHROMECAST:return this.chromecastFormatsIterator.isCompleted()?void 0:this.chromecastFormatsIterator.getValue();default:return e.assertNever(t)}},t.prototype.skipFormat=function(t){switch(t){case n.SCREEN:return this.screenFormatsIterator.next();case n.CHROMECAST:return this.chromecastFormatsIterator.next();default:return e.assertNever(t)}},t.prototype.handleNoFormatsError=function(t){switch(t){case n.SCREEN:return this.noAvailableProvidersError$.next(),void this.current$.next({type:void 0});case n.CHROMECAST:return void this.params.dependencies.chromecastInitializer.disconnect();default:return e.assertNever(t)}},t.prototype.initProviderErrorHandling=function(){var t,i=this,r=[],a=0,s=new e.Subscription;return s.add(e.merge(this.providerOutput.error$,(t={desiredPlaybackState$:this.params.desiredState.playbackState,maxTransitionInterval:Mt,position$:this.providerOutput.position$,providerChanged$:this.current$},new e.Observable((function(i){var r=new e.Subscription,a=e.timeout(t.maxTransitionInterval),n=new e.ValueSubject(void 0);e.merge(t.desiredPlaybackState$.stateChangeStarted$.pipe(e.mapTo(a)),t.desiredPlaybackState$.stateChangeEnded$.pipe(e.mapTo(void 0)),t.providerChanged$.pipe(e.map((function(){return n.getValue()})))).subscribe(n);var s=new e.Subscription;return r.add(s),r.add(n.subscribe((function(e){s.unsubscribe(),e&&s.add(e.subscribe(i))}))),r}))).pipe(e.mapTo({id:"ProviderHangup",message:"An operation failed to complete within reasonable time"}))).subscribe(this.providerError$)),s.add(this.providerError$.pipe(e.throttle(Ft,{leading:!1,trailing:!0})).subscribe((function(){var t=Date.now();i.current$.getValue().destination===n.CHROMECAST?(i.destroyProvider(),i.params.dependencies.chromecastInitializer.stopMedia().then((function(){i.switchToNextProvider()}),(function(){i.params.dependencies.chromecastInitializer.disconnect()}))):e.isNonNullable(r[a])&&t<r[a]+Bt?(r=[],i.switchToNextProvider()):(r[a]=t,i.reinitProvider()),a=(a+1)%Ut}))),s},t}();!function(e){e[e.LOCAL_STORAGE=0]="LOCAL_STORAGE",e[e.SESSION_STORAGE=1]="SESSION_STORAGE",e[e.RUNTIME=2]="RUNTIME"}(kt||(kt={}));var Qt=new Map,zt=kt.RUNTIME,Wt="vk-videoplayer-dummy-key-"+Math.random();!function(){try{localStorage.setItem(Wt,"test"),localStorage.removeItem(Wt),zt=kt.LOCAL_STORAGE}catch(e){if(!(e instanceof DOMException))throw e;try{sessionStorage.getItem(Wt),zt=kt.SESSION_STORAGE}catch(e){if(!(e instanceof DOMException))throw e;zt=kt.RUNTIME}}}();var Jt,Xt=function(e,t,i){return i*t+(1-i)*e},Kt=function(){var e,t;return null!==(t=null===(e=window.performance)||void 0===e?void 0:e.now())&&void 0!==t?t:Date.now()},Zt=window.navigator.connection,ei=function(){var e=null==Zt?void 0:Zt.downlink;if(e&&10!==e)return 1e3*e},ti=function(){function t(t){var i=this;this.smoothedCombination=this.load()||ei()||5e3,this.smoothedFast=this.smoothedCombination,this.smoothedSlow=this.smoothedCombination,this.subscription=new e.Subscription,this.rawSeries$=new j("raw_throughput"),this.smoothedSeries$=new j("smoothed_throughput"),this.reportedSeries$=new j("reported_throughput"),this.xhr$=new e.Subject,this.rawSpeed$=new e.Subject,this.rawThroughput$=new e.Subject,this.stream$=new e.Subject,this.estimation$=new e.ValueSubject(this.smoothedSlow),this.rtt$=new e.ValueSubject(void 0),this.tuningConfig=t;var r=ei();if(r&&this.addValue(r),this.subscription.add(this.xhr$.subscribe((function(e){return i.trackXHR(e)}))),this.subscription.add(this.stream$.subscribe((function(e){return i.trackStream(e)}))),this.subscription.add(this.rawSpeed$.subscribe((function(e){var t=e.size,r=e.time;return i.addRawSpeed(t,r)}))),this.subscription.add(this.rawThroughput$.subscribe((function(e){return i.addValue(e)}))),this.subscription.add(this.estimation$.subscribe(this.reportedSeries$)),this.tuningConfig.useBrowserEstimation){var a=Zt&&"rtt"in Zt,n=Zt&&"onchange"in Zt;a&&this.rtt$.next(Zt.rtt),n&&this.subscription.add(e.fromEvent(Zt,"change").subscribe((function(){a&&i.rtt$.next(Zt.rtt);var e=ei();e&&i.addValue(e)})))}}return t.prototype.destroy=function(){this.subscription.unsubscribe()},t.prototype.trackXHR=function(t){var i=this,r=0,a=Kt(),n=new e.Subscription;switch(this.subscription.add(n),t.readyState){case 4:break;case 3:case 2:n.add(e.fromEvent(t,"progress").pipe(e.once()).subscribe((function(e){r=e.loaded,a=Kt()})));break;case 1:case 0:n.add(e.fromEvent(t,"loadstart").subscribe((function(){r=0,a=Kt()})))}n.add(e.fromEvent(t,"loadend").subscribe((function(e){if(200===t.status){var s=e.loaded,o=Kt(),u=s-r,d=o-a;i.addRawSpeed(u,d)}n.unsubscribe()})))},t.prototype.trackStream=function(e){var t=this,i=e.getReader();if(i){var r=0,a=Kt(),n=0,s=Kt(),o=function(t){i.releaseLock(),e.cancel("Throughput Estimator error: "+t).catch((function(){}))},u=function(e){var d=e.done,p=e.value;return c(t,void 0,void 0,(function(){return l(this,(function(e){switch(e.label){case 0:return d?(this.addRawSpeed(r,Kt()-a),[3,3]):[3,1];case 1:return p?(r+=p.byteLength,(n+=p.byteLength)>=this.tuningConfig.streamMinSampleSize&&Kt()-s>=this.tuningConfig.streamMinSampleTime&&(this.addRawSpeed(n,Kt()-s),n=0,s=Kt()),[4,null==i?void 0:i.read().then(u,o)]):[3,3];case 2:e.sent(),e.label=3;case 3:return[2]}}))}))};null==i||i.read().then(u,o)}else e.cancel("Could not get reader")},t.prototype.addRawSpeed=function(e,t){if(this.sanityCheck(e,t)){var i=8*e/t;this.addValue(i)}},t.prototype.sanityCheck=function(e,t){var i=8*e/t;return!(!i||!isFinite(i))&&(!(i>1e6)&&(!(i<30)&&(!(e<1024)&&!(t<=50))))},t.prototype.addValue=function(e){var t=Math.round(Xt(this.smoothedSlow,e,this.tuningConfig.emaAlphaSlow)),i=Math.round(Xt(this.smoothedFast,e,this.tuningConfig.emaAlphaFast));this.smoothedCombination=Math.min(t,i),this.rawSeries$.next(e),this.smoothedSeries$.next(this.smoothedCombination);var r=this.load();this.smoothedSlow=t,this.smoothedFast=i,(!r||Math.abs(this.smoothedCombination-r)/r>=this.tuningConfig.changeThreshold)&&(this.dump(),this.estimation$.next(this.smoothedCombination))},t.prototype.load=function(){var t=function(t){var i,r;switch(zt){case kt.LOCAL_STORAGE:return null!==(i=localStorage.getItem(t))&&void 0!==i?i:void 0;case kt.SESSION_STORAGE:return null!==(r=sessionStorage.getItem(t))&&void 0!==r?r:void 0;case kt.RUNTIME:return Qt.get(t);default:e.assertNever(zt)}}("one_video_throughput");if(t)return parseInt(t,10)||void 0},t.prototype.dump=function(){!function(t,i){switch(zt){case kt.LOCAL_STORAGE:return localStorage.setItem(t,i);case kt.SESSION_STORAGE:return sessionStorage.setItem(t,i);case kt.RUNTIME:return void Qt.set(t,i);default:e.assertNever(zt)}}("one_video_throughput",this.smoothedCombination.toFixed(0))},t}(),ii=function(t){return void 0===t&&(t=function(e){return e}),function(i){var r=i.playbackState,a=i.seekPosition,n=i.provider$,s=i.position$;return new e.Observable((function(i){var o,u=r.transitionEnded$.pipe(e.filter((function(e){return(e.from===exports.PlaybackState.PAUSED||e.from===exports.PlaybackState.STOPPED)&&e.to===exports.PlaybackState.PLAYING}))),d=r.stateChangeEnded$.pipe(e.filter((function(e){return e.from===exports.PlaybackState.PLAYING&&e.to===exports.PlaybackState.PAUSED}))),c=a.stateChangeEnded$.pipe(e.filter((function(t){var i,a;return e.isNonNullable(t.to)&&(null!==(a=null===(i=r.getTransition())||void 0===i?void 0:i.from)&&void 0!==a?a:r.getState())===exports.PlaybackState.PLAYING}))),l=a.stateChangeEnded$.pipe(e.filter((function(t){var i,a;return e.isNullable(t.to)&&(null!==(a=null===(i=r.getTransition())||void 0===i?void 0:i.from)&&void 0!==a?a:r.getState())===exports.PlaybackState.PLAYING}))),p=e.merge(u,l).pipe(e.map((function(){return t(s.getValue())}))),h=e.merge(d,c,n).pipe(e.map((function(){return t(s.getValue())})));return(new e.Subscription).add(p.subscribe((function(e){o=t(e)}))).add(h.subscribe((function(r){if(!e.isNullable(o)){var a={start:o,end:t(r)};o=void 0,i.next(a)}})))}))}},ri=ii((function(e){return e})),ai=ii((function(e){return Math.round(1e3*e)+Date.now()})),ni=((Jt={})[n.SCREEN]={vod:[exports.VideoFormat.HLS,exports.VideoFormat.HLS_ONDEMAND,exports.VideoFormat.DASH_WEBM_VK,exports.VideoFormat.DASH_WEBM,exports.VideoFormat.DASH,exports.VideoFormat.DASH_SEP,exports.VideoFormat.DASH_ONDEMAND,exports.VideoFormat.HLS_JS,exports.VideoFormat.MPEG],live:[exports.VideoFormat.HLS_LIVE,exports.VideoFormat.DASH_LIVE,exports.VideoFormat.DASH_LIVE_WEBM]},Jt[n.CHROMECAST]={vod:[exports.VideoFormat.DASH_WEBM_VK,exports.VideoFormat.DASH_WEBM,exports.VideoFormat.DASH_SEP,exports.VideoFormat.DASH_ONDEMAND,exports.VideoFormat.HLS,exports.VideoFormat.HLS_ONDEMAND,exports.VideoFormat.MPEG],live:[exports.VideoFormat.HLS_LIVE]},Jt),si=function(){function t(t){var i=this;if(void 0===t&&(t={}),this.subscription=new e.Subscription,this.logger=new e.Logger,this.isPlaybackStarted=!1,this.desiredState={playbackState:new X(exports.PlaybackState.STOPPED),seekPosition:new X(void 0),volume:new X({volume:1,muted:!1}),videoTrack:new X(void 0),autoVideoTrackSwitching:new X(!0),isLooped:new X(!1),externalTextTracks:new X([]),currentTextTrack:new X(void 0),textTrackCuesSettings:new X({})},this.info={playbackState$:new e.ValueSubject(exports.PlaybackState.STOPPED),position$:new e.ValueSubject(0),duration$:new e.ValueSubject(1/0),muted$:new e.ValueSubject(!1),volume$:new e.ValueSubject(1),availableQualities$:new e.ValueSubject([]),currentQuality$:new e.ValueSubject(void 0),isAutoQualityEnabled$:new e.ValueSubject(!0),currentBuffer$:new e.ValueSubject(void 0),isBuffering$:new e.ValueSubject(!0),isEnded$:new e.ValueSubject(!1),isLooped$:new e.ValueSubject(!1),isLive$:new e.ValueSubject(void 0),liveTime$:new e.ValueSubject(void 0),currentFormat$:new e.ValueSubject(void 0),availableTextTracks$:new e.ValueSubject([]),currentTextTrack$:new e.ValueSubject(void 0),throughputEstimation$:new e.ValueSubject(void 0),rttEstimation$:new e.ValueSubject(void 0),videoBitrate$:new e.ValueSubject(void 0),hostname$:new e.ValueSubject(void 0),chromecastState$:new e.ValueSubject(exports.ChromecastState.NOT_AVAILABLE),chromecastDeviceName$:new e.ValueSubject(void 0)},this.events={started$:new e.Subject,startAttempt$:new e.Subject,willPause$:new e.Subject,willResume$:new e.Subject,watchCoverageRecord$:new e.Subject,watchCoverageLive$:new e.Subject,managedError$:new e.Subject,fatalError$:new e.Subject,ended$:new e.Subject,seeked$:new e.Subject,willSeek$:new e.Subject,firstBytes$:new e.Subject,firstFrame$:new e.Subject,log$:new e.Subject},this.experimental={element$:new e.ValueSubject(void 0),enableDebugTelemetry$:new e.ValueSubject(!1),dumpTelemetry:G},this.initLogs(),this.tuning=function(e){var t,i,r={};try{for(var a=p(Object.keys(S)),n=a.next();!n.done;n=a.next()){var s=n.value,o=S[s],u=e[s];Array.isArray(o)&&Array.isArray(u)?r[s]=u:r[s]="object"==typeof o&&"object"==typeof u?d(d({},o),u):null!=u?u:o}}catch(e){t={error:e}}finally{try{n&&!n.done&&(i=a.return)&&i.call(a)}finally{if(t)throw t.error}}return r}(t),this.chromecastInitializer=new b({receiverApplicationId:t.chromecastReceiverId,isDisabled:t.disableChromecast,dependencies:{logger:this.logger}}),this.throughputEstimator=new ti(this.tuning.throughputEstimator),this.initChromecastSubscription(),this.initDesiredStateSubscriptions(),Proxy&&Reflect)return new Proxy(this,{get:function(e,t,r){var a=Reflect.get(e,t,r);return"function"!=typeof a?a:function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];try{return a.apply(e,r)}catch(e){var s=r.map((function(e){return JSON.stringify(e,(function(e,t){var i=typeof t;return["number","string","boolean"].includes(i)?t:null===t?null:"<"+i+">"}))})),o="Player."+String(t),u="Exception calling "+o+" ("+s.join(", ")+")";throw i.events.fatalError$.next({id:o,message:u,thrown:e}),e}}}})}return t.prototype.initVideo=function(t){var i,r;return this.config=t,this.domContainer=function(t){var i="string"==typeof t.container?document.getElementById(t.container):t.container;return e.assertNonNullable(i,"Wrong container or containerId {"+t.container+"}"),i}(t),this.chromecastInitializer.contentId=null===(i=t.meta)||void 0===i?void 0:i.videoId,this.providerContainer=new jt({screenFormatsPriority:f(f([],h(ni[n.SCREEN].live),!1),h(ni[n.SCREEN].vod),!1),chromecastFormatsPriority:f(f([],h(ni[n.CHROMECAST].live),!1),h(ni[n.CHROMECAST].vod),!1),sources:t.sources,meta:null!==(r=t.meta)&&void 0!==r?r:{},container:this.domContainer,desiredState:this.desiredState,dependencies:{throughputEstimator:this.throughputEstimator,chromecastInitializer:this.chromecastInitializer,logger:this.logger},tuning:this.tuning}),this.initProviderContainerSubscription(this.providerContainer),this.initStartingVideoTrack(this.providerContainer),this.providerContainer.init(),this.initDebugTelemetry(),this},t.prototype.destroy=function(){var e;null===(e=this.providerContainer)||void 0===e||e.destroy(),this.throughputEstimator.destroy(),this.chromecastInitializer.destroy(),this.subscription.unsubscribe()},t.prototype.play=function(){var e=this.desiredState.playbackState;return e.getState()!==exports.PlaybackState.PLAYING&&e.startTransitionTo(exports.PlaybackState.PLAYING),this},t.prototype.pause=function(){var e=this.desiredState.playbackState;return e.getState()!==exports.PlaybackState.PAUSED&&e.startTransitionTo(exports.PlaybackState.PAUSED),this},t.prototype.stop=function(){var e=this.desiredState.playbackState;return e.getState()!==exports.PlaybackState.STOPPED&&e.startTransitionTo(exports.PlaybackState.STOPPED),this},t.prototype.seekTime=function(e){return this.events.willSeek$.next({from:this.getExactTime(),to:e}),this.desiredState.seekPosition.startTransitionTo(e),this},t.prototype.seekPercent=function(e){var t=this.info.duration$.getValue();return isFinite(t)&&this.seekTime(Math.abs(t)*e),this},t.prototype.setVolume=function(e){return this.chromecastInitializer.castState$.getValue()===exports.ChromecastState.CONNECTED?this.chromecastInitializer.setVolume(e):this.desiredState.volume.startTransitionTo({volume:e,muted:this.desiredState.volume.getState().muted}),this},t.prototype.setMuted=function(e){return this.chromecastInitializer.castState$.getValue()===exports.ChromecastState.CONNECTED?this.chromecastInitializer.setMuted(e):this.desiredState.volume.startTransitionTo({volume:this.desiredState.volume.getState().volume,muted:e}),this},t.prototype.setQuality=function(t){e.assertNonNullable(this.providerContainer);var i=this.providerContainer.providerOutput.availableVideoTracks$.getValue();i.length||(this.explicitInitialQuality=t);var r=i.find((function(e){return e.quality===t}));return r&&this.desiredState.videoTrack.startTransitionTo(r.id),this},t.prototype.setAutoQuality=function(e){return this.desiredState.autoVideoTrackSwitching.startTransitionTo(e),this},t.prototype.setExternalTextTracks=function(e){return this.desiredState.externalTextTracks.startTransitionTo(e.map((function(e){return d({type:"external"},e)}))),this},t.prototype.selectTextTrack=function(e){var t;return(void 0===e||(null===(t=this.providerContainer)||void 0===t?void 0:t.providerOutput.availableTextTracks$.getValue().find((function(t){return t.id===e}))))&&this.desiredState.currentTextTrack.startTransitionTo(e),this},t.prototype.setTextTrackCueSettings=function(e){return this.desiredState.textTrackCuesSettings.startTransitionTo(e),this},t.prototype.setLooped=function(e){return this.desiredState.isLooped.startTransitionTo(e),this},t.prototype.toggleChromecast=function(){this.chromecastInitializer.toggleConnection()},t.prototype.getExactTime=function(){var t;e.assertNonNullable(this.providerContainer);var i=this.providerContainer.providerOutput.element$.getValue();if(e.isNullable(i))return this.info.position$.getValue();var r=this.desiredState.seekPosition.getTransition(),a=null!==(t=null==r?void 0:r.to)&&void 0!==t?t:null==r?void 0:r.from;return e.isNonNullable(a)?a:i.currentTime},t.prototype.getAllLogs=function(){return this.logger.getAllLogs()},t.prototype.initDesiredStateSubscriptions=function(){var t=this;this.subscription.add(e.merge(this.desiredState.playbackState.stateChangeStarted$,this.desiredState.playbackState.forceChanged$).pipe(e.map((function(e){return e.to}))).subscribe(this.info.playbackState$)).add(this.desiredState.isLooped.stateChangeEnded$.pipe(e.map((function(e){return e.to}))).subscribe(this.info.isLooped$)).add(this.desiredState.autoVideoTrackSwitching.stateChangeEnded$.pipe(e.map((function(e){return e.to}))).subscribe(this.info.isAutoQualityEnabled$)).add(this.desiredState.seekPosition.stateChangeEnded$.pipe(e.filter((function(e){return void 0===e.to})),e.mapTo(void 0)).subscribe(this.events.seeked$));var i=new e.Subscription;this.subscription.add(i),this.subscription.add(this.desiredState.playbackState.stateChangeStarted$.pipe(e.filter((function(e){return e.to===exports.PlaybackState.PLAYING}))).subscribe((function(){i.unsubscribe(),i.add(t.desiredState.playbackState.stateChangeEnded$.pipe(e.filter((function(e){return e.to===exports.PlaybackState.PLAYING||e.to===exports.PlaybackState.PAUSED})),e.once()).subscribe((function(e){var i=e.to===exports.PlaybackState.PLAYING,r=t.info.muted$.getValue(),a=i?r?exports.StartStatus.SuccessWithoutSound:exports.StartStatus.SuccessWithSound:exports.StartStatus.Failed;t.events.startAttempt$.next(a)})))}))),this.subscription.add(this.desiredState.playbackState.stateChangeEnded$.pipe(e.filter((function(e){return e.to===exports.PlaybackState.PLAYING}))).subscribe((function(){t.isPlaybackStarted||(t.isPlaybackStarted=!0,t.events.started$.next())}))).add(this.desiredState.playbackState.stateChangeStarted$.subscribe((function(e){switch(e.to){case exports.PlaybackState.PAUSED:t.events.willPause$.next();break;case exports.PlaybackState.PLAYING:t.isPlaybackStarted&&t.events.willResume$.next()}})))},t.prototype.initProviderContainerSubscription=function(t){var i=this;this.subscription.add(t.current$.pipe(e.map((function(e){return e.type}))).subscribe(this.info.currentFormat$)).add(t.current$.pipe(e.map((function(e){return e.destination})),e.filterChanged()).subscribe((function(){i.isPlaybackStarted=!1}))).add(t.providerOutput.availableVideoTracks$.pipe(e.map((function(e){return e.map((function(e){return e.quality})).sort((function(e,t){return F(e)?1:F(t)?-1:V(t,e)?1:-1}))}))).subscribe(this.info.availableQualities$)).add(t.providerOutput.currentVideoTrack$.subscribe((function(e){i.info.currentQuality$.next(null==e?void 0:e.quality),i.info.videoBitrate$.next(null==e?void 0:e.bitrate)}))).add(t.providerOutput.hostname$.pipe(e.filterChanged()).subscribe(this.info.hostname$)).add(t.providerOutput.currentTextTrack$.subscribe(this.info.currentTextTrack$)).add(t.providerOutput.availableTextTracks$.subscribe(this.info.availableTextTracks$)).add(t.providerOutput.currentBuffer$.subscribe(this.info.currentBuffer$)).add(t.providerOutput.duration$.subscribe(this.info.duration$)).add(t.providerOutput.isBuffering$.subscribe(this.info.isBuffering$)).add(t.providerOutput.isLive$.subscribe(this.info.isLive$)).add(t.providerOutput.liveTime$.subscribe(this.info.liveTime$)).add(t.providerOutput.volume$.pipe(e.map((function(e){return e.muted})),e.filterChanged()).subscribe(this.info.muted$)).add(t.providerOutput.volume$.pipe(e.map((function(e){return e.volume})),e.filterChanged()).subscribe(this.info.volume$)).add(function(t){var i=t.seekPosition,r=t.position$;return e.merge(i.stateChangeStarted$.pipe(e.map((function(e){return e.to})),e.filter(e.isNonNullable)),r.pipe(e.filter((function(){return e.isNullable(i.getState())&&e.isNullable(i.getTransition())}))))}({seekPosition:this.desiredState.seekPosition,position$:t.providerOutput.position$}).subscribe(this.info.position$)).add(e.merge(t.providerOutput.endedEvent$.pipe(e.mapTo(!0)),this.desiredState.seekPosition.stateChangeEnded$.pipe(e.filter((function(e){return void 0!==e.from})),e.mapTo(!1))).pipe(e.filterChanged()).subscribe(this.info.isEnded$)).add(t.providerOutput.endedEvent$.subscribe(this.events.ended$)).add(t.providerError$.subscribe(this.events.managedError$)).add(t.noAvailableProvidersError$.pipe(e.map((function(e){return{id:"NoProviders",message:"No suitable providers or all providers failed"}}))).subscribe(this.events.fatalError$)).add(t.providerOutput.element$.subscribe(this.experimental.element$)).add(t.providerOutput.firstBytesEvent$.subscribe(this.events.firstBytes$)).add(t.providerOutput.firstFrameEvent$.subscribe(this.events.firstFrame$)).add(this.throughputEstimator.estimation$.subscribe(this.info.throughputEstimation$)).add(this.throughputEstimator.rtt$.subscribe(this.info.rttEstimation$));var r=new e.Subscription;this.subscription.add(r),t.providerOutput.isLive$.pipe(e.filterChanged()).subscribe((function(t){switch(e.assertNonNullable(i.providerContainer),r.unsubscribe(),t){case!0:r.add(ai({seekPosition:i.desiredState.seekPosition,playbackState:i.desiredState.playbackState,provider$:i.providerContainer.current$,position$:i.providerContainer.providerOutput.position$}).subscribe(i.events.watchCoverageLive$));break;case!1:r.add(ri({seekPosition:i.desiredState.seekPosition,playbackState:i.desiredState.playbackState,provider$:i.providerContainer.current$,position$:i.providerContainer.providerOutput.position$}).subscribe(i.events.watchCoverageRecord$))}}))},t.prototype.initChromecastSubscription=function(){this.subscription.add(this.chromecastInitializer.castState$.subscribe(this.info.chromecastState$)),this.subscription.add(this.chromecastInitializer.connection$.pipe(e.map((function(e){return null==e?void 0:e.castDevice.friendlyName}))).subscribe(this.info.chromecastDeviceName$)),this.subscription.add(this.chromecastInitializer.errorEvent$.subscribe(this.events.managedError$))},t.prototype.initStartingVideoTrack=function(t){var i=this,r=new e.Subscription;this.subscription.add(r),this.subscription.add(t.current$.pipe(e.filterChanged((function(e,t){return e.provider===t.provider}))).subscribe((function(){r.unsubscribe(),r.add(t.providerOutput.availableVideoTracks$.pipe(e.filter((function(e){return e.length>0})),e.once()).subscribe((function(e){i.setStartingVideoTrack(e)})))})))},t.prototype.setStartingVideoTrack=function(e){var t,i=this;this.explicitInitialQuality&&(t=e.find((function(e){return e.quality===i.explicitInitialQuality})),this.explicitInitialQuality=void 0),t||(t=z(e,{container:this.domContainer.getBoundingClientRect(),throughput:this.throughputEstimator.estimation$.getValue(),tuning:this.tuning.autoTrackSelection})),this.desiredState.videoTrack.startTransitionTo(t.id),this.info.currentQuality$.next(t.quality),this.info.videoBitrate$.next(t.bitrate)},t.prototype.initLogs=function(){this.subscription.add(e.merge(this.desiredState.videoTrack.stateChangeStarted$.pipe(e.map((function(e){return{transition:e,entity:"quality",type:"start"}}))),this.desiredState.videoTrack.stateChangeEnded$.pipe(e.map((function(e){return{transition:e,entity:"quality",type:"end"}}))),this.desiredState.autoVideoTrackSwitching.stateChangeStarted$.pipe(e.map((function(e){return{transition:e,entity:"autoQualityEnabled",type:"start"}}))),this.desiredState.autoVideoTrackSwitching.stateChangeEnded$.pipe(e.map((function(e){return{transition:e,entity:"autoQualityEnabled",type:"end"}}))),this.desiredState.seekPosition.stateChangeStarted$.pipe(e.map((function(e){return{transition:e,entity:"seekPosition",type:"start"}}))),this.desiredState.seekPosition.stateChangeEnded$.pipe(e.map((function(e){return{transition:e,entity:"seekPosition",type:"end"}}))),this.desiredState.playbackState.stateChangeStarted$.pipe(e.map((function(e){return{transition:e,entity:"playbackState",type:"start"}}))),this.desiredState.playbackState.stateChangeEnded$.pipe(e.map((function(e){return{transition:e,entity:"playbackState",type:"end"}})))).pipe(e.map((function(e){return{component:"desiredState",message:"["+e.entity+" change] "+e.type+": "+JSON.stringify(e.transition)}}))).subscribe(this.logger.log)),this.subscription.add(this.logger.log$.subscribe(this.events.log$))},t.prototype.initDebugTelemetry=function(){var t,i=this,r=null===(t=this.providerContainer)||void 0===t?void 0:t.providerOutput;e.assertNonNullable(this.providerContainer),e.assertNonNullable(r),q={},this.experimental.enableDebugTelemetry$.next(this.tuning.enableTelemetryAtStart),[this.experimental.enableDebugTelemetry$.subscribe((function(e){H=e})),this.providerContainer.current$.subscribe((function(e){var t=e.type;return Y("provider",t)})),r.duration$.subscribe((function(e){return Y("duration",e)})),r.availableVideoTracks$.pipe(e.filter((function(e){return!!e.length})),e.once()).subscribe((function(e){return Y("tracks",e)})),this.events.fatalError$.subscribe(new j("fatalError")),this.events.managedError$.subscribe(new j("managedError")),r.position$.subscribe(new j("position")),r.currentVideoTrack$.pipe(e.map((function(e){return null==e?void 0:e.quality}))).subscribe(new j("quality")),r.currentBuffer$.subscribe(new j("buffer")),r.isBuffering$.subscribe(new j("isBuffering"))].forEach((function(e){return i.subscription.add(e)})),Y("codecs",Object.keys(Rt).filter((function(e){return Rt[e]})))},t}();Object.defineProperty(exports,"Observable",{enumerable:!0,get:function(){return e.Observable}}),Object.defineProperty(exports,"Subject",{enumerable:!0,get:function(){return e.Subject}}),Object.defineProperty(exports,"Subscription",{enumerable:!0,get:function(){return e.Subscription}}),Object.defineProperty(exports,"ValueSubject",{enumerable:!0,get:function(){return e.ValueSubject}}),exports.Player=si,exports.SDK_VERSION="@vkontakte/videoplayer-core@2.0.33";
|
|
6
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@vkontakte/videoplayer-shared");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(i){if("default"!==i){var r=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,r.get?r:{enumerable:!0,get:function(){return e[i]}})}})),t.default=e,Object.freeze(t)}var r,a,n,s,o,u=t(require("lodash/debounce"));exports.PlaybackState=void 0,(r=exports.PlaybackState||(exports.PlaybackState={})).STOPPED="stopped",r.PLAYING="playing",r.PAUSED="paused",exports.VideoFormat=void 0,(a=exports.VideoFormat||(exports.VideoFormat={})).MPEG="MPEG",a.DASH="DASH",a.DASH_SEP="DASH_SEP",a.DASH_WEBM="DASH_WEBM",a.DASH_WEBM_VK="DASH_WEBM_VK",a.DASH_ONDEMAND="DASH_ONDEMAND",a.DASH_LIVE="DASH_LIVE",a.DASH_LIVE_WEBM="DASH_LIVE_WEBM",a.HLS="HLS",a.HLS_ONDEMAND="HLS_ONDEMAND",a.HLS_JS="HLS_JS",a.HLS_LIVE="HLS_LIVE",function(e){e.SCREEN="SCREEN",e.CHROMECAST="CHROMECAST"}(n||(n={})),exports.ChromecastState=void 0,(s=exports.ChromecastState||(exports.ChromecastState={})).NOT_AVAILABLE="NOT_AVAILABLE",s.AVAILABLE="AVAILABLE",s.CONNECTING="CONNECTING",s.CONNECTED="CONNECTED",exports.StartStatus=void 0,(o=exports.StartStatus||(exports.StartStatus={})).SuccessWithSound="success_with_sound",o.SuccessWithoutSound="success_without_sound",o.Failed="failed";var d=function(){return(d=Object.assign||function(e){for(var t,i=1,r=arguments.length;i<r;i++)for(var a in t=arguments[i])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)};function c(e,t,i,r){return new(i||(i=Promise))((function(a,n){function s(e){try{u(r.next(e))}catch(e){n(e)}}function o(e){try{u(r.throw(e))}catch(e){n(e)}}function u(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,o)}u((r=r.apply(e,t||[])).next())}))}function l(e,t){var i,r,a,n,s={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function o(n){return function(o){return function(n){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,r&&(a=2&n[0]?r.return:n[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,n[1])).done)return a;switch(r=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return s.label++,{value:n[1],done:!1};case 5:s.label++,r=n[1],n=[0];continue;case 7:n=s.ops.pop(),s.trys.pop();continue;default:if(!(a=s.trys,(a=a.length>0&&a[a.length-1])||6!==n[0]&&2!==n[0])){s=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]<a[3])){s.label=n[1];break}if(6===n[0]&&s.label<a[1]){s.label=a[1],a=n;break}if(a&&s.label<a[2]){s.label=a[2],s.ops.push(n);break}a[2]&&s.ops.pop(),s.trys.pop();continue}n=t.call(e,s)}catch(e){n=[6,e],r=0}finally{i=a=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,o])}}}function p(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],r=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function h(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var r,a,n=i.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=n.next()).done;)s.push(r.value)}catch(e){a={error:e}}finally{try{r&&!r.done&&(i=n.return)&&i.call(n)}finally{if(a)throw a.error}}return s}function f(e,t,i){if(i||2===arguments.length)for(var r,a=0,n=t.length;a<n;a++)!r&&a in t||(r||(r=Array.prototype.slice.call(t,0,a)),r[a]=t[a]);return e.concat(r||Array.prototype.slice.call(t))}var v,m,S={throughputEstimator:{emaAlpha:.2,emaAlphaSlow:.2,emaAlphaFast:.7,changeThreshold:.2,useBrowserEstimation:!0,streamMinSampleSize:10240,streamMinSampleTime:300},autoTrackSelection:{bitrateFactor:1.2,usePixelRatio:!0,limitByContainer:!0,containerSizeFactor:2,stepQualityDown:!1,stepQualityDownExceptForTop:!1},enableTelemetryAtStart:!1,formatsToAvoid:[exports.VideoFormat.DASH_WEBM_VK],disableChromecast:!1,chromecastReceiverId:void 0,useWebmBigRequest:!0,bigRequestMinInitSize:51200,bigRequestMinDataSize:1048576,stripRangeHeader:!0,flushShortLoopedBuffers:!0,insufficientBufferRuleMargin:1e4,dashSeekInSegmentDurationThreshold:18e4,dashSeekInSegmentAlwaysSeekDelta:1e4,endGapTolerange:300},b=function(){function t(t){var i,r=this;this.connection$=new e.ValueSubject(void 0),this.castState$=new e.ValueSubject(exports.ChromecastState.NOT_AVAILABLE),this.errorEvent$=new e.Subject,this.realCastState$=new e.ValueSubject(exports.ChromecastState.NOT_AVAILABLE),this.subscription=new e.Subscription,this.params=t,this.log=this.params.dependencies.logger.createComponentLog("ChromecastInitializer");var a,n="chrome"in window;(this.log({message:"[constructor] receiverApplicationId: "+this.params.receiverApplicationId+", isDisabled: "+this.params.isDisabled+", isSupported: "+n}),!t.isDisabled&&n)&&(e.isNonNullable(null===(i=window.chrome)||void 0===i?void 0:i.cast)?this.initializeCastApi():(window.__onGCastApiAvailable=function(e){e&&r.initializeCastApi()},(a="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1",new Promise((function(e,t){var i=document.createElement("script");i.setAttribute("src",a),i.onload=function(){return e},i.onerror=function(){return t},document.body.appendChild(i)}))).catch((function(){return r.errorEvent$.next({id:"ChromecastLoading",message:"Script loading failed!"})}))))}return t.prototype.connect=function(){var e;null===(e=cast.framework.CastContext.getInstance())||void 0===e||e.requestSession()},t.prototype.disconnect=function(){var e,t;null===(t=null===(e=cast.framework.CastContext.getInstance())||void 0===e?void 0:e.getCurrentSession())||void 0===t||t.endSession(!0)},t.prototype.stopMedia=function(){return new Promise((function(e,t){var i,r,a;null===(a=null===(r=null===(i=cast.framework.CastContext.getInstance())||void 0===i?void 0:i.getCurrentSession())||void 0===r?void 0:r.getMediaSession())||void 0===a||a.stop(new chrome.cast.media.StopRequest,e,t)}))},t.prototype.toggleConnection=function(){e.isNonNullable(this.connection$.getValue())?this.disconnect():this.connect()},t.prototype.setVolume=function(t){var i=this.connection$.getValue();e.isNullable(i)||(i.remotePlayer.volumeLevel=t,i.remotePlayerController.setVolumeLevel())},t.prototype.setMuted=function(t){var i=this.connection$.getValue();e.isNullable(i)||t!==i.remotePlayer.isMuted&&i.remotePlayerController.muteOrUnmute()},t.prototype.destroy=function(){this.subscription.unsubscribe()},t.prototype.initListeners=function(){var t=this,i=new cast.framework.RemotePlayer,r=new cast.framework.RemotePlayerController(i),a=cast.framework.CastContext.getInstance();this.subscription.add(e.fromEvent(a,cast.framework.CastContextEventType.SESSION_STATE_CHANGED).subscribe((function(i){var r,n;switch(i.sessionState){case cast.framework.SessionState.SESSION_STARTED:case cast.framework.SessionState.SESSION_STARTING:case cast.framework.SessionState.SESSION_RESUMED:t.contentId=null===(n=null===(r=a.getCurrentSession())||void 0===r?void 0:r.getMediaSession())||void 0===n?void 0:n.media.contentId;break;case cast.framework.SessionState.NO_SESSION:case cast.framework.SessionState.SESSION_ENDING:case cast.framework.SessionState.SESSION_ENDED:case cast.framework.SessionState.SESSION_START_FAILED:t.contentId=void 0;break;default:return e.assertNever(i.sessionState)}}))).add(e.merge(e.fromEvent(a,cast.framework.CastContextEventType.CAST_STATE_CHANGED).pipe(e.tap((function(e){t.log({message:"[cast.framework.RemotePlayerEventType.CAST_STATE_CHANGED]: "+JSON.stringify(e)})})),e.map((function(e){return e.castState}))),e.observableFrom([a.getCastState()])).pipe(e.filterChanged(),e.map(g),e.tap((function(e){t.log({message:"realCastState$: "+e})}))).subscribe(this.realCastState$)).add(this.realCastState$.subscribe((function(n){var s,o=n===exports.ChromecastState.CONNECTED,u=e.isNonNullable(t.connection$.getValue());if(o&&!u){var d=a.getCurrentSession();e.assertNonNullable(d);var c=d.getCastDevice(),l=null===(s=d.getMediaSession())||void 0===s?void 0:s.media.contentId;(e.isNullable(l)||l===t.contentId)&&(t.log({message:"connection created"}),t.connection$.next({remotePlayer:i,remotePlayerController:r,session:d,castDevice:c}))}else!o&&u&&(t.log({message:"connection destroyed"}),t.connection$.next(void 0));t.castState$.next(n===exports.ChromecastState.CONNECTED?e.isNonNullable(t.connection$.getValue())?exports.ChromecastState.CONNECTED:exports.ChromecastState.AVAILABLE:n)})))},t.prototype.initializeCastApi=function(){var e,t,i,r;try{t=cast.framework.CastContext.getInstance(),i=chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,r=chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED}catch(e){return}try{t.setOptions({receiverApplicationId:null!==(e=this.params.receiverApplicationId)&&void 0!==e?e:i,autoJoinPolicy:r}),this.initListeners()}catch(e){this.errorEvent$.next({id:"ChromecastInitializer",message:"[initializeCastApi] failed",thrown:e})}},t}(),g=function(t){switch(t){case cast.framework.CastState.NO_DEVICES_AVAILABLE:return exports.ChromecastState.NOT_AVAILABLE;case cast.framework.CastState.NOT_CONNECTED:return exports.ChromecastState.AVAILABLE;case cast.framework.CastState.CONNECTING:return exports.ChromecastState.CONNECTING;case cast.framework.CastState.CONNECTED:return exports.ChromecastState.CONNECTED;default:return e.assertNever(t)}};!function(e){e.VIDEO="video",e.AUDIO="audio",e.TEXT="text"}(v||(v={})),function(e){e.NONE="none",e.DOWNLOADING="downloading",e.DOWNLOADED="downloaded",e.FED="fed"}(m||(m={}));var y,T,E=function(e){return c(void 0,void 0,void 0,(function(){var t,i,r;return l(this,(function(a){switch(a.label){case 0:t=e.muted,a.label=1;case 1:return a.trys.push([1,3,,8]),[4,e.play()];case 2:return a.sent(),[3,8];case 3:if((i=a.sent())instanceof DOMException&&(20===i.code||"AbortError"===i.name))return[2,!1];if(t)return console.warn(i),[2,!1];e.muted=!0,a.label=4;case 4:return a.trys.push([4,6,,7]),[4,e.play()];case 5:return a.sent(),[3,7];case 6:return r=a.sent(),e.muted=!1,console.warn(r),[2,!1];case 7:return[3,8];case 8:return[2,!0]}}))}))},P=function(t,i,r,a){var n=void 0===a?{}:a,s=n.equal,o=void 0===s?function(e,t){return e===t}:s,u=n.changed$,d=n.onError,c=t.getState(),l=i(),p=e.isNullable(u),h=new e.Subscription;return u&&h.add(u.subscribe((function(e){var i=t.getState();o(e,i)&&t.setState(e)}),d)),o(l,c)||(r(c),p&&t.setState(c)),h.add(t.stateChangeStarted$.subscribe((function(e){r(e.to),p&&t.setState(e.to)}),d)),h},k=function(t,i,r){return P(i,(function(){return t.loop}),(function(i){e.isNonNullable(i)&&(t.loop=i)}),{onError:r})},w=function(t,i,r,a){return P(i,(function(){return{muted:t.muted,volume:t.volume}}),(function(i){e.isNonNullable(i)&&(t.muted=i.muted,t.volume=i.volume)}),{equal:function(e,t){return e===t||(null==e?void 0:e.muted)===(null==t?void 0:t.muted)&&(null==e?void 0:e.volume)===(null==t?void 0:t.volume)},changed$:r,onError:a})},x=function(e,t){if(e.id===t)return!0;var i=h(t.split("|"),3);i[0];var r=i[1],a=i[2];return e.language===r&&e.label===a},A=function(){function t(){this.available$=new e.Subject,this.current$=new e.ValueSubject(void 0),this.error$=new e.Subject,this.subscription=new e.Subscription,this.externalTracks=new Map}return t.prototype.connect=function(t,i,r){var a=this;this.video=t,this.cueSettings=i.textTrackCuesSettings,this.subscribe();var n=function(e){a.error$.next({id:"TextTracksManager",message:"Generic HtmlVideoTextTrackManager error",thrown:e})};this.subscription.add(this.available$.subscribe(r.availableTextTracks$)),this.subscription.add(this.current$.subscribe(r.currentTextTrack$)),this.subscription.add(this.error$.subscribe(r.error$)),this.subscription.add(P(i.externalTextTracks,(function(){return Object.values(a.externalTracks)}),(function(t){e.isNonNullable(t)&&a.setExternal(t)}),{equal:function(t,i){return e.isNonNullable(t)&&e.isNonNullable(i)&&t.length===i.length&&t.every((function(e,t){return e.id===i[t].id}))},changed$:this.available$.pipe(e.map((function(e){return e.filter((function(e){return"external"===e.type}))}))),onError:n})),this.subscription.add(P(i.currentTextTrack,(function(){if(!a.video){var e=a.htmlTextTracksAsArray().find((function(e){return"showing"===e.mode}));return e&&a.htmlTextTrackToITextTrack(e).id}}),(function(e){return a.select(e)}),{changed$:this.current$,onError:n})),this.subscription.add(P(i.textTrackCuesSettings,(function(){return{}}),(function(){var e,t;if(a.video)try{for(var i=p(a.htmlTextTracksAsArray()),r=i.next();!r.done;r=i.next()){var n=r.value;a.applyCueSettings(n.cues),a.applyCueSettings(n.activeCues)}}catch(t){e={error:t}}finally{try{r&&!r.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}})))},t.prototype.subscribe=function(){var t=this;e.assertNonNullable(this.video);var i=this.video.textTracks;this.subscription.add(e.fromEvent(i,"addtrack").subscribe((function(){var e=t.current$.getValue();t.select(e)}))),this.subscription.add(e.merge(e.fromEvent(i,"addtrack"),e.fromEvent(i,"removetrack"),e.observableFrom(["init"])).pipe(e.map((function(){return t.htmlTextTracksAsArray().map((function(e){return t.htmlTextTrackToITextTrack(e)}))})),e.filterChanged((function(e,t){return e.length===t.length&&e.every((function(e,i){return e.id===t[i].id}))}))).subscribe(this.available$)),this.subscription.add(e.merge(e.fromEvent(i,"change"),e.observableFrom(["init"])).pipe(e.map((function(){return t.htmlTextTracksAsArray().find((function(e){return"showing"===e.mode}))})),e.map((function(e){return e&&t.htmlTextTrackToITextTrack(e).id})),e.filterChanged()).subscribe(this.current$));var r=function(e){var i,r;return t.applyCueSettings(null!==(r=null===(i=e.target)||void 0===i?void 0:i.activeCues)&&void 0!==r?r:null)};this.subscription.add(e.fromEvent(i,"addtrack").subscribe((function(e){var i,a;null===(i=e.track)||void 0===i||i.addEventListener("cuechange",r);var n=function(e){var i,r,a,s,o,u=null!==(r=null===(i=e.target)||void 0===i?void 0:i.cues)&&void 0!==r?r:null;u&&u.length&&(t.applyCueSettings(null!==(s=null===(a=e.target)||void 0===a?void 0:a.cues)&&void 0!==s?s:null),null===(o=e.target)||void 0===o||o.removeEventListener("cuechange",n))};null===(a=e.track)||void 0===a||a.addEventListener("cuechange",n)}))),this.subscription.add(e.fromEvent(i,"removetrack").subscribe((function(e){var t;null===(t=e.track)||void 0===t||t.removeEventListener("cuechange",r)})))},t.prototype.applyCueSettings=function(t){var i,r;if(t&&t.length){var a=this.cueSettings.getState();try{for(var n=p(Array.from(t)),s=n.next();!s.done;s=n.next()){var o=s.value;e.isNonNullable(a.align)&&(o.align=a.align),e.isNonNullable(a.position)&&(o.position=a.position),e.isNonNullable(a.size)&&(o.size=a.size),e.isNonNullable(a.line)&&(o.line=a.line)}}catch(e){i={error:e}}finally{try{s&&!s.done&&(r=n.return)&&r.call(n)}finally{if(i)throw i.error}}}},t.prototype.htmlTextTracksAsArray=function(i){void 0===i&&(i=!1),e.assertNonNullable(this.video);var r=f([],h(this.video.textTracks),!1);return i?r:r.filter(t.isHealthyTrack)},t.prototype.htmlTextTrackToITextTrack=function(e){var t=e.language,i=e.label,r=""!==e.id?e.id:function(e){return["__",e.language,e.label].join("|")}(e);return this.externalTracks.has(r)?{id:r,type:"external",language:t,label:i,url:this.externalTracks.get(r).url}:{id:r,type:"internal",language:t,label:i}},t.isHealthyTrack=function(e){return"metadata"!==e.kind&&(""!==e.id||""!==e.label||""!==e.language)},t.prototype.setExternal=function(e){var t=this;e.filter((function(e){var i=e.id;return!t.externalTracks.has(i)})).forEach((function(e){return t.attach(e)})),Array.from(this.externalTracks.keys()).filter((function(t){return!e.find((function(e){return e.id===t}))})).forEach((function(e){return t.detach(e)}))},t.prototype.select=function(t){var i,r;e.assertNonNullable(this.video);try{for(var a=p(this.htmlTextTracksAsArray(!0)),n=a.next();!n.done;n=a.next()){var s=n.value;e.isNonNullable(t)&&x(s,t)?s.mode="showing":s.mode="disabled"}}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}},t.prototype.destroy=function(){var e,t;if(this.subscription.unsubscribe(),this.video)try{for(var i=p(Array.from(this.video.getElementsByTagName("track"))),r=i.next();!r.done;r=i.next()){var a=r.value,n=a.getAttribute("id");n&&this.externalTracks.has(n)&&this.video.removeChild(a)}}catch(t){e={error:t}}finally{try{r&&!r.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}this.externalTracks.clear()},t.prototype.attach=function(t){e.assertNonNullable(this.video);var i=document.createElement("track");i.setAttribute("src",t.url),i.setAttribute("id",t.id),t.label&&i.setAttribute("label",t.label),t.language&&i.setAttribute("srclang",t.language),this.externalTracks.set(t.id,t),this.video.appendChild(i)},t.prototype.detach=function(t){e.assertNonNullable(this.video);var i=Array.prototype.find.call(this.video.getElementsByTagName("track"),(function(e){return e.getAttribute("id")===t}));i&&this.video.removeChild(i),this.externalTracks.delete(t)},t}(),N=function(e){var t=document.createElement("video");return t.setAttribute("crossorigin","anonymous"),t.setAttribute("playsinline","playsinline"),e.appendChild(t),t},$=function(t){return new e.Observable((function(i){var r=0;return(new e.Subscription).add(e.fromEvent(t,"loadstart").subscribe((function(){r=Date.now()}))).add(e.fromEvent(t,"loadeddata").subscribe((function(){i.next(Date.now()-r)})))})).pipe(e.once())},D=function(){function e(e){this._buffer=[],this._source=e}return e.prototype.fill=function(){this._buffer=[];for(var e=this._source.currentTime,t=0,i=this._source.buffered.length;t<i;t++){var r=this._source.buffered.start(t),a=this._source.buffered.end(t);r>e&&r-e<3&&(r=e),this._buffer.push({start:r,end:a,i:t})}return this._buffer.sort((function(e,t){return e.start-t.start})),this._buffer},e.prototype.getByTime=function(e){return this._buffer.find((function(t){return e>=t.start&&e<t.end}))},e.prototype.getNextWithGap=function(e,t){var i=this.getNext(e);if(i&&i.start-e.end<(t||3))return i},e.prototype.getNext=function(e){var t=this._buffer.indexOf(e);if(~t&&this._buffer.length-1>t)return this._buffer[++t]},e.prototype.smartRemove=function(e,t,i){this._buffer.forEach((function(r){var a=r.start,n=r.end,s=a>=e&&a<t,o=n>=e&&n<t;s&&o||(s?i(t,n):o?i(a,e):a<e&&n>t?(i(t,n),i(a,e)):i(a,n))}))},e.prototype.destroy=function(){this._buffer=[]},e}(),_=function(e,t,i){void 0===i&&(i=3);for(var r=0,a=0,n=0;n<e.length;n++){var s=e.start(n),o=e.end(n);if(s<=t&&t<=o){if(r=s,a=o,!i)return{start:r,end:a};for(var u=n-1;u>=0;u--)e.end(u)+i>=r&&(r=e.start(u));for(var d=n+1;d<e.length;d++)e.start(d)-i<=a&&(a=e.end(d))}}return{start:r,end:a}},I=function(t){return new e.Observable((function(i){var r=0;return(new e.Subscription).add(e.fromEvent(t,"loadstart").subscribe((function(){r=Date.now()}))).add(e.fromEvent(t,"loadedmetadata").subscribe((function(){i.next(Date.now()-r)})))})).pipe(e.once())},R=function(t){var i=function(i,r){return void 0===r&&(r=function(){}),e.fromEvent(t,i).pipe(e.map(r))},r=e.merge.apply(void 0,f([],h(["waiting","pause","canplay","canplaythrough","playing","seeked","ended"].map((function(i){return e.fromEvent(t,i)}))),!1)).pipe(e.map((function(){return t.readyState<3})),e.filterChanged()),a=e.merge(e.fromEvent(t,"progress"),e.fromEvent(t,"timeupdate")).pipe(e.map((function(){return _(t.buffered,t.currentTime)}))),n=e.fromEvent(t,"volumechange").pipe(e.debounce(0),e.map((function(){return{muted:t.muted,volume:t.volume}}))),s=e.fromEvent(t,"error").pipe(e.map((function(){var e=t.error;return{id:e?"MediaError#"+e.code:"HtmlVideoError",message:e?e.message:"Error event from HTML video element"}})));return{play$:i("play"),pause$:i("pause"),canplay$:i("canplay"),ended$:i("ended"),error$:s,seeked$:i("seeked"),seeking$:i("seeking"),progress$:i("progress"),loadedMetadata$:i("loadedmetadata"),loadedData$:i("loadeddata"),timeUpdate$:i("timeupdate",(function(){return t.currentTime})),durationChange$:i("durationchange",(function(){return t.duration})),isBuffering$:r,currentBuffer$:a,volumeState$:n,firstBytes$:I(t),firstFrame$:$(t)}},C=function(e,t,i){void 0===i&&(i=!1);var r=e.getTransition();!i&&r&&r.to!==t||e.setState(t)};exports.VideoQuality=void 0,(y=exports.VideoQuality||(exports.VideoQuality={})).INVARIANT="Invariant quality",y.Q_144P="144p",y.Q_240P="240p",y.Q_360P="360p",y.Q_480P="480p",y.Q_720P="720p",y.Q_1080P="1080p",y.Q_1440P="1440p",y.Q_2160P="2160p",y.Q_4320P="4320p";var L,O=((T={})[exports.VideoQuality.Q_144P]=144,T[exports.VideoQuality.Q_240P]=240,T[exports.VideoQuality.Q_360P]=360,T[exports.VideoQuality.Q_480P]=480,T[exports.VideoQuality.Q_720P]=720,T[exports.VideoQuality.Q_1080P]=1080,T[exports.VideoQuality.Q_1440P]=1440,T[exports.VideoQuality.Q_2160P]=2160,T[exports.VideoQuality.Q_4320P]=4320,T),V=function(e,t){return O[e]>O[t]},M=function(e,t){return O[e]<O[t]},B=Object.keys(O).sort((function(e,t){return M(e,t)?-1:1})),U=function(e,t){var i=e.width,r=e.height;return function(e,t){return void 0===t&&(t=.02),f([],h(B),!1).find((function(i){return O[i]*(1+t)>=e}))}(Math.min(i,r),t)},F=function(e){return e===exports.VideoQuality.INVARIANT},H=!1,q={},G=function(e){e(q)},Y=function(e,t){var i;H&&(q.meta=null!==(i=q.meta)&&void 0!==i?i:{},q.meta[e]=t)},j=function(){function e(e){this.name=e}return e.prototype.next=function(e){var t,i;if(H){q.series=null!==(t=q.series)&&void 0!==t?t:{};var r=null!==(i=q.series[this.name])&&void 0!==i?i:[];r.push([Date.now(),e]),q.series[this.name]=r}},e}(),Q=new j("best_bitrate"),z=function(t,i){var r,a,n=i.container,s=i.throughput,o=i.tuning,u=o.usePixelRatio&&null!==(r=window.devicePixelRatio)&&void 0!==r?r:1,d=o.limitByContainer&&n&&n.width>0&&n.height>0&&{width:n.width*u*o.containerSizeFactor,height:n.height*u*o.containerSizeFactor},c=d&&U(d,0),l=t.filter((function(e){return!F(e.quality)})).sort((function(e,t){return V(e.quality,t.quality)?-1:1})),p=l.filter((function(t){var i=!c||M(t.quality,c),r=!(e.isNonNullable(s)&&isFinite(s)&&e.isNonNullable(t.bitrate))||s>=t.bitrate*o.bitrateFactor;return i&&r})),h=p[0];if(h&&h.bitrate&&Q.next(h.bitrate),o.stepQualityDown&&h){if(v=p[1])return v}else if(o.stepQualityDownExceptForTop&&h){var f=h===l[0],v=p[1];if(f&&h.bitrate&&s){var m=2*h.bitrate;if(s>=m*o.bitrateFactor)return h}if(v)return v}return null!==(a=null!=h?h:l[l.length-1])&&void 0!==a?a:t[0]},W=function(e){return new URL(e).hostname},J=function(t,i){return void 0===i&&(i=300),window.ResizeObserver?new e.Observable((function(r){var a=new ResizeObserver(u.default((function(t){var i,a,n=t[0];n&&(n.contentBoxSize&&n.contentBoxSize[0]?(a=n.contentBoxSize[0].blockSize,i=n.contentBoxSize[0].inlineSize):n.contentRect&&(i=n.contentRect.width,a=n.contentRect.height),e.isNonNullable(i)&&e.isNonNullable(a)&&r.next({width:i,height:a}))}),i));return a.observe(t),function(){return a.disconnect()}})):new e.Observable((function(e){var i=t.getBoundingClientRect(),r=i.width,a=i.height;e.next({width:r,height:a})}))},X=function(){function t(t){this.transitionStarted$=new e.Subject,this.transitionEnded$=new e.Subject,this.transitionUpdated$=new e.Subject,this.forceChanged$=new e.Subject,this.stateChangeStarted$=e.merge(this.transitionStarted$,this.transitionUpdated$),this.stateChangeEnded$=e.merge(this.transitionEnded$,this.forceChanged$),this.state=t}return t.prototype.setState=function(e){var t=this.transition,i=this.state;this.transition=void 0,this.state=e,t?t.to===e?this.transitionEnded$.next(t):this.forceChanged$.next({from:t.from,to:e,canceledTransition:t}):this.forceChanged$.next({from:i,to:e,canceledTransition:t})},t.prototype.startTransitionTo=function(t){var i=this.transition,r=this.state;r===t||e.isNonNullable(i)&&i.to===t||(this.state=t,i?(this.transition={from:i.from,to:t,canceledTransition:i},this.transitionUpdated$.next(this.transition)):(this.transition={from:r,to:t},this.transitionStarted$.next(this.transition)))},t.prototype.getTransition=function(){return this.transition},t.prototype.getState=function(){return this.state},t}();!function(e){e[e.HEADER=0]="HEADER",e[e.PARAM=1]="PARAM"}(L||(L={}));var K,Z,ee,te=function(t,i,r,a,n,s){return void 0===a&&(a=L.HEADER),c(void 0,void 0,void 0,(function(){var o,u,p,f,v,m,S,b,g,y,T,E,P,k,w,x,A,N;return l(this,(function($){switch($.label){case 0:switch(o=new Headers(null===(w=null==s?void 0:s.fetchInit)||void 0===w?void 0:w.headers),u=t,a){case L.HEADER:o.append("Range",i+"-"+r);break;case L.PARAM:(p=new URL(u,location.href)).searchParams.append("bytes",i+"-"+r),u=p.toString();break;default:e.assertNever(a)}return[4,fetch(u,d(d({},null!==(x=null==s?void 0:s.fetchInit)&&void 0!==x?x:{}),{headers:o}))];case 1:return(f=$.sent()).ok&&f.body?(v=h(f.body.tee(),2),m=v[0],S=v[1],b=m.getReader(),null===(A=null==s?void 0:s.throughputEstimator)||void 0===A||A.stream$.next(S),g=parseInt(null!==(N=f.headers.get("Content-Length"))&&void 0!==N?N:"",10),y=0,T=new ArrayBuffer(g),E=new Uint8Array(T),P=new DataView(T),k=function(e){var t=e.done,i=e.value;return c(void 0,void 0,void 0,(function(){return l(this,(function(e){switch(e.label){case 0:return t?(null==n||n(P,y),[3,3]):[3,1];case 1:return i?(E.set(i,y),y+=i.byteLength,null==n||n(P,y),[4,null==b?void 0:b.read().then(k)]):[3,3];case 2:e.sent(),e.label=3;case 3:return[2]}}))}))},[4,null==b?void 0:b.read().then(k)]):[2,Promise.reject(new Error("Fetch error "+f.status+": "+f.statusText))];case 2:return $.sent(),[2,T]}}))}))},ie=function(e){if(!(e instanceof DOMException)||"AbortError"!==e.name&&20!==e.code)throw e};!function(e){e[e.EBML=440786851]="EBML",e[e.EBMLVersion=17030]="EBMLVersion",e[e.EBMLReadVersion=17143]="EBMLReadVersion",e[e.EBMLMaxIDLength=17138]="EBMLMaxIDLength",e[e.EBMLMaxSizeLength=17139]="EBMLMaxSizeLength",e[e.DocType=17026]="DocType",e[e.DocTypeVersion=17031]="DocTypeVersion",e[e.DocTypeReadVersion=17029]="DocTypeReadVersion",e[e.Void=236]="Void",e[e.Segment=408125543]="Segment",e[e.SeekHead=290298740]="SeekHead",e[e.Seek=19899]="Seek",e[e.SeekID=21419]="SeekID",e[e.SeekPosition=21420]="SeekPosition",e[e.Info=357149030]="Info",e[e.TimestampScale=2807729]="TimestampScale",e[e.Duration=17545]="Duration",e[e.Tracks=374648427]="Tracks",e[e.Chapters=272869232]="Chapters",e[e.Cluster=524531317]="Cluster",e[e.Attachments=423732329]="Attachments",e[e.Tags=307544935]="Tags",e[e.Cues=475249515]="Cues",e[e.CuePoint=187]="CuePoint",e[e.CueTime=179]="CueTime",e[e.CueTrackPositions=183]="CueTrackPositions",e[e.CueTrack=247]="CueTrack",e[e.CueClusterPosition=241]="CueClusterPosition",e[e.CueRelativePosition=240]="CueRelativePosition",e[e.CueDuration=178]="CueDuration",e[e.CueBlockNumber=21368]="CueBlockNumber",e[e.CueCodecState=234]="CueCodecState",e[e.CueReference=219]="CueReference",e[e.CueRefTime=150]="CueRefTime"}(Z||(Z={})),function(e){e.SignedInteger="int",e.UnsignedInteger="uint",e.Float="float",e.String="string",e.UTF8="utf8",e.Date="date",e.Master="master",e.Binary="binary"}(ee||(ee={}));var re,ae=((K={})[Z.EBML]={type:ee.Master},K[Z.EBMLVersion]={type:ee.UnsignedInteger},K[Z.EBMLReadVersion]={type:ee.UnsignedInteger},K[Z.EBMLMaxIDLength]={type:ee.UnsignedInteger},K[Z.EBMLMaxSizeLength]={type:ee.UnsignedInteger},K[Z.DocType]={type:ee.String},K[Z.DocTypeVersion]={type:ee.UnsignedInteger},K[Z.DocTypeReadVersion]={type:ee.UnsignedInteger},K[Z.Void]={type:ee.Binary},K[Z.Segment]={type:ee.Master},K[Z.SeekHead]={type:ee.Master},K[Z.Seek]={type:ee.Master},K[Z.SeekID]={type:ee.Binary},K[Z.SeekPosition]={type:ee.UnsignedInteger},K[Z.Info]={type:ee.Master},K[Z.TimestampScale]={type:ee.UnsignedInteger},K[Z.Duration]={type:ee.Float},K[Z.Tracks]={type:ee.Master},K[Z.Chapters]={type:ee.Master},K[Z.Cluster]={type:ee.Master},K[Z.Attachments]={type:ee.Master},K[Z.Tags]={type:ee.Master},K[Z.Cues]={type:ee.Master},K[Z.CuePoint]={type:ee.Master},K[Z.CueTime]={type:ee.UnsignedInteger},K[Z.CueTrackPositions]={type:ee.Master},K[Z.CueTrack]={type:ee.UnsignedInteger},K[Z.CueClusterPosition]={type:ee.UnsignedInteger},K[Z.CueRelativePosition]={type:ee.UnsignedInteger},K[Z.CueDuration]={type:ee.UnsignedInteger},K[Z.CueBlockNumber]={type:ee.UnsignedInteger},K[Z.CueCodecState]={type:ee.UnsignedInteger},K[Z.CueReference]={type:ee.Master},K[Z.CueRefTime]={type:ee.UnsignedInteger},K),ne=function(e){var t=e.getUint8(0),i=0;128&t?i=1:64&t?i=2:32&t?i=3:16&t&&(i=4);var r=se(e,i),a=r in ae,n=a?ae[r].type:ee.Binary,s=e.getUint8(i),o=0;128&s?o=1:64&s?o=2:32&s?o=3:16&s?o=4:8&s?o=5:4&s?o=6:2&s?o=7:1&s&&(o=8);var u,d=new DataView(e.buffer,e.byteOffset+i+1,o-1),c=((s&255>>o)<<8*(o-1))+se(d),l=i+o;return u=l+c>e.byteLength?new DataView(e.buffer,e.byteOffset+l):new DataView(e.buffer,e.byteOffset+l,c),{tag:a?r:"0x"+r.toString(16).toUpperCase(),type:n,value:u,valueSize:c}},se=function(e,t){switch(void 0===t&&(t=e.byteLength),t){case 1:return e.getUint8(0);case 2:return e.getUint16(0);case 3:return e.getUint16(0)<<8|e.getUint8(2);case 4:return e.getUint32(0);case 5:return e.getUint32(0)<<8|e.getUint8(4);case 6:return e.getUint32(0)<<16|e.getUint16(4);case 7:return e.getUint32(0)<<32|e.getUint16(4)<<8|e.getUint8(6);case 8:return e.getUint32(0)<<32|e.getUint32(4)}return 0},oe=function(t,i){switch(i){case ee.SignedInteger:return t.getInt8(0);case ee.UnsignedInteger:return se(t);case ee.Float:return 4===t.byteLength?t.getFloat32(0):t.getFloat64(0);case ee.String:return new TextDecoder("ascii").decode(t);case ee.UTF8:return new TextDecoder("utf-8").decode(t);case ee.Date:return new Date(Date.UTC(2001,0)+t.getInt8(0)).getTime();case ee.Master:case ee.Binary:return t;default:e.assertNever(i)}},ue=function(e,t){for(var i=0;i<e.byteLength;){var r=new DataView(e.buffer,e.byteOffset+i),a=ne(r);if(!t(a))return;a.type===ee.Master&&ue(a.value,t),i=a.value.byteOffset-e.byteOffset+a.valueSize}},de=[Z.Info,Z.SeekHead,Z.Tracks,Z.Chapters,Z.Cluster,Z.Cues,Z.Attachments,Z.Tags],ce=function(e,t,i){return void 0===t&&(t=0),c(void 0,void 0,void 0,(function(){var r,a,n,s,o,u,d,c,p,h,f,v,m,S,b;return l(this,(function(l){switch(l.label){case 0:return r=e.initRange,a=r.from,n=r.to,s=a,o=n,u=!1,e.indexRange&&(d=e.indexRange.from,c=e.indexRange.to,(u=n+1===d)&&(s=Math.min(d,a),o=Math.max(c,n))),s=Math.min(s,0),o+=t,[4,te(e.url,s,o,L.PARAM,void 0,{throughputEstimator:i})];case 1:if(p=l.sent(),!function(e){if(e.getUint32(0)!==Z.EBML)return!1;var t=void 0,i=void 0,r=void 0,a=ne(e);return ue(a.value,(function(e){var a=e.tag,n=e.type,s=e.value;return a===Z.EBMLReadVersion?t=oe(s,n):a===Z.DocType?i=oe(s,n):a===Z.DocTypeReadVersion&&(r=oe(s,n)),!0})),(void 0===t||t<=1)&&void 0!==i&&"webm"===i&&(void 0===r||r<=2)}(h=new DataView(p,a-s,n-s)))throw new Error("Not a valid webm file");return f=le(h),u&&void 0!==d&&void 0!==c?(v=new DataView(p,d-s,c-d),[3,5]):[3,2];case 2:return void 0===f.cuesSeekPosition?[3,4]:(m=f.segmentStart+f.cuesSeekPosition,1048576,[4,te(e.url,m,m+1048576,L.PARAM)]);case 3:return S=l.sent(),v=new DataView(S),[3,5];case 4:throw new ReferenceError("No way to load representation index");case 5:return b=pe(v,f),[2,{dataView:new DataView(p),init:f,segments:b}]}}))}))},le=function(t){var i=void 0,r=void 0,a=void 0,n=void 0,s=!1,o=!1,u=!1,d=void 0,c=void 0;return ue(t,(function(e){var t=e.tag,l=e.type,p=e.value,h=e.valueSize;if(t===Z.SeekID){var f=oe(p,l);c=se(f)}else t!==Z.SeekPosition&&(c=void 0);return t===Z.Segment?(i=p.byteOffset,r=p.byteOffset+h):t===Z.Info?s=!0:t===Z.SeekHead?o=!0:t===Z.TimestampScale?a=oe(p,l):t===Z.Duration?n=oe(p,l):t===Z.SeekPosition&&c===Z.Cues?d=oe(p,l):s&&o&&de.includes(t)&&(u=!0),!u})),e.assertNonNullable(i,"Failed to parse webm Segment start"),e.assertNonNullable(r,"Failed to parse webm Segment end"),e.assertNonNullable(n,"Failed to parse webm Segment duration"),a=null!=a?a:1e6,{segmentStart:Math.round(i/1e9*a*1e3),segmentEnd:Math.round(r/1e9*a*1e3),timeScale:a,segmentDuration:Math.round(n/1e9*a*1e3),cuesSeekPosition:d}},pe=function(t,i){var r,a=!1,n=!1,s=function(t){return e.isNonNullable(t.time)&&e.isNonNullable(t.position)},o=[];return ue(t,(function(e){var t=e.tag,i=e.type,u=e.value;switch(t){case Z.Cues:a=!0;break;case Z.CuePoint:r&&s(r)&&o.push(r),r={};break;case Z.CueTime:r&&(r.time=oe(u,i));break;case Z.CueTrackPositions:break;case Z.CueClusterPosition:r&&(r.position=oe(u,i));break;default:a&&de.includes(t)&&(n=!0)}return!(a&&n)})),r&&s(r)&&o.push(r),o.map((function(e,t){var r=e.time,a=e.position,n=o[t+1];return{status:m.NONE,time:{from:r,to:n?n.time:i.segmentDuration},byte:{from:i.segmentStart+a,to:n?i.segmentStart+n.position-1:i.segmentEnd-1}}}))},he=function(){function t(t,i,r,a){var n=a.throughputEstimator;this.ended$=new e.ValueSubject(!1),this.playingRepresentation$=new e.ValueSubject(void 0),this.error$=new e.Subject,this.subscription=new e.Subscription,this.abortController=new AbortController,this.throughputEstimator=n,this.initData=new Map,this.segments=new Map,this.representations=new Map(r.map((function(e){return[e.id,e]}))),this.kind=t,this.mediaSource=i,this.sourceBuffer=null,this.segmentDownloadPromise=Promise.resolve()}return t.prototype.startWith=function(t){return c(this,void 0,void 0,(function(){var i,r,a,n,s,o,u,c,p,h=this;return l(this,(function(l){switch(l.label){case 0:return i=this.representations.get(t),e.assertNonNullable(i,"Cannot find representation "+t),r=Math.ceil(1e3*i.bitrate/8*1*1.1),this.playingRepresentationId=t,this.downloadingRepresentationId=t,this.sourceBuffer=this.mediaSource.addSourceBuffer(i.mime+'; codecs="'+i.codecs+'"'),this.subscription.add(e.fromEvent(this.sourceBuffer,"updateEnd").subscribe((function(){return h.checkEjectedSegments()}),(function(e){return h.error$.next({id:"SegmentEjection",message:"Error when trying to clear segments ejecte by browser",thrown:e})}))),[4,ce(i,r,this.throughputEstimator)];case 1:return a=l.sent(),n=a.dataView,s=a.segments,o=n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength-r),this.initData.set(t,o),u=s.filter((function(e){return e.byte.from>=n.byteOffset&&e.byte.to<n.byteOffset+n.byteLength})),c=u.at(-1),p=new DataView(n.buffer,n.byteOffset,u.length&&c?Math.min(c.byte.to-n.byteOffset+1,n.byteLength):n.byteLength-r),[4,this.appendDataToBuffer(p)];case 2:return l.sent(),this.segments.set(t,s.map((function(e){return d(d({},e),{status:e.byte.from>=n.byteOffset&&e.byte.to<n.byteOffset+n.byteLength?m.FED:m.NONE})}))),this.maintain(0),[2]}}))}))},t.prototype.switchTo=function(t){var i;return c(this,void 0,void 0,(function(){var r;return l(this,(function(a){switch(a.label){case 0:return t===this.downloadingRepresentationId?[2]:(r=this.initData.get(t))?[3,2]:[4,this.loadAllInits()];case 1:a.sent(),r=this.initData.get(t),a.label=2;case 2:e.assertNonNullable(r,"No init buffer for "+t),e.assertNonNullable(this.sourceBuffer),this.abortController.abort(),this.abortController=new AbortController;try{this.sourceBuffer.abort()}catch(e){this.error$.next({id:"SourceBufferAbort",message:"SourceBuffer.abort() threw",thrown:e})}return[4,this.appendDataToBuffer(r)];case 3:return a.sent(),e.isNonNullable(this.playingRepresentationId)&&(null===(i=this.segments.get(this.playingRepresentationId))||void 0===i||i.forEach((function(e){e.status===m.FED&&(e.status=m.NONE)}))),this.downloadingRepresentationId=t,[2]}}))}))},t.prototype.maintain=function(t){return c(this,void 0,void 0,(function(){var i,r,a,n,s,o,u,d,c,p=this;return l(this,(function(l){switch(l.label){case 0:if(e.isNullable(this.downloadingRepresentationId)||e.isNullable(this.playingRepresentationId)||e.isNullable(this.sourceBuffer)||this.ended$.getValue())return[2];if(i=this.representations.get(this.downloadingRepresentationId),r=this.segments.get(this.downloadingRepresentationId),e.assertNonNullable(i),e.assertNonNullable(r),a=r.find((function(e){return t>=e.time.from&&t<e.time.to})),n=t,this.playingRepresentationId!==this.downloadingRepresentationId)for(n=t+5e3,s=0;s<this.sourceBuffer.buffered.length;s++)if(o=this.sourceBuffer.buffered.start(s),u=this.sourceBuffer.buffered.end(s),t>=o&&t<=u){n=Math.min(n,u);break}return(d=this.selectForwardBufferSegments(r,n)).length?[4,this.loadSegments(d,i)]:[3,2];case 1:l.sent(),l.label=2;case 2:return this.loadAllInitsPromise||!a||a.status!==m.FED||d.length||this.loadAllInits().catch((function(e){return p.error$.next({id:"InitDownload",message:"Error when trying to load all inits",thrown:e})})),(c=r.at(-1))&&a===c&&c.status===m.FED&&this.ended$.next(!0),[2]}}))}))},t.prototype.destroy=function(){this.initData.clear(),this.segments.clear(),this.representations.clear(),this.subscription.unsubscribe(),this.sourceBuffer&&"open"===this.mediaSource.readyState&&(this.sourceBuffer.abort(),this.mediaSource.removeSourceBuffer(this.sourceBuffer)),this.abortController.abort()},t.prototype.selectForwardBufferSegments=function(e,t){var i=e.findIndex((function(e){var i=e.status,r=e.time,a=r.from,n=r.to;return i===m.NONE&&(a>t||a<=t&&n>=t)&&n<=t+3e4}));if(-1===i)return[];for(var r=0,a=[],n=i;n<e.length&&r<=1048576;n++){var s=e[n];r+=s.byte.to+1-s.byte.from,s.status===m.NONE&&a.push(s)}return a},t.prototype.loadSegments=function(e,t){return c(this,void 0,void 0,(function(){var i,r,a,n,s,o,u=this;return l(this,(function(d){if(!e.length)return[2];i=e.at(0).byte.from,r=e.at(-1).byte.to;try{for(a=p(e),n=a.next();!n.done;n=a.next())n.value.status=m.DOWNLOADING}catch(e){s={error:e}}finally{try{n&&!n.done&&(o=a.return)&&o.call(a)}finally{if(s)throw s.error}}return this.segmentDownloadPromise=this.segmentDownloadPromise.then((function(){return c(u,void 0,void 0,(function(){var a,n,s,o,u,d=this;return l(this,(function(c){switch(c.label){case 0:return[4,te(t.url,i,r,L.PARAM,(function(t,r){var a,n,s=function(e){if(e.status===m.DOWNLOADING&&e.byte.from-i>=0&&e.byte.to+1-i<=r){e.status=m.DOWNLOADED;var a=new DataView(t.buffer,t.byteOffset+e.byte.from-i,e.byte.to+1-e.byte.from);d.appendDataToBuffer(a).then((function(){d.playingRepresentationId=d.downloadingRepresentationId,d.playingRepresentation$.next(d.playingRepresentationId),e.status=m.FED}))}};try{for(var o=p(e),u=o.next();!u.done;u=o.next()){s(u.value)}}catch(e){a={error:e}}finally{try{u&&!u.done&&(n=o.return)&&n.call(o)}finally{if(a)throw a.error}}}),{throughputEstimator:this.throughputEstimator,fetchInit:{signal:this.abortController.signal}})];case 1:return a=c.sent(),n=e.at(-1),s=null===(u=this.segments.get(t.id))||void 0===u?void 0:u.at(-1),n&&s&&n.status===m.DOWNLOADING&&n===s&&(n.status=m.DOWNLOADED,o=new DataView(a,n.byte.from-i),this.appendDataToBuffer(o).then((function(){d.playingRepresentationId=d.downloadingRepresentationId,d.playingRepresentation$.next(d.playingRepresentationId),n.status=m.FED}))),[2]}}))}))})).catch(ie).catch((function(e){return u.error$.next({id:"SegmentDownload",message:"Error when fetching segments",thrown:e})})),[2,this.segmentDownloadPromise]}))}))},t.prototype.loadAllInits=function(){return c(this,void 0,void 0,(function(){var e=this;return l(this,(function(t){return this.loadAllInitsPromise||(this.loadAllInitsPromise=Promise.all(Array.from(this.representations.entries()).map((function(t){var i=h(t,2),r=i[0],a=i[1];return e.initData.has(r)?Promise.resolve():ce(a).then((function(t){var i=t.dataView,a=t.segments,n=i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength);e.initData.set(r,n),e.segments.set(r,a)}))}))).then(void 0)),[2,this.loadAllInitsPromise]}))}))},t.prototype.appendDataToBuffer=function(i){return c(this,void 0,void 0,(function(){return l(this,(function(r){switch(r.label){case 0:if(e.assertNonNullable(this.sourceBuffer),this.sourceBuffer.updating)return[3,2];try{this.sourceBuffer.appendBuffer(i)}catch(e){this.error$.next({id:"AppendBuffer",message:"Error appending data to buffer",thrown:e})}return[4,t.waitForBufferUpdate(this.sourceBuffer)];case 1:return r.sent(),[3,5];case 2:return[4,t.waitForBufferUpdate(this.sourceBuffer)];case 3:return r.sent(),[4,this.appendDataToBuffer(i)];case 4:r.sent(),r.label=5;case 5:return[2]}}))}))},t.prototype.checkEjectedSegments=function(){var t,i;if(!e.isNullable(this.sourceBuffer)&&!e.isNullable(this.playingRepresentationId)){var r=this.segments.get(this.playingRepresentationId);e.assertNonNullable(r);for(var a=[],n=0;n<this.sourceBuffer.buffered.length;n++){var s=1e3*this.sourceBuffer.buffered.start(n),o=this.sourceBuffer.buffered.end(n),u=1e3*(o%1>.9?Math.round(o):o);a.push({from:s,to:u})}var d=function(e){var t=a.some((function(t){return t.from<=e.time.from&&t.to>=e.time.to}));e.status!==m.FED||t||(e.status=m.NONE)};try{for(var c=p(r),l=c.next();!l.done;l=c.next()){d(l.value)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(i=c.return)&&i.call(c)}finally{if(t)throw t.error}}}},t.waitForBufferUpdate=function(e){return c(this,void 0,void 0,(function(){return l(this,(function(t){return[2,new Promise((function(t){return e?e.addEventListener("update",(function(){return t()})):t()}))]}))}))},t}(),fe=["timeupdate","progress","play","seeked","stalled"];!function(e){e.NONE="none",e.MANIFEST_LOADED="manifest_loaded",e.REPRESENTATION_SELECTED="representation_selected"}(re||(re={}));var ve,me=function(){function t(t){var i=this;this.element=null,this.source=null,this.manifest=null,this.subscription=new e.Subscription,this.state$=new X(re.NONE),this.currentVideoRepresentation$=new e.ValueSubject(void 0),this.forceEnded$=new e.Subject,this.tick=function(){var e,t;if(i.element){var r=1e3*i.element.currentTime;null===(e=i.videoBufferManager)||void 0===e||e.maintain(r),null===(t=i.audioBufferManager)||void 0===t||t.maintain(r)}},this.throughputEstimator=t.throughputEstimator,this.tuning=t.tuning}return t.prototype.initManifest=function(t,i){return c(this,void 0,void 0,(function(){var r,a=this;return l(this,(function(n){switch(n.label){case 0:return this.element=t,this.subscription.add(e.fromEvent(t,"waiting").subscribe((function(){t.duration-t.currentTime<1e3*a.tuning.endGapTolerange&&a.forceEnded$.next()}))),this.state$.startTransitionTo(re.MANIFEST_LOADED),[4,(s=i,c(void 0,void 0,void 0,(function(){return l(this,(function(e){switch(e.label){case 0:return[4,fetch(s,null==o?void 0:o.fetchInit)];case 1:return[2,e.sent().text()]}}))}))).catch(ie)];case 1:return r=n.sent(),this.manifest=function(e,t){var i,r,a,n,s,o,u,d,c,l,f,m,S,b,g,y,T,E,P,k,w={representations:{video:[],audio:[],text:[]}},x=(new DOMParser).parseFromString(e,"application/xml").children[0].children[0].children,A=0;try{for(var N=p(x),$=N.next();!$.done;$=N.next()){var D=$.value,_=D.getAttribute("mimeType"),I=D.getAttribute("codecs"),R=null!==(s=D.getAttribute("contentType"))&&void 0!==s?s:null==_?void 0:_.split("/")[0],C=D.querySelectorAll("Representation");try{for(var L=(a=void 0,p(C)),O=L.next();!O.done;O=L.next()){var V=O.value,M=null!==(o=V.getAttribute("mimeType"))&&void 0!==o?o:_,B=null!==(d=null!==(u=V.getAttribute("codecs"))&&void 0!==u?u:I)&&void 0!==d?d:"",U=null!==(l=null!==(c=V.getAttribute("contentType"))&&void 0!==c?c:null==M?void 0:M.split("/")[0])&&void 0!==l?l:R,F=parseInt(null!==(f=V.getAttribute("width"))&&void 0!==f?f:"",10),H=parseInt(null!==(m=V.getAttribute("height"))&&void 0!==m?m:"",10),q=parseInt(null!==(S=V.getAttribute("bandwidth"))&&void 0!==S?S:"",10)/1e3,G=(null!==(b=V.getAttribute("id"))&&void 0!==b?b:(A++).toString(10))+"@"+("video"===U?H+"p":"audio"===U?q+"Kbps":B),Y=null!==(T=null===(y=null===(g=V.querySelector("BaseURL"))||void 0===g?void 0:g.textContent)||void 0===y?void 0:y.trim())&&void 0!==T?T:"",j=new URL(Y,t).toString(),Q=h((null!==(P=null===(E=V.querySelector("SegmentBase Initialization"))||void 0===E?void 0:E.getAttribute("range"))&&void 0!==P?P:"").split("-").map((function(e){return parseInt(e,10)})),2),z={from:Q[0],to:Q[1]},W=null===(k=V.querySelector("SegmentBase"))||void 0===k?void 0:k.getAttribute("indexRange"),J=h(W?W.split("-").map((function(e){return parseInt(e,10)})):[],2),X=J[0],K=J[1],Z=W?{from:X,to:K}:void 0;if(U&&M){var ee={video:v.VIDEO,audio:v.AUDIO,text:v.TEXT}[U];ee&&w.representations[ee].push({id:G,kind:ee,initRange:z,indexRange:Z,bitrate:q,mime:M,codecs:B,width:F,height:H,url:j})}}}catch(e){a={error:e}}finally{try{O&&!O.done&&(n=L.return)&&n.call(L)}finally{if(a)throw a.error}}}}catch(e){i={error:e}}finally{try{$&&!$.done&&(r=N.return)&&r.call(N)}finally{if(i)throw i.error}}return w}(null!=r?r:"",i),this.state$.setState(re.MANIFEST_LOADED),[2,this.manifest]}var s,o}))}))},t.prototype.initRepresentations=function(t,i){return c(this,void 0,void 0,(function(){var r,a,n,s,o,u,d,c=this;return l(this,(function(l){switch(l.label){case 0:return e.assertNonNullable(this.manifest),e.assertNonNullable(this.element),this.state$.startTransitionTo(re.REPRESENTATION_SELECTED),this.source=new MediaSource,this.element.src=URL.createObjectURL(this.source),r=new Promise((function(e){var t;return null===(t=c.source)||void 0===t?void 0:t.addEventListener("sourceopen",e)})),a={throughputEstimator:this.throughputEstimator},this.videoBufferManager=new he(v.VIDEO,this.source,this.manifest.representations.video,a),this.audioBufferManager=new he(v.AUDIO,this.source,this.manifest.representations.audio,a),this.subscription.add(e.merge(this.forceEnded$,e.combine({video:this.videoBufferManager.ended$,audio:this.audioBufferManager.ended$}).pipe(e.filter((function(e){return Object.values(e).every((function(e){return!0===e}))})))).subscribe((function(){var e;"open"===(null===(e=c.source)||void 0===e?void 0:e.readyState)&&c.source.endOfStream()}))),this.subscription.add(this.videoBufferManager.playingRepresentation$.subscribe(this.currentVideoRepresentation$)),[4,r];case 1:return l.sent(),[4,Promise.all([this.videoBufferManager.startWith(t),this.audioBufferManager.startWith(i)])];case 2:l.sent(),this.state$.setState(re.REPRESENTATION_SELECTED);try{for(n=p(fe),s=n.next();!s.done;s=n.next())o=s.value,this.element.addEventListener(o,this.tick)}catch(e){u={error:e}}finally{try{s&&!s.done&&(d=n.return)&&d.call(n)}finally{if(u)throw u.error}}return this.tick(),[2]}}))}))},t.prototype.switchRepresentation=function(t,i){return c(this,void 0,void 0,(function(){var r,a;return l(this,(function(n){return r=(a={},a[v.VIDEO]=this.videoBufferManager,a[v.AUDIO]=this.audioBufferManager,a[v.TEXT]=null,a)[t],e.assertNonNullable(r),[2,r.switchTo(i)]}))}))},t.prototype.seek=function(t){e.assertNonNullable(this.element),e.assertNonNullable(this.videoBufferManager),e.assertNonNullable(this.audioBufferManager),this.videoBufferManager.maintain(t),this.audioBufferManager.maintain(t),this.element.currentTime=t/1e3},t.prototype.stop=function(){var e,t;this.element=null,this.source=null,this.manifest=null,this.currentVideoRepresentation$.next(void 0),null===(e=this.videoBufferManager)||void 0===e||e.destroy(),this.videoBufferManager=null,null===(t=this.audioBufferManager)||void 0===t||t.destroy(),this.audioBufferManager=null,this.state$.setState(re.NONE)},t.prototype.destroy=function(){var e,t,i;this.subscription.unsubscribe(),this.stop();try{for(var r=p(fe),a=r.next();!a.done;a=r.next()){var n=a.value;null===(i=this.element)||void 0===i||i.removeEventListener(n,this.tick)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=r.return)&&t.call(r)}finally{if(e)throw e.error}}this.source=null},t}();!function(e){e.STOPPED="stopped",e.READY="ready",e.PLAYING="playing",e.PAUSED="paused"}(ve||(ve={}));var Se,be=function(e){var t=e.id,i=e.width,r=e.height,a=e.bitrate,n=U({width:i,height:r});return n&&{id:t,quality:n,bitrate:a,size:{width:i,height:r}}},ge=function(e,t,i){var r,a=Array.from(t).sort((function(e,t){return t.bitrate-e.bitrate})).indexOf(i);return null!==(r=e.at(Math.round(e.length*a/t.length)))&&void 0!==r?r:e.at(-1)},ye=function(){function t(t){var i=this;this.subscription=new e.Subscription,this.videoState=new X(ve.STOPPED),this.elementSize$=new e.ValueSubject(void 0),this.textTracksManager=new A,this.videoTracks=[],this.syncPlayback=function(){var t=i.videoState.getState(),r=i.params.desiredState.playbackState.getState(),a=i.params.desiredState.playbackState.getTransition(),n=i.params.desiredState.seekPosition.getTransition();if(!i.videoState.getTransition()){var s=null==n?void 0:n.to;if((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(s)&&t!==ve.STOPPED&&r!==exports.PlaybackState.STOPPED&&i.seek(s),r!==exports.PlaybackState.STOPPED){if(t===ve.STOPPED)return i.videoState.startTransitionTo(ve.READY),void i.prepare();switch(t){case ve.READY:return void(r===exports.PlaybackState.PAUSED?(i.videoState.setState(ve.PAUSED),C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):r===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(ve.PLAYING),i.playIfAllowed()));case ve.PLAYING:return void(r===exports.PlaybackState.PAUSED?(i.videoState.startTransitionTo(ve.PAUSED),i.video.pause()):(null==a?void 0:a.to)===exports.PlaybackState.PLAYING&&C(i.params.desiredState.playbackState,exports.PlaybackState.PLAYING));case ve.PAUSED:return void(r===exports.PlaybackState.PLAYING?(i.videoState.startTransitionTo(ve.PLAYING),i.playIfAllowed()):(null==a?void 0:a.to)===exports.PlaybackState.PAUSED&&C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED));default:return e.assertNever(t)}}else t!==ve.STOPPED&&(i.videoState.startTransitionTo(ve.STOPPED),i.player.stop(),i.video.setAttribute("src",""),i.video.load(),i.params.output.position$.next(0),i.params.output.duration$.next(1/0),i.params.output.currentBuffer$.next(void 0),i.params.output.hostname$.next(void 0),i.videoState.setState(ve.STOPPED),C(i.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0))}},this.params=t,this.video=N(this.params.container),this.params.output.element$.next(this.video),this.params.output.availableVideoTracks$.next([]),this.params.output.hostname$.next(W(this.params.source.url)),this.player=new me({throughputEstimator:this.params.dependencies.throughputEstimator,tuning:this.params.tuning}),this.subscribe()}return t.prototype.subscribe=function(){var t=this,i=this.params,r=i.output,a=i.desiredState,n=R(this.video),s=function(e){r.error$.next({id:"DashVKProvider",message:"DashVKProvider internal logic error",thrown:e})},o=function(e,i){return t.subscription.add(e.subscribe(i,s))};o(n.timeUpdate$,r.position$),o(n.durationChange$,r.duration$),o(n.ended$,r.endedEvent$),o(n.error$,r.error$),o(n.isBuffering$,r.isBuffering$),o(n.currentBuffer$,r.currentBuffer$),o(n.firstBytes$,r.firstBytesEvent$),o(n.firstFrame$,r.firstFrameEvent$),this.subscription.add(n.seeked$.subscribe((function(){return a.seekPosition.setState(void 0)}),s)),this.subscription.add(k(this.video,a.isLooped,s)),this.subscription.add(w(this.video,a.volume,n.volumeState$,s)),this.subscription.add(n.volumeState$.subscribe(this.params.output.volume$,s)),this.subscription.add(n.play$.subscribe((function(){t.videoState.setState(ve.PLAYING),C(a.playbackState,exports.PlaybackState.PLAYING)}),s)).add(n.pause$.subscribe((function(){t.videoState.setState(ve.PAUSED),C(a.playbackState,exports.PlaybackState.PAUSED)}),s)).add(n.canplay$.subscribe((function(){t.videoState.getState()===ve.PLAYING&&t.playIfAllowed()}),s)),this.subscription.add(this.player.state$.stateChangeEnded$.pipe(e.filter((function(e){return e.to===re.REPRESENTATION_SELECTED}))).subscribe((function(){t.videoState.setState(ve.READY)}))),this.subscription.add(e.merge(this.player.state$.stateChangeEnded$,a.videoTrack.stateChangeStarted$,a.autoVideoTrackSwitching.transitionStarted$,this.params.dependencies.throughputEstimator.estimation$,this.elementSize$).subscribe((function(){var i,r,n,s=t.player.state$.getState(),o=t.player.state$.getTransition();if(s!==re.NONE&&t.videoTracks.length){var u=s===re.MANIFEST_LOADED&&!o,c=a.autoVideoTrackSwitching.getState(),l=a.videoTrack.getState(),p=null===(i=t.videoTracks.find((function(e){return e.track.id===l})))||void 0===i?void 0:i.track;a.autoVideoTrackSwitching.getTransition()&&a.autoVideoTrackSwitching.setState(c);var h=z(t.videoTracks.map((function(e){return e.track})),{container:t.elementSize$.getValue(),throughput:t.params.dependencies.throughputEstimator.estimation$.getValue(),tuning:d(d({},t.params.tuning.autoTrackSelection),{bitrateFactor:1.4*t.params.tuning.autoTrackSelection.bitrateFactor})});if(u){var f=null!=p?p:h,m=f&&(null===(r=t.videoTracks.find((function(e){return e.track===f})))||void 0===r?void 0:r.representation);e.assertNonNullable(m);var S=ge(t.audioRepresentations,t.videoTracks.map((function(e){return e.representation})),m);e.assertNonNullable(S),t.player.initRepresentations(m.id,S.id)}else{var b=c?null!=h?h:p:null!=p?p:h;if(m=b&&(null===(n=t.videoTracks.find((function(e){return e.track===b})))||void 0===n?void 0:n.representation)){S=ge(t.audioRepresentations,t.videoTracks.map((function(e){return e.representation})),m);t.player.switchRepresentation(v.VIDEO,m.id),S&&t.player.switchRepresentation(v.AUDIO,S.id)}}}}))),this.subscription.add(this.player.currentVideoRepresentation$.pipe(e.filterChanged(),e.map((function(e){var i;return e&&(null===(i=t.videoTracks.find((function(t){return t.representation.id===e})))||void 0===i?void 0:i.track)}))).subscribe(r.currentVideoTrack$)),o(J(this.video),this.elementSize$),this.textTracksManager.connect(this.video,a,r);var u=e.merge(a.playbackState.stateChangeStarted$,a.videoTrack.stateChangeStarted$,a.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0));this.subscription.add(u.subscribe(this.syncPlayback,s))},t.prototype.prepare=function(){return c(this,void 0,void 0,(function(){var e,t,i,r,a,n,s;return l(this,(function(o){switch(o.label){case 0:return[4,this.player.initManifest(this.video,this.params.source.url)];case 1:e=o.sent(),this.videoTracks=[];try{for(t=p(e.representations.video),i=t.next();!i.done;i=t.next())r=i.value,(a=be(r))&&this.videoTracks.push({track:a,representation:r})}catch(e){n={error:e}}finally{try{i&&!i.done&&(s=t.return)&&s.call(t)}finally{if(n)throw n.error}}return this.audioRepresentations=Array.from(e.representations.audio).sort((function(e,t){return t.bitrate-e.bitrate})),this.params.output.availableVideoTracks$.next(this.videoTracks.map((function(e){return e.track}))),[2]}}))}))},t.prototype.seek=function(e){this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.player.seek(1e3*e)},t.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.video.remove(),this.params.output.element$.next(void 0),this.player.destroy()},t.prototype.playIfAllowed=function(){var e=this;E(this.video).then((function(t){t||(e.videoState.setState(ve.PAUSED),C(e.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0))}))},t}();!function(e){e[e.OFFSET_P=0]="OFFSET_P",e[e.PLAYBACK_SHIFT=1]="PLAYBACK_SHIFT"}(Se||(Se={}));var Te,Ee=function(t,i,r){switch(void 0===i&&(i=0),void 0===r&&(r=Se.OFFSET_P),r){case Se.OFFSET_P:return t.replace("_offset_p",0===i?"":"_"+i.toFixed(0));case Se.PLAYBACK_SHIFT:if(0===i)return t;var a=new URL(t);return a.searchParams.append("playback_shift",i.toFixed(0)),a.toString();default:e.assertNever(r)}return t};!function(e){e.STOPPED="stopped",e.READY="ready",e.PLAYING="playing",e.PAUSED="paused"}(Te||(Te={}));var Pe,ke=function(){function t(t){var i=this;this.subscription=new e.Subscription,this.loadMediaTimeoutSubscription=new e.Subscription,this.videoState=new X(Te.STOPPED),this.syncPlayback=function(){var t=i.videoState.getState(),r=i.videoState.getTransition(),a=i.params.desiredState.playbackState.getState(),n=i.params.desiredState.playbackState.getTransition(),s=i.params.desiredState.seekPosition.getTransition();if(i.log({message:"[syncPlayback] videoState: "+t+"; videoTransition: "+JSON.stringify(r)+"; desiredPlaybackState: "+a+"; desiredPlaybackStateTransition: "+i.params.desiredState.playbackState.getTransition()+"; seekPositionTransition: "+JSON.stringify(s)+";"}),a!==exports.PlaybackState.STOPPED){if(!r){var o=null==s?void 0:s.to;if((null==n?void 0:n.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(o)&&t!==Te.STOPPED)return i.params.desiredState.seekPosition.setState(o),i.params.desiredState.seekPosition.startTransitionTo(void 0),void i.seek(o);switch(a){case exports.PlaybackState.PLAYING:switch(t){case Te.PLAYING:break;case Te.PAUSED:case Te.READY:i.videoState.startTransitionTo(Te.PLAYING),i.params.connection.remotePlayerController.playOrPause();break;case Te.STOPPED:i.videoState.startTransitionTo(Te.READY),i.prepare();break;default:e.assertNever(t)}break;case exports.PlaybackState.PAUSED:switch(t){case Te.PLAYING:i.videoState.startTransitionTo(Te.PAUSED),i.params.connection.remotePlayerController.playOrPause();break;case Te.PAUSED:break;case Te.READY:i.videoState.startTransitionTo(Te.PAUSED),i.videoState.setState(Te.PAUSED);break;case Te.STOPPED:i.videoState.startTransitionTo(Te.READY),i.prepare();break;default:e.assertNever(t)}break;default:e.assertNever(a)}}}else t!==Te.STOPPED&&(i.videoState.startTransitionTo(Te.STOPPED),i.stop())},this.params=t,this.log=this.params.dependencies.logger.createComponentLog("ChromecastProvider"),this.log({message:"constructor, format: "+t.format}),this.params.output.isLive$.next(function(t){switch(t){case exports.VideoFormat.MPEG:case exports.VideoFormat.DASH:case exports.VideoFormat.DASH_SEP:case exports.VideoFormat.DASH_ONDEMAND:case exports.VideoFormat.DASH_WEBM:case exports.VideoFormat.DASH_WEBM_VK:case exports.VideoFormat.HLS:case exports.VideoFormat.HLS_JS:case exports.VideoFormat.HLS_ONDEMAND:return!1;case exports.VideoFormat.HLS_LIVE:case exports.VideoFormat.DASH_LIVE:case exports.VideoFormat.DASH_LIVE_WEBM:return!0;default:return e.assertNever(t)}}(t.format)),this.handleRemoteVolumeChange({volume:this.params.connection.remotePlayer.volumeLevel,muted:this.params.connection.remotePlayer.isMuted});var r=this.params.connection.session.getMediaSession();r&&this.restoreSession(r),this.subscribe()}return t.prototype.destroy=function(){this.log({message:"[destroy]"}),this.subscription.unsubscribe()},t.prototype.subscribe=function(){var t=this;this.subscription.add(this.loadMediaTimeoutSubscription);var i=new e.Subscription;this.subscription.add(i),this.subscription.add(e.merge(this.videoState.stateChangeStarted$.pipe(e.map((function(e){return"stateChangeStarted$ "+JSON.stringify(e)}))),this.videoState.stateChangeEnded$.pipe(e.map((function(e){return"stateChangeEnded$ "+JSON.stringify(e)})))).subscribe((function(e){return t.log({message:"[videoState] "+e})})));var r=function(e,i){return t.subscription.add(e.subscribe(i))};if(this.params.output.isLive$.getValue())this.params.output.position$.next(0),this.params.output.duration$.next(0);else{var a=new e.Subject;i.add(a.pipe(e.debounce(500)).subscribe((function(e){t.params.desiredState.seekPosition.setState(e),t.params.desiredState.seekPosition.startTransitionTo(void 0),t.params.desiredState.seekPosition.setState(void 0)})));var n=NaN;i.add(e.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.CURRENT_TIME_CHANGED).subscribe((function(i){t.logRemoteEvent(i);var r=i.value;t.params.output.position$.next(r);var s=t.params.desiredState.seekPosition.getTransition();e.isNonNullable(s)&&e.isNullable(s.to)?t.params.desiredState.seekPosition.setState(void 0):Math.abs(r-n)>5&&a.next(r),n=r}))),i.add(e.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.DURATION_CHANGED).subscribe((function(e){t.logRemoteEvent(e),t.params.output.duration$.next(e.value)})))}r(e.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED),(function(e){t.logRemoteEvent(e),e.value?t.handleRemoteReady():(t.handleRemoteStop(),i.unsubscribe())})),r(e.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED),(function(e){t.logRemoteEvent(e),e.value?t.handleRemotePause():t.handleRemotePlay()})),r(e.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED),(function(i){t.logRemoteEvent(i);var r=t.params.connection.remotePlayer,a=i.value,n=t.params.output.isBuffering$.getValue(),s=a===chrome.cast.media.PlayerState.BUFFERING;switch(n!==s&&t.params.output.isBuffering$.next(s),a){case chrome.cast.media.PlayerState.IDLE:!t.params.output.isLive$.getValue()&&r.duration-r.currentTime<5&&t.params.output.endedEvent$.next(),t.handleRemoteStop(),C(t.params.desiredState.playbackState,exports.PlaybackState.STOPPED);break;case chrome.cast.media.PlayerState.PAUSED:t.handleRemotePause();break;case chrome.cast.media.PlayerState.PLAYING:t.handleRemotePlay();break;case chrome.cast.media.PlayerState.BUFFERING:break;default:e.assertNever(a)}})),r(e.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED),(function(e){t.logRemoteEvent(e),t.handleRemoteVolumeChange({volume:e.value})})),r(e.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED),(function(e){t.logRemoteEvent(e),t.handleRemoteVolumeChange({muted:e.value})})),r(e.merge(this.params.desiredState.playbackState.stateChangeStarted$,this.params.desiredState.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0)),this.syncPlayback)},t.prototype.restoreSession=function(e){this.log({message:"restoreSession"});var t=this.params.connection.remotePlayer;if(e.playerState!==chrome.cast.media.PlayerState.IDLE){t.isPaused?(this.videoState.setState(Te.PAUSED),C(this.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):(this.videoState.setState(Te.PLAYING),C(this.params.desiredState.playbackState,exports.PlaybackState.PLAYING));var i=this.params.output.isLive$.getValue();this.params.output.duration$.next(i?0:t.duration),this.params.output.position$.next(i?0:t.currentTime),this.params.desiredState.seekPosition.setState(void 0)}},t.prototype.prepare=function(){var e=this.params.format;this.log({message:"[prepare] format: "+e});var t=this.createMediaInfo(e),i=this.createLoadRequest(t);this.loadMedia(i)},t.prototype.handleRemotePause=function(){var e=this.videoState.getState(),t=this.videoState.getTransition();(null==t?void 0:t.to)!==Te.PAUSED&&e!==Te.PLAYING||(this.videoState.setState(Te.PAUSED),C(this.params.desiredState.playbackState,exports.PlaybackState.PAUSED))},t.prototype.handleRemotePlay=function(){var e=this.videoState.getState(),t=this.videoState.getTransition();(null==t?void 0:t.to)!==Te.PLAYING&&e!==Te.PAUSED||(this.videoState.setState(Te.PLAYING),C(this.params.desiredState.playbackState,exports.PlaybackState.PLAYING))},t.prototype.handleRemoteReady=function(){var e=this.videoState.getTransition();(null==e?void 0:e.to)===Te.READY&&this.videoState.setState(Te.READY)},t.prototype.handleRemoteStop=function(){this.videoState.getState()!==Te.STOPPED&&this.videoState.setState(Te.STOPPED)},t.prototype.handleRemoteVolumeChange=function(e){var t,i,r=this.params.output.volume$.getValue(),a={volume:null!==(t=e.volume)&&void 0!==t?t:r.volume,muted:null!==(i=e.muted)&&void 0!==i?i:r.muted};a.volume===r.volume&&a.muted==a.muted||this.params.output.volume$.next(a)},t.prototype.seek=function(e){var t=this.params.connection,i=t.remotePlayer,r=t.remotePlayerController;i.currentTime=e,r.seek()},t.prototype.stop=function(){this.params.connection.remotePlayerController.stop()},t.prototype.createMediaInfo=function(t){var i,r,a,n,s=this.params.source;switch(t){case exports.VideoFormat.MPEG:var o=s[t];e.assertNonNullable(o);var u=Object.keys(o).sort((function(e,t){return e===t?0:e===exports.VideoQuality.INVARIANT?1:t===exports.VideoQuality.INVARIANT?-1:M(e,t)?1:-1}))[0];e.assertNonNullable(u);var d=o[u];e.assertNonNullable(d),r=d,a="video/mp4",n=chrome.cast.media.StreamType.BUFFERED;break;case exports.VideoFormat.HLS:case exports.VideoFormat.HLS_ONDEMAND:var c=s[t];e.assertNonNullable(c),r=c.url,a="application/x-mpegurl",n=chrome.cast.media.StreamType.BUFFERED;break;case exports.VideoFormat.DASH_SEP:case exports.VideoFormat.DASH_ONDEMAND:case exports.VideoFormat.DASH_WEBM_VK:case exports.VideoFormat.DASH_WEBM:var l=s[t];e.assertNonNullable(l),r=l.url,a="application/dash+xml",n=chrome.cast.media.StreamType.BUFFERED;break;case exports.VideoFormat.HLS_LIVE:c=s[t];e.assertNonNullable(c),r=Ee(c.url),a="application/x-mpegurl",n=chrome.cast.media.StreamType.LIVE;break;case exports.VideoFormat.DASH_LIVE_WEBM:l=s[t];e.assertNonNullable(l),r=l.url,a="application/dash+xml",n=chrome.cast.media.StreamType.LIVE;break;case exports.VideoFormat.HLS_JS:case exports.VideoFormat.DASH:case exports.VideoFormat.DASH_LIVE:var p="Unsupported format for Chromecast",h=new Error(p);throw this.params.output.error$.next({id:"ChromecastProvider.createMediaInfo()",message:p,thrown:h}),h;default:return e.assertNever(t)}var f=new chrome.cast.media.MediaInfo(null!==(i=this.params.meta.videoId)&&void 0!==i?i:r,a);f.contentUrl=r,f.streamType=n,f.metadata=new chrome.cast.media.GenericMediaMetadata;var v=this.params.meta,m=v.title,S=v.subtitle;return e.isNonNullable(m)&&(f.metadata.title=m),e.isNonNullable(S)&&(f.metadata.subtitle=S),f},t.prototype.createLoadRequest=function(e){var t,i=new chrome.cast.media.LoadRequest(e);i.autoplay=!1;var r=this.params.desiredState.seekPosition.getTransition();return i.currentTime=r?this.params.output.isLive$.getValue()?0:null!==(t=r.to)&&void 0!==t?t:0:0,i},t.prototype.loadMedia=function(t){var i=this,r=this.params.connection.session.loadMedia(t),a=new Promise((function(t,r){i.loadMediaTimeoutSubscription.add(e.timeout(7e3).subscribe((function(){return r("timeout(7000)")})))}));Promise.race([r,a]).then((function(){i.log({message:"[loadMedia] completed, format: "+i.params.format});var e=i.params.desiredState.seekPosition;e.getTransition()&&e.setState(void 0),i.handleRemoteReady()}),(function(e){var t="[prepare] loadMedia failed, format: "+i.params.format+", reason: "+e;i.log({message:t}),i.params.output.error$.next({id:"ChromecastProvider.loadMedia",message:t,thrown:e})})).finally((function(){i.loadMediaTimeoutSubscription.unsubscribe()}))},t.prototype.logRemoteEvent=function(e){this.log({message:"[remoteEvent] "+JSON.stringify(e)})},t}();!function(e){e.STOPPED="stopped",e.READY="ready",e.PLAYING="playing",e.PAUSED="paused"}(Pe||(Pe={}));var we,xe=function(){function t(t){var i=this;this.subscription=new e.Subscription,this.videoState=new X(Pe.STOPPED),this.trackUrls={},this.textTracksManager=new A,this.syncPlayback=function(){var t=i.videoState.getState(),r=i.params.desiredState.playbackState.getState(),a=i.params.desiredState.playbackState.getTransition();if(r!==exports.PlaybackState.STOPPED){if(!i.videoState.getTransition()){var n=i.params.desiredState.videoTrack.getTransition(),s=i.params.desiredState.seekPosition.getTransition();if(t===Pe.STOPPED)return i.videoState.startTransitionTo(Pe.READY),void i.prepare();if(n){var o=i.video.currentTime;return i.prepare(),void(s||i.params.desiredState.seekPosition.startTransitionTo(o))}var u=null==s?void 0:s.to;switch((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(u)&&i.seek(u),t){case Pe.READY:return void(r===exports.PlaybackState.PAUSED?(i.videoState.setState(Pe.PAUSED),C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):r===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(Pe.PLAYING),i.playIfAllowed()));case Pe.PLAYING:return void(r===exports.PlaybackState.PAUSED?(i.videoState.startTransitionTo(Pe.PAUSED),i.video.pause()):(null==a?void 0:a.to)===exports.PlaybackState.PLAYING&&C(i.params.desiredState.playbackState,exports.PlaybackState.PLAYING));case Pe.PAUSED:return void(r===exports.PlaybackState.PLAYING?(i.videoState.startTransitionTo(Pe.PLAYING),i.playIfAllowed()):(null==a?void 0:a.to)===exports.PlaybackState.PAUSED&&C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED));default:return e.assertNever(t)}}}else t!==Pe.STOPPED&&(i.videoState.startTransitionTo(Pe.STOPPED),i.video.setAttribute("src",""),i.video.load(),i.params.output.position$.next(0),i.params.output.duration$.next(1/0),i.params.output.currentBuffer$.next(void 0),i.params.output.hostname$.next(void 0),i.videoState.setState(Pe.STOPPED),C(i.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0))},this.params=t,this.video=N(t.container),this.params.output.element$.next(this.video),Object.entries(this.params.source).forEach((function(e,t){var r=h(e,2),a=r[0],n=r[1],s=t.toString(10);i.trackUrls[s]={track:{quality:a,id:s},url:n}})),this.params.output.availableVideoTracks$.next(Object.values(this.trackUrls).map((function(e){return e.track}))),this.params.output.isLive$.next(!1),this.subscribe()}return t.prototype.subscribe=function(){var t=this,i=this.params,r=i.output,a=i.desiredState,n=function(e){r.error$.next({id:"MpegProvider",message:"MpegProvider internal logic error",thrown:e})},s=R(this.video),o=function(e,i){return t.subscription.add(e.subscribe(i,n))};o(s.timeUpdate$,r.position$),o(s.durationChange$,r.duration$),o(s.ended$,r.endedEvent$),o(s.error$,r.error$),o(s.isBuffering$,r.isBuffering$),o(s.currentBuffer$,r.currentBuffer$),o(s.firstBytes$,r.firstBytesEvent$),o(s.firstFrame$,r.firstFrameEvent$),this.subscription.add(s.seeked$.subscribe((function(){return a.seekPosition.setState(void 0)}),n)),this.subscription.add(k(this.video,a.isLooped,n)),this.subscription.add(w(this.video,a.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$,n)),this.subscription.add(s.play$.subscribe((function(){t.videoState.setState(Pe.PLAYING),C(a.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.pause$.subscribe((function(){t.videoState.setState(Pe.PAUSED),C(a.playbackState,exports.PlaybackState.PAUSED)}),n)).add(s.canplay$.subscribe((function(){var i;(null===(i=t.videoState.getTransition())||void 0===i?void 0:i.to)===Pe.READY&&t.videoState.setState(Pe.READY);var r=t.params.desiredState.videoTrack.getTransition();r&&e.isNonNullable(r.to)&&(t.params.desiredState.videoTrack.setState(r.to),t.params.output.currentVideoTrack$.next(t.trackUrls[r.to].track)),t.videoState.getState()===Pe.PLAYING&&t.playIfAllowed()}),n)),this.subscription.add(a.autoVideoTrackSwitching.stateChangeStarted$.subscribe((function(){return a.autoVideoTrackSwitching.setState(!1)}),n)),this.textTracksManager.connect(this.video,a,r);var u=e.merge(a.playbackState.stateChangeStarted$,a.videoTrack.stateChangeStarted$,a.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0));this.subscription.add(u.subscribe(this.syncPlayback,n))},t.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.trackUrls={},this.video.remove(),this.params.output.element$.next(void 0)},t.prototype.prepare=function(){var t,i,r=null!==(i=null===(t=this.params.desiredState.videoTrack.getTransition())||void 0===t?void 0:t.to)&&void 0!==i?i:this.params.desiredState.videoTrack.getState();e.assertNonNullable(r,"MpegProvider: track is not selected");var a=this.trackUrls[r].url;e.assertNonNullable(a,"MpegProvider: No url for "+r),this.video.setAttribute("src",a),this.video.load(),this.params.output.hostname$.next(W(a))},t.prototype.playIfAllowed=function(){var e=this;E(this.video).then((function(t){t||(e.videoState.setState(Pe.PAUSED),C(e.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0))}))},t.prototype.seek=function(e){this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.video.currentTime=e},t}(),Ae=function(){function t(e,t,i,r,a,n){void 0===t&&(t=[]),this._failoverIndex=0,this._failoverCount=0,this._xhr=null,this._retryTimeout=0,this._url=e,this._failoverHosts=t,this._completeCb=i,this._progressCb=r,this._headersCb=a,this._errorCb=n,this._request()}return t.prototype._request=function(){var t=this;this._xhr=new XMLHttpRequest,this._xhr.open("GET",this._url,!0),this._xhr.overrideMimeType("text/plain; charset=x-user-defined");var i=!1;this._xhr.onreadystatechange=function(){var r,a,n,s,o,u,d,c;if(e.assertNonNullable(t._xhr),(null===(r=t._xhr)||void 0===r?void 0:r.status)>=400)return null===(a=t._errorCb)||void 0===a||a.call(t,"Http"+(null===(n=t._xhr)||void 0===n?void 0:n.status),"XHR response code "+(null===(s=t._xhr)||void 0===s?void 0:s.status)),void t.abort();if(4!==t._xhr.readyState||0!==t._xhr.status)try{t._xhr.readyState>=2&&!i&&(i=!0,null===(o=t._headersCb)||void 0===o||o.call(t)),4===t._xhr.readyState&&(null===(u=t._completeCb)||void 0===u||u.call(t,t._xhr.response)),3===t._xhr.readyState&&(null===(d=t._progressCb)||void 0===d||d.call(t,t._xhr.response))}catch(e){throw null===(c=t._errorCb)||void 0===c||c.call(t,"XHR2CallbackError","xhr2 callback threw "+String(e),e),e}},this._xhr.onerror=function(){var e;null===(e=t._xhr)||void 0===e||e.abort(),t._retryTimeout=window.setTimeout((function(){var e,i,r;if(t._xhr)if(++t._failoverCount>=30)t._xhr=null,null===(e=t._errorCb)||void 0===e||e.call(t,"XHR2Failover","XHR failed, retrying failover host");else{var a=void 0;t._failoverIndex>=t._failoverHosts.length?(a=t._url,t._failoverIndex=0):(a=t._url.replace((i=t._url,(r=document.createElement("a")).href=i,r.host),t._failoverHosts[t._failoverIndex]),t._failoverIndex++),t._xhr.open("GET",a,!0),t._xhr.send(null)}}),500)},this._xhr.send(null)},t.prototype.abort=function(){window.clearTimeout(this._retryTimeout),this._completeCb=this._progressCb=this._errorCb=void 0,this._xhr&&(this._xhr.abort(),this._xhr=null)},t}(),Ne=function(){function e(e){this._maxBufferDuration=Number.POSITIVE_INFINITY,this._isFull=!1,this._params=e,this._mediaSource=e.mediaSource,this._sourceBuffer=e.sourceBuffer,this._onDashCallback=e.onDashCallback}return e.prototype._appendBuffer=function(e,t){try{this._isFull=!1,(this._sourceBuffer.appendBuffer||this._sourceBuffer.append).bind(this._sourceBuffer)(e),null==t||t()}catch(e){if("QuotaExceededError"!==e.name)throw this._params.onError("AppendBuffer","Unknown Buffer error",e),e;this._isFull=!0;for(var i=this._sourceBuffer.buffered,r=0,a=0,n=i.length;a<n;a++)r+=i.end(a)-i.start(a);r&&(this._maxBufferDuration=Math.round(r))}},e.prototype.getMaxBufferDuration=function(){return this._maxBufferDuration},e.prototype.isFull=function(){return this._isFull},e.prototype.load=function(t,i,r,a,n,s,o){var u=this;this.abort((function(){var d=0,c=Date.now(),l=Date.now(),p=0,h=r-i+1,f=function(t){a(e._str2ua(t.substr(d))),d=t.length};u._lastXhr=new Ae(t.baseURL+"&bytes="+i+"-"+r,t.failoverHosts,(function(e){u._lastXhr=void 0,f(e);var t=Date.now()-c;u._params.onBandwidthChange({size:h,duration:t,speed:8*h/(t/1e3)}),u._onDashCallback("loading",{size:e.length,done:!0}),null==n||n()}),(function(e){e.length-d>o&&f(e);var t=e.length-p,i=Date.now()-l;p&&u._params.onBandwidthChange({size:t,duration:i,speed:8*t/(i/1e3)}),p=e.length,l=Date.now(),u._onDashCallback("loading",{size:e.length,done:!1})}),s,(function(e,t,i){return u._params.onError(e,t,i)}))}))},e.prototype.abort=function(e){var t,i=this;null===(t=this._lastXhr)||void 0===t||t.abort(),this._sbUpdatingStop(this._lastStreamUpdatingCallback),this._lastStreamUpdatingCallback=this._sbUpdatingWatch((function(){i._appendPromiseUint8Array&&(i._appendBuffer(i._appendPromiseUint8Array),i._appendPromiseUint8Array=void 0),i._lastStreamUpdatingCallback=i._sbUpdatingWatch((function(){"open"===i._mediaSource.readyState&&i._sourceBuffer.abort(),null==e||e()}))}))},e.prototype._sbUpdatingWatch=function(e){var t=this;if(this._sourceBuffer.updating){var i=function(){try{t._sbUpdatingStop(i),t._sbUpdatingWatch(e)}catch(e){throw t._params.onError("SourceBuffer","Source Buffer update error",e),e}};return this._sourceBuffer.addEventListener("updateend",i,!1),i}e()},e.prototype._sbUpdatingStop=function(e){e&&this._sourceBuffer.removeEventListener("updateend",e,!1)},e.prototype.append=function(t,i){var r=this;this._appendPromiseUint8Array?this._appendPromiseUint8Array=e._concatUint8(this._appendPromiseUint8Array,t):(this._appendPromiseUint8Array=t,this._lastStreamUpdatingCallback=this._sbUpdatingWatch((function(){r._appendPromiseUint8Array&&r._appendBuffer(r._appendPromiseUint8Array,(function(){r._appendPromiseUint8Array=void 0,i&&r._sbUpdatingWatch(i)}))})))},e.prototype.endOfStream=function(){var e=this;"open"===this._mediaSource.readyState&&this._sbUpdatingWatch((function(){return e._mediaSource.endOfStream()}))},e._concatUint8=function(e,t){var i=new Uint8Array(e.byteLength+t.byteLength);return i.set(e,0),i.set(t,e.byteLength),i},e._str2ua=function(e){for(var t=new Uint8Array(e.length),i=0;i<e.length;i++)t[i]=e.charCodeAt(i);return t},e.prototype.remove=function(e,t){var i=this;this._sbUpdatingWatch((function(){!i._sourceBuffer.updating&&i._sourceBuffer.remove&&i._sourceBuffer.remove(e,t),i._maxBufferDuration=Number.POSITIVE_INFINITY}))},e.prototype.destroy=function(){var e;null===(e=this._lastXhr)||void 0===e||e.abort(),this._sbUpdatingStop(this._lastStreamUpdatingCallback),"open"===this._mediaSource.readyState&&this._sourceBuffer.abort()},e}(),$e=function(){function t(e){var t;this._representations=[],this._appendVector={},this._cachingPaused=!1,this._duration=0,this.STREAM_END_THRESHOLD=1,this._params=e,this._video=e.video,this._buffer=e.buffer,this._onDashCallback=null!==(t=e.onDashCallback)&&void 0!==t?t:function(){},this._config=e.config}return t.prototype._parseDurationFromISO8601=function(e){var t=function(e,t){var i=e?parseFloat(e.replace(",",".")):NaN;return(isNaN(i)?0:i)*t},i=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/.exec(e),r="-"===(null==i?void 0:i[1])?-1:1;t(null==i?void 0:i[2],r),t(null==i?void 0:i[3],r),t(null==i?void 0:i[4],r),t(null==i?void 0:i[5],r);return 3600*t(null==i?void 0:i[6],r)+60*t(null==i?void 0:i[7],r)+t(null==i?void 0:i[8],r)},t.prototype.getRepresentations=function(){return this._representations},t.prototype.attachSource=function(e,t){var i=this;new Ae(e,t,(function(r){var a,n;i.attachManifest(r,t,(a=e,(n=document.createElement("a")).href=a,n.origin))}),void 0,void 0,(function(e,t,r){return i._params.onError(e,t,r)}))},t.prototype.attachManifest=function(e,t,i){var r=this,a=(new DOMParser).parseFromString(e,"text/xml").documentElement,n=function(e,t){var i=e.attributes.getNamedItem(t);return i?i.value:null};this._duration=this._parseDurationFromISO8601(String(n(a,"mediaPresentationDuration")));var s=[],o=[];Array.prototype.forEach.call(a.getElementsByTagName("Representation"),(function(e){var r,a,u,d,c,l,p,h,f,v,m,S,b,g,y,T,E,P=e.getElementsByTagName("SegmentBase")[0],k=P&&n(P,"indexRange").split("-"),w=P&&P.getElementsByTagName("Initialization")[0],x=w&&n(w,"range").split("-");if(x&&k){var A=Number(null===(p=e.attributes.getNamedItem("bandwidth"))||void 0===p?void 0:p.value),N=(i?i+"/":"")+e.getElementsByTagName("BaseURL")[0].childNodes[0].data;s.push({width:Number(null===(h=e.attributes.getNamedItem("width"))||void 0===h?void 0:h.value),height:Number(null===(f=e.attributes.getNamedItem("height"))||void 0===f?void 0:f.value),bandwidth:A,baseURL:N,failoverHosts:t,indexFrom:Number(k[0]),indexTo:Number(k[1]),initFrom:Number(x[0]),initTo:Number(x[1]),codecs:null!==(m=null===(v=e.attributes.getNamedItem("codecs"))||void 0===v?void 0:v.value)&&void 0!==m?m:void 0,mimeType:null!==(b=null===(S=e.attributes.getNamedItem("mimeType"))||void 0===S?void 0:S.value)&&void 0!==b?b:void 0,bufferSize:.1*A/8,bufferLength:.1,name:null!==(y=null===(g=e.attributes.getNamedItem("okQuality"))||void 0===g?void 0:g.value)&&void 0!==y?y:void 0,id:null!==(E=null===(T=e.attributes.getNamedItem("id"))||void 0===T?void 0:T.value)&&void 0!==E?E:void 0})}else{var $=e.parentElement;if("text"===(null==$?void 0:$.getAttribute("contentType"))){var D=null!==(r=e.getAttribute("id"))&&void 0!==r?r:void 0,_=(i?i+"/":"")+(null===(c=null===(d=null===(u=null===(a=e.getElementsByTagName("BaseURL"))||void 0===a?void 0:a[0])||void 0===u?void 0:u.childNodes)||void 0===d?void 0:d[0])||void 0===c?void 0:c.data),I=null!==(l=$.getAttribute("lang"))&&void 0!==l?l:void 0;_&&o.push({id:D,url:_,language:I})}}})),s.length?(this._representations=s,o.forEach((function(e){var t=e.id,i=e.language,a=e.url,n=document.createElement("track");n.setAttribute("src",a),t&&n.setAttribute("id",t),i&&n.setAttribute("srclang",i),r._video.appendChild(n)})),this._representations.sort((function(e,t){return t.bandwidth-e.bandwidth})),this._params.onManifestReady(this._representations)):this._onDashCallback("error")},t.prototype._loadInitAndSidx=function(e,t){var i=this;if(e!==this._currentRepresentation)if(e.refs)this._stream.abort((function(){i._stream.append(e.initMessage,t)}));else{var r=Date.now();this._stream.load(e,e.initFrom,e.indexTo,(function(r){var a=e.initTo-e.initFrom+1;if(r.byteLength){e.initMessage=new Uint8Array(r.buffer,0,a);var n=new DataView(r.buffer);a+=12;var s=n.getUint32(a+4,!1);a+=8;var o=n.getUint32(a,!1),u=n.getUint32(a+4,!1)+(e.indexTo+1);a+=8;var d=n.getUint16(a+2,!1);a+=4,e.refs=[];for(var c=0;c<d;c+=1){var l=u+(2147483647&n.getUint32(a,!1)),p=o+n.getUint32(a+4,!1);a+=12,e.refs.push({fromTime:o/s,toTime:p/s,fromOffset:u,toOffset:l-1}),u=l,o=p}var h=e.refs[e.refs.length-1];h.toTime-h.fromTime<.3&&e.refs.pop(),i._stream.append(e.initMessage,t)}else i._params.onError("EmptyResponse","Empty response")}),void 0,(function(){i._params.onIdxRequestPing(Date.now()-r)}),e.indexTo-e.initFrom+1)}else t&&t()},t.prototype.startPlay=function(e){var t=this,i=window.MediaSource||window.WebKitMediaSource;if(i){var r=new i,a=void 0,n=void 0,s=function(){t._loopTimeout=window.setTimeout((function(){try{!function(){var i=t._findRef(t._video.currentTime);if(i&&!t._video.paused){if(!t._cachingPaused&&void 0!==t._lastLoadOffset&&t._lastLoadOffset-t._video.currentTime<t._config.FRONT_CACHE_DURATION&&t._lastLoadOffset-t._video.currentTime<t._stream.getMaxBufferDuration()){var r=t._stream.isFull()?t._findBufferRangeEnd(t._video.currentTime):t._lastLoadOffset;t._loadRef(t._params.selectRepresentation(t._representations),r)}var s,o=t._appendVector[String(i.fromTime)];if(o!==a&&(a=o,t._params.onRepresentationPlay(o)),t._findRef(i.toTime)){var u=t._buffer.getByTime(t._video.currentTime);if(!u)return void t._onDashCallback("buffering");(s=u.end-t._video.currentTime)<e.bufferLength&&(t._onDashCallback("buffering"),n!==u.end&&(n=u.end,window.setTimeout((function(){try{var e=t._buffer.getNextWithGap(u);e&&(t._video.currentTime=e.start)}catch(e){throw t._params.onError("GapSyncError","Seek Error "+String(e),e),e}}),1e3*s)))}}}()}catch(e){throw t._params.onError("LoopError","Dash Loop exception "+String(e),e),e}s()}),250)},o=function(){if(!t._stream)try{var i=r.addSourceBuffer(e.mimeType+'; codecs="'+e.codecs+'"');t._stream=new Ne({mediaSource:r,sourceBuffer:i,onBandwidthChange:t._params.onBandwidthChange,onError:t._params.onError,onDashCallback:t._onDashCallback})}catch(e){throw t._params.onError("DashSourceOpen","Source open exception "+String(e),e),e}t._loadInitAndSidx(e),r.duration||(r.duration=t._duration),t._loopTimeout||s(),r.removeEventListener("sourceopen",o),r.removeEventListener("webkitsourceopen",o)};r.addEventListener("sourceopen",o,!1),r.addEventListener("webkitsourceopen",o,!1),this._video&&(this._video.src=window.URL.createObjectURL(r),this._video.addEventListener("waiting",(function(){var e=t._video&&t._video.played.length;e&&!t._video.currentTime&&t._video.loop?t._video.duration-t._video.played.end(e-1)<t.STREAM_END_THRESHOLD&&t.seek(0):t._video.duration-t._video.currentTime<t.STREAM_END_THRESHOLD&&t._stream.endOfStream()})))}else this._params.onError("MediaSourceNotSupported","MediaSource is not supported")},t.prototype._loadRef=function(e,t,i){var r=this;void 0===i&&(i=!1),this._lastLoadOffset=void 0,this._loadInitAndSidx(e,(function(){r._currentRepresentation=e;var a=r._findRef(t);if(a){if(i){r._isLastRef(a)&&t>=a.toTime&&(t=a.fromTime);var n=r._findRef(r._video.currentTime),s=Math.abs(r._video.currentTime-t),o=r._video.duration<r._config.SEEK_IN_SEGMENT_THRESHOLD/1e3||a===n||s<=r._config.SEEK_IN_SEGMENT_DELTA/1e3;r._video.currentTime=o?t:a.fromTime}r._appendVector[String(a.fromTime)]=e,r._stream.load(e,a.fromOffset,a.toOffset,(function(e,t){return r._stream.append(e,t)}),(function(){r._lastLoadOffset=a.toTime,r._video.duration-r._lastLoadOffset<r.STREAM_END_THRESHOLD&&r._stream.endOfStream()}),void 0,e.bufferSize)}}))},t.prototype.setQualityByRepresentation=function(e){var t=this,i=this._buffer.getByTime(this._video.currentTime),r=this._findRef(this._video.currentTime);if(i&&r){var a=.1;if(r.toTime<i.end+a){var n=this._findRef(r.toTime);n&&n.toTime<i.end+a?(this._buffer.smartRemove(r.fromTime-a,n.toTime+a,(function(e,i){return t._stream.remove(e,i)})),this._loadRef(e,n.toTime)):(this._buffer.smartRemove(r.fromTime-a,r.toTime+a,(function(e,i){return t._stream.remove(e,i)})),this._loadRef(e,r.toTime))}}},t.prototype.setQuality=function(e){return this.setQualityByRepresentation(this._representations[e])},t.prototype.pauseCaching=function(){this._cachingPaused=!0},t.prototype.resumeCaching=function(){this._cachingPaused=!1},t.prototype.seek=function(e,t){void 0===t&&(t=!1),this._stream&&this._buffer.getByTime(e)&&!t?this._video.currentTime=e:this._loadRef(this._params.selectRepresentation(this._representations),e,!0)},t.prototype.updateRefsForCurrentTime=function(){var t=this._video.currentTime;this._stream&&!e.isNullable(this._buffer.getByTime(t))||this._loadRef(this._params.selectRepresentation(this._representations),t,!1)},t.prototype._findRef=function(e){var t,i=null===(t=this._currentRepresentation)||void 0===t?void 0:t.refs;if(i){if(!Array.isArray(i)||0!==i.length){for(var r=void 0,a=0;a<i.length;a++){var n=i[a];if(n.fromTime<=e&&n.toTime>e)return n;n.fromTime>e&&(!r||n.fromTime<r.fromTime)&&(r=n)}if(!r){var s=i[i.length-1];if(e>s.toTime)return s}return r}this._params.onError("emptyrefs","Empty refs")}},t.prototype._isLastRef=function(e){var t,i=null===(t=this._currentRepresentation)||void 0===t?void 0:t.refs;if(!i)return!1;var r=i[i.length-1];return e.fromTime===r.fromTime},t.prototype._findBufferRangeEnd=function(e){for(var t=this._video.buffered.length;t-- >0;){var i=this._video.buffered.start(t),r=this._video.buffered.end(t);if(e>i&&e<r)return Math.round(10*r)/10}return e},t.prototype.destroy=function(){this._stream&&this._stream.destroy(),clearTimeout(this._loopTimeout),this._loopTimeout=void 0},t}();!function(e){e.STOPPED="stopped",e.MANIFEST_LOADED="manifest-loaded",e.INITIAL_REPRESENTATION_SELECTED="initial-representation-selected",e.METADATA_LOADED="metadata-loaded",e.READY="ready",e.PLAYING="playing",e.PAUSED="paused"}(we||(we={}));var De,_e=[we.PAUSED,we.PLAYING],Ie=function(){function t(t){var i=this;this.videoState=new X(we.STOPPED),this.subscription=new e.Subscription,this.representations$=new e.ValueSubject([]),this.currentRepresentation$=new e.ValueSubject(void 0),this.textTracksManager=new A,this.elementSize$=new e.ValueSubject(void 0),this.dashLiteEvents={idxRequestPing$:new e.Subject,manifestReady$:new e.Subject,representationPlay$:new e.Subject,error$:new e.Subject},this.handleManifestReady=function(e){var t,r,a,n,s=[];try{for(var o=p(e),u=o.next();!u.done;u=o.next()){var d=u.value,c=null!==(n=null!==(a=d.name)&&void 0!==a?a:d.id)&&void 0!==n?n:d.height.toString(10),l=U(d),h=d.bandwidth/1e3,f={width:d.width,height:d.height};if(l){var v={id:c,quality:l,bitrate:h,size:f};s.push({track:v,representation:d})}}}catch(e){t={error:e}}finally{try{u&&!u.done&&(r=o.return)&&r.call(o)}finally{if(t)throw t.error}}i.representations$.next(s),i.params.output.availableVideoTracks$.next(s.map((function(e){return e.track}))),i.videoState.setState(we.MANIFEST_LOADED)},this.handleRepresentationPlay=function(e){var t,r=null===(t=i.representations$.getValue().find((function(t){return t.representation===e})))||void 0===t?void 0:t.track;r&&(i.params.output.currentVideoTrack$.next(r),i.params.desiredState.videoTrack.getTransition()&&i.params.desiredState.videoTrack.setState(r.id))},this.selectRepresentation=function(){var t=i.currentRepresentation$.getValue();return e.assertNonNullable(t,"Can't select representation. something went wrong"),t},this.syncPlayback=function(){var t=i.videoState.getState(),r=i.videoState.getTransition(),a=i.params.desiredState.playbackState.getState(),n=i.params.desiredState.playbackState.getTransition(),s=i.params.desiredState.seekPosition.getTransition();if(i.log({message:"[syncPlayback] videoState: "+t+"; videoTransition: "+JSON.stringify(r)+"; desiredPlaybackState: "+a+"; seekPositionTransition: "+JSON.stringify(s)+";"}),a!==exports.PlaybackState.STOPPED){if(!r){var o=null==s?void 0:s.to;switch((null==n?void 0:n.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(o)&&_e.includes(t)&&i.seek(o),t){case we.STOPPED:return i.videoState.startTransitionTo(we.MANIFEST_LOADED),void i.prepare();case we.MANIFEST_LOADED:return void i.videoState.startTransitionTo(we.INITIAL_REPRESENTATION_SELECTED);case we.INITIAL_REPRESENTATION_SELECTED:return i.videoState.startTransitionTo(we.METADATA_LOADED),void i.dash.startPlay(i.selectRepresentation());case we.METADATA_LOADED:return i.videoState.startTransitionTo(we.READY),void i.dash.seek(null!=o?o:0);case we.READY:return void(a===exports.PlaybackState.PAUSED?(i.videoState.setState(we.PAUSED),C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):a===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(we.PLAYING),i.playIfAllowed()));case we.PLAYING:return void(a===exports.PlaybackState.PAUSED?(i.videoState.startTransitionTo(we.PAUSED),i.video.pause()):(null==n?void 0:n.to)===exports.PlaybackState.PLAYING&&C(i.params.desiredState.playbackState,exports.PlaybackState.PLAYING));case we.PAUSED:return void(a===exports.PlaybackState.PLAYING?(i.videoState.startTransitionTo(we.PLAYING),i.playIfAllowed()):(null==n?void 0:n.to)===exports.PlaybackState.PAUSED&&C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED));default:return e.assertNever(t)}}}else t!==we.STOPPED&&(i.videoState.startTransitionTo(we.STOPPED),i.dash.destroy(),i.video.setAttribute("src",""),i.video.load(),i.params.output.position$.next(0),i.params.output.duration$.next(1/0),i.params.output.currentBuffer$.next(void 0),i.params.output.hostname$.next(void 0),i.videoState.setState(we.STOPPED),C(i.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0))},this.params=t,this.log=this.params.dependencies.logger.createComponentLog("DashProvider"),e.merge(this.videoState.stateChangeStarted$.pipe(e.map((function(e){return{transition:e,type:"start"}}))),this.videoState.stateChangeEnded$.pipe(e.map((function(e){return{transition:e,type:"end"}})))).subscribe((function(e){var t=e.transition,r=e.type;i.log({message:"[videoState change] "+r+": "+JSON.stringify(t)})})),this.video=N(t.container),this.params.output.element$.next(this.video),this.params.output.isLive$.next(!1),"url"===this.params.source.type&&this.params.output.hostname$.next(W(this.params.source.url)),this.buffer=new D(this.video),this.dash=new $e({video:this.video,buffer:this.buffer,selectRepresentation:this.selectRepresentation,onIdxRequestPing:function(e){return i.dashLiteEvents.idxRequestPing$.next(e)},onManifestReady:function(e){return i.dashLiteEvents.manifestReady$.next(e)},onRepresentationPlay:function(e){return i.dashLiteEvents.representationPlay$.next(e)},onBandwidthChange:function(e){return i.params.dependencies.throughputEstimator.rawSpeed$.next({size:e.size,time:e.duration})},onError:function(e,t,r){i.log({message:"[DashLite error], "+e}),i.dashLiteEvents.error$.next({id:e,message:t,thrown:r})},config:{SEEK_IN_SEGMENT_THRESHOLD:this.params.tuning.dashSeekInSegmentDurationThreshold,SEEK_IN_SEGMENT_DELTA:this.params.tuning.dashSeekInSegmentAlwaysSeekDelta,FRONT_CACHE_DURATION:this.params.config.cacheDuration/1e3}}),this.subscribe()}return t.prototype.subscribe=function(){var t=this,i=this.params,r=i.output,a=i.desiredState,n=function(e){r.error$.next({id:"DashProvider",message:"DashProvider internal logic error",thrown:e})},s=R(this.video),o=function(e,i){return t.subscription.add(e.subscribe(i,n))};o(s.timeUpdate$,r.position$),o(s.durationChange$,r.duration$),o(s.ended$,r.endedEvent$),o(s.error$,r.error$),o(s.isBuffering$,r.isBuffering$),o(s.firstFrame$,r.firstFrameEvent$),this.subscription.add(s.seeking$.subscribe((function(){e.isNullable(t.params.desiredState.seekPosition.getTransition())&&(t.videoState.getState()===we.PLAYING||t.videoState.getState()===we.PAUSED)&&t.dash.updateRefsForCurrentTime()}))),this.subscription.add(s.seeked$.subscribe((function(){return a.seekPosition.setState(void 0)}))),this.subscription.add(k(this.video,a.isLooped,n)),this.subscription.add(w(this.video,a.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$)),this.textTracksManager.connect(this.video,a,r),o(J(this.video),this.elementSize$),this.subscription.add(s.canplay$.subscribe((function(){var e;(null===(e=t.videoState.getTransition())||void 0===e?void 0:e.to)===we.READY&&t.videoState.setState(we.READY)}),n)).add(s.pause$.subscribe((function(){t.videoState.setState(we.PAUSED),C(t.params.desiredState.playbackState,exports.PlaybackState.PAUSED)}))).add(s.play$.subscribe((function(){t.videoState.setState(we.PLAYING),C(t.params.desiredState.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.loadedMetadata$.subscribe((function(){t.videoState.setState(we.METADATA_LOADED)}),n)).add(s.currentBuffer$.subscribe((function(e){t.buffer.fill(),r.currentBuffer$.next(e)}),n)).add(this.dashLiteEvents.error$.pipe(e.map((function(e){return{id:"DashLite_"+e.id,message:e.message,thrown:e.thrown}}))).subscribe(this.params.output.error$)).add(e.merge(this.params.desiredState.videoTrack.transitionStarted$,this.params.desiredState.autoVideoTrackSwitching.transitionStarted$,this.representations$,this.params.dependencies.throughputEstimator.estimation$,this.params.output.element$,this.elementSize$).pipe(e.map((function(){var i,r,a,n=t.representations$.getValue(),s=t.params.desiredState.autoVideoTrackSwitching.getState(),o=t.params.desiredState.autoVideoTrackSwitching.getTransition(),u=t.params.desiredState.videoTrack.getState(),d=t.params.desiredState.videoTrack.getTransition(),c=t.params.dependencies.throughputEstimator.estimation$.getValue(),l=t.elementSize$.getValue(),p=o?o.to:s;return o&&t.params.desiredState.autoVideoTrackSwitching.setState(o.to),a=!p&&e.isNonNullable(u)?u:d?d.to:null===(i=z(n.map((function(e){return e.track})),{container:l,throughput:c,tuning:t.params.tuning.autoTrackSelection}))||void 0===i?void 0:i.id,e.isNonNullable(a)?null===(r=n.find((function(e){return e.track.id===a})))||void 0===r?void 0:r.representation:void 0})),e.filterChanged()).subscribe(this.currentRepresentation$,n)).add(e.combine({needToSelectRepresentation:this.videoState.stateChangeStarted$.pipe(e.filter((function(e){return e.to===we.INITIAL_REPRESENTATION_SELECTED}))),currentRepresentationSelected:this.currentRepresentation$.pipe(e.filter(e.isNonNullable))}).pipe(e.once()).subscribe((function(){return t.videoState.setState(we.INITIAL_REPRESENTATION_SELECTED)}),n)).add(this.currentRepresentation$.pipe(e.filter(e.isNonNullable),e.filterChanged()).subscribe((function(e){t.dash.setQualityByRepresentation(e),t.params.output.hostname$.next(W(e.baseURL))}),n)).add(this.dashLiteEvents.idxRequestPing$.pipe(e.once()).subscribe(this.params.output.firstBytesEvent$)).add(this.dashLiteEvents.manifestReady$.subscribe(this.handleManifestReady,n)).add(this.dashLiteEvents.representationPlay$.pipe(e.filter(e.isNonNullable)).subscribe(this.handleRepresentationPlay,n)).add(e.merge(a.playbackState.stateChangeStarted$,a.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0)).subscribe(this.syncPlayback,n))},t.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.video.remove(),this.params.output.element$.next(void 0),this.buffer.destroy(),this.dash.destroy()},t.prototype.prepare=function(){var t=this.params.source;switch(t.type){case"url":this.dash.attachSource(t.url);break;case"raw":this.dash.attachManifest(t.raw);break;default:return e.assertNever(t)}},t.prototype.seek=function(e){this.log({message:"[seek] position: "+e}),this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.dash.seek(e)},t.prototype.playIfAllowed=function(){var e=this;E(this.video).then((function(t){t||(e.videoState.setState(we.PAUSED),C(e.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0))}))},t}(),Re=function(e){return e.range?e.range.split("-").map((function(e){return parseInt(e,10)})):[NaN,NaN]},Ce=function(){function e(e){this.params=e,this.dashJsRequestQueue=new Map,this.activeRequests=new Map}return e.prototype.setMetrics=function(e){this.dashMetrics=e},e.prototype.queueDashJSRequest=function(e){var t,i=e.request.url,r=null!==(t=this.dashJsRequestQueue.get(i))&&void 0!==t?t:[];r.push(e),this.dashJsRequestQueue.set(i,r)},e.prototype.executeNextRequests=function(){return c(this,void 0,void 0,(function(){var e,t,i,r,a,n,s,o,u,d,c,f,v;return l(this,(function(l){try{for(e=p(this.dashJsRequestQueue.entries()),t=e.next();!t.done;t=e.next()){if(i=h(t.value,2),r=i[0],a=i[1],n=this.activeRequests.get(r)){if(a.length&&this.onBigRequestProgress(n),!(s=a[0])||!s.request.range)continue;if(o=h(Re(s.request),2),u=o[0],d=o[1],u>=n.from&&d<=n.to)continue;this.activeRequests.delete(r)}a.length&&(c=this.sendBigRequest(r,a.map((function(e){return e.request}))),this.activeRequests.set(r,c))}}catch(e){f={error:e}}finally{try{t&&!t.done&&(v=e.return)&&v.call(e)}finally{if(f)throw f.error}}return[2]}))}))},e.prototype.abort=function(e){var t,i,r;if(e){var a=e.request,n=(null!==(r=this.dashJsRequestQueue.get(a.url))&&void 0!==r?r:[]).includes(e),s=this.activeRequests.get(a.url);n&&s&&s.abortController.abort()}else try{for(var o=p(this.activeRequests.values()),u=o.next();!u.done;u=o.next()){u.value.abortController.abort()}}catch(e){t={error:e}}finally{try{u&&!u.done&&(i=o.return)&&i.call(o)}finally{if(t)throw t.error}}},e.prototype.destroy=function(){this.abort(),this.dashMetrics=void 0,this.dashJsRequestQueue.clear(),this.activeRequests.clear()},e.prototype.sendBigRequest=function(t,i){for(var r=this,a=i.map(Re),n=a[0][0],s=a[0][1],o=1;o<a.length&&s<this.params.minDataSize;o++){var u=a[o][1];u-n<=2*this.params.minDataSize&&(s=Math.max(s,u))}s=0===n?Math.max(s,n+this.params.minInitSize):Math.max(s,n+this.params.minDataSize);var d=new URL(t,location.href);d.searchParams.append("bytes",n+"-"+s);var p=d.toString(),f=new AbortController,v=f.signal,m={url:t,from:n,to:s,loaded:0,data:null,abortController:f};v.addEventListener("abort",(function(){return r.onBigRequestAbort(m)}));var S=function(e){var t,i;throw null===(i=(t=r.params).onError)||void 0===i||i.call(t,{id:"BigRequestParsing",message:"Error parsing response data",thrown:e}),e};return fetch(p,{signal:v}).then((function(t){var i,a,n;if(t.ok&&t.body){var s=h(t.body.tee(),2),o=s[0],u=s[1];null===(a=(i=r.params).onDownloadStream)||void 0===a||a.call(i,u);var d=o.getReader(),p=parseInt(null!==(n=t.headers.get("Content-Length"))&&void 0!==n?n:"",10);m.data=new ArrayBuffer(p);var f=new Uint8Array(m.data),v=function(t){var i=t.done,a=t.value;return c(r,void 0,void 0,(function(){return l(this,(function(t){switch(t.label){case 0:return i?(this.onBigRequestProgress(m),[3,3]):[3,1];case 1:return a?(f.set(a,m.loaded),m.loaded+=a.byteLength,this.onBigRequestProgress(m),[4,null==d?void 0:d.read().then(v,e.suppressStreamErrors).catch(S)]):[3,3];case 2:t.sent(),t.label=3;case 3:return[2]}}))}))};null==d||d.read().then(v,e.suppressStreamErrors).catch(S)}else r.onBigRequestError(m)}),e.suppressAbort).catch((function(e){return r.onBigRequestError(m,e)})),m},e.prototype.onBigRequestProgress=function(e){var t,i,r,a,n,s,o,u,d,c=e.url,l=e.from,f=e.to,v=e.loaded,m=e.data;if(this.activeRequests.has(c)&&m){var S=null!==(r=this.dashJsRequestQueue.get(c))&&void 0!==r?r:[],b=function(e){var t=e.request,i=h(Re(t),2),r=i[0],p=i[1],S=r>=l&&p<=l+v,b=l>=r&&l+v<p,y=m.slice(r-l,Math.min(p-l+1,v));(S||b)&&(t.requestStartDate=null!==(a=t.requestStartDate)&&void 0!==a?a:new Date,t.firstByteDate=null!==(n=t.firstByteDate)&&void 0!==n?n:new Date,t.bytesLoaded=y.byteLength,t.bytesTotal=f-l),S?(t.requestEndDate=new Date,g.dashJsRequestQueue.set(c,(null!==(s=g.dashJsRequestQueue.get(c))&&void 0!==s?s:[]).filter((function(t){return t!==e}))),null===(o=e.success)||void 0===o||o.call(e,y,"",c),null===(u=g.dashMetrics)||void 0===u||u.addHttpRequest(t,c,200,{},[])):b&&(null===(d=e.progress)||void 0===d||d.call(e,{loaded:v,total:f-l,lengthComputable:!0,stream:!0}))},g=this;try{for(var y=p(S),T=y.next();!T.done;T=y.next()){b(T.value)}}catch(e){t={error:e}}finally{try{T&&!T.done&&(i=y.return)&&i.call(y)}finally{if(t)throw t.error}}}},e.prototype.onBigRequestError=function(e,t){var i,r,a,n,s,o,u=e.url,d=e.from,c=e.to;if(null===(n=(a=this.params).onError)||void 0===n||n.call(a,{id:"BigRequest",message:"Download error",thrown:t}),this.activeRequests.has(u)){var l=null!==(s=this.dashJsRequestQueue.get(u))&&void 0!==s?s:[];try{for(var f=p(l),v=f.next();!v.done;v=f.next()){var m=v.value,S=h(Re(m.request),2),b=S[0],g=S[1];(b>=d&&b<c||g>d&&g<=c)&&(null===(o=null==m?void 0:m.error)||void 0===o||o.call(m,m.request,String(t)))}}catch(e){i={error:e}}finally{try{v&&!v.done&&(r=f.return)&&r.call(f)}finally{if(i)throw i.error}}if(this.activeRequests.delete(u),t)throw t}},e.prototype.onBigRequestAbort=function(e){var t,i,r,a,n=e.url,s=e.from,o=e.to;if(this.activeRequests.has(n)){var u=null!==(r=this.dashJsRequestQueue.get(n))&&void 0!==r?r:[];try{for(var d=p(u),c=d.next();!c.done;c=d.next()){var l=c.value,f=h(Re(l.request),2),v=f[0],m=f[1];(v>=s&&v<o||m>s&&m<=o)&&(null===(a=null==l?void 0:l.abort)||void 0===a||a.call(l,l.request))}}catch(e){t={error:e}}finally{try{c&&!c.done&&(i=d.return)&&i.call(d)}finally{if(t)throw t.error}}this.activeRequests.delete(n)}},e.suppressAbort=function(e){if(!(e instanceof DOMException)||"AbortError"!==e.name&&20!==e.code)throw e},e.suppressStreamErrors=function(){},e}(),Le=function(){function e(e,t,i){this.baseLoader=e,this.config=i,this.bigRequest=t,t.setMetrics(i.dashMetrics)}return e.shouldDelegateToBase=function(e){return"download"!==e.action||"text"===e.mediaType||!e.range||"arraybuffer"!==e.responseType},e.prototype.load=function(t){var i=t.request;if(e.shouldDelegateToBase(i))return this.baseLoader.load(t);this.bigRequest.queueDashJSRequest(t),this.bigRequest.executeNextRequests()},e.prototype.abort=function(t){if(!t)return this.baseLoader.abort(),void this.bigRequest.abort();var i=t.request;e.shouldDelegateToBase(i)?this.baseLoader.abort(t):this.bigRequest.abort(t)},e}(),Oe=function(e,t){var i=new Ce(t);return e.extend("SchemeLoaderFactory",(function(){var e=this.parent.getLoader;return{getLoader:function(t){return function(e,t){return function(i){return{create:function(r){var a=e(i).create(r);return new Le(a,t,r)}}}}(e(t),i)}}}),!0),function(){return i.destroy()}},Ve=function(t){var i=new e.ValueSubject(1/0),r=new e.Subject,a=NaN,n=!1,s=function(t){var r,a,n;if(t.getAllResponseHeaders().includes("x-playback-duration")){var s=parseInt(null!==(r=t.getResponseHeader("X-Playback-Duration"))&&void 0!==r?r:"",10),o=parseInt(null!==(a=t.getResponseHeader("X-Playback-Duration-Millis"))&&void 0!==a?a:"",10),u=null!==(n=null!=o?o:1e3*s)&&void 0!==n?n:NaN;e.isNonNullable(u)&&!isNaN(u)&&i.next(u)}},o=function(e){e.readyState>=2&&!n&&(n=!0,r.next(Date.now()-a))};return t.extend("XHRLoader",(function(){var e=this.parent,t=e.load.bind(e);return{load:function(e){if("MPD"===e.request.type){var i=e.onload,r=e.progress;e.onload=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return s(this),i.apply(void 0,f([],h(e),!1))},e.progress=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return o(this),r.apply(void 0,f([],h(e),!1))},a=Date.now(),n=!1}return t(e)}}}),!0),{playbackDuration$:i,ping$:r}},Me=function(){function e(){this.pausedTime=0,this.streamOffset=0,this.pauseTimestamp=0}return e.prototype.getTotalPausedTime=function(){return this.pausedTime+this.getCurrentPausedTime()},e.prototype.getCurrentPausedTime=function(){return this.pauseTimestamp>0?Date.now()-this.pauseTimestamp:0},e.prototype.getStreamOffset=function(){return this.streamOffset},e.prototype.getTotalOffset=function(){return this.getTotalPausedTime()+this.streamOffset},e.prototype.pause=function(){0===this.pauseTimestamp&&(this.pauseTimestamp=Date.now())},e.prototype.resume=function(){this.pauseTimestamp>0&&(this.pausedTime+=this.getCurrentPausedTime(),this.pauseTimestamp=0)},e.prototype.resetTo=function(e){this.streamOffset=e,this.pauseTimestamp=0,this.pausedTime=0},e}(),Be={};!function(e){e.DOWNLOADING_LIB="downloading_lib",e.STOPPED="stopped",e.STREAM_INITIALIZED="stream_initialized",e.READY="ready",e.PLAYING="playing",e.PAUSED="paused"}(De||(De={}));var Ue=function(t,i){return new e.Observable((function(e){var r=function(t){return e.next(t)};return t.on(i,r),function(){return t.off(i,r)}}))},Fe=function(){function t(t){var i=this;this.subscription=new e.Subscription,this.videoState=new X(De.DOWNLOADING_LIB),this.textTracksManager=new A,this.videoTracks=[],this.isLive$=new e.ValueSubject(void 0),this.maxSeekBackTime$=new e.ValueSubject(1/0),this.availableFrom$=new e.ValueSubject(void 0),this.liveOffset=new Me,this.syncPlayback=function(){var t=i.videoState.getState(),r=i.params.desiredState.playbackState.getState(),a=i.params.desiredState.playbackState.getTransition(),n=i.params.desiredState.seekPosition.getTransition(),s=i.isLive$.getValue();if(!i.videoState.getTransition()&&t!==De.DOWNLOADING_LIB&&t!==De.STREAM_INITIALIZED){var o=null==n?void 0:n.to;switch((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(o)&&t!==De.STOPPED&&r!==exports.PlaybackState.STOPPED&&(s?i.seek(o+He(i.liveOffset.getTotalPausedTime())):i.seek(o)),r){case exports.PlaybackState.STOPPED:switch(t){case De.STOPPED:break;case De.PLAYING:case De.PAUSED:case De.READY:i.stop();break;default:e.assertNever(t)}break;case exports.PlaybackState.PLAYING:switch(t){case De.PLAYING:break;case De.PAUSED:s&&(i.liveOffset.getTotalPausedTime()<i.params.config.maxPausedTime&&i.liveOffset.getTotalOffset()<i.maxSeekBackTime$.getValue()?(i.liveOffset.resume(),i.params.output.position$.next(He(i.liveOffset.getTotalOffset()))):i.seek(He(i.liveOffset.getTotalOffset()))),i.play();break;case De.READY:i.play();break;case De.STOPPED:i.prepare();break;default:e.assertNever(t)}break;case exports.PlaybackState.PAUSED:switch(t){case De.PLAYING:i.pause(),i.liveOffset.pause();break;case De.PAUSED:break;case De.READY:i.videoState.setState(De.PAUSED),C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED);break;case De.STOPPED:i.prepare();break;default:e.assertNever(t)}break;default:e.assertNever(r)}}},this.video=N(t.container),this.params=t,this.params.output.element$.next(this.video),this.params.output.availableVideoTracks$.next([]),this.params.output.hostname$.next(W(this.params.source.url)),this.loadDashJs()}return t.prototype.loadDashJs=function(){var e=this,t=!1,r=function(i){var r,a;t||e.params.output.error$.next({id:"timeout"===i?"DashJSTimedOut":"DashJSLoadingError",message:"Dash.js failed to load: "+(null===(a=null===(r=i)||void 0===r?void 0:r.toString)||void 0===a?void 0:a.call(r)),thrown:i}),t=!0},a=window.setTimeout((function(){return r("timeout")}),5e3);Promise.resolve().then((function(){return i(require("dashjs/dist/dash.mediaplayer.min.js"))})).then((function(i){t||(Be.MediaPlayer=i.MediaPlayer,Be.Debug=i.Debug,e.init())}),r).finally((function(){window.clearTimeout(a),t=!0}))},t.prototype.init=function(){var t=this;e.assertNonNullable(Be.MediaPlayer,"dashjs not loaded"),e.assertNonNullable(Be.Debug,"dashjs not loaded"),this.player=Be.MediaPlayer().create(),this.player.updateSettings({debug:{logLevel:3},streaming:{buffer:{fastSwitchEnabled:!0},abr:{limitBitrateByPortal:this.params.tuning.autoTrackSelection.limitByContainer,usePixelRatioInLimitBitrateByPortal:this.params.tuning.autoTrackSelection.usePixelRatio,additionalAbrRules:{insufficientBufferRule:!1}},utcSynchronization:{useManifestDateHeaderTimeSource:!0}}}),(this.params.format===exports.VideoFormat.DASH_WEBM||this.params.format===exports.VideoFormat.DASH_LIVE_WEBM)&&this.params.tuning.useWebmBigRequest?this.destroyBigRequest=Oe(this.player,{minInitSize:this.params.tuning.bigRequestMinInitSize,minDataSize:this.params.tuning.bigRequestMinDataSize,onError:function(e){return t.params.output.error$.next(e)},onDownloadStream:function(e){return t.params.dependencies.throughputEstimator.stream$.next(e)}}):this.params.tuning.stripRangeHeader&&this.player.extend("HTTPLoader",(function(){var e=this.parent.load;return{load:function(t){if(t.request&&t.request.range){var i=h(t.request.range.split("-").map((function(e){return parseInt(e,10)})),2),r=i[0],a=i[1],n=new URL(t.request.url,location.href);n.searchParams.append("bytes",r+"-"+a),t.request.url=n.toString(),t.request.range=void 0}e(t)}}}),!0),this.player.clearDefaultUTCTimingSources(),this.subscribe(),this.videoState.setState(De.STOPPED)},t.prototype.subscribe=function(){var t=this,i=this.params,r=i.output,a=i.desiredState,n=function(e){r.error$.next({id:"DashIFProvider",message:"DashIFProvider internal logic error",thrown:e})},s=function(e,i){return t.subscription.add(e.subscribe(i,n))};s(Ue(this.player,"error").pipe(e.map((function(e){return{id:"DashJS#"+("object"==typeof e.error?e.error.code:e.error),message:"object"==typeof e.error?e.error.message:void 0}}))),r.error$),s(Ue(this.player,"playbackError").pipe(e.map((function(e){return{id:"DashJSPlayback",message:e.error}}))),r.error$);var o=Ue(this.player,"qualityChangeRendered").pipe(e.filter((function(e){return"video"===e.mediaType})),e.map((function(e){var i,r=e.newQuality;return null===(i=t.videoTracks.find((function(e){return e.bitrateInfo.qualityIndex===r})))||void 0===i?void 0:i.track})));o.pipe(e.filter(e.isNonNullable)).subscribe(r.currentVideoTrack$),this.subscription.add(this.videoState.transitionEnded$.pipe(e.filter((function(e){return e.to===De.STREAM_INITIALIZED})),e.once()).subscribe((function(){t.subscription.add(P(a.videoTrack,(function(){var e,i,r=t.player.getQualityFor("video");return null===(i=null===(e=t.videoTracks.find((function(e){return e.bitrateInfo.qualityIndex===r})))||void 0===e?void 0:e.track)||void 0===i?void 0:i.id}),(function(i){var r;if(!e.isNullable(i)){var a=null===(r=t.videoTracks.find((function(e){return e.track.id===i})))||void 0===r?void 0:r.bitrateInfo;a&&t.player.setQualityFor("video",a.qualityIndex)}}),{changed$:o.pipe(e.map((function(e){return null==e?void 0:e.id}))),onError:n}))}),n)),this.subscription.add(P(a.autoVideoTrackSwitching,(function(){var e,i,r;return null===(r=null===(i=null===(e=t.player.getSettings().streaming)||void 0===e?void 0:e.abr)||void 0===i?void 0:i.autoSwitchBitrate)||void 0===r?void 0:r.video}),(function(e){return t.player.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:e}}}})}),{onError:n})),s(Ue(this.player,"bufferStateChanged").pipe(e.filter((function(e){return"video"===e.mediaType})),e.map((function(e){return"bufferStalled"===e.state}))),r.isBuffering$),s(Ue(this.player,"fragmentLoadingStarted").pipe(e.map((function(e){return W(e.request.url)}))),r.hostname$),s(Ue(this.player,"streamInitialized"),(function(e){var i,a,n=e.streamInfo,s=n.duration,o=n.manifestInfo,u=o.isDynamic,d=o.availableFrom;t.isLive$.next(u),t.availableFrom$.next(d.getTime()),u||r.duration$.next(s),t.videoTracks=[];var c,l=t.player.getQualityFor("video");try{for(var h=p(t.player.getBitrateInfoListFor("video")),f=h.next();!f.done;f=h.next()){var v=f.value,m=v.qualityIndex.toString(10),S=U(v),b=v.bitrate/1e3,g={width:v.width,height:v.height};if(S){var y={id:m,quality:S,bitrate:b,size:g};t.videoTracks.push({track:y,bitrateInfo:v}),v.qualityIndex===l&&(c=y)}}}catch(e){i={error:e}}finally{try{f&&!f.done&&(a=h.return)&&a.call(h)}finally{if(i)throw i.error}}r.availableVideoTracks$.next(t.videoTracks.map((function(e){return e.track}))),c&&r.currentVideoTrack$.next(c),t.videoState.setState(De.STREAM_INITIALIZED),t.videoState.startTransitionTo(De.READY)})),s(Ue(this.player,"fragmentLoadingCompleted"),(function(e){var i=e.request;if(i.requestEndDate&&i.firstByteDate&&i.bytesLoaded){var r=i.requestEndDate.getTime()-i.firstByteDate.getTime(),a=i.bytesLoaded;t.params.dependencies.throughputEstimator.rawSpeed$.next({time:r,size:a})}})),s(this.params.dependencies.throughputEstimator.estimation$,(function(e){if(t.params.desiredState.autoVideoTrackSwitching.getState()&&t.videoTracks.length){var i=z(t.videoTracks.map((function(e){return e.track})),{container:{width:t.video.offsetWidth,height:t.video.offsetHeight},throughput:e,tuning:t.params.tuning.autoTrackSelection}),r=t.videoTracks.find((function(e){return e.track===i}));(null==r?void 0:r.bitrateInfo)&&t.player.setQualityFor("video",null==r?void 0:r.bitrateInfo.qualityIndex,!1)}})),s(e.combine({maxSeekBackTime:this.maxSeekBackTime$,isLive:this.isLive$.pipe(e.filter(e.isNonNullable))}).pipe(e.filter((function(e){return e.isLive})),e.map((function(e){var t=e.maxSeekBackTime;return He(t)}))),this.params.output.duration$);var u=Ue(this.player,"playbackTimeUpdated").pipe(e.map((function(e){var t=e.time;return null!=t?t:0})));s(e.combine({availableFrom:this.availableFrom$.pipe(e.filter(e.isNonNullable)),currentTime:u}),(function(e){var i=e.availableFrom,r=e.currentTime;return t.params.output.liveTime$.next(i+1e3*r)})),s(u.pipe(e.filter((function(){return!1===t.isLive$.getValue()}))),r.position$),s(Ue(this.player,"playbackSeeked"),(function(){return a.seekPosition.setState(void 0)})),s(Ue(this.player,"playbackEnded"),r.endedEvent$),s(Ue(this.player,"playbackProgress").pipe(e.map((function(){return _(t.video.buffered,t.video.currentTime)}))),r.currentBuffer$),s(Ue(this.player,"playbackPlaying"),(function(){t.videoState.setState(De.PLAYING),C(a.playbackState,exports.PlaybackState.PLAYING)})),s(Ue(this.player,"playbackNotAllowed"),(function(){t.player.isMuted()?(t.player.setMute(!1),t.videoState.setState(De.PAUSED),C(t.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0)):(t.player.setMute(!0),t.player.play())})),s(Ue(this.player,"playbackPaused"),(function(){t.videoState.setState(De.PAUSED),C(a.playbackState,exports.PlaybackState.PAUSED)})),s(Ue(this.player,"canPlay"),(function(){var e;(null===(e=t.videoState.getTransition())||void 0===e?void 0:e.to)===De.READY&&t.videoState.setState(De.READY)})),s(this.isLive$,r.isLive$),s(J(this.video),(function(){t.player.isReady()&&t.player.updatePortalSize()})),s(e.merge(a.playbackState.stateChangeStarted$,a.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0)),this.syncPlayback);var d=Ve(this.player),c=d.playbackDuration$,l=d.ping$;s(c,this.maxSeekBackTime$),s(l.pipe(e.once()),r.firstBytesEvent$),this.params.tuning.flushShortLoopedBuffers&&s(e.combine({isLive:this.isLive$,isShort:r.duration$.pipe(e.map((function(e){return e<30})))}),(function(e){var i=e.isLive,r=e.isShort,a=!i&&r;t.player.updateSettings({streaming:{buffer:{flushBufferAtTrackSwitch:a}}})})),s(u.pipe(e.filter((function(e){return e>t.params.tuning.insufficientBufferRuleMargin})),e.once()),(function(){return t.player.updateSettings({streaming:{abr:{additionalAbrRules:{insufficientBufferRule:!0}}}})})),this.textTracksManager.connect(this.video,a,r),this.subscription.add(Ue(this.player,"manifestLoaded").pipe(e.once()).subscribe((function(){var i=Date.now();t.subscription.add(Ue(t.player,"playbackPlaying").pipe(e.once()).subscribe((function(){return r.firstFrameEvent$.next(Date.now()-i)}),n))}),n)),this.subscription.add(k(this.video,a.isLooped,n));var h=R(this.video).volumeState$;this.subscription.add(w(this.video,a.volume,h,n)),this.subscription.add(h.subscribe(r.volume$,n))},t.prototype.stop=function(){this.params.output.position$.next(0),this.params.output.duration$.next(1/0),this.params.output.currentBuffer$.next(void 0),this.params.output.hostname$.next(void 0),this.player.attachSource(null),this.player.attachView(null),this.player.initialize(),this.player.clearDefaultUTCTimingSources(),this.videoState.setState(De.STOPPED),C(this.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0)},t.prototype.prepare=function(){this.videoState.startTransitionTo(De.STREAM_INITIALIZED),this.player.initialize(),this.player.clearDefaultUTCTimingSources(),this.player.attachView(this.video),this.player.attachSource(this.params.source.url)},t.prototype.seek=function(e){if(this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.isLive$.getValue()){var t=-Math.round(1e3*e),i=t<this.maxSeekBackTime$.getValue()?t:0;this.liveOffset.resetTo(i),this.params.output.position$.next(He(i));var r=Ee(this.params.source.url,this.liveOffset.getTotalOffset()/1e3,Se.PLAYBACK_SHIFT);this.player.attachSource(r)}else this.player.seek(e)},t.prototype.play=function(){this.videoState.startTransitionTo(De.PLAYING),this.player.play()},t.prototype.pause=function(){this.videoState.startTransitionTo(De.PAUSED),this.video.pause()},t.prototype.destroy=function(){var e,t;this.subscription.unsubscribe(),this.textTracksManager.destroy();try{null===(e=this.player)||void 0===e||e.destroy()}catch(e){}this.video.remove(),this.params.output.element$.next(void 0),null===(t=this.destroyBigRequest)||void 0===t||t.call(this)},t}(),He=function(e){return-e/1e3};function qe(){return window.performance?window.performance.now():Date.now()}function Ge(e){return qe()-e}function Ye(e){var t=e.split("/"),i=t.slice(0,t.length-1).join("/"),r=/^([a-z]+:)?\/\//i;return{resolve:function(e,t,a){void 0===a&&(a=!1),function(e){return r.test(e)}(e)||(e.startsWith("/")||(e="/"+e),e=i+e);var n=e.indexOf("?")>-1?"&":"?";return a&&(e+=n+"lowLat=1",n="&"),t&&(e+=n+"_rnd="+Math.floor(999999999*Math.random())),e}}}function je(t,i,r,a){var n,s,o,u,d,c=window.XMLHttpRequest,l=!1,p=0,h=!1,f="arraybuffer",v=7e3,m=2e3,S=function(){if(!l){e.assertNonNullable(u);var t=Ge(u);t<m?setTimeout(S,m-t):((m*=2)>v&&(m=v),s&&s.abort(),s=new c,g())}},b=function(){if(!l){if(--p>=0)return S(),void(a&&a());l=!0,d&&d(),r&&r()}},g=function(){u=qe(),(s=new c).open("get",t);var r,a=0,p=0,v=function(){return e.assertNonNullable(u),Math.max(u,Math.max(r||0,p||0))};if(n&&s.addEventListener("progress",(function(e){var t=qe();n.updateChunk&&e.loaded>a&&(n.updateChunk(v(),e.loaded-a),a=e.loaded,r=t)})),o&&(s.timeout=o,s.addEventListener("timeout",(function(){return b()}))),s.addEventListener("load",(function(){if(!l){e.assertNonNullable(s);var t=s.status;if(t>=200&&t<300){if(s.response.byteLength&&n){var r=s.response.byteLength-a;r&&n.updateChunk&&n.updateChunk(v(),r)}d&&d(),s&&i(s.response)}else b()}})),s.addEventListener("error",(function(){b()})),h){var m=function(){e.assertNonNullable(s),s.readyState===XMLHttpRequest.HEADERS_RECEIVED&&(p=qe(),s.removeEventListener("readystatechange",m))};s.addEventListener("readystatechange",m)}return s.responseType=f,s.send(),y},y={withBitrateReporting:function(e){return n=e,y},withParallel:function(e){return h=e,y},withJSONResponse:function(){return f="json",y},withRetryCount:function(e){return p=e,y},withRetryInterval:function(t,i){return e.isNonNullable(t)&&(m=t),e.isNonNullable(i)&&(v=i),y},withTimeout:function(e){return o=e,y},withFinally:function(e){return d=e,y},send:g,abort:function(){s&&(s.abort(),s=void 0),l=!0,d&&d()}};return y}var Qe,ze=function(){function e(e){this.intervals=[],this.currentRate=0,this.logger=e}return e.prototype._updateRate=function(e){var t=.2;this.currentRate&&(e<.1*this.currentRate?t=.8:e<.5*this.currentRate?t=.5:e<.7*this.currentRate&&(t=.3)),e=Math.max(1,Math.min(e,104857600)),this.currentRate=this.currentRate?this.currentRate*(1-t)+e*t:e},e.prototype._createInterval=function(e,t,i){return{start:e,end:t,bytes:i}},e.prototype._doMergeIntervals=function(e,t){e.start=Math.min(t.start,e.start),e.end=Math.max(t.end,e.end),e.bytes+=t.bytes},e.prototype._mergeIntervals=function(e,t){return e.start<=t.end&&t.start<=e.end&&(this._doMergeIntervals(e,t),!0)},e.prototype._flushIntervals=function(){if(!this.intervals.length)return!1;var e=this.intervals[0].start,t=this.intervals[this.intervals.length-1].end-500;if(t-e>2e3){for(var i=0,r=0;this.intervals.length>0;){var a=this.intervals[0];if(a.end<=t)i+=a.end-a.start,r+=a.bytes,this.intervals.splice(0,1);else{if(a.start>=t)break;var n=t-a.start,s=a.end-a.start;i+=n;var o=a.bytes*n/s;r+=o,a.start=t,a.bytes-=o}}if(r>0&&i>0){var u=8*r/(i/1e3);return this._updateRate(u),this.logger("rate updated, new="+Math.round(u/1024)+"K; average="+Math.round(this.currentRate/1024)+"K bytes/ms="+Math.round(r)+"/"+Math.round(i)+" interval="+Math.round(t-e)),!0}}return!1},e.prototype._joinIntervals=function(){var e;do{e=!1;for(var t=0;t<this.intervals.length-1;++t)this._mergeIntervals(this.intervals[t],this.intervals[t+1])&&(this.intervals.splice(t+1,1),e=!0)}while(e)},e.prototype.addInterval=function(e,t,i){return this.intervals.push(this._createInterval(e,t,i)),this._joinIntervals(),this.intervals.length>100&&(this.logger("too many intervals ("+this.intervals.length+"); will merge",{type:"warn"}),this._doMergeIntervals(this.intervals[1],this.intervals[0]),this.intervals.splice(0,1)),this._flushIntervals()},e.prototype.getBitRate=function(){return this.currentRate},e}(),We=function(){function e(e,t,i,r,a){this.pendingQueue=[],this.activeRequests={},this.completeRequests={},this.averageSegmentDuration=2e3,this.lastPrefetchStart=0,this.throttleTimeout=null,this.RETRY_COUNT=e,this.TIMEOUT=t,this.BITRATE_ESTIMATOR=i,this.MAX_PARALLEL_REQUESTS=r,this.logger=a}return e.prototype.limitCompleteCount=function(){for(var e;(e=Object.keys(this.completeRequests)).length>this._getParallelRequestCount()+2;){var t=e[Math.floor(Math.random()*e.length)];this.logger("Dropping completed request for url "+t,{type:"warn"}),delete this.completeRequests[t]}},e.prototype._sendRequest=function(e,t){var i=this,r=qe();e._request=je(t,(function(a){e._complete=1,e._responseData=a,e._downloadTime=qe()-r,delete i.activeRequests[t],i._sendPending(),e._cb?e._cb(a,e._downloadTime):(i.limitCompleteCount(),i.completeRequests[t]=e)}),(function(){return r="error",delete i.activeRequests[t],i.limitCompleteCount(),i.completeRequests[t]=e,i._sendPending(),e._error=1,e._errorMsg=r,void(e._errorCB?e._errorCB(r):(i.limitCompleteCount(),i.completeRequests[t]=e));var r}),(function(){e._retry=1,e._retryCB&&e._retryCB()})),e._request.withRetryCount(this.RETRY_COUNT).withTimeout(this.TIMEOUT).withBitrateReporting(this.BITRATE_ESTIMATOR).withParallel(this._getParallelRequestCount()>1).withFinally((function(){e._finallyCB&&e._finallyCB()})),this.activeRequests[t]=e,e._request.send(),this.lastPrefetchStart=qe()},e.prototype._getParallelRequestCount=function(){return Math.min(this.MAX_PARALLEL_REQUESTS,this.averageSegmentDuration<3e3?3:2)},e.prototype._getPrefetchDelay=function(){return Math.max(100,Math.min(5e3,this.averageSegmentDuration/3))},e.prototype._canSendPending=function(){var e=this,t=this._getParallelRequestCount(),i=qe();if(Object.keys(this.activeRequests).length>=t)return!1;var r=this._getPrefetchDelay()-(i-this.lastPrefetchStart);return this.throttleTimeout&&clearTimeout(this.throttleTimeout),!(r>0)||(this.throttleTimeout=window.setTimeout((function(){return e._sendPending()}),r),!1)},e.prototype._sendPending=function(){for(;this._canSendPending();){var e=this.pendingQueue.pop();if(!e)return;this.activeRequests[e]||this.completeRequests[e]||(this.logger("Submitting pending request url="+e),this._sendRequest({},e))}},e.prototype._removeFromActive=function(e){delete this.completeRequests[e],delete this.activeRequests[e]},e.prototype.abortAll=function(){Object.values(this.activeRequests).forEach((function(e){e&&e._request&&e._request.abort()})),this.activeRequests={},this.pendingQueue=[],this.completeRequests={}},e.prototype.requestData=function(e,t,i,r){var a=this,n={send:function(){var s=a.activeRequests[e]||a.completeRequests[e];if(s)s._cb=t,s._errorCB=i,s._retryCB=r,s._finallyCB=n._finallyCB,s._error||s._complete?(a._removeFromActive(e),setTimeout((function(){s._complete?(a.logger("Requested url already prefetched, url="+e),t(s._responseData,s._downloadTime)):(a.logger("Requested url already prefetched with error, url="+e),i(s._errorMsg)),n._finallyCB&&n._finallyCB()}),0)):a.logger("Attached to active request, url="+e);else{var o=a.pendingQueue.indexOf(e);-1!==o&&a.pendingQueue.splice(o,1),a.logger("Request not prefetched, starting new request, url="+e+(-1===o?"":"; removed pending")),a._sendRequest(n,e)}}};return n._cb=t,n._errorCB=i,n._retryCB=r,n.abort=function(){n.request&&n.request.abort()},n.withFinally=function(e){return n._finallyCB=e,n},n},e.prototype.prefetch=function(e){this.activeRequests[e]||this.completeRequests[e]?this.logger("Request already active for url="+e):(this.logger("Added to pending queue; url="+e),this.pendingQueue.unshift(e),this._sendPending())},e.prototype.optimizeForSegDuration=function(e){this.averageSegmentDuration=e},e}(),Je=function(){function t(e){this.paused=!1,this.autoQuality=!0,this.buffering=!0,this.destroyed=!1,this.videoPlayStarted=!1,this.lowLatency=!1,this.bitrate=0,this.manifest=[],this.sourceBuffer=0,this.bufferStates=[],this.sourceJitter=-1,this.params=e,this.chunkRateEstimator=new ze(this.params.logger),this._initVideo()}return t.prototype.attachSource=function(e){this.manifestUrl=e,this.urlResolver=Ye(e),this.bitrateSwitcher=this._initBitrateSwitcher(),this._initManifest()},t.prototype.setAutoQualityEnabled=function(e){this.autoQuality=e},t.prototype.switchByName=function(e){for(var t,i=0;i<this.manifest.length;++i)if((t=this.manifest[i]).name===e)return void this._switchToQuality(t)},t.prototype.catchUp=function(){this.rep&&this.rep.stop(),this.currentManifestEntry&&(this.paused=!1,this._initPlayerWith(this.currentManifestEntry),this._notifyBuffering(!0))},t.prototype.stop=function(){this.params.videoElement.pause(),this.rep&&(this.rep.stop(),this.rep=null)},t.prototype.pause=function(){this.paused=!0,this.params.videoElement.pause(),this.videoPlayStarted=!1,this._notifyBuffering(!1)},t.prototype.play=function(e){this.paused=!1;var t=this.lowLatency&&this._getBufferSizeSec()>this.sourceJitter+5;this.rep&&!t?(this.bufferStates=[],this.videoPlayStarted=!1,this.shouldPlay()?this._playVideoElement(e):this._notifyBuffering(!0)):this.catchUp()},t.prototype.startPlay=function(e,t){this.autoQuality=t,this._initPlayerWith(e)},t.prototype.destroy=function(){this.destroyed=!0,this.rep&&(this.rep.stop(),this.rep=null),this.manifestRequest&&this.manifestRequest.abort(),this.manifestRefetchTimer&&(clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=void 0)},t.prototype.reinit=function(e){this.manifestUrl=e,this.urlResolver=Ye(e),this.catchUp()},t.prototype._handleNetworkError=function(){this.params.logger("Fatal network error"),this.params.playerCallback({name:"error",type:"network"})},t.prototype._retryCallback=function(){this.params.playerCallback({name:"retry"})},t.prototype._getBufferSizeSec=function(){var e=this.params.videoElement,t=0,i=e.buffered.length;return 0!==i&&(t=e.buffered.end(i-1)-Math.max(e.currentTime,e.buffered.start(0))),t},t.prototype._notifyBuffering=function(e){this.destroyed||(this.params.logger("buffering: "+e),this.params.playerCallback({name:"buffering",isBuffering:e}),this.buffering=e)},t.prototype._initVideo=function(){var e=this,t=this.params,i=t.videoElement,r=t.logger;i.addEventListener("error",(function(t){var a;e.destroyed||(r("Video element error: "+(null===(a=i.error)||void 0===a?void 0:a.code)),e.params.playerCallback({name:"error",type:"media"}))})),i.addEventListener("timeupdate",(function(){var t=e._getBufferSizeSec();!e.paused&&t<.3?e.buffering||(e.buffering=!0,window.setTimeout((function(){!e.paused&&e.buffering&&e._notifyBuffering(!0),i.pause(),e.videoPlayStarted=!1}),1e3*(t+.1))):e.buffering&&e.videoPlayStarted&&e._notifyBuffering(!1)})),i.addEventListener("playing",(function(){r("playing")})),i.addEventListener("stalled",(function(){return e._fixupStall()})),i.addEventListener("waiting",(function(){return e._fixupStall()}))},t.prototype._fixupStall=function(){var e,t=this.params,i=t.logger,r=t.videoElement,a=r.buffered.length;0!==a&&(e=r.buffered.start(a-1),r.currentTime<e&&(i("Fixup stall"),r.currentTime=e))},t.prototype._selectQuality=function(e){for(var t,i,r,a=this.params.videoElement,n=a&&1.62*(window.devicePixelRatio||1)*a.offsetHeight||520,s=0;s<this.manifest.length;++s)(r=this.manifest[s]).bitrate<e&&n>Math.min(r.video.height,r.video.width)?(!i||r.bitrate>i.bitrate)&&(i=r):(!t||t.bitrate>r.bitrate)&&(t=r);return i||t},t.prototype.shouldPlay=function(){if(this.paused)return!1;var t=this._getBufferSizeSec()-Math.max(1,this.sourceJitter);return t>3||e.isNonNullable(this.downloadRate)&&(this.downloadRate>1.5&&t>2||this.downloadRate>2&&t>1)},t.prototype._setVideoSrc=function(t,i){var r=this,a=this.params,n=a.logger,s=a.videoElement,o=a.playerCallback;this.mediaSource=new window.MediaSource,n("setting video src"),s.src=URL.createObjectURL(this.mediaSource),this.mediaSource.addEventListener("sourceopen",(function(){e.assertNonNullable(r.mediaSource),r.sourceBuffer=r.mediaSource.addSourceBuffer(t.codecs),r.bufferStates=[],i()})),this.videoPlayStarted=!1,s.addEventListener("canplay",(function(){r.shouldPlay()&&(r.videoPlayStarted=!0,r._playVideoElement())}));var u=function(){var e,t,i,r;t="progress",i=function(){s.buffered.length?(s.currentTime=s.buffered.start(0),o({name:"playing"})):u()},r=function(){for(var a=[],n=0;n<arguments.length;n++)a[n]=arguments[n];i.apply(null,a),e.removeEventListener(t,r)},(e=s).addEventListener(t,r)};u()},t.prototype._initPlayerWith=function(e){var t=this;this.bitrate=0,this.rep=0,this.sourceBuffer=0,this.bufferStates=[],this.filesFetcher&&this.filesFetcher.abortAll(),this.filesFetcher=new We(3,1e4,this.bitrateSwitcher,this.params.config.MAX_PARALLEL_REQUESTS,this.params.logger),this._setVideoSrc(e,(function(){return t._switchToQuality(e)}))},t.prototype._representation=function(t){var i=this,r=this.params,a=r.logger,n=r.videoElement,s=r.playerCallback,o=!1,u=null,d=null,c=null,l=null,p=!1,h=function(){var e=o&&(!p||p===i.rep);return e||a("Not running!"),e},f=function(e){var t=n.playbackRate;n.playbackRate!==e&&(a("Playback rate switch: "+t+"=>"+e),n.playbackRate=e)},v=function(){if(i.lowLatency){var e=i._getBufferSizeSec();if(i.bufferStates.length<5)return void f(1);for(var t=qe()-6e4,r=0,n=0;n<i.bufferStates.length;n++){var s=i.bufferStates[n];e=Math.min(e,s.buf),s.ts<t&&r++}i.bufferStates.splice(0,r),a("update playback rate; minBuffer="+e+" drop="+r+" jitter="+i.sourceJitter);var o=e-1;i.sourceJitter>=0?o-=i.sourceJitter/2:i.sourceJitter-=1,f(o>3?1.15:o>1?1.1:o>.3?1.01:1)}else f(1)},m=function(t){var r,n=function(){return r&&r.start?r.start.length:0},o=function(e){return r.start[e]/1e3},u=function(e){return r.dur[e]/1e3},d=function(e){return r.fragIndex+e},c=function(e,t){return{chunkIdx:d(e),startTS:o(e),dur:u(e),discontinuity:t}},p=function(){var e=0;if(r&&r.dur){var t=Math.max(i.sourceJitter,1);for(i.lowLatency||(t+=2),e=r.dur.length-1;e>=0&&!((t-=r.dur[e]/1e3)<=0);--e);}return c(e,!0)};return{seek:function(u,d){!function(e,t,r){l&&l.abort(),l=je(i.urlResolver.resolve(e,!0,i.lowLatency),t,r,(function(){return i._retryCallback()})).withTimeout(1e4).withRetryCount(3).withFinally((function(){l=null})).withJSONResponse().send()}(t,(function(t){if(h()){r=t;var l,f=Boolean(r.lowLatency);f!==i.lowLatency&&(l=f,i.lowLatency=l,a("lowLatency changed to "+l),v());for(var m=0,S=0;S<r.dur.length;++S)m+=r.dur[S];m>0&&(e.assertNonNullable(i.filesFetcher),i.filesFetcher.optimizeForSegDuration(m/r.dur.length)),s({name:"index",zeroTime:r.zeroTime,shiftDuration:r.shiftDuration}),i.sourceJitter=r.hasOwnProperty("jitter")?Math.min(10,Math.max(.01,r.jitter/1e3)):1,u(function(t){var i=n();if(!(i<=0)){if(e.isNonNullable(t))for(var r=0;r<i;r++)if(o(r)>t)return c(r);return p()}}(d))}}),(function(){return i._handleNetworkError()}))},nextChunk:function(e){var t=n(),i=e?e.chunkIdx+1:0,s=i-r.fragIndex;if(!(t<=0)){if(!e||s<0||s-t>10)return a("Resync: offset="+s+" bChunks="+t+" chunk="+JSON.stringify(e)),p();if(!(s>=t))return c(i-r.fragIndex,!1)}}}},S=function(){o=!1,d&&d.abort(),c&&c.abort(),l&&l.abort(),e.assertNonNullable(i.filesFetcher),i.filesFetcher.abortAll()};return p={start:function(r){var a,n,s,p,f,b,g,y,T,E,P=i.params,k=P.videoElement,w=P.logger,x=m(t.jidxUrl),A=0,N=function(){f&&(clearTimeout(f),f=void 0);var e=Math.max(500,1e3*(i._getBufferSizeSec()-i.sourceJitter-5)),t=A+e,r=qe(),a=Math.min(1e4,t-r);A=r;var n=function(){l||h()&&x.seek((function(){h()&&(A=qe(),$(),N())}))};a>0?f=window.setTimeout((function(){i.paused?N():n()}),a):n()},$=function(){for(var e;e=x.nextChunk(p);)p=e,C(e);var r=x.nextChunk(s);if(r){if(s&&r.discontinuity)return w("Detected discontinuity; restarting playback"),void(i.paused?N():(S(),i._initPlayerWith(t)));R(r)}else N()},D=function(e,t){if(h()&&i.sourceBuffer){var r,a,n=function(i){window.setTimeout((function(){h()&&D(e,t)}),i)};if(i.sourceBuffer.updating)w("Source buffer is updating; delaying appendBuffer"),n(100);else{var s=qe(),o=k.currentTime;!i.paused&&k.buffered.length>1&&b===o&&s-g>500&&(w("Stall suspected; trying to fix"),i._fixupStall()),b!==o&&(b=o,g=s);var u=i._getBufferSizeSec();if(u>30)w("Buffered "+u+" seconds; delaying appendBuffer"),n(2e3);else try{i.sourceBuffer.appendBuffer(e),i.videoPlayStarted?(i.bufferStates.push({ts:s,buf:u}),v(),i.bufferStates.length>200&&i.bufferStates.shift()):i.shouldPlay()&&(i.videoPlayStarted=!0,i._playVideoElement()),t&&t()}catch(e){if("QuotaExceededError"!==e.name)throw e;w("QuotaExceededError; delaying appendBuffer"),0!==i.sourceBuffer.buffered.length&&(a=o)-(r=i.sourceBuffer.buffered.start(0))>4&&i.sourceBuffer.remove(r,a-3),n(1e3)}}}},_=function(){n&&a&&(w(["Appending chunk, sz="+n.byteLength+":",JSON.stringify(s)]),D(n,(function(){n=null,$()})))},I=function(e){return t.fragUrlTemplate.replace("%%id%%",e.chunkIdx)},R=function(t){var r,a,o;h()&&(r=I(t),a=function(e,r){if(h()){if(r/=1e3,n=e,s=t,u=t.startTS,r){var a=Math.min(10,t.dur/r);i.downloadRate=i.downloadRate?.7*i.downloadRate+.3*a:a}_()}},o=function(){return i._handleNetworkError()},e.assertNonNullable(i.filesFetcher),null==d||d.abort(),d=i.filesFetcher.requestData(i.urlResolver.resolve(r,!1),a,o,(function(){return i._retryCallback()})).withFinally((function(){d=null})).send())},C=function(t){h()&&(e.assertNonNullable(i.filesFetcher),i.filesFetcher.prefetch(i.urlResolver.resolve(I(t),!1)))},L=function(e){h()&&(t.cachedHeader=e,D(e,(function(){a=!0,_()})))};o=!0,x.seek((function(t){h()&&(A=qe(),t?(p=t,!e.isNullable(r)||t.startTS>r?R(t):(s=t,$())):N())}),r),t.cachedHeader?L(t.cachedHeader):(y=t.headerUrl,T=L,E=function(){return i._handleNetworkError()},c&&c.abort(),c=je(i.urlResolver.resolve(y,!1),T,E,(function(){return i._retryCallback()})).withTimeout(1e4).withBitrateReporting(i.bitrateSwitcher).withRetryCount(3).withFinally((function(){c=null})).send())},stop:S,getTimestampSec:function(){return u}}},t.prototype._switchToQuality=function(t){var i,r=this.params,a=r.logger,n=r.playerCallback;t.bitrate!==this.bitrate&&(this.rep&&(i=this.rep.getTimestampSec(),e.isNonNullable(i)&&(i+=.1),this.rep.stop()),this.currentManifestEntry=t,this.rep=this._representation(t),a("switch to quality: codecs="+t.codecs+"; headerUrl="+t.headerUrl+"; bitrate="+t.bitrate),this.bitrate=t.bitrate,e.assertNonNullable(this.bitrateSwitcher),this.bitrateSwitcher.notifySwitch(this.bitrate),this.rep.start(i),n({name:"qualitySwitch",quality:t}))},t.prototype._qualityAvailable=function(t){return e.isNonNullable(this.manifest.find((function(e){return e.name===t})))},t.prototype._initBitrateSwitcher=function(){var e,t=this,i=this.params,r=i.logger,a=i.playerCallback,n={updateChunk:function(e,i){var r=qe();if(t.chunkRateEstimator.addInterval(e,r,i)){var n=t.chunkRateEstimator.getBitRate();return a({name:"bandwidth",size:i,duration:r-e,speed:n}),!0}},get:function(){var e=t.chunkRateEstimator.getBitRate();return e?.85*e:0}},s=-1/0,o=!0,u=function(){var i=n.get();if(i&&e&&t.autoQuality){if(o&&i>e&&Ge(s)<3e4)return;!function(e){var i,a,n;t.autoQuality&&(t.currentManifestEntry&&t._qualityAvailable(t.currentManifestEntry.name)&&e<t.bitrate&&(a=t._getBufferSizeSec(),n=e/t.bitrate,a>10&&n>.8||a>15&&n>.5||a>20&&n>.3)?r("Not switching: buffer="+Math.floor(a)+"; bitrate="+t.bitrate+"; newRate="+Math.floor(e)):(i=t._selectQuality(e))?t._switchToQuality(i):r("Could not find quality by bitrate "+e))}(i)}o=t.autoQuality};return{updateChunk:function(e,t){var i=n.updateChunk(e,t);return i&&u(),i},notifySwitch:function(t){var i=qe();t<e&&(s=i),e=t}}},t.prototype._fetchManifest=function(e,t,i){var r=this;this.manifestRequest=je(this.urlResolver.resolve(e,!0),t,i,(function(){return r._retryCallback()})).withJSONResponse().withTimeout(1e4).withRetryCount(3).withRetryInterval(300,2e3).send().withFinally((function(){r.manifestRequest=void 0}))},t.prototype._playVideoElement=function(e){var t=this.params.videoElement;E(t).then((function(t){t||null==e||e()}))},t.prototype._handleManifestUpdate=function(e){var t=this,i=this.params,r=i.logger,a=i.playerCallback,n=i.videoElement;this.manifest=function(e){var i=[];return(null==e?void 0:e.length)?(e.forEach((function(e,t){e.video&&n.canPlayType(e.codecs).replace(/no/,"")&&window.MediaSource.isTypeSupported(e.codecs)&&(e.index=t,i.push(e))})),i.sort((function(e,t){return e.video&&t.video?t.video.height-e.video.height:t.bitrate-e.bitrate})),i):(t.params.playerCallback({name:"error",type:"partial_metadata"}),[])}(e),r("Valid manifest entries: "+this.manifest.length+"/"+e.length),a({name:"manifest",manifest:this.manifest})},t.prototype._refetchManifest=function(e){var t=this;this.destroyed||(this.manifestRefetchTimer&&clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=window.setTimeout((function(){t._fetchManifest(e,(function(i){t.destroyed||(t._handleManifestUpdate(i),t._refetchManifest(e))}),(function(){return t._refetchManifest(e)}))}),6e4))},t.prototype._initManifest=function(){var e=this;this._fetchManifest(this.manifestUrl,(function(t){e.destroyed||(e._handleManifestUpdate(t),e._refetchManifest(e.manifestUrl))}),(function(){return e._handleNetworkError()}))},t}();!function(e){e.STOPPED="stopped",e.MANIFEST_READY="manifest_ready",e.READY="ready",e.PLAYING="playing",e.PAUSED="paused"}(Qe||(Qe={}));var Xe,Ke=[Qe.PAUSED,Qe.PLAYING,Qe.READY],Ze=[Qe.PAUSED,Qe.PLAYING,Qe.READY],et=function(){function t(t){var i=this;this.subscription=new e.Subscription,this.videoState=new X(Qe.STOPPED),this.representations$=new e.ValueSubject([]),this.textTracksManager=new A,this.maxSeekBackTime$=new e.ValueSubject(1/0),this.zeroTime$=new e.ValueSubject(void 0),this.liveOffset=new Me,this._dashCb=function(t){var r,a,n,s,o;switch(t.name){case"buffering":var u=t.isBuffering;i.params.output.isBuffering$.next(u);break;case"error":i.params.output.error$.next({id:"DashLiveProviderInternal:"+t.type,message:"LiveDashPlayer reported error"});break;case"manifest":var c=t.manifest,l=[];try{for(var h=p(c),f=h.next();!f.done;f=h.next()){var v=f.value,m=null!==(n=v.name)&&void 0!==n?n:v.index.toString(10),S=U(v.video),b=v.bitrate/1e3,g=d({},v.video);if(S){var y={id:m,quality:S,bitrate:b,size:g};l.push({track:y,representation:v})}}}catch(e){r={error:e}}finally{try{f&&!f.done&&(a=h.return)&&a.call(h)}finally{if(r)throw r.error}}i.representations$.next(l),i.params.output.availableVideoTracks$.next(l.map((function(e){return e.track}))),(null===(s=i.videoState.getTransition())||void 0===s?void 0:s.to)===Qe.MANIFEST_READY&&i.videoState.setState(Qe.MANIFEST_READY);break;case"qualitySwitch":var T=t.quality;y=null===(o=i.representations$.getValue().find((function(e){return e.representation===T})))||void 0===o?void 0:o.track;i.params.output.hostname$.next(new URL(T.headerUrl,i.params.source.url).hostname),e.isNonNullable(y)&&i.params.output.currentVideoTrack$.next(y);break;case"bandwidth":g=t.size;var E=t.duration;i.params.dependencies.throughputEstimator.rawSpeed$.next({size:g,time:E});break;case"index":i.maxSeekBackTime$.next(t.shiftDuration),i.zeroTime$.next(t.zeroTime)}},this.syncPlayback=function(){var t,r=i.videoState.getState(),a=i.videoState.getTransition(),n=i.params.desiredState.playbackState.getState(),s=i.params.desiredState.playbackState.getTransition(),o=i.params.desiredState.seekPosition.getTransition();if(i.log({message:"[syncPlayback] videoState: "+r+"; videoTransition: "+JSON.stringify(a)+"; desiredPlaybackState: "+n+"; seekPositionTransition: "+JSON.stringify(o)+";"}),n!==exports.PlaybackState.STOPPED){if(!a){if(Ze.includes(r)){var u=null===(t=i.params.desiredState.videoTrack.getTransition())||void 0===t?void 0:t.to;e.isNonNullable(u)&&i.setVideoTrack(u);var d=i.params.desiredState.autoVideoTrackSwitching.getTransition();d&&i.setAutoQuality(d.to)}var c=null==o?void 0:o.to;if((null==s?void 0:s.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(c)&&Ke.includes(r))i.seek(c+tt(i.liveOffset.getTotalPausedTime()));else switch(r){case Qe.STOPPED:return i.videoState.startTransitionTo(Qe.MANIFEST_READY),void i.dash.attachSource(Ee(i.params.source.url));case Qe.MANIFEST_READY:i.videoState.startTransitionTo(Qe.READY),i.prepare();break;case Qe.READY:return void(n===exports.PlaybackState.PAUSED?i.videoState.setState(Qe.PAUSED):n===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(Qe.PLAYING),i.dash.play((function(){i.liveOffset.pause(),i.videoState.setState(Qe.PAUSED)}))));case Qe.PLAYING:return void(n===exports.PlaybackState.PAUSED&&(i.videoState.startTransitionTo(Qe.PAUSED),i.liveOffset.pause(),i.dash.pause()));case Qe.PAUSED:return void(n===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(Qe.PLAYING),i.liveOffset.getTotalPausedTime()<i.params.config.maxPausedTime&&i.liveOffset.getTotalOffset()<i.maxSeekBackTime$.getValue()?(i.liveOffset.resume(),i.dash.play((function(){i.liveOffset.pause(),i.videoState.setState(Qe.PAUSED)})),i.params.output.position$.next(tt(i.liveOffset.getTotalOffset()))):i.seek(tt(i.liveOffset.getTotalOffset()))));default:return e.assertNever(r)}}}else r!==Qe.STOPPED&&(i.videoState.startTransitionTo(Qe.STOPPED),i.dash.destroy(),i.video.setAttribute("src",""),i.video.load(),i.videoState.setState(Qe.STOPPED))},this.params=t,this.log=this.params.dependencies.logger.createComponentLog("DashLiveProvider");var r=function(e){t.output.error$.next({id:"DashLiveProvider",message:"DashLiveProvider internal logic error",thrown:e})};e.merge(this.videoState.stateChangeStarted$.pipe(e.map((function(e){return{transition:e,type:"start"}}))),this.videoState.stateChangeEnded$.pipe(e.map((function(e){return{transition:e,type:"end"}})))).subscribe((function(e){var t=e.transition,r=e.type;i.log({message:"[videoState change] "+r+": "+JSON.stringify(t)})})),this.video=N(t.container),this.params.output.element$.next(this.video),this.dash=this.createLiveDashPlayer(),this.params.output.duration$.next(1/0),this.params.output.position$.next(0),this.params.output.isLive$.next(!0),this.params.output.hostname$.next(W(this.params.source.url)),this.textTracksManager.connect(this.video,this.params.desiredState,this.params.output);var a=R(this.video);this.subscription.add(a.canplay$.subscribe((function(){var e;(null===(e=i.videoState.getTransition())||void 0===e?void 0:e.to)===Qe.READY&&i.videoState.setState(Qe.READY)}),r)).add(a.pause$.subscribe((function(){i.videoState.setState(Qe.PAUSED)}),r)).add(a.play$.subscribe((function(){i.videoState.setState(Qe.PLAYING)}),r)).add(a.error$.subscribe(this.params.output.error$)).add(this.maxSeekBackTime$.pipe(e.filterChanged(),e.map(tt)).subscribe(this.params.output.duration$)).add(e.combine({zeroTime:this.zeroTime$.pipe(e.filter(e.isNonNullable)),position:a.timeUpdate$}).subscribe((function(e){var t=e.zeroTime,r=e.position;return i.params.output.liveTime$.next(t+1e3*r)}),r)).add(k(this.video,this.params.desiredState.isLooped,r)).add(w(this.video,this.params.desiredState.volume,a.volumeState$,r)).add(a.volumeState$.subscribe(this.params.output.volume$,r)).add(I(this.video).subscribe(this.params.output.firstBytesEvent$)).add($(this.video).subscribe(this.params.output.firstFrameEvent$)).add(this.videoState.stateChangeEnded$.subscribe((function(t){switch(t.to){case Qe.STOPPED:i.params.output.position$.next(0),i.params.output.duration$.next(1/0),i.params.desiredState.playbackState.setState(exports.PlaybackState.STOPPED);break;case Qe.MANIFEST_READY:case Qe.READY:break;case Qe.PAUSED:i.params.desiredState.playbackState.setState(exports.PlaybackState.PAUSED);break;case Qe.PLAYING:i.params.desiredState.playbackState.setState(exports.PlaybackState.PLAYING);break;default:return e.assertNever(t.to)}}),r)).add(e.merge(t.desiredState.playbackState.stateChangeStarted$,t.desiredState.seekPosition.stateChangeStarted$,t.desiredState.videoTrack.stateChangeStarted$,t.desiredState.autoVideoTrackSwitching.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0)).subscribe(this.syncPlayback,r))}return t.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.video.remove(),this.params.output.element$.next(void 0),this.dash.destroy()},t.prototype.createLiveDashPlayer=function(){var e=this,t=new Je({videoElement:this.video,config:{CHUNK_DURATION:this.params.config.chunkDuration,BUFFER_OPTIMAL_DURATION:this.params.config.optimalBufferDuration,MAX_PARALLEL_REQUESTS:this.params.config.maxParallelRequests},playerCallback:this._dashCb,logger:function(t){e.params.dependencies.logger.log({message:String(t),component:"LiveDashPlayer"})}});return t.pause(),t},t.prototype.prepare=function(){var t,i,r,a,n,s,o=this.representations$.getValue(),u=null!==(i=null===(t=this.params.desiredState.videoTrack.getTransition())||void 0===t?void 0:t.to)&&void 0!==i?i:this.params.desiredState.videoTrack.getState(),d=null!==(a=null===(r=this.params.desiredState.autoVideoTrackSwitching.getTransition())||void 0===r?void 0:r.to)&&void 0!==a?a:this.params.desiredState.autoVideoTrackSwitching.getState(),c=!d&&e.isNonNullable(u)?u:null===(n=z(o.map((function(e){return e.track})),{container:{width:this.video.offsetWidth,height:this.video.offsetHeight},throughput:this.params.dependencies.throughputEstimator.estimation$.getValue(),tuning:this.params.tuning.autoTrackSelection}))||void 0===n?void 0:n.id,l=null===(s=o.find((function(e){return e.track.id===c})))||void 0===s?void 0:s.representation;e.assertNonNullable(l),this.dash.startPlay(l,d),this.params.desiredState.videoTrack.getTransition()&&this.params.desiredState.videoTrack.setState(c),this.params.desiredState.autoVideoTrackSwitching.getTransition()&&this.params.desiredState.autoVideoTrackSwitching.setState(d)},t.prototype.setVideoTrack=function(t){var i,r=null===(i=this.representations$.getValue().find((function(e){return e.track.id===t})))||void 0===i?void 0:i.representation;e.assertNonNullable(r),this.dash.switchByName(r.name),this.params.desiredState.videoTrack.setState(t)},t.prototype.setAutoQuality=function(e){this.dash.setAutoQualityEnabled(e),this.params.desiredState.autoVideoTrackSwitching.setState(e)},t.prototype.seek=function(e){this.log({message:"[seek] position: "+e}),this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0);var t=-Math.round(1e3*e),i=t<this.maxSeekBackTime$.getValue()?t:0;this.liveOffset.resetTo(i),this.params.output.position$.next(tt(i)),this.dash.reinit(Ee(this.params.source.url,i)),this.params.desiredState.seekPosition.setState(void 0)},t}(),tt=function(e){return-e/1e3},it=function(e){if(e.QUALITY)switch(e.QUALITY){case"mobile":return exports.VideoQuality.Q_144P;case"lowest":return exports.VideoQuality.Q_240P;case"low":return exports.VideoQuality.Q_360P;case"sd":case"medium":return exports.VideoQuality.Q_480P;case"hd":case"high":return exports.VideoQuality.Q_720P;case"fullhd":case"full":return exports.VideoQuality.Q_1080P;case"quadhd":case"quad":return exports.VideoQuality.Q_1440P;case"ultrahd":case"ultra":return exports.VideoQuality.Q_2160P}if(e.RESOLUTION){var t=h(e.RESOLUTION.split("x").map((function(e){return parseInt(e,10)})),2),i=t[0],r=t[1],a=U({width:i,height:r});if(a)return a}return null},rt=function(e,t){return void 0===t&&(t=e),c(void 0,void 0,void 0,(function(){var i,r,a,n,s,o,u,d,c,p,f,v,m,S,b,g;return l(this,(function(l){switch(l.label){case 0:return[4,fetch(e)];case 1:return[4,l.sent().text()];case 2:for(i=l.sent(),r=i.split("\n"),a=[],n=0;n<r.length;n++)s=r[n],(o=s.match(/^#EXT-X-STREAM-INF:(.+)/))&&(u=Object.fromEntries(o[1].split(",").map((function(e){return e.split("=")}))),d=null!==(g=u.QUALITY)&&void 0!==g?g:"stream-"+u.BANDWIDTH,c=it(u),p=void 0,u.BANDWIDTH&&(p=parseInt(u.BANDWIDTH,10)/1e3||void 0),!p&&u["AVERAGE-BANDWIDTH"]&&(p=parseInt(u["AVERAGE-BANDWIDTH"],10)/1e3||void 0),f=void 0,u.RESOLUTION&&(v=h(u.RESOLUTION.split("x").map((function(e){return parseInt(e,10)})),2),m=v[0],S=v[1],m&&S&&(f={width:m,height:S})),b=new URL(r[++n],t).toString(),c&&a.push({id:d,quality:c,url:b,bandwidth:p,size:f}));return[2,a]}}))}))};!function(e){e.STOPPED="stopped",e.READY="ready",e.PLAYING="playing",e.CHANGING_MANIFEST="changing_manifest",e.PAUSED="paused"}(Xe||(Xe={}));var at,nt=function(){function t(t){var i=this;this.subscription=new e.Subscription,this.videoState=new X(Xe.STOPPED),this.textTracksManager=new A,this.manifests$=new e.ValueSubject([]),this.syncPlayback=function(){var t=i.videoState.getState(),r=i.params.desiredState.playbackState.getState(),a=i.params.desiredState.playbackState.getTransition(),n=i.params.desiredState.videoTrack.getTransition(),s=i.params.desiredState.autoVideoTrackSwitching.getTransition();if(r!==exports.PlaybackState.STOPPED){if(!i.videoState.getTransition()){var o=i.params.desiredState.seekPosition.getTransition();if(t===Xe.STOPPED)return i.videoState.startTransitionTo(Xe.READY),void i.prepare();if(n||s){var u=i.videoState.getState();i.videoState.setState(Xe.CHANGING_MANIFEST),i.videoState.startTransitionTo(u);var d=i.video.currentTime;return i.prepare(),void(o&&!e.isNullable(o.to)||i.params.desiredState.seekPosition.startTransitionTo(d))}var c=null==o?void 0:o.to;switch((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(c)&&i.seek(c),t){case Xe.READY:return void(r===exports.PlaybackState.PAUSED?(i.videoState.setState(Xe.PAUSED),C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):r===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(Xe.PLAYING),i.playIfAllowed()));case Xe.PLAYING:return void(r===exports.PlaybackState.PAUSED?(i.videoState.startTransitionTo(Xe.PAUSED),i.video.pause()):(null==a?void 0:a.to)===exports.PlaybackState.PLAYING&&C(i.params.desiredState.playbackState,exports.PlaybackState.PLAYING));case Xe.PAUSED:return void(r===exports.PlaybackState.PLAYING?(i.videoState.startTransitionTo(Xe.PLAYING),i.playIfAllowed()):(null==a?void 0:a.to)===exports.PlaybackState.PAUSED&&C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED));case Xe.CHANGING_MANIFEST:break;default:return e.assertNever(t)}}}else t!==Xe.STOPPED&&(i.videoState.startTransitionTo(Xe.STOPPED),i.video.setAttribute("src",""),i.video.load(),i.params.output.position$.next(0),i.params.output.duration$.next(1/0),i.params.output.currentBuffer$.next(void 0),i.params.output.hostname$.next(void 0),i.videoState.setState(Xe.STOPPED),C(i.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0))},this.params=t,this.video=N(t.container),this.params.output.element$.next(this.video);var r={id:"master",quality:exports.VideoQuality.INVARIANT,url:this.params.source.url};this.manifests$.next([r]),this.params.output.isLive$.next(!1),this.params.output.hostname$.next(W(this.params.source.url)),rt(this.params.source.url).then((function(e){i.manifests$.next(f([r],h(e),!1))})),this.subscribe()}return t.prototype.selectManifest=function(){var e,t,i=this.params.desiredState,r=i.autoVideoTrackSwitching,a=i.videoTrack,n=r.getState(),s=a.getTransition(),o=null!==(t=null!==(e=null==s?void 0:s.to)&&void 0!==e?e:a.getState())&&void 0!==t?t:"master",u=this.manifests$.getValue();if(u){var d=n?"master":o;return n&&!s&&a.startTransitionTo("master"),u.find((function(e){return e.id===d}))}},t.prototype.subscribe=function(){var t=this,i=this.params,r=i.output,a=i.desiredState,n=function(e){r.error$.next({id:"HlsProvider",message:"HlsProvider internal logic error",thrown:e})},s=R(this.video),o=function(e,i){return t.subscription.add(e.subscribe(i))};o(s.timeUpdate$,r.position$),o(s.durationChange$,r.duration$),o(s.ended$,r.endedEvent$),o(s.error$,r.error$),o(s.isBuffering$,r.isBuffering$),o(s.currentBuffer$,r.currentBuffer$),o(s.firstBytes$,r.firstBytesEvent$),o(s.firstFrame$,r.firstFrameEvent$),this.subscription.add(s.seeked$.subscribe((function(){return a.seekPosition.setState(void 0)}),n)),this.subscription.add(k(this.video,a.isLooped,n)),this.subscription.add(w(this.video,a.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$,n)),this.textTracksManager.connect(this.video,a,r),this.subscription.add(s.play$.subscribe((function(){t.videoState.setState(Xe.PLAYING),C(a.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.pause$.subscribe((function(){t.videoState.setState(Xe.PAUSED),C(a.playbackState,exports.PlaybackState.PAUSED)}),n)).add(s.canplay$.subscribe((function(){var e;(null===(e=t.videoState.getTransition())||void 0===e?void 0:e.to)===Xe.READY&&t.videoState.setState(Xe.READY),t.videoState.getState()===Xe.PLAYING&&t.playIfAllowed()}),n).add(s.loadedMetadata$.subscribe((function(){var i=t.params.desiredState.seekPosition.getTransition(),r=t.videoState.getTransition(),a=t.params.desiredState.videoTrack.getTransition(),n=t.params.desiredState.autoVideoTrackSwitching.getTransition();if(a&&e.isNonNullable(a.to)){var s=a.to;t.params.desiredState.videoTrack.setState(s);var o=t.manifests$.getValue().find((function(e){return e.id===s}));o&&(t.params.output.currentVideoTrack$.next(o),t.params.output.hostname$.next(W(o.url)))}n&&t.params.desiredState.autoVideoTrackSwitching.setState(n.to),r&&r.from===Xe.CHANGING_MANIFEST&&t.videoState.setState(r.to),i&&e.isNonNullable(i.to)&&t.seek(i.to)}),n))),this.subscription.add(this.manifests$.pipe(e.map((function(e){return e.map((function(e){return{id:e.id,quality:e.quality,size:e.size,bitrate:e.bandwidth}}))}))).subscribe(this.params.output.availableVideoTracks$,n));var u=e.merge(a.playbackState.stateChangeStarted$,a.seekPosition.stateChangeStarted$,a.videoTrack.stateChangeStarted$,a.autoVideoTrackSwitching.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0));this.subscription.add(u.subscribe(this.syncPlayback,n))},t.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.video.remove(),this.params.output.element$.next(void 0)},t.prototype.prepare=function(){var t=this.selectManifest();e.isNullable(t)||(this.video.setAttribute("src",t.url),this.video.load())},t.prototype.playIfAllowed=function(){var e=this;E(this.video).then((function(t){t||(e.videoState.setState(Xe.PAUSED),C(e.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0))}))},t.prototype.seek=function(e){this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.video.currentTime=e},t}();!function(e){e.STOPPED="stopped",e.READY="ready",e.PLAYING="playing",e.CHANGING_MANIFEST="changing_manifest",e.PAUSED="paused"}(at||(at={}));var st,ot=function(){function t(t){var i,r=this;this.subscription=new e.Subscription,this.videoState=new X(at.STOPPED),this.textTracksManager=new A,this.manifests$=new e.ValueSubject([]),this.liveOffset=new Me,this.manifestStartTime$=new e.ValueSubject(void 0),this.syncPlayback=function(){var t=r.videoState.getState(),i=r.params.desiredState.playbackState.getState(),a=r.params.desiredState.playbackState.getTransition(),n=r.params.desiredState.videoTrack.getTransition(),s=r.params.desiredState.autoVideoTrackSwitching.getTransition();if(i!==exports.PlaybackState.STOPPED){if(!r.videoState.getTransition()){var o=r.params.desiredState.seekPosition.getTransition();if(t===at.STOPPED)return r.videoState.startTransitionTo(at.READY),void r.prepare();if(n||s){var u=r.videoState.getState();r.videoState.setState(at.CHANGING_MANIFEST),r.videoState.startTransitionTo(u);var d=ut(r.liveOffset.getTotalOffset());return r.prepare(),void(o&&!e.isNullable(o.to)||r.params.desiredState.seekPosition.startTransitionTo(d))}var c=null==o?void 0:o.to;if((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(c))return r.videoState.startTransitionTo(at.READY),r.seek(c+ut(r.liveOffset.getTotalPausedTime())),void r.prepare();switch(t){case at.READY:return void(i===exports.PlaybackState.PAUSED?(r.videoState.setState(at.PAUSED),r.liveOffset.pause(),C(r.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):i===exports.PlaybackState.PLAYING&&(r.videoState.startTransitionTo(at.PLAYING),r.playIfAllowed()));case at.PLAYING:return void(i===exports.PlaybackState.PAUSED?(r.videoState.startTransitionTo(at.PAUSED),r.liveOffset.pause(),r.video.pause()):(null==a?void 0:a.to)===exports.PlaybackState.PLAYING&&C(r.params.desiredState.playbackState,exports.PlaybackState.PLAYING));case at.PAUSED:return void(i===exports.PlaybackState.PLAYING?(r.videoState.startTransitionTo(at.PLAYING),r.liveOffset.getTotalPausedTime()<r.params.config.maxPausedTime&&r.liveOffset.getTotalOffset()<r.maxSeekBackTime$.getValue()?(r.liveOffset.resume(),r.playIfAllowed(),r.params.output.position$.next(ut(r.liveOffset.getTotalOffset()))):r.seek(ut(r.liveOffset.getTotalOffset()))):(null==a?void 0:a.to)===exports.PlaybackState.PAUSED&&(C(r.params.desiredState.playbackState,exports.PlaybackState.PAUSED),r.liveOffset.pause()));case at.CHANGING_MANIFEST:break;default:return e.assertNever(t)}}}else t!==at.STOPPED&&(r.videoState.startTransitionTo(at.STOPPED),r.video.setAttribute("src",""),r.video.load(),r.params.output.position$.next(0),r.params.output.duration$.next(1/0),r.params.output.currentBuffer$.next(void 0),r.params.output.hostname$.next(void 0),r.videoState.setState(at.STOPPED),C(r.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0))},this.params=t,this.video=N(t.container),this.params.output.element$.next(this.video);var a={id:"master",quality:exports.VideoQuality.INVARIANT,url:this.params.source.url};this.manifests$.next([a]),rt(Ee(this.params.source.url)).then((function(e){r.manifests$.next(f([a],h(e),!1))})),this.params.output.isLive$.next(!0),this.params.output.hostname$.next(W(this.params.source.url)),this.maxSeekBackTime$=new e.ValueSubject(null!==(i=t.source.maxSeekBackTime)&&void 0!==i?i:1/0),this.subscribe()}return t.prototype.selectManifest=function(){var e,t,i=this.params.desiredState,r=i.autoVideoTrackSwitching,a=i.videoTrack,n=r.getState(),s=a.getTransition(),o=null!==(t=null!==(e=null==s?void 0:s.to)&&void 0!==e?e:a.getState())&&void 0!==t?t:"master",u=this.manifests$.getValue();if(u){var d=n?"master":o;return n&&!s&&a.startTransitionTo("master"),u.find((function(e){return e.id===d}))}},t.prototype.subscribe=function(){var t=this,i=this.params,r=i.output,a=i.desiredState,n=function(e){r.error$.next({id:"HlsLiveProvider",message:"HlsLiveProvider internal logic error",thrown:e})},s=R(this.video),o=function(e,i){return t.subscription.add(e.subscribe(i,n))};o(s.ended$,r.endedEvent$),o(s.error$,r.error$),o(s.isBuffering$,r.isBuffering$),o(s.currentBuffer$,r.currentBuffer$),o(s.firstBytes$,r.firstBytesEvent$),o(s.firstFrame$,r.firstFrameEvent$),this.subscription.add(a.isLooped.stateChangeStarted$.subscribe((function(){return a.isLooped.setState(!1)}),n)),this.subscription.add(w(this.video,a.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$,n)),this.textTracksManager.connect(this.video,a,r),this.subscription.add(s.play$.subscribe((function(){t.videoState.setState(at.PLAYING),C(a.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.pause$.subscribe((function(){t.videoState.setState(at.PAUSED),C(a.playbackState,exports.PlaybackState.PAUSED)}),n)).add(s.canplay$.subscribe((function(){var e;(null===(e=t.videoState.getTransition())||void 0===e?void 0:e.to)===at.READY&&t.videoState.setState(at.READY),t.videoState.getState()===at.PLAYING&&t.playIfAllowed()}),n)),this.subscription.add(this.maxSeekBackTime$.pipe(e.filterChanged(),e.map(ut)).subscribe(this.params.output.duration$,n)),this.subscription.add(s.loadedMetadata$.subscribe((function(){var i=t.params.desiredState.seekPosition.getTransition(),r=t.videoState.getTransition(),a=t.params.desiredState.videoTrack.getTransition(),n=t.params.desiredState.autoVideoTrackSwitching.getTransition();if(a&&e.isNonNullable(a.to)){var s=a.to;t.params.desiredState.videoTrack.setState(s);var o=t.manifests$.getValue().find((function(e){return e.id===s}));o&&(t.params.output.currentVideoTrack$.next(o),t.params.output.hostname$.next(W(o.url)))}n&&t.params.desiredState.autoVideoTrackSwitching.setState(n.to),r&&r.from===at.CHANGING_MANIFEST&&t.videoState.setState(r.to),i&&e.isNonNullable(i.to)&&t.seek(i.to)}),n)),this.subscription.add(s.loadedData$.subscribe((function(){var e,i,r=null===(i=null===(e=t.video)||void 0===e?void 0:e.getStartDate())||void 0===i?void 0:i.getTime();t.manifestStartTime$.next(r||void 0)}),n)),this.subscription.add(e.combine({startTime:this.manifestStartTime$.pipe(e.filter(e.isNonNullable)),currentTime:s.timeUpdate$}).subscribe((function(e){var i=e.startTime,r=e.currentTime;return t.params.output.liveTime$.next(i+1e3*r)}),n)),this.subscription.add(this.manifests$.pipe(e.map((function(e){return e.map((function(e){return{id:e.id,quality:e.quality,size:e.size,bitrate:e.bandwidth}}))}))).subscribe(this.params.output.availableVideoTracks$,n));var u=e.merge(a.playbackState.stateChangeStarted$,a.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,a.videoTrack.stateChangeStarted$,a.autoVideoTrackSwitching.stateChangeStarted$,e.observableFrom(["init"])).pipe(e.debounce(0));this.subscription.add(u.subscribe(this.syncPlayback,n))},t.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.video.remove(),this.params.output.element$.next(void 0)},t.prototype.prepare=function(){var t=this,i=this.selectManifest();if(!e.isNullable(i)){var r,a=Ee(i.url,this.liveOffset.getTotalOffset());this.video.setAttribute("src",a),this.video.load(),(r=a,c(void 0,void 0,void 0,(function(){var e;return l(this,(function(t){switch(t.label){case 0:return[4,fetch(r,{method:"HEAD"})];case 1:return[2,(e=t.sent()).headers.has("X-Playback-Duration")?parseInt(e.headers.get("X-Playback-Duration"),10):void 0]}}))}))).then((function(i){e.isNullable(i)||t.maxSeekBackTime$.next(i)}))}},t.prototype.playIfAllowed=function(){var e=this;E(this.video).then((function(t){t||(e.videoState.setState(at.PAUSED),e.liveOffset.pause(),C(e.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0))}))},t.prototype.seek=function(e){this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0);var t=-Math.round(1e3*e),i=t<this.maxSeekBackTime$.getValue()?t:0;this.liveOffset.resetTo(i),this.params.output.position$.next(ut(i)),this.params.desiredState.seekPosition.setState(void 0)},t}(),ut=function(e){return-e/1e3},dt={};!function(e){e.INITIALIZING="initializing",e.STOPPED="stopped",e.READY="ready",e.PLAYING="playing",e.PAUSED="paused"}(st||(st={}));var ct,lt,pt,ht,ft,vt,mt,St,bt,gt,yt,Tt,Et,Pt,kt,wt=function(t,i){return new e.Observable((function(e){var r=function(t,i){return e.next(i)};return t.on(i,r),function(){return t.off(i,r)}}))},xt=function(){function t(t){var i=this;this.subscription=new e.Subscription,this.videoState=new X(st.INITIALIZING),this.textTracksManager=new A,this.trackLevels=new Map,this.syncPlayback=function(){var t=i.videoState.getState(),r=i.params.desiredState.playbackState.getState(),a=i.params.desiredState.playbackState.getTransition(),n=i.params.desiredState.seekPosition.getTransition();if(t!==st.INITIALIZING){var s=null==n?void 0:n.to;switch((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(s)&&i.seek(s),r){case exports.PlaybackState.STOPPED:switch(t){case st.STOPPED:break;case st.READY:case st.PLAYING:case st.PAUSED:i.stop();break;default:e.assertNever(t)}break;case exports.PlaybackState.PLAYING:switch(t){case st.PLAYING:break;case st.STOPPED:i.prepare();break;case st.READY:case st.PAUSED:i.playIfAllowed();break;default:e.assertNever(t)}break;case exports.PlaybackState.PAUSED:switch(t){case st.PAUSED:break;case st.STOPPED:i.prepare();break;case st.READY:i.videoState.setState(st.PAUSED),C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED);break;case st.PLAYING:i.pause();break;default:e.assertNever(t)}break;default:e.assertNever(r)}}},this.video=N(t.container),this.params=t,this.params.output.element$.next(this.video),this.params.output.isLive$.next(!1),this.params.output.hostname$.next(W(this.params.source.url)),this.loadHlsJs()}return t.prototype.destroy=function(){var e,t;this.subscription.unsubscribe(),this.trackLevels.clear(),this.textTracksManager.destroy(),null===(e=this.hls)||void 0===e||e.detachMedia(),null===(t=this.hls)||void 0===t||t.destroy(),this.video.remove(),this.params.output.element$.next(void 0)},t.prototype.loadHlsJs=function(){var e=this,t=!1,r=function(i){t||e.params.output.error$.next({id:"timeout"===i?"HlsJsTimeout":"HlsJsLoadError",message:"Failed to load Hls.js",thrown:i}),t=!0},a=window.setTimeout((function(){return r("timeout")}),5e3);Promise.resolve().then((function(){return i(require("hls.js"))})).then((function(i){t||(dt.Hls=i.default,dt.Events=i.default.Events,e.init())}),r).finally((function(){window.clearTimeout(a),t=!0}))},t.prototype.init=function(){e.assertNonNullable(dt.Hls,"hls.js not loaded"),this.hls=new dt.Hls({fragLoadingMaxRetry:5,levelLoadingMaxRetry:2,manifestLoadingMaxRetry:2,fragLoadingMaxRetryTimeout:16e3,manifestLoadingMaxRetryTimeout:2e3,levelLoadingMaxRetryTimeout:2e3}),this.subscribe(),this.videoState.setState(st.STOPPED)},t.prototype.subscribe=function(){var t=this;e.assertNonNullable(dt.Events,"hls.js not loaded");var i=this.params,r=i.desiredState,a=i.output,n=function(e){a.error$.next({id:"HlsJsProvider",message:"HlsJsProvider internal logic error",thrown:e})},s=R(this.video),o=function(e,i){return t.subscription.add(e.subscribe(i,n))};o(s.timeUpdate$,a.position$),o(s.durationChange$,a.duration$),o(s.ended$,a.endedEvent$),o(s.error$,a.error$),o(s.isBuffering$,a.isBuffering$),o(s.currentBuffer$,a.currentBuffer$),o(s.firstBytes$,a.firstBytesEvent$),o(s.firstFrame$,a.firstFrameEvent$),this.subscription.add(s.seeked$.subscribe((function(){return r.seekPosition.setState(void 0)}),n)),this.subscription.add(k(this.video,r.isLooped,n)),this.subscription.add(w(this.video,r.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$)),this.subscription.add(wt(this.hls,dt.Events.ERROR).subscribe((function(e){var t;e.fatal&&a.error$.next({id:["HlsJsFatal",e.type,e.details].join("_"),message:"HlsJs fatal "+e.type+" "+e.details+", "+(null===(t=e.err)||void 0===t?void 0:t.message)+" "+e.reason,thrown:e.error})}))),this.subscription.add(s.play$.subscribe((function(){t.videoState.setState(st.PLAYING),C(r.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.pause$.subscribe((function(){t.videoState.setState(st.PAUSED),C(r.playbackState,exports.PlaybackState.PAUSED)}),n)).add(s.canplay$.subscribe((function(){var e;(null===(e=t.videoState.getTransition())||void 0===e?void 0:e.to)===st.READY&&t.videoState.setState(st.READY),t.videoState.getState()===st.PLAYING&&t.playIfAllowed()}),n)),o(wt(this.hls,dt.Events.MANIFEST_PARSED).pipe(e.map((function(e){return e.levels.reduce((function(e,i){var r=i.name||i.height.toString(10),a=i.width,n=i.height,s=U({width:a,height:n});if(!s)return e;var o={id:r.toString(),quality:s,bitrate:i.bitrate/1e3,size:{width:a,height:n}};return t.trackLevels.set(r,{track:o,level:i}),e.push(o),e}),[])}))),a.availableVideoTracks$),o(wt(this.hls,dt.Events.LEVEL_LOADING).pipe(e.map((function(e){var t=e.url;return W(t)}))),a.hostname$),this.subscription.add(P(r.autoVideoTrackSwitching,(function(){return t.hls.autoLevelEnabled}),(function(e){t.hls.nextLevel=e?-1:t.hls.currentLevel,t.hls.loadLevel=e?-1:t.hls.loadLevel}),{onError:n}));var u=function(e){var i;return null===(i=Array.from(t.trackLevels.values()).find((function(t){return t.level===e})))||void 0===i?void 0:i.track},d=wt(this.hls,dt.Events.LEVEL_SWITCHED).pipe(e.map((function(e){var i=e.level;return u(t.hls.levels[i])})));d.pipe(e.filter(e.isNonNullable)).subscribe(a.currentVideoTrack$,n),this.subscription.add(P(r.videoTrack,(function(){var e;return null===(e=u(t.hls.levels[t.hls.currentLevel]))||void 0===e?void 0:e.id}),(function(i){var r;if(!e.isNullable(i)){var a=null===(r=t.trackLevels.get(i))||void 0===r?void 0:r.level;if(a){var n=t.hls.levels.indexOf(a),s=t.hls.currentLevel,o=t.hls.levels[s];!o||a.bitrate>o.bitrate?t.hls.nextLevel=n:(t.hls.loadLevel=n,t.hls.loadLevel=n)}}}),{changed$:d.pipe(e.map((function(e){return null==e?void 0:e.id}))),onError:n})),o(s.progress$,(function(){t.params.dependencies.throughputEstimator.rawThroughput$.next(t.hls.bandwidthEstimate/1e3)})),this.textTracksManager.connect(this.video,r,a);var c=e.merge(r.playbackState.stateChangeStarted$,r.videoTrack.stateChangeStarted$,r.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0));this.subscription.add(c.subscribe(this.syncPlayback,n))},t.prototype.prepare=function(){this.videoState.startTransitionTo(st.READY),this.hls.attachMedia(this.video),this.hls.loadSource(this.params.source.url)},t.prototype.playIfAllowed=function(){return c(this,void 0,void 0,(function(){return l(this,(function(e){switch(e.label){case 0:return this.videoState.startTransitionTo(st.PLAYING),[4,E(this.video)];case 1:return e.sent()||(this.videoState.setState(st.PAUSED),C(this.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0)),[2]}}))}))},t.prototype.pause=function(){this.videoState.startTransitionTo(st.PAUSED),this.video.pause()},t.prototype.seek=function(e){this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.video.currentTime=e},t.prototype.stop=function(){this.params.output.position$.next(0),this.params.output.duration$.next(1/0),this.params.output.currentBuffer$.next(void 0),this.params.output.hostname$.next(void 0),this.hls.stopLoad(),this.hls.detachMedia(),this.video.setAttribute("src",""),this.video.load(),this.videoState.setState(st.STOPPED),C(this.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0)},t}(),At=function(){function e(e){this.iterator=e[Symbol.iterator](),this.next()}return e.prototype.next=function(){this.current=this.iterator.next()},e.prototype.getValue=function(){if(this.current.done)throw new Error("Iterable is completed");return this.current.value},e.prototype.isCompleted=function(){return Boolean(this.current.done)},e}(),Nt=(Pt=window.navigator.userAgent,!/chrome/i.test(Pt)&&/webkit|safari|khtml/i.test(Pt)),$t=(null===(lt=null===(ct=navigator)||void 0===ct?void 0:ct.userAgentData)||void 0===lt?void 0:lt.mobile)||/Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(navigator.appVersion),Dt=document.createElement("video"),_t={mse:Boolean(window.MediaSource&&MediaStreamTrack&&(null===(pt=null===SourceBuffer||void 0===SourceBuffer?void 0:SourceBuffer.prototype)||void 0===pt?void 0:pt.appendBuffer)),hls:Boolean(Dt.canPlayType("application/x-mpegurl")||Dt.canPlayType("vnd.apple.mpegURL"))},It={mp4:Boolean(Dt.canPlayType("video/mp4")),webm:Boolean(Dt.canPlayType("video/webm"))},Rt={h264:Boolean(null===(ft=null===(ht=window.MediaSource)||void 0===ht?void 0:ht.isTypeSupported)||void 0===ft?void 0:ft.call(ht,'video/mp4; codecs="avc1.42000a,mp4a.40.2"')),h265:Boolean(null===(mt=null===(vt=window.MediaSource)||void 0===vt?void 0:vt.isTypeSupported)||void 0===mt?void 0:mt.call(vt,'video/mp4; codecs="hev1.1.6.L93.B0"')),vp9:Boolean(null===(bt=null===(St=window.MediaSource)||void 0===St?void 0:St.isTypeSupported)||void 0===bt?void 0:bt.call(St,'video/webm; codecs="vp9"')),aac:Boolean(null===(yt=null===(gt=window.MediaSource)||void 0===gt?void 0:gt.isTypeSupported)||void 0===yt?void 0:yt.call(gt,'audio/mp4; codecs="mp4a.40.2"')),opus:Boolean(null===(Et=null===(Tt=window.MediaSource)||void 0===Tt?void 0:Tt.isTypeSupported)||void 0===Et?void 0:Et.call(Tt,'audio/webm; codecs="opus"'))},Ct=(Rt.h264||Rt.h265)&&Rt.aac,Lt=!Nt,Ot=$t||Nt,Vt=!_t.hls||!Ot,Mt=3e4,Bt=18e4,Ut=3,Ft=100,Ht={cacheDuration:12e4},qt={maxPausedTime:3e4,chunkDuration:5e3,optimalBufferDuration:1e4,maxParallelRequests:5},Gt={maxPausedTime:3e4},Yt={maxPausedTime:3e4},jt=function(){function t(t){this.current$=new e.ValueSubject({type:void 0}),this.providerError$=new e.Subject,this.noAvailableProvidersError$=new e.Subject,this.providerOutput={position$:new e.ValueSubject(0),duration$:new e.ValueSubject(1/0),volume$:new e.ValueSubject({muted:!1,volume:1}),currentVideoTrack$:new e.ValueSubject(void 0),availableVideoTracks$:new e.ValueSubject([]),currentBuffer$:new e.ValueSubject(void 0),isBuffering$:new e.ValueSubject(!0),error$:new e.Subject,endedEvent$:new e.Subject,firstBytesEvent$:new e.Subject,firstFrameEvent$:new e.Subject,isLive$:new e.ValueSubject(void 0),liveTime$:new e.ValueSubject(void 0),availableTextTracks$:new e.ValueSubject([]),currentTextTrack$:new e.ValueSubject(void 0),hostname$:new e.ValueSubject(void 0),element$:new e.ValueSubject(void 0)},this.subscription=new e.Subscription,this.params=t,this.log=this.params.dependencies.logger.createComponentLog("ProviderContainer");var i=this.params.tuning.formatsToAvoid,r=i.length?f(f([],h(t.screenFormatsPriority.filter((function(e){return!i.includes(e)}))),!1),h(t.screenFormatsPriority.filter((function(e){return i.includes(e)}))),!1):t.screenFormatsPriority;this.screenFormatsIterator=new At(r.filter((function(i){return e.isNonNullable(t.sources[i])})).filter((function(t){switch(t){case exports.VideoFormat.DASH:return _t.mse&&It.mp4&&Ct&≪case exports.VideoFormat.DASH_SEP:return _t.mse&&It.mp4&&Ct;case exports.VideoFormat.DASH_WEBM:case exports.VideoFormat.DASH_WEBM_VK:case exports.VideoFormat.DASH_LIVE_WEBM:return _t.mse&&It.webm&&Rt.vp9&&Rt.opus;case exports.VideoFormat.DASH_LIVE:case exports.VideoFormat.DASH_ONDEMAND:return _t.mse&&It.mp4&&Ct;case exports.VideoFormat.HLS:case exports.VideoFormat.HLS_LIVE:case exports.VideoFormat.HLS_ONDEMAND:return _t.hls&&It.mp4&&Ot;case exports.VideoFormat.HLS_JS:return _t.mse&&It.mp4&&Ct&&Vt;case exports.VideoFormat.MPEG:return It.mp4;default:return e.assertNever(t)}}))),this.chromecastFormatsIterator=new At(t.chromecastFormatsPriority.filter((function(i){return e.isNonNullable(t.sources[i])})))}return t.prototype.init=function(){var e=this;this.subscription.add(this.initProviderErrorHandling()),this.subscription.add(this.params.dependencies.chromecastInitializer.connection$.subscribe((function(){e.reinitProvider()})))},t.prototype.destroy=function(){this.destroyProvider(),this.current$.next({type:void 0}),this.subscription.unsubscribe()},t.prototype.initProvider=function(){var t=this.chooseDestination(),i=this.chooseFormat(t);if(e.isNullable(i))this.handleNoFormatsError(t);else{var r=this.createProvider(t,i);this.current$.next({type:i,provider:r,destination:t})}},t.prototype.reinitProvider=function(){this.destroyProvider(),this.initProvider()},t.prototype.switchToNextProvider=function(){this.destroyProvider();var t=this.current$.getValue().destination;e.assertNonNullable(t),this.skipFormat(t),this.initProvider()},t.prototype.destroyProvider=function(){var e=this.current$.getValue().provider;if(e){this.log({message:"destroyProvider"});var t=this.params.desiredState.seekPosition;t.getTransition()||t.startTransitionTo(this.providerOutput.position$.getValue()),e.destroy();var i=this.providerOutput.isBuffering$;i.getValue()||i.next(!0)}},t.prototype.createProvider=function(t,i){switch(this.log({message:"createProvider: "+t+":"+i}),t){case n.SCREEN:return this.createScreenProvider(i);case n.CHROMECAST:return this.createChromecastProvider(i);default:return e.assertNever(t)}},t.prototype.createScreenProvider=function(t){var i=this.params,r=i.sources,a=i.container,n=i.desiredState,s=this.providerOutput;switch(t){case exports.VideoFormat.DASH:var o=r[t];return e.assertNonNullable(o),new Ie({container:a,source:o,desiredState:n,output:s,config:Ht,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.DASH_WEBM_VK:o=r[t];return e.assertNonNullable(o),new ye({container:a,source:o,desiredState:n,output:s,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.DASH_SEP:case exports.VideoFormat.DASH_WEBM:case exports.VideoFormat.DASH_ONDEMAND:case exports.VideoFormat.DASH_LIVE_WEBM:o=r[t];return e.assertNonNullable(o),new Fe({container:a,source:o,desiredState:n,output:s,format:t,config:Yt,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.HLS:case exports.VideoFormat.HLS_ONDEMAND:o=r[t];return e.assertNonNullable(o),new nt({container:a,source:o,desiredState:n,output:s,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.HLS_LIVE:o=r[t];return e.assertNonNullable(o),new ot({container:a,source:o,desiredState:n,output:s,config:Gt,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.HLS_JS:o=r[t];return e.assertNonNullable(o),new xt({container:a,source:o,desiredState:n,output:s,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.MPEG:o=r[t];return e.assertNonNullable(o),new xe({container:a,source:o,desiredState:n,output:s,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.DASH_LIVE:o=r[t];return e.assertNonNullable(o),new et({container:a,source:o,desiredState:n,output:s,config:qt,dependencies:this.params.dependencies,tuning:this.params.tuning});default:return e.assertNever(t)}},t.prototype.createChromecastProvider=function(t){var i=this.params,r=i.sources,a=i.container,n=i.desiredState,s=i.meta,o=this.providerOutput,u=this.params.dependencies.chromecastInitializer.connection$.getValue();return e.assertNonNullable(u),new ke({connection:u,meta:s,container:a,source:r,format:t,desiredState:n,output:o,dependencies:this.params.dependencies,tuning:this.params.tuning})},t.prototype.chooseDestination=function(){return this.params.dependencies.chromecastInitializer.connection$.getValue()?n.CHROMECAST:n.SCREEN},t.prototype.chooseFormat=function(t){switch(t){case n.SCREEN:return this.screenFormatsIterator.isCompleted()?void 0:this.screenFormatsIterator.getValue();case n.CHROMECAST:return this.chromecastFormatsIterator.isCompleted()?void 0:this.chromecastFormatsIterator.getValue();default:return e.assertNever(t)}},t.prototype.skipFormat=function(t){switch(t){case n.SCREEN:return this.screenFormatsIterator.next();case n.CHROMECAST:return this.chromecastFormatsIterator.next();default:return e.assertNever(t)}},t.prototype.handleNoFormatsError=function(t){switch(t){case n.SCREEN:return this.noAvailableProvidersError$.next(),void this.current$.next({type:void 0});case n.CHROMECAST:return void this.params.dependencies.chromecastInitializer.disconnect();default:return e.assertNever(t)}},t.prototype.initProviderErrorHandling=function(){var t,i=this,r=[],a=0,s=new e.Subscription;return s.add(e.merge(this.providerOutput.error$,(t={desiredPlaybackState$:this.params.desiredState.playbackState,maxTransitionInterval:Mt,position$:this.providerOutput.position$,providerChanged$:this.current$},new e.Observable((function(i){var r=new e.Subscription,a=e.timeout(t.maxTransitionInterval),n=new e.ValueSubject(void 0);e.merge(t.desiredPlaybackState$.stateChangeStarted$.pipe(e.mapTo(a)),t.desiredPlaybackState$.stateChangeEnded$.pipe(e.mapTo(void 0)),t.providerChanged$.pipe(e.map((function(){return n.getValue()})))).subscribe(n);var s=new e.Subscription;return r.add(s),r.add(n.subscribe((function(e){s.unsubscribe(),e&&s.add(e.subscribe(i))}))),r}))).pipe(e.mapTo({id:"ProviderHangup",message:"An operation failed to complete within reasonable time"}))).subscribe(this.providerError$)),s.add(this.providerError$.pipe(e.throttle(Ft,{leading:!1,trailing:!0})).subscribe((function(){var t=Date.now();i.current$.getValue().destination===n.CHROMECAST?(i.destroyProvider(),i.params.dependencies.chromecastInitializer.stopMedia().then((function(){i.switchToNextProvider()}),(function(){i.params.dependencies.chromecastInitializer.disconnect()}))):e.isNonNullable(r[a])&&t<r[a]+Bt?(r=[],i.switchToNextProvider()):(r[a]=t,i.reinitProvider()),a=(a+1)%Ut}))),s},t}();!function(e){e[e.LOCAL_STORAGE=0]="LOCAL_STORAGE",e[e.SESSION_STORAGE=1]="SESSION_STORAGE",e[e.RUNTIME=2]="RUNTIME"}(kt||(kt={}));var Qt=new Map,zt=kt.RUNTIME,Wt="vk-videoplayer-dummy-key-"+Math.random();!function(){try{localStorage.setItem(Wt,"test"),localStorage.removeItem(Wt),zt=kt.LOCAL_STORAGE}catch(e){if(!(e instanceof DOMException))throw e;try{sessionStorage.getItem(Wt),zt=kt.SESSION_STORAGE}catch(e){if(!(e instanceof DOMException))throw e;zt=kt.RUNTIME}}}();var Jt,Xt=function(e,t,i){return i*t+(1-i)*e},Kt=function(){var e,t;return null!==(t=null===(e=window.performance)||void 0===e?void 0:e.now())&&void 0!==t?t:Date.now()},Zt=window.navigator.connection,ei=function(){var e=null==Zt?void 0:Zt.downlink;if(e&&10!==e)return 1e3*e},ti=function(){function t(t){var i=this;this.smoothedCombination=this.load()||ei()||5e3,this.smoothedFast=this.smoothedCombination,this.smoothedSlow=this.smoothedCombination,this.subscription=new e.Subscription,this.rawSeries$=new j("raw_throughput"),this.smoothedSeries$=new j("smoothed_throughput"),this.reportedSeries$=new j("reported_throughput"),this.xhr$=new e.Subject,this.rawSpeed$=new e.Subject,this.rawThroughput$=new e.Subject,this.stream$=new e.Subject,this.estimation$=new e.ValueSubject(this.smoothedSlow),this.rtt$=new e.ValueSubject(void 0),this.tuningConfig=t;var r=ei();if(r&&this.addValue(r),this.subscription.add(this.xhr$.subscribe((function(e){return i.trackXHR(e)}))),this.subscription.add(this.stream$.subscribe((function(e){return i.trackStream(e)}))),this.subscription.add(this.rawSpeed$.subscribe((function(e){var t=e.size,r=e.time;return i.addRawSpeed(t,r)}))),this.subscription.add(this.rawThroughput$.subscribe((function(e){return i.addValue(e)}))),this.subscription.add(this.estimation$.subscribe(this.reportedSeries$)),this.tuningConfig.useBrowserEstimation){var a=Zt&&"rtt"in Zt,n=Zt&&"onchange"in Zt;a&&this.rtt$.next(Zt.rtt),n&&this.subscription.add(e.fromEvent(Zt,"change").subscribe((function(){a&&i.rtt$.next(Zt.rtt);var e=ei();e&&i.addValue(e)})))}}return t.prototype.destroy=function(){this.subscription.unsubscribe()},t.prototype.trackXHR=function(t){var i=this,r=0,a=Kt(),n=new e.Subscription;switch(this.subscription.add(n),t.readyState){case 4:break;case 3:case 2:n.add(e.fromEvent(t,"progress").pipe(e.once()).subscribe((function(e){r=e.loaded,a=Kt()})));break;case 1:case 0:n.add(e.fromEvent(t,"loadstart").subscribe((function(){r=0,a=Kt()})))}n.add(e.fromEvent(t,"loadend").subscribe((function(e){if(200===t.status){var s=e.loaded,o=Kt(),u=s-r,d=o-a;i.addRawSpeed(u,d)}n.unsubscribe()})))},t.prototype.trackStream=function(e){var t=this,i=e.getReader();if(i){var r=0,a=Kt(),n=0,s=Kt(),o=function(t){i.releaseLock(),e.cancel("Throughput Estimator error: "+t).catch((function(){}))},u=function(e){var d=e.done,p=e.value;return c(t,void 0,void 0,(function(){return l(this,(function(e){switch(e.label){case 0:return d?(this.addRawSpeed(r,Kt()-a),[3,3]):[3,1];case 1:return p?(r+=p.byteLength,(n+=p.byteLength)>=this.tuningConfig.streamMinSampleSize&&Kt()-s>=this.tuningConfig.streamMinSampleTime&&(this.addRawSpeed(n,Kt()-s),n=0,s=Kt()),[4,null==i?void 0:i.read().then(u,o)]):[3,3];case 2:e.sent(),e.label=3;case 3:return[2]}}))}))};null==i||i.read().then(u,o)}else e.cancel("Could not get reader")},t.prototype.addRawSpeed=function(e,t){if(this.sanityCheck(e,t)){var i=8*e/t;this.addValue(i)}},t.prototype.sanityCheck=function(e,t){var i=8*e/t;return!(!i||!isFinite(i))&&(!(i>1e6)&&(!(i<30)&&(!(e<1024)&&!(t<=50))))},t.prototype.addValue=function(e){var t=Math.round(Xt(this.smoothedSlow,e,this.tuningConfig.emaAlphaSlow)),i=Math.round(Xt(this.smoothedFast,e,this.tuningConfig.emaAlphaFast));this.smoothedCombination=Math.min(t,i),this.rawSeries$.next(e),this.smoothedSeries$.next(this.smoothedCombination);var r=this.load();this.smoothedSlow=t,this.smoothedFast=i,(!r||Math.abs(this.smoothedCombination-r)/r>=this.tuningConfig.changeThreshold)&&(this.dump(),this.estimation$.next(this.smoothedCombination))},t.prototype.load=function(){var t=function(t){var i,r;switch(zt){case kt.LOCAL_STORAGE:return null!==(i=localStorage.getItem(t))&&void 0!==i?i:void 0;case kt.SESSION_STORAGE:return null!==(r=sessionStorage.getItem(t))&&void 0!==r?r:void 0;case kt.RUNTIME:return Qt.get(t);default:e.assertNever(zt)}}("one_video_throughput");if(t)return parseInt(t,10)||void 0},t.prototype.dump=function(){!function(t,i){switch(zt){case kt.LOCAL_STORAGE:return localStorage.setItem(t,i);case kt.SESSION_STORAGE:return sessionStorage.setItem(t,i);case kt.RUNTIME:return void Qt.set(t,i);default:e.assertNever(zt)}}("one_video_throughput",this.smoothedCombination.toFixed(0))},t}(),ii=function(t){return void 0===t&&(t=function(e){return e}),function(i){var r=i.playbackState,a=i.seekPosition,n=i.provider$,s=i.position$;return new e.Observable((function(i){var o,u=r.transitionEnded$.pipe(e.filter((function(e){return(e.from===exports.PlaybackState.PAUSED||e.from===exports.PlaybackState.STOPPED)&&e.to===exports.PlaybackState.PLAYING}))),d=r.stateChangeEnded$.pipe(e.filter((function(e){return e.from===exports.PlaybackState.PLAYING&&e.to===exports.PlaybackState.PAUSED}))),c=a.stateChangeEnded$.pipe(e.filter((function(t){var i,a;return e.isNonNullable(t.to)&&(null!==(a=null===(i=r.getTransition())||void 0===i?void 0:i.from)&&void 0!==a?a:r.getState())===exports.PlaybackState.PLAYING}))),l=a.stateChangeEnded$.pipe(e.filter((function(t){var i,a;return e.isNullable(t.to)&&(null!==(a=null===(i=r.getTransition())||void 0===i?void 0:i.from)&&void 0!==a?a:r.getState())===exports.PlaybackState.PLAYING}))),p=e.merge(u,l).pipe(e.map((function(){return t(s.getValue())}))),h=e.merge(d,c,n).pipe(e.map((function(){return t(s.getValue())})));return(new e.Subscription).add(p.subscribe((function(e){o=t(e)}))).add(h.subscribe((function(r){if(!e.isNullable(o)){var a={start:o,end:t(r)};o=void 0,i.next(a)}})))}))}},ri=ii((function(e){return e})),ai=ii((function(e){return Math.round(1e3*e)+Date.now()})),ni=((Jt={})[n.SCREEN]={vod:[exports.VideoFormat.HLS,exports.VideoFormat.HLS_ONDEMAND,exports.VideoFormat.DASH_WEBM_VK,exports.VideoFormat.DASH_WEBM,exports.VideoFormat.DASH,exports.VideoFormat.DASH_SEP,exports.VideoFormat.DASH_ONDEMAND,exports.VideoFormat.HLS_JS,exports.VideoFormat.MPEG],live:[exports.VideoFormat.HLS_LIVE,exports.VideoFormat.DASH_LIVE,exports.VideoFormat.DASH_LIVE_WEBM]},Jt[n.CHROMECAST]={vod:[exports.VideoFormat.DASH_WEBM_VK,exports.VideoFormat.DASH_WEBM,exports.VideoFormat.DASH_SEP,exports.VideoFormat.DASH_ONDEMAND,exports.VideoFormat.HLS,exports.VideoFormat.HLS_ONDEMAND,exports.VideoFormat.MPEG],live:[exports.VideoFormat.HLS_LIVE]},Jt),si=function(){function t(t){var i=this;if(void 0===t&&(t={}),this.subscription=new e.Subscription,this.logger=new e.Logger,this.isPlaybackStarted=!1,this.desiredState={playbackState:new X(exports.PlaybackState.STOPPED),seekPosition:new X(void 0),volume:new X({volume:1,muted:!1}),videoTrack:new X(void 0),autoVideoTrackSwitching:new X(!0),isLooped:new X(!1),externalTextTracks:new X([]),currentTextTrack:new X(void 0),textTrackCuesSettings:new X({})},this.info={playbackState$:new e.ValueSubject(exports.PlaybackState.STOPPED),position$:new e.ValueSubject(0),duration$:new e.ValueSubject(1/0),muted$:new e.ValueSubject(!1),volume$:new e.ValueSubject(1),availableQualities$:new e.ValueSubject([]),currentQuality$:new e.ValueSubject(void 0),isAutoQualityEnabled$:new e.ValueSubject(!0),currentBuffer$:new e.ValueSubject(void 0),isBuffering$:new e.ValueSubject(!0),isEnded$:new e.ValueSubject(!1),isLooped$:new e.ValueSubject(!1),isLive$:new e.ValueSubject(void 0),liveTime$:new e.ValueSubject(void 0),currentFormat$:new e.ValueSubject(void 0),availableTextTracks$:new e.ValueSubject([]),currentTextTrack$:new e.ValueSubject(void 0),throughputEstimation$:new e.ValueSubject(void 0),rttEstimation$:new e.ValueSubject(void 0),videoBitrate$:new e.ValueSubject(void 0),hostname$:new e.ValueSubject(void 0),chromecastState$:new e.ValueSubject(exports.ChromecastState.NOT_AVAILABLE),chromecastDeviceName$:new e.ValueSubject(void 0)},this.events={started$:new e.Subject,startAttempt$:new e.Subject,willPause$:new e.Subject,willResume$:new e.Subject,watchCoverageRecord$:new e.Subject,watchCoverageLive$:new e.Subject,managedError$:new e.Subject,fatalError$:new e.Subject,ended$:new e.Subject,seeked$:new e.Subject,willSeek$:new e.Subject,firstBytes$:new e.Subject,firstFrame$:new e.Subject,log$:new e.Subject},this.experimental={element$:new e.ValueSubject(void 0),enableDebugTelemetry$:new e.ValueSubject(!1),dumpTelemetry:G},this.initLogs(),this.tuning=function(e){var t,i,r={};try{for(var a=p(Object.keys(S)),n=a.next();!n.done;n=a.next()){var s=n.value,o=S[s],u=e[s];Array.isArray(o)&&Array.isArray(u)?r[s]=u:r[s]="object"==typeof o&&"object"==typeof u?d(d({},o),u):null!=u?u:o}}catch(e){t={error:e}}finally{try{n&&!n.done&&(i=a.return)&&i.call(a)}finally{if(t)throw t.error}}return r}(t),this.chromecastInitializer=new b({receiverApplicationId:t.chromecastReceiverId,isDisabled:t.disableChromecast,dependencies:{logger:this.logger}}),this.throughputEstimator=new ti(this.tuning.throughputEstimator),this.initChromecastSubscription(),this.initDesiredStateSubscriptions(),Proxy&&Reflect)return new Proxy(this,{get:function(e,t,r){var a=Reflect.get(e,t,r);return"function"!=typeof a?a:function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];try{return a.apply(e,r)}catch(e){var s=r.map((function(e){return JSON.stringify(e,(function(e,t){var i=typeof t;return["number","string","boolean"].includes(i)?t:null===t?null:"<"+i+">"}))})),o="Player."+String(t),u="Exception calling "+o+" ("+s.join(", ")+")";throw i.events.fatalError$.next({id:o,message:u,thrown:e}),e}}}})}return t.prototype.initVideo=function(t){var i,r;return this.config=t,this.domContainer=function(t){var i="string"==typeof t.container?document.getElementById(t.container):t.container;return e.assertNonNullable(i,"Wrong container or containerId {"+t.container+"}"),i}(t),this.chromecastInitializer.contentId=null===(i=t.meta)||void 0===i?void 0:i.videoId,this.providerContainer=new jt({screenFormatsPriority:f(f([],h(ni[n.SCREEN].live),!1),h(ni[n.SCREEN].vod),!1),chromecastFormatsPriority:f(f([],h(ni[n.CHROMECAST].live),!1),h(ni[n.CHROMECAST].vod),!1),sources:t.sources,meta:null!==(r=t.meta)&&void 0!==r?r:{},container:this.domContainer,desiredState:this.desiredState,dependencies:{throughputEstimator:this.throughputEstimator,chromecastInitializer:this.chromecastInitializer,logger:this.logger},tuning:this.tuning}),this.initProviderContainerSubscription(this.providerContainer),this.initStartingVideoTrack(this.providerContainer),this.providerContainer.init(),this.initDebugTelemetry(),this},t.prototype.destroy=function(){var e;null===(e=this.providerContainer)||void 0===e||e.destroy(),this.throughputEstimator.destroy(),this.chromecastInitializer.destroy(),this.subscription.unsubscribe()},t.prototype.play=function(){var e=this.desiredState.playbackState;return e.getState()!==exports.PlaybackState.PLAYING&&e.startTransitionTo(exports.PlaybackState.PLAYING),this},t.prototype.pause=function(){var e=this.desiredState.playbackState;return e.getState()!==exports.PlaybackState.PAUSED&&e.startTransitionTo(exports.PlaybackState.PAUSED),this},t.prototype.stop=function(){var e=this.desiredState.playbackState;return e.getState()!==exports.PlaybackState.STOPPED&&e.startTransitionTo(exports.PlaybackState.STOPPED),this},t.prototype.seekTime=function(e){return this.events.willSeek$.next({from:this.getExactTime(),to:e}),this.desiredState.seekPosition.startTransitionTo(e),this},t.prototype.seekPercent=function(e){var t=this.info.duration$.getValue();return isFinite(t)&&this.seekTime(Math.abs(t)*e),this},t.prototype.setVolume=function(e){return this.chromecastInitializer.castState$.getValue()===exports.ChromecastState.CONNECTED?this.chromecastInitializer.setVolume(e):this.desiredState.volume.startTransitionTo({volume:e,muted:this.desiredState.volume.getState().muted}),this},t.prototype.setMuted=function(e){return this.chromecastInitializer.castState$.getValue()===exports.ChromecastState.CONNECTED?this.chromecastInitializer.setMuted(e):this.desiredState.volume.startTransitionTo({volume:this.desiredState.volume.getState().volume,muted:e}),this},t.prototype.setQuality=function(t){e.assertNonNullable(this.providerContainer);var i=this.providerContainer.providerOutput.availableVideoTracks$.getValue();i.length||(this.explicitInitialQuality=t);var r=i.find((function(e){return e.quality===t}));return r&&this.desiredState.videoTrack.startTransitionTo(r.id),this},t.prototype.setAutoQuality=function(e){return this.desiredState.autoVideoTrackSwitching.startTransitionTo(e),this},t.prototype.setExternalTextTracks=function(e){return this.desiredState.externalTextTracks.startTransitionTo(e.map((function(e){return d({type:"external"},e)}))),this},t.prototype.selectTextTrack=function(e){var t;return(void 0===e||(null===(t=this.providerContainer)||void 0===t?void 0:t.providerOutput.availableTextTracks$.getValue().find((function(t){return t.id===e}))))&&this.desiredState.currentTextTrack.startTransitionTo(e),this},t.prototype.setTextTrackCueSettings=function(e){return this.desiredState.textTrackCuesSettings.startTransitionTo(e),this},t.prototype.setLooped=function(e){return this.desiredState.isLooped.startTransitionTo(e),this},t.prototype.toggleChromecast=function(){this.chromecastInitializer.toggleConnection()},t.prototype.getExactTime=function(){var t;e.assertNonNullable(this.providerContainer);var i=this.providerContainer.providerOutput.element$.getValue();if(e.isNullable(i))return this.info.position$.getValue();var r=this.desiredState.seekPosition.getTransition(),a=null!==(t=null==r?void 0:r.to)&&void 0!==t?t:null==r?void 0:r.from;return e.isNonNullable(a)?a:i.currentTime},t.prototype.getAllLogs=function(){return this.logger.getAllLogs()},t.prototype.initDesiredStateSubscriptions=function(){var t=this;this.subscription.add(e.merge(this.desiredState.playbackState.stateChangeStarted$,this.desiredState.playbackState.forceChanged$).pipe(e.map((function(e){return e.to}))).subscribe(this.info.playbackState$)).add(this.desiredState.isLooped.stateChangeEnded$.pipe(e.map((function(e){return e.to}))).subscribe(this.info.isLooped$)).add(this.desiredState.autoVideoTrackSwitching.stateChangeEnded$.pipe(e.map((function(e){return e.to}))).subscribe(this.info.isAutoQualityEnabled$)).add(this.desiredState.seekPosition.stateChangeEnded$.pipe(e.filter((function(e){return void 0===e.to})),e.mapTo(void 0)).subscribe(this.events.seeked$));var i=new e.Subscription;this.subscription.add(i),this.subscription.add(this.desiredState.playbackState.stateChangeStarted$.pipe(e.filter((function(e){return e.to===exports.PlaybackState.PLAYING}))).subscribe((function(){i.unsubscribe(),i.add(t.desiredState.playbackState.stateChangeEnded$.pipe(e.filter((function(e){return e.to===exports.PlaybackState.PLAYING||e.to===exports.PlaybackState.PAUSED})),e.once()).subscribe((function(e){var i=e.to===exports.PlaybackState.PLAYING,r=t.info.muted$.getValue(),a=i?r?exports.StartStatus.SuccessWithoutSound:exports.StartStatus.SuccessWithSound:exports.StartStatus.Failed;t.events.startAttempt$.next(a)})))}))),this.subscription.add(this.desiredState.playbackState.stateChangeEnded$.pipe(e.filter((function(e){return e.to===exports.PlaybackState.PLAYING}))).subscribe((function(){t.isPlaybackStarted||(t.isPlaybackStarted=!0,t.events.started$.next())}))).add(this.desiredState.playbackState.stateChangeStarted$.subscribe((function(e){switch(e.to){case exports.PlaybackState.PAUSED:t.events.willPause$.next();break;case exports.PlaybackState.PLAYING:t.isPlaybackStarted&&t.events.willResume$.next()}})))},t.prototype.initProviderContainerSubscription=function(t){var i=this;this.subscription.add(t.current$.pipe(e.map((function(e){return e.type}))).subscribe(this.info.currentFormat$)).add(t.current$.pipe(e.map((function(e){return e.destination})),e.filterChanged()).subscribe((function(){i.isPlaybackStarted=!1}))).add(t.providerOutput.availableVideoTracks$.pipe(e.map((function(e){return e.map((function(e){return e.quality})).sort((function(e,t){return F(e)?1:F(t)?-1:V(t,e)?1:-1}))}))).subscribe(this.info.availableQualities$)).add(t.providerOutput.currentVideoTrack$.subscribe((function(e){i.info.currentQuality$.next(null==e?void 0:e.quality),i.info.videoBitrate$.next(null==e?void 0:e.bitrate)}))).add(t.providerOutput.hostname$.pipe(e.filterChanged()).subscribe(this.info.hostname$)).add(t.providerOutput.currentTextTrack$.subscribe(this.info.currentTextTrack$)).add(t.providerOutput.availableTextTracks$.subscribe(this.info.availableTextTracks$)).add(t.providerOutput.currentBuffer$.subscribe(this.info.currentBuffer$)).add(t.providerOutput.duration$.subscribe(this.info.duration$)).add(t.providerOutput.isBuffering$.subscribe(this.info.isBuffering$)).add(t.providerOutput.isLive$.subscribe(this.info.isLive$)).add(t.providerOutput.liveTime$.subscribe(this.info.liveTime$)).add(t.providerOutput.volume$.pipe(e.map((function(e){return e.muted})),e.filterChanged()).subscribe(this.info.muted$)).add(t.providerOutput.volume$.pipe(e.map((function(e){return e.volume})),e.filterChanged()).subscribe(this.info.volume$)).add(function(t){var i=t.seekPosition,r=t.position$;return e.merge(i.stateChangeStarted$.pipe(e.map((function(e){return e.to})),e.filter(e.isNonNullable)),r.pipe(e.filter((function(){return e.isNullable(i.getState())&&e.isNullable(i.getTransition())}))))}({seekPosition:this.desiredState.seekPosition,position$:t.providerOutput.position$}).subscribe(this.info.position$)).add(e.merge(t.providerOutput.endedEvent$.pipe(e.mapTo(!0)),this.desiredState.seekPosition.stateChangeEnded$.pipe(e.filter((function(e){return void 0!==e.from})),e.mapTo(!1))).pipe(e.filterChanged()).subscribe(this.info.isEnded$)).add(t.providerOutput.endedEvent$.subscribe(this.events.ended$)).add(t.providerError$.subscribe(this.events.managedError$)).add(t.noAvailableProvidersError$.pipe(e.map((function(e){return{id:"NoProviders",message:"No suitable providers or all providers failed"}}))).subscribe(this.events.fatalError$)).add(t.providerOutput.element$.subscribe(this.experimental.element$)).add(t.providerOutput.firstBytesEvent$.subscribe(this.events.firstBytes$)).add(t.providerOutput.firstFrameEvent$.subscribe(this.events.firstFrame$)).add(this.throughputEstimator.estimation$.subscribe(this.info.throughputEstimation$)).add(this.throughputEstimator.rtt$.subscribe(this.info.rttEstimation$));var r=new e.Subscription;this.subscription.add(r),t.providerOutput.isLive$.pipe(e.filterChanged()).subscribe((function(t){switch(e.assertNonNullable(i.providerContainer),r.unsubscribe(),t){case!0:r.add(ai({seekPosition:i.desiredState.seekPosition,playbackState:i.desiredState.playbackState,provider$:i.providerContainer.current$,position$:i.providerContainer.providerOutput.position$}).subscribe(i.events.watchCoverageLive$));break;case!1:r.add(ri({seekPosition:i.desiredState.seekPosition,playbackState:i.desiredState.playbackState,provider$:i.providerContainer.current$,position$:i.providerContainer.providerOutput.position$}).subscribe(i.events.watchCoverageRecord$))}}))},t.prototype.initChromecastSubscription=function(){this.subscription.add(this.chromecastInitializer.castState$.subscribe(this.info.chromecastState$)),this.subscription.add(this.chromecastInitializer.connection$.pipe(e.map((function(e){return null==e?void 0:e.castDevice.friendlyName}))).subscribe(this.info.chromecastDeviceName$)),this.subscription.add(this.chromecastInitializer.errorEvent$.subscribe(this.events.managedError$))},t.prototype.initStartingVideoTrack=function(t){var i=this,r=new e.Subscription;this.subscription.add(r),this.subscription.add(t.current$.pipe(e.filterChanged((function(e,t){return e.provider===t.provider}))).subscribe((function(){r.unsubscribe(),r.add(t.providerOutput.availableVideoTracks$.pipe(e.filter((function(e){return e.length>0})),e.once()).subscribe((function(e){i.setStartingVideoTrack(e)})))})))},t.prototype.setStartingVideoTrack=function(e){var t,i=this;this.explicitInitialQuality&&(t=e.find((function(e){return e.quality===i.explicitInitialQuality})),this.explicitInitialQuality=void 0),t||(t=z(e,{container:this.domContainer.getBoundingClientRect(),throughput:this.throughputEstimator.estimation$.getValue(),tuning:this.tuning.autoTrackSelection})),this.desiredState.videoTrack.startTransitionTo(t.id),this.info.currentQuality$.next(t.quality),this.info.videoBitrate$.next(t.bitrate)},t.prototype.initLogs=function(){this.subscription.add(e.merge(this.desiredState.videoTrack.stateChangeStarted$.pipe(e.map((function(e){return{transition:e,entity:"quality",type:"start"}}))),this.desiredState.videoTrack.stateChangeEnded$.pipe(e.map((function(e){return{transition:e,entity:"quality",type:"end"}}))),this.desiredState.autoVideoTrackSwitching.stateChangeStarted$.pipe(e.map((function(e){return{transition:e,entity:"autoQualityEnabled",type:"start"}}))),this.desiredState.autoVideoTrackSwitching.stateChangeEnded$.pipe(e.map((function(e){return{transition:e,entity:"autoQualityEnabled",type:"end"}}))),this.desiredState.seekPosition.stateChangeStarted$.pipe(e.map((function(e){return{transition:e,entity:"seekPosition",type:"start"}}))),this.desiredState.seekPosition.stateChangeEnded$.pipe(e.map((function(e){return{transition:e,entity:"seekPosition",type:"end"}}))),this.desiredState.playbackState.stateChangeStarted$.pipe(e.map((function(e){return{transition:e,entity:"playbackState",type:"start"}}))),this.desiredState.playbackState.stateChangeEnded$.pipe(e.map((function(e){return{transition:e,entity:"playbackState",type:"end"}})))).pipe(e.map((function(e){return{component:"desiredState",message:"["+e.entity+" change] "+e.type+": "+JSON.stringify(e.transition)}}))).subscribe(this.logger.log)),this.subscription.add(this.logger.log$.subscribe(this.events.log$))},t.prototype.initDebugTelemetry=function(){var t,i=this,r=null===(t=this.providerContainer)||void 0===t?void 0:t.providerOutput;e.assertNonNullable(this.providerContainer),e.assertNonNullable(r),q={},this.experimental.enableDebugTelemetry$.next(this.tuning.enableTelemetryAtStart),[this.experimental.enableDebugTelemetry$.subscribe((function(e){H=e})),this.providerContainer.current$.subscribe((function(e){var t=e.type;return Y("provider",t)})),r.duration$.subscribe((function(e){return Y("duration",e)})),r.availableVideoTracks$.pipe(e.filter((function(e){return!!e.length})),e.once()).subscribe((function(e){return Y("tracks",e)})),this.events.fatalError$.subscribe(new j("fatalError")),this.events.managedError$.subscribe(new j("managedError")),r.position$.subscribe(new j("position")),r.currentVideoTrack$.pipe(e.map((function(e){return null==e?void 0:e.quality}))).subscribe(new j("quality")),r.currentBuffer$.subscribe(new j("buffer")),r.isBuffering$.subscribe(new j("isBuffering"))].forEach((function(e){return i.subscription.add(e)})),Y("codecs",Object.keys(Rt).filter((function(e){return Rt[e]})))},t}();Object.defineProperty(exports,"Observable",{enumerable:!0,get:function(){return e.Observable}}),Object.defineProperty(exports,"Subject",{enumerable:!0,get:function(){return e.Subject}}),Object.defineProperty(exports,"Subscription",{enumerable:!0,get:function(){return e.Subscription}}),Object.defineProperty(exports,"ValueSubject",{enumerable:!0,get:function(){return e.ValueSubject}}),exports.Player=si,exports.SDK_VERSION="@vkontakte/videoplayer-core@2.0.34";
|