@flowplayer/player 3.25.0 → 3.26.0-rc
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/core.js +1 -1
- package/default.js +1 -1
- package/embed.js +2 -2
- package/package.json +1 -1
- package/plugins/ads.js +1 -1
- package/plugins/analytics.js +1 -1
- package/plugins/rts.d.ts +12 -7
- package/plugins/rts.js +1 -1
- package/plugins/ssai.js +1 -1
package/plugins/ssai.js
CHANGED
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
* https://github.com/lancedikson/bowser
|
|
5
5
|
* MIT License | (c) Dustin Diaz 2012-2015
|
|
6
6
|
* MIT License | (c) Denis Demchenko 2015-2019
|
|
7
|
-
*/const w=class Bowser{static getParser(e,t=!1){if("string"!=typeof e)throw new Error("UserAgent should be a string");return new Parser(e,t)}static parse(e){return new Parser(e).getResult()}static get BROWSER_MAP(){return u}static get ENGINE_MAP(){return g}static get OS_MAP(){return m}static get PLATFORMS_MAP(){return p}}.parse(window.navigator.userAgent),{platform:S,os:_,browser:A}=w,M=e=>e&&e.toLowerCase();var T={rnd:Math.random().toString(36).substr(2,32),os:M(_.name+(_.versionName?" "+_.versionName:"")),device:M(S.type),browser:M(A.name),browser_version:(A&&A.version?A.version:"unknown").split(".").shift(),plugin_version:"3.25.0"};const E="https://fp-eu-w1-aai.flowplayer.com/in",k="POST",O=["ad-requested","ad-request-error","ad-request-completed","ad-completed","ad-started","ad-error","ad-skipped"],U=["event_type","ad_tag_id","media_id","player_id","site_id","sitegroup_id","rnd","os","device","browser","browser_version","plugin_version","player_version"],R=["vast_error","reason","request_load_time","ad_type","vast_ad_id"],P=c("ads/analytics"),C=RequestQueue.of(),F=(...e)=>Object.assign({},...e);class Analytics{static of(e,t){return new Analytics(e,t)}static ensure_required_keys(e,t){return e.required_keys.filter(e=>!(e in t))}static pluck_valid_keys(e,t){return((e,...t)=>Object.keys(e).filter(e=>~t.indexOf(e)).reduce((t,r)=>Object.assign(t,{[r]:e[r]}),{}))(t,...e.valid_keys)}static mergeMetadata(e,t={}){return e.metadata=Analytics.pluck_valid_keys(e,F(e.metadata,t,{player_version:"3.25.0"})),e}constructor(e,t={}){this.emitter=e,this.metadata=F(T,t.metadata||{}),this.emitter=e,this.events=t.events||[],this.required_keys=t.required_keys||[],this.optional_keys=t.optional_keys||[],this.valid_keys=this.required_keys.slice(0).concat(this.optional_keys),P(this),this.wireup()}wireup(){this.events.forEach(e=>{this.emitter.on(e,t=>{const r=t.detail,s=F(this.metadata,{event_type:e},r),i=Analytics.pluck_valid_keys(this,s),n=Analytics.ensure_required_keys(this,i);if(P(`Event[${e}]`,{payload:i,observation:r}),n.length)return P(`Analytics.validate_metadata() failed for\n Event[${e}]\n missing keys: ${n}`,i);RequestQueue.rpush(C,[E,k,i])})})}destroy(){this.emitter=this.metadata=this.events=this.required_keys=this.optional_keys=this.valid_keys=void 0}}var D;function N(e,t){var r;switch(t){case D.Preroll:return 0;case D.Postroll:return-1;default:return null===(r=e.ssai)||void 0===r?void 0:r.provider.getContentCurrentTime(e)}}function B(e,t,r){var s,i,n,a;const o=null===(s=t.ssai)||void 0===s?void 0:s.provider.getAdType(),c=null===(a=null===(n=null===(i=t.ssai)||void 0===i?void 0:i.provider)||void 0===n?void 0:n.src)||void 0===a?void 0:a.analyticsId,d={ad_break_time:N(t,o),ad_muted:t.muted,event_type:e,is_ssai:!0};o&&Object.assign(d,{ad_type:o}),c&&Object.assign(d,{ad_tag_id:c}),r&&"duration"in r&&Object.assign(d,{ad_remaining_seconds:r.duration-r.currentTime,ad_duration_seconds:r.duration}),t.emit("health:record",{event:"ads/"+e,detail:d}),t.emit(e,Object.assign(d,r))}function I(e,t){var r;e.setState("ssai-ad-active",!0);const s=null===(r=e.ssai)||void 0===r?void 0:r.state;s&&(s.adProgress={currentTime:0,duration:t},x(e,s))}function j(e,t){var r;const s=null===(r=e.ssai)||void 0===r?void 0:r.state;s&&(s.adProgress=t,x(e,s))}function q(e){if(!e.ssai)return;const t=e.ssai.state;e.setState("ssai-ad-active",!1),delete t.adProgress,void 0!==t.rate&&(e.playbackRate=t.rate,delete t.rate),"number"==typeof t.snapbackTime&&(s(e,t.snapbackTime),delete t.snapbackTime)}function x(e,t){const r=e.playbackRate;1!==r&&(t.rate=r,e.playbackRate=1)}!function(e){e.Preroll="preroll",e.Midroll="midroll",e.Postroll="postroll"}(D||(D={}));const L=navigator.languages||[navigator.language];const Q="flowplayer-ssai-ui";function V(e,t){const r=new google.ima.dai.api.UiSettings,s=e.opt("lang")||function(){try{return L.reduce((e,t)=>~t.indexOf("-")?e.concat(t,t.split("-")[0]):e.concat(t),[])}catch(e){return[]}}().find(e=>!e.includes("-"))||"en";r.setLocale(s);const i=new google.ima.dai.api.StreamManager(e,function(e,t){const r=e._customElements.get(t);return r&&e.root.querySelector(r)||void 0}(e,Q),r);return i.addEventListener([google.ima.dai.api.StreamEvent.Type.LOADED,google.ima.dai.api.StreamEvent.Type.ERROR,google.ima.dai.api.StreamEvent.Type.STREAM_INITIALIZED,google.ima.dai.api.StreamEvent.Type.AD_BREAK_STARTED,google.ima.dai.api.StreamEvent.Type.AD_PROGRESS,google.ima.dai.api.StreamEvent.Type.AD_BREAK_ENDED,google.ima.dai.api.StreamEvent.Type.RESUMED,google.ima.dai.api.StreamEvent.Type.PAUSED,google.ima.dai.api.StreamEvent.Type.STARTED,google.ima.dai.api.StreamEvent.Type.COMPLETE,google.ima.dai.api.StreamEvent.Type.SKIPPED,google.ima.dai.api.StreamEvent.Type.CLICK],r=>{!function(e,t,r,s){var i;if((null===(i=e.ssai)||void 0===i?void 0:i.provider)!==s)return;switch(r.type){case google.ima.dai.api.StreamEvent.Type.STREAM_INITIALIZED:return async function(e,t,r,s){var i,n;const a=s.getStreamData().streamId;if(!a||!t.isPod)return;if(!t.isVod){const r=null===(i=t.src)||void 0===i?void 0:i.streamUrl;return r?(t.daiStream=t.buildPodStreamURL(r,a),e.setSrc(t.daiStream)):console.error("streamUrl param is missing : https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/html5?service=pod#create_a_simple_video_player_2")}const o=null===(n=t.src)||void 0===n?void 0:n.requestStreamUrl;if(!o)return console.error("requestStreamUrl param is missing : https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/html5?service=pod#vod-pod-serving_1");try{t.daiStream=await o(r,a),r.loadStreamMetadata(),e.setSrc(t.daiStream)}catch(r){z(e,t)}}(e,s,t,r);case google.ima.dai.api.StreamEvent.Type.RESUMED:return B("ad-resumed",e,H(e,r,s));case google.ima.dai.api.StreamEvent.Type.PAUSED:return B("ad-paused",e,H(e,r,s));case google.ima.dai.api.StreamEvent.Type.COMPLETE:return B("ad-completed",e,H(e,r,s));case google.ima.dai.api.StreamEvent.Type.SKIPPED:return B("ad-skipped",e,H(e,r,s));case google.ima.dai.api.StreamEvent.Type.LOADED:return function(e,t,r){const s=r.getStreamData().url;if(!s||t.isPod&&!t.isVod)return;t.daiStream=s,e.setSrc(s)}(e,s,r);case google.ima.dai.api.StreamEvent.Type.STARTED:return s.currentAd=r.getAd(),B("ad-started",e,H(e,r,s));case google.ima.dai.api.StreamEvent.Type.AD_BREAK_STARTED:return I(e),B("ad-break-started",e,H(e,r,s));case google.ima.dai.api.StreamEvent.Type.AD_BREAK_ENDED:return B(a,e,H(e,r,s)),q(e),s.currentAd=void 0;case google.ima.dai.api.StreamEvent.Type.ERROR:return z(e,s,r);case google.ima.dai.api.StreamEvent.Type.AD_PROGRESS:{const t=H(e,r,s);return j(e,t),B("ad-progress",e,t)}case google.ima.dai.api.StreamEvent.Type.CLICK:(function(e,t){if(!e.paused)e.togglePlay(!1)})(e)}}(e,i,r,t)},!1),e.on("ssai:hls:metadata",r=>{var s,n;(null===(s=e.ssai)||void 0===s?void 0:s.provider)===t&&(null===(n=r.detail)||void 0===n||n.samples.forEach(e=>i.processMetadata("ID3",e.data,e.pts)))}),e.on("ssai:dash:metadata",r=>{var s;const n=r.detail;if(!n||(null===(s=e.ssai)||void 0===s?void 0:s.provider)!==t)return;const a=n.event.messageData,o=n.event.calculatedPresentationTime;i.processMetadata("urn:google:dai:2018",a,o)}),i}function H(e,t,r){const s=r.currentAd,i=Object.assign({},t.getStreamData().adProgressData);return s&&Object.assign(i,{vast_ad_id:s.getAdId()}),(null==s?void 0:s.getAdPodInfo())&&Object.assign(i,{position:s.getAdPodInfo().getAdPosition(),totals:s.getAdPodInfo().getTotalAds()}),i}function z(e,t,r){var s,i;if(null===(s=t.src)||void 0===s?void 0:s.backupStream)return e.setSrc(t.src.backupStream);e.emit("error",{message:(null===(i=null==r?void 0:r.getStreamData())||void 0===i?void 0:i.errorMessage)||"error loading stream"})}var W;!function(e){e.Preroll="preroll",e.Midroll="midroll",e.Postroll="postroll"}(W||(W={}));const G=c("ads/ima/sdk");var K;async function $(e,t){var r;const s=null===(r=null===window||void 0===window?void 0:window.google)||void 0===r?void 0:r.ima;if(t?null==s?void 0:s.dai:s)return void G(":noop");const i=t?"https://imasdk.googleapis.com/js/sdkloader/ima3_dai.js":e._storage.getItem("ima/debug")?"https://imasdk.googleapis.com/js/sdkloader/ima3_debug.js":"https://imasdk.googleapis.com/js/sdkloader/ima3.js";try{return await async function(e){return new Promise((t,r)=>{let s=document.querySelector(`script[src='${e}']`);if(s)return Y(s,t,r);s=document.createElement("script"),s.setAttribute("state",K.LOADING),Y(s,t,r),s.src=e,document.head.appendChild(s)})}(i),void G(":loaded")}catch(e){G(":error "+e.message,e)}}function Y(e,t,r){const s=e.getAttribute("state");if(s&&[K.ERROR,K.LOADED].includes(s))return t(void 0);e.addEventListener("load",()=>{e.setAttribute("state",K.LOADED),t(void 0)},{once:!0}),["error","abort"].forEach(t=>{e.addEventListener(t,()=>{e.setAttribute("state",K.ERROR),r("script failed to load")},{once:!0})})}!function(e){e.LOADING="loading",e.LOADED="loaded",e.ERROR="error"}(K||(K={}));class Dai{constructor(e){this.make_analytics(e)}async onload(e,t){var r,s;return await $(e,!0),(null===(s=null===(r=window.google)||void 0===r?void 0:r.ima)||void 0===s?void 0:s.dai)?((null==this?void 0:this.streamManager)||(this.streamManager=V(e,this)),this.src=t,this.isPod=!!t.customAssetKey||!!t.requestStreamUrl,this.isVod=!!t.contentSourceId||!!t.videoId||!!t.requestStreamUrl,this.isPod?this.requestPodStream(t):void this.requestStream(t)):(console.warn("google.ima.dai unavailable"),void(t.backupStream&&e.setSrc(t.backupStream)))}onNewSrc(e,t){var r;t.src!==this.daiStream&&(this.daiStream=void 0,e.ssai=void 0,null===(r=this.streamManager)||void 0===r||r.reset())}make_analytics(e){const t=Analytics.of(e,{required_keys:U,events:O,optional_keys:R});e.on("config",()=>{var r;return Analytics.mergeMetadata(t,null===(r=e.opts)||void 0===r?void 0:r.metadata)})}onId3(e){var t;const r={},s=e.value;r[s.key]=s.data,null===(t=this.streamManager)||void 0===t||t.onTimedMetadata(r)}getAdType(){if(this.currentAd)switch(this.currentAd.getAdPodInfo().getPodIndex()){case 0:return W.Preroll;case-1:return W.Postroll;case-2:return;default:return W.Midroll}}getContentCurrentTime(e){const t=e.currentTime;return this.streamManager?this.streamManager.contentTimeForStreamTime(t):t}setContentCurrentTime(e,t){}getContentDuration(e){const t=e.duration;return this.streamManager?this.streamManager.contentTimeForStreamTime(t):t}getPreviousActiveAdStart(e,t){var r;const s=null===(r=null==this?void 0:this.streamManager)||void 0===r?void 0:r.previousCuePointForStreamTime(t);if(s&&!s.played)return s.start}requestStream(e){var t;const r=this.isVod?new google.ima.dai.api.VODStreamRequest:new google.ima.dai.api.LiveStreamRequest;null===(t=this.streamManager)||void 0===t||t.requestStream(Object.assign(r,e))}requestPodStream(e){var t;const r=this.isVod?new google.ima.dai.api.PodVodStreamRequest:new google.ima.dai.api.PodStreamRequest;null===(t=this.streamManager)||void 0===t||t.requestStream(Object.assign(r,e))}buildPodStreamURL(e,t){return e.replace("[[STREAMID]]",t)}}Dai.Type="google/dai";const Z=window.YospaceAdManagement||{AnalyticEventObserver:null};class EventObserver extends Z.AnalyticEventObserver{constructor(e){super(),this.video=e}onAdvertBreakStart(e){const t=e.getDuration();if(!e.isActive()&&t){const e=r(this.video);s(this.video,e+t/1e3)}I(this.video,e.getStart()),B("ad-break-started",this.video)}onAdvertBreakEnd(){q(this.video),B(a,this.video)}onAdvertStart(e){}onAdvertEnd(){}onTrackingEvent(e){}}function X(e,t){YospaceAdManagement.SessionVOD.create(e,t.ssai.properties,e=>{const s=e.getPayload();if(s.getSessionResult()===YospaceAdManagement.SessionResult.INITIALISED){t.ssai.session=s;const e=new EventObserver(t);s.addAnalyticObserver(e),t.setSrc({src:s.getPlaybackUrl()}),setInterval(()=>{const e=1e3*r(t);s.onPlayheadUpdate(e),function(e,t,r){const s=e.getCurrentAdBreak();if(!s)return;const i={currentTime:r-s.getStart(),duration:s.getDuration()};j(t,i),B("ad-progress",t,i)}(s,t,e)},250)}else console.warn("YoSpace Failed to initialise session. ResultCode = "+s.getResultCode())})}class Yospace{static exists(){return!!window.YospaceAdManagement}constructor(e){!function(e){Object.defineProperty(e,"currentTime",{get:function(){if(e.ssai){const t=e.ssai.state.adProgress;return t?t.currentTime:e.ssai.provider.getContentCurrentTime(e)}return r(e)},set:function(t){var r;if(e.ssai){if(e.ssai.state.adProgress)return;return null===(r=e.ssai.provider)||void 0===r?void 0:r.setContentCurrentTime(e,t)}return s(e,t)}}),Object.defineProperty(e,"duration",{get:function(){if(e.ssai){const t=e.ssai.state.adProgress;return t?t.duration:e.ssai.provider.getContentDuration(e)}return n(e)},set:function(){}})}(e)}onload(e,t){Object.assign(e.ssai,function(){const e=new YospaceAdManagement.SessionProperties;return e.setUserAgent(navigator.userAgent),{properties:e}}()),t&&t.src&&X(t.src,e)}getContentCurrentTime(e){const t=r(e),s=e.ssai.session;return s?s.getContentPositionForPlayhead(1e3*t)/1e3:t}setContentCurrentTime(e,t){const r=e.ssai.session;if(!r)return s(e,t);return s(e,r.getPlayheadForContentPosition(1e3*t)/1e3)}getContentDuration(e){const t=e.ssai.session,r=n(e);return t?t.getContentPositionForPlayhead(t.getDuration())/1e3:r}getAdType(){}getPreviousActiveAdStart(e,t){const r=e.ssai.session;if(!r)return;const s=r.getAdBreaks();let i;const n=1e3*t;return s.forEach(e=>{void 0===i&&e.getStart()<n&&e.isActive()&&(i=e)}),void 0!==i?i.getStart()/1e3:void 0}}function J(e){var t;if((null===(t=this.player.ssai)||void 0===t?void 0:t.provider)===this)switch(e.type){case"playing":case"pause":return function(e){if(!e.player.hasState("ssai-ad-active"))return;return B(e.player.paused?"ad-paused":"ad-resumed",e.player)}(this);case"progress":return function(e){const t=e.player,r=t.hls;if(!r)return;if(t.hasState("ssai-ad-active"))return r.config.maxBufferLength=1;const s=t.currentTime;let i,n=0;for(;n<t.buffered.length;n++)if(t.buffered.start(n)-1<=s&&t.buffered.end(n)>=s){i=t.buffered.end(n);break}if(void 0===i)return;const a=e.getAdCues().find(e=>!e.played&&e.endTime>i&&e.startTime<=i);return r.config.maxBufferLength=a?1:30}(this);case"timeupdate":return function(e){if(!e.activeCue||!e.player.hasState("ssai-ad-active"))return;const t=e.player.currentTime;if(t<=e.activeCue.endTime)return e.ad={duration:e.activeCue.endTime-e.activeCue.startTime,currentTime:t-e.activeCue.startTime},B("ad-progress",e.player,Object.assign(Object.assign({},e.ad),e.podInfo));if(e.podInfo.totals!==e.podInfo.position)return;B("ad-completed",e.player),B(a,e.player),q(e.player),e.activeCue.played=!0,e.activeCue=void 0}(this)}}Yospace.Type="yospace";var ee=function(e){var t={exports:{}};return e(t,t.exports),t.exports}((function(e,t){var r=function(){for(var e=new Array(256),t=0;t<256;++t)e[t]="%"+((t<16?"0":"")+t.toString(16)).toUpperCase();return e}(),s=Object.prototype.hasOwnProperty;t.arrayToObject=function(e,t){for(var r=t.plainObjects?Object.create(null):{},s=0;s<e.length;++s)void 0!==e[s]&&(r[s]=e[s]);return r},t.merge=function(e,r,i){if(!r)return e;if("object"!=typeof r){if(Array.isArray(e))e.push(r);else{if("object"!=typeof e)return[e,r];(i.plainObjects||i.allowPrototypes||!s.call(Object.prototype,r))&&(e[r]=!0)}return e}if("object"!=typeof e)return[e].concat(r);var n=e;return Array.isArray(e)&&!Array.isArray(r)&&(n=t.arrayToObject(e,i)),Object.keys(r).reduce((function(e,n){var a=r[n];return s.call(e,n)?e[n]=t.merge(e[n],a,i):e[n]=a,e}),n)},t.decode=function(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch(t){return e}},t.encode=function(e){if(0===e.length)return e;for(var t="string"==typeof e?e:String(e),s="",i=0;i<t.length;++i){var n=t.charCodeAt(i);45===n||46===n||95===n||126===n||n>=48&&n<=57||n>=65&&n<=90||n>=97&&n<=122?s+=t.charAt(i):n<128?s+=r[n]:n<2048?s+=r[192|n>>6]+r[128|63&n]:n<55296||n>=57344?s+=r[224|n>>12]+r[128|n>>6&63]+r[128|63&n]:(i+=1,n=65536+((1023&n)<<10|1023&t.charCodeAt(i)),s+=r[240|n>>18]+r[128|n>>12&63]+r[128|n>>6&63]+r[128|63&n])}return s},t.compact=function(e,r){if("object"!=typeof e||null===e)return e;var s=r||[],i=s.indexOf(e);if(-1!==i)return s[i];if(s.push(e),Array.isArray(e)){for(var n=[],a=0;a<e.length;++a)e[a]&&"object"==typeof e[a]?n.push(t.compact(e[a],s)):void 0!==e[a]&&n.push(e[a]);return n}for(var o=Object.keys(e),c=0;c<o.length;++c){var d=o[c];e[d]=t.compact(e[d],s)}return e},t.isRegExp=function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},t.isBuffer=function(e){return null!=e&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))}})),te={brackets:function(e){return e+"[]"},indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},re={delimiter:"&",strictNullHandling:!1,skipNulls:!1,encode:!0,encoder:ee.encode},se=function e(t,r,s,i,n,a,o,c,d){var l=t;if("function"==typeof o)l=o(r,l);else if(l instanceof Date)l=l.toISOString();else if(null===l){if(i)return a?a(r):r;l=""}if("string"==typeof l||"number"==typeof l||"boolean"==typeof l||ee.isBuffer(l))return a?[a(r)+"="+a(l)]:[r+"="+String(l)];var u,p=[];if(void 0===l)return p;if(Array.isArray(o))u=o;else{var m=Object.keys(l);u=c?m.sort(c):m}for(var g=0;g<u.length;++g){var h=u[g];n&&null===l[h]||(p=Array.isArray(l)?p.concat(e(l[h],s(r,h),s,i,n,a,o,c,d)):p.concat(e(l[h],r+(d?"."+h:"["+h+"]"),s,i,n,a,o,c,d)))}return p},ie=Object.prototype.hasOwnProperty,ne={delimiter:"&",depth:5,arrayLimit:20,parameterLimit:1e3,strictNullHandling:!1,plainObjects:!1,allowPrototypes:!1,allowDots:!1,decoder:ee.decode},ae=function(e,t,r){if(e){var s=r.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,i=/(\[[^[\]]*])/g,n=/(\[[^[\]]*])/.exec(s),a=n?s.slice(0,n.index):s,o=[];if(a){if(!r.plainObjects&&ie.call(Object.prototype,a)&&!r.allowPrototypes)return;o.push(a)}for(var c=0;null!==(n=i.exec(s))&&c<r.depth;){if(c+=1,!r.plainObjects&&ie.call(Object.prototype,n[1].slice(1,-1))&&!r.allowPrototypes)return;o.push(n[1])}return n&&o.push("["+s.slice(n.index)+"]"),function e(t,r,s){if(!t.length)return r;var i,n=t.shift();if("[]"===n)i=(i=[]).concat(e(t,r,s));else{i=s.plainObjects?Object.create(null):{};var a="["===n.charAt(0)&&"]"===n.charAt(n.length-1)?n.slice(1,-1):n,o=parseInt(a,10);!isNaN(o)&&n!==a&&String(o)===a&&o>=0&&s.parseArrays&&o<=s.arrayLimit?(i=[])[o]=e(t,r,s):i[a]=e(t,r,s)}return i}(o,t,r)}},oe=function(e,t){var r,s,i=e,n=t||{},a=void 0===n.delimiter?re.delimiter:n.delimiter,o="boolean"==typeof n.strictNullHandling?n.strictNullHandling:re.strictNullHandling,c="boolean"==typeof n.skipNulls?n.skipNulls:re.skipNulls,d=("boolean"==typeof n.encode?n.encode:re.encode)?"function"==typeof n.encoder?n.encoder:re.encoder:null,l="function"==typeof n.sort?n.sort:null,u=void 0!==n.allowDots&&n.allowDots;if(null!==n.encoder&&void 0!==n.encoder&&"function"!=typeof n.encoder)throw new TypeError("Encoder has to be a function.");"function"==typeof n.filter?i=(s=n.filter)("",i):Array.isArray(n.filter)&&(r=s=n.filter);var p,m=[];if("object"!=typeof i||null===i)return"";p=n.arrayFormat in te?n.arrayFormat:"indices"in n?n.indices?"indices":"repeat":"indices";var g=te[p];r||(r=Object.keys(i)),l&&r.sort(l);for(var h=0;h<r.length;++h){var f=r[h];c&&null===i[f]||(m=m.concat(se(i[f],f,g,o,c,d,s,l,u)))}return m.join(a)},ce=function(e,t){var r=t||{};if(null!==r.decoder&&void 0!==r.decoder&&"function"!=typeof r.decoder)throw new TypeError("Decoder has to be a function.");if(r.delimiter="string"==typeof r.delimiter||ee.isRegExp(r.delimiter)?r.delimiter:ne.delimiter,r.depth="number"==typeof r.depth?r.depth:ne.depth,r.arrayLimit="number"==typeof r.arrayLimit?r.arrayLimit:ne.arrayLimit,r.parseArrays=!1!==r.parseArrays,r.decoder="function"==typeof r.decoder?r.decoder:ne.decoder,r.allowDots="boolean"==typeof r.allowDots?r.allowDots:ne.allowDots,r.plainObjects="boolean"==typeof r.plainObjects?r.plainObjects:ne.plainObjects,r.allowPrototypes="boolean"==typeof r.allowPrototypes?r.allowPrototypes:ne.allowPrototypes,r.parameterLimit="number"==typeof r.parameterLimit?r.parameterLimit:ne.parameterLimit,r.strictNullHandling="boolean"==typeof r.strictNullHandling?r.strictNullHandling:ne.strictNullHandling,""===e||null==e)return r.plainObjects?Object.create(null):{};for(var s="string"==typeof e?function(e,t){for(var r={},s=e.split(t.delimiter,t.parameterLimit===1/0?void 0:t.parameterLimit),i=0;i<s.length;++i){var n,a,o=s[i],c=-1===o.indexOf("]=")?o.indexOf("="):o.indexOf("]=")+1;-1===c?(n=t.decoder(o),a=t.strictNullHandling?null:""):(n=t.decoder(o.slice(0,c)),a=t.decoder(o.slice(c+1))),ie.call(r,n)?r[n]=[].concat(r[n]).concat(a):r[n]=a}return r}(e,r):e,i=r.plainObjects?Object.create(null):{},n=Object.keys(s),a=0;a<n.length;++a){var o=n[a],c=ae(o,s[o],r);i=ee.merge(i,c,r)}return ee.compact(i)};const de=c("fpads:macros"),le=/\[([\s\S]+?)\]/g;class Macros{static run(e){try{return e()}catch(e){return void console.error(e)}}static merge(...e){return e.reduce((e,t)=>Object.assign(e,t),{})}static cast(e){return void 0===e?"":"function"==typeof e?encodeURIComponent(Macros.run(e)||""):"string"==typeof e?encodeURIComponent(e):"number"==typeof e||"boolean"==typeof e?e.toString():""}static normalize(e){return e.trim()}static process_obj(e,t,r){return Object.keys(e).reduce((s,i)=>{const n=Macros.process_str(i,t,r,!0),a=e[i];return null===a?(s[n]=a,s):"object"==typeof a?(s[n]=Macros.process_obj(a,t,r),s):"string"==typeof a?(s[n]=Macros.process_str(a,t,r),s):(console.error(new Error(`${a} at ${i} not a handled Macro type`)),s)},{})}static process_str(e,t,r,s=!1){return e.replace(t.pattern,(e,t)=>{const i=Macros.normalize(t);if(!(i in r)||void 0===r[i])return e;const n=r[i],a=s?n:Macros.cast(n);return de("Macro.replace(raw: %s, macro: %s, value: %s)",s,t,a),a})}constructor(e={},t=le){this.vars=e,this.pattern=t}fork(e={},t=this.pattern){const r=Macros.merge(this.vars,e);return new Macros(r,t)}compile(e,t={}){const r=Macros.merge(this.vars,t),[s,i]=e.split("?"),n=ce(i||"",{strictNullHandling:!0,decoder:e=>e}),a=oe(Macros.process_obj(n,this,r),{encode:!1,strictNullHandling:!0});return Macros.process_str(s,this,r,!0)+"?"+a}}function ue(e,t={width:0,height:0}){let r,s;try{const e=document.createElement("a");e.href=r=window.location!=window.parent.location?document.referrer:document.location.href,s=e.hostname}catch(e){console.error(e)}const{width:i,height:n}=t,{video_source:a}=e||{},o=function(){const e=window;return"object"==typeof e.__flowplayerAdParameters?e.__flowplayerAdParameters:{}}();return Object.assign({random:Date.now(),page_url:r,domain:s,player_width:i,player_height:n,video_url:a,videourl:a},o)}Macros.patterns={BRACKETS:le,CURLY:/\{([\s\S]+?)\}/g,UNDERSCORE:/__([\s\S]+?)__/g};class MediaTailor{constructor(e){this.ad={duration:0,currentTime:0},this.podInfo={totals:0,position:0},this.player=e,e.on(["timeupdate","progress","playing","pause"],J.bind(this))}onload(e,t){this.stream=this.compileMacros(e,t),e.setSrc(this.stream)}compileMacros(e,t){var r,s;const i=e.opts,n=ue(void 0,{width:e.clientWidth,height:e.clientHeight});(i.duration||(null===(r=i.metadata)||void 0===r?void 0:r.duration))&&Object.assign(n,{media_duration:i.duration||(null===(s=i.metadata)||void 0===s?void 0:s.duration)});return new Macros(Object.assign({referrer_url:document.referrer,autoplay:!!e.opts.autoplay},e.opts.metadata,t.parameters,n)).compile(t.stream)}onNewSrc(e,t){t.src!==this.stream&&(this.activeCue=void 0,e.ssai=void 0)}getPreviousActiveAdStart(e,t){const r=this.getAdCues(),s=r.slice().reverse().find(e=>e.endTime<t);if(!s||s.played)return;const i=r[r.indexOf(s)+1];return!i||t<i.startTime&&(t+.1<=i.startTime||i.played||e.paused)?this.findAdBreakStartCue(s).startTime:void 0}onId3(e){var t;if(e.played||e==this.activeCue)return;if("X-AD-CREATIVE-SIGNALING"!==(null===(t=e.value)||void 0===t?void 0:t.key))return;if(this.activeCue)return B("ad-completed",this.player),this.activeCue.played=!0,this.activeCue=e,++this.podInfo.position,B("ad-started",this.player,Object.assign(Object.assign({},this.ad),this.podInfo));const r=this.findAdBreakStartCue(e);if(r!==e)return this.player.currentTime=r.startTime;Math.abs(e.startTime-this.player.currentTime)>1&&(this.player.currentTime=e.startTime),this.activeCue=e,I(this.player),this.setPodInfo(e),B("ad-break-started",this.player),B("ad-started",this.player,Object.assign(Object.assign({},this.ad),this.podInfo))}setPodInfo(e){const t=this.getAdCues().filter(t=>t.startTime>=e.startTime);let r=1;for(;r<=t.length-1&&!(t[r].startTime-t[r-1].endTime>1);)r++;return this.podInfo={totals:r,position:1},this.player.hasState("is-live")?this.ad_type=D.Midroll:e.startTime<=1?this.ad_type=D.Preroll:Math.abs(t[r-1].endTime-this.player.duration)<=1?this.ad_type=D.Postroll:this.ad_type=D.Midroll}findAdBreakStartCue(e){const t=this.getAdCues().filter(t=>t.startTime<=e.startTime).reverse();let r=e,s=1;for(;s<t.length&&!(t[s-1].startTime-t[s].endTime>.1);)r=t[s],s++;return r}getAdCues(){var e;const t=(null===(e=Array.from(this.player.textTracks).find(e=>"metadata"===e.kind))||void 0===e?void 0:e.cues)||[];return Array.from(t).slice().filter(e=>{var t;return"X-AD-CREATIVE-SIGNALING"===(null===(t=e.value)||void 0===t?void 0:t.key)})}getContentCurrentTime(e){if(!this.activeCue)return 0;let t=this.findAdBreakStartCue(this.activeCue).startTime;return this.getAdCues().filter(e=>e.endTime<t).forEach(e=>{t-=e.endTime-e.startTime}),t}getAdType(){return this.ad_type}getContentDuration(e){return 0}setContentCurrentTime(e,t){}}MediaTailor.Type="mediaTailor";const pe=(e,t)=>new(((e,t)=>{const r=e.get(t);if(!r)throw new Error(`no flowplayer component with the name ${t} exists`);const s=window.customElements.get(t);if(!s)throw new Error(`no default flowplayer component with the name ${t} exists`);const i=window.customElements.get(r);return"function"!=typeof i?s:i})(e._customElements,t))(e),me=(e,t,r)=>{window.customElements.get(t)||window.customElements.define(t,r),e.customElements.get(t)||e.customElements.set(t,t)};class FlowplayerComponent extends HTMLElement{constructor(e){super(),this.player=e}}class SSAIAdUi extends FlowplayerComponent{constructor(e){super(e),this.className="fp-ssai-ui",this.append(...this.player.createComponents("flowplayer-ssai-indicator","flowplayer-ssai-timeline","flowplayer-ssai-controls"))}}class SSAITimeline extends FlowplayerComponent{constructor(e){super(e),this.className="fp-ssai-timeline";const t=document.createElement("div");t.className="fp-ssai-progress",this.append(t),this.player.on(a,()=>{t.classList.remove("go"),"--ssai-percent-complete --ssai-percent-previous".split(" ").forEach(e=>this.style.setProperty(e,"0"))}),this.player.on("ad-progress",e=>{var r,s;const i=null===(r=e.detail)||void 0===r?void 0:r.currentTime,n=null===(s=e.detail)||void 0===s?void 0:s.duration;if(void 0===n||void 0===i)return;const a=i/n*100,o=t.style.getPropertyValue("--ssai-percent-complete");t.classList.remove("go"),t.style.setProperty("--ssai-percent-previous",o),t.style.setProperty("--ssai-percent-complete",a.toFixed(3)),t.classList.add("go")})}}function ge(e){const t="number"==typeof e?e:parseInt(e,10);return(t>9?"":"0")+t}class SSAIControls extends FlowplayerComponent{constructor(e){super(e),this.className="fp-ssai-controls",this.createLeftZone(),this.createRightZone()}createRightZone(){const e=document.createElement("div");e.className="fp-ssai-right-zone",e.append(...this.player.createComponents("flowplayer-volume-control"),...this.fsIcons()),this.append(e)}createLeftZone(){const e=document.createElement("div");e.className="fp-ssai-left-zone",e.append(...this.player.createComponents("flowplayer-control-buttons"),this.remainingTimeComponent()),this.append(e)}fsIcons(){return this.player.createComponents("flowplayer-fullscreen-enter-icon","flowplayer-fullscreen-exit-icon").map(e=>(e.onclick=()=>this.player.toggleFullScreen(),e))}remainingTimeComponent(){const e=document.createElement("div");return e.className="fp-ssai-remaining",this.player.on("ad-progress",t=>{var r;const s=null===(r=t.detail)||void 0===r?void 0:r.remaining;void 0!==s&&(e.textContent=function(e){if(isNaN(e)||e>=Number.MAX_SAFE_INTEGER)return"";const t=e<0?"-":"";e=Math.round(Math.abs(e));const r=Math.floor(e/3600);let s=Math.floor(e/60);return e-=60*s,r>=1?(s-=60*r,t+r+":"+ge(s)+":"+ge(e)):t+ge(s)+":"+ge(e)}(s))}),e}}class SSAIAdIndicator extends FlowplayerComponent{constructor(e){super(e),this.className="fp-ssai-indicator",this.player.on("ad-started",e=>{var t,r;const s=null===(t=e.detail)||void 0===t?void 0:t.totals,i=null===(r=e.detail)||void 0===r?void 0:r.position;void 0!==s&&void 0!==i&&(this.textContent=`${this.player.i18n("ads.indicator","ADS")} ${i} / ${s}`)})}}var he,fe=Object.freeze({__proto__:null,ID3:"ID3"});const ve=((he=class ID3{init(e,t,r){r.textTracks.addEventListener("addtrack",({track:e})=>{if(e&&"metadata"===e.kind)return"id3"==e.id||"id3"==e.label||"com.apple.streaming"==e.inBandMetadataTrackDispatchType?function(e,t){t.mode="hidden",t.addEventListener("cuechange",async()=>{Array.from(t.activeCues||[]).forEach(async t=>{(function(e){return"object"==typeof e.value&&"string"==typeof e.value.key&&!!e.value.data})(t)&&e.emit("ID3",{cue:t})})})}(r,e):void 0})}}).pluginName="id3",he.events=fe,he),ye=e(window,ve);var be;const we=((be=class Ssai{constructor(e,t){this.umd=e,this.providers=[],this.player=t,me(e,Q,SSAIAdUi),me(e,"flowplayer-ssai-timeline",SSAITimeline),me(e,"flowplayer-ssai-controls",SSAIControls),me(e,"flowplayer-ssai-indicator",SSAIAdIndicator)}init(e,t,i){const n=pe(i,Q);if(t.append(n),i.on(ye.events.ID3,({detail:e})=>{var t,r,s;const n=null==e?void 0:e.cue;n&&(null===(s=null===(t=i.ssai)||void 0===t?void 0:(r=t.provider).onId3)||void 0===s||s.call(r,n))}),i.on("seeked",()=>function(e){if(e.opt("live"))return;if(!e.ssai)return;const{provider:t,state:i}=e.ssai;if(i.snapback)return i.snapback=!1;const n=r(e),a=t.getPreviousActiveAdStart(e,n);void 0!==a&&(i.snapback=!0,i.snapbackTime=n,s(e,a))}(i)),i.on("src",e=>{var t,r,s;i.setState("ssai-ad-active",!1),null===(s=null===(r=null===(t=i.ssai)||void 0===t?void 0:t.provider)||void 0===r?void 0:r.onNewSrc)||void 0===s||s.call(r,i,e.detail)}),this.umd.extensions.find(e=>e.pluginName===ye.pluginName))return;new ye(this.umd,i).init(e,t,i)}onload(e,t,r,s){var i,n;null===(n=null===(i=r.ssai)||void 0===i?void 0:i.provider)||void 0===n||n.onload(r,s)}wants(e,t,r){return!!this.findProvider(t)}findProvider(e){let t=void 0;switch(e.type){case MediaTailor.Type:t=this.providers.find(e=>e instanceof MediaTailor)||new MediaTailor(this.player);break;case Dai.Type:t=this.providers.find(e=>e instanceof Dai)||new Dai(this.player);break;case Yospace.Type:Yospace.exists()&&(t=this.providers.find(e=>e instanceof Yospace)||new Yospace(this.player))}return t&&(this.player.ssai={provider:t,state:{snapback:!1}},this.providers.includes(t)||this.providers.push(t)),t}}).pluginName="ssai",be.events=o,be);return e(window,we)}));
|
|
7
|
+
*/const w=class Bowser{static getParser(e,t=!1){if("string"!=typeof e)throw new Error("UserAgent should be a string");return new Parser(e,t)}static parse(e){return new Parser(e).getResult()}static get BROWSER_MAP(){return u}static get ENGINE_MAP(){return g}static get OS_MAP(){return m}static get PLATFORMS_MAP(){return p}}.parse(window.navigator.userAgent),{platform:S,os:_,browser:A}=w,M=e=>e&&e.toLowerCase();var T={rnd:Math.random().toString(36).substr(2,32),os:M(_.name+(_.versionName?" "+_.versionName:"")),device:M(S.type),browser:M(A.name),browser_version:(A&&A.version?A.version:"unknown").split(".").shift(),plugin_version:"3.26.0-rc"};const E="https://fp-eu-w1-aai.flowplayer.com/in",k="POST",O=["ad-requested","ad-request-error","ad-request-completed","ad-completed","ad-started","ad-error","ad-skipped"],U=["event_type","ad_tag_id","media_id","player_id","site_id","sitegroup_id","rnd","os","device","browser","browser_version","plugin_version","player_version"],R=["vast_error","reason","request_load_time","ad_type","vast_ad_id"],P=c("ads/analytics"),C=RequestQueue.of(),F=(...e)=>Object.assign({},...e);class Analytics{static of(e,t){return new Analytics(e,t)}static ensure_required_keys(e,t){return e.required_keys.filter(e=>!(e in t))}static pluck_valid_keys(e,t){return((e,...t)=>Object.keys(e).filter(e=>~t.indexOf(e)).reduce((t,r)=>Object.assign(t,{[r]:e[r]}),{}))(t,...e.valid_keys)}static mergeMetadata(e,t={}){return e.metadata=Analytics.pluck_valid_keys(e,F(e.metadata,t,{player_version:"3.26.0-rc"})),e}constructor(e,t={}){this.emitter=e,this.metadata=F(T,t.metadata||{}),this.emitter=e,this.events=t.events||[],this.required_keys=t.required_keys||[],this.optional_keys=t.optional_keys||[],this.valid_keys=this.required_keys.slice(0).concat(this.optional_keys),P(this),this.wireup()}wireup(){this.events.forEach(e=>{this.emitter.on(e,t=>{const r=t.detail,s=F(this.metadata,{event_type:e},r),i=Analytics.pluck_valid_keys(this,s),n=Analytics.ensure_required_keys(this,i);if(P(`Event[${e}]`,{payload:i,observation:r}),n.length)return P(`Analytics.validate_metadata() failed for\n Event[${e}]\n missing keys: ${n}`,i);RequestQueue.rpush(C,[E,k,i])})})}destroy(){this.emitter=this.metadata=this.events=this.required_keys=this.optional_keys=this.valid_keys=void 0}}var D;function N(e,t){var r;switch(t){case D.Preroll:return 0;case D.Postroll:return-1;default:return null===(r=e.ssai)||void 0===r?void 0:r.provider.getContentCurrentTime(e)}}function B(e,t,r){var s,i,n,a;const o=null===(s=t.ssai)||void 0===s?void 0:s.provider.getAdType(),c=null===(a=null===(n=null===(i=t.ssai)||void 0===i?void 0:i.provider)||void 0===n?void 0:n.src)||void 0===a?void 0:a.analyticsId,d={ad_break_time:N(t,o),ad_muted:t.muted,event_type:e,is_ssai:!0};o&&Object.assign(d,{ad_type:o}),c&&Object.assign(d,{ad_tag_id:c}),r&&"duration"in r&&Object.assign(d,{ad_remaining_seconds:r.duration-r.currentTime,ad_duration_seconds:r.duration}),t.emit("health:record",{event:"ads/"+e,detail:d}),t.emit(e,Object.assign(d,r))}function I(e,t){var r;e.setState("ssai-ad-active",!0);const s=null===(r=e.ssai)||void 0===r?void 0:r.state;s&&(s.adProgress={currentTime:0,duration:t},x(e,s))}function j(e,t){var r;const s=null===(r=e.ssai)||void 0===r?void 0:r.state;s&&(s.adProgress=t,x(e,s))}function q(e){if(!e.ssai)return;const t=e.ssai.state;e.setState("ssai-ad-active",!1),delete t.adProgress,void 0!==t.rate&&(e.playbackRate=t.rate,delete t.rate),"number"==typeof t.snapbackTime&&(s(e,t.snapbackTime),delete t.snapbackTime)}function x(e,t){const r=e.playbackRate;1!==r&&(t.rate=r,e.playbackRate=1)}!function(e){e.Preroll="preroll",e.Midroll="midroll",e.Postroll="postroll"}(D||(D={}));const L=navigator.languages||[navigator.language];const Q="flowplayer-ssai-ui";function V(e,t){const r=new google.ima.dai.api.UiSettings,s=e.opt("lang")||function(){try{return L.reduce((e,t)=>~t.indexOf("-")?e.concat(t,t.split("-")[0]):e.concat(t),[])}catch(e){return[]}}().find(e=>!e.includes("-"))||"en";r.setLocale(s);const i=new google.ima.dai.api.StreamManager(e,function(e,t){const r=e._customElements.get(t);return r&&e.root.querySelector(r)||void 0}(e,Q),r);return i.addEventListener([google.ima.dai.api.StreamEvent.Type.LOADED,google.ima.dai.api.StreamEvent.Type.ERROR,google.ima.dai.api.StreamEvent.Type.STREAM_INITIALIZED,google.ima.dai.api.StreamEvent.Type.AD_BREAK_STARTED,google.ima.dai.api.StreamEvent.Type.AD_PROGRESS,google.ima.dai.api.StreamEvent.Type.AD_BREAK_ENDED,google.ima.dai.api.StreamEvent.Type.RESUMED,google.ima.dai.api.StreamEvent.Type.PAUSED,google.ima.dai.api.StreamEvent.Type.STARTED,google.ima.dai.api.StreamEvent.Type.COMPLETE,google.ima.dai.api.StreamEvent.Type.SKIPPED,google.ima.dai.api.StreamEvent.Type.CLICK],r=>{!function(e,t,r,s){var i;if((null===(i=e.ssai)||void 0===i?void 0:i.provider)!==s)return;switch(r.type){case google.ima.dai.api.StreamEvent.Type.STREAM_INITIALIZED:return async function(e,t,r,s){var i,n;const a=s.getStreamData().streamId;if(!a||!t.isPod)return;if(!t.isVod){const r=null===(i=t.src)||void 0===i?void 0:i.streamUrl;return r?(t.daiStream=t.buildPodStreamURL(r,a),e.setSrc(t.daiStream)):console.error("streamUrl param is missing : https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/html5?service=pod#create_a_simple_video_player_2")}const o=null===(n=t.src)||void 0===n?void 0:n.requestStreamUrl;if(!o)return console.error("requestStreamUrl param is missing : https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/html5?service=pod#vod-pod-serving_1");try{t.daiStream=await o(r,a),r.loadStreamMetadata(),e.setSrc(t.daiStream)}catch(r){z(e,t)}}(e,s,t,r);case google.ima.dai.api.StreamEvent.Type.RESUMED:return B("ad-resumed",e,H(e,r,s));case google.ima.dai.api.StreamEvent.Type.PAUSED:return B("ad-paused",e,H(e,r,s));case google.ima.dai.api.StreamEvent.Type.COMPLETE:return B("ad-completed",e,H(e,r,s));case google.ima.dai.api.StreamEvent.Type.SKIPPED:return B("ad-skipped",e,H(e,r,s));case google.ima.dai.api.StreamEvent.Type.LOADED:return function(e,t,r){const s=r.getStreamData().url;if(!s||t.isPod&&!t.isVod)return;t.daiStream=s,e.setSrc(s)}(e,s,r);case google.ima.dai.api.StreamEvent.Type.STARTED:return s.currentAd=r.getAd(),B("ad-started",e,H(e,r,s));case google.ima.dai.api.StreamEvent.Type.AD_BREAK_STARTED:return I(e),B("ad-break-started",e,H(e,r,s));case google.ima.dai.api.StreamEvent.Type.AD_BREAK_ENDED:return B(a,e,H(e,r,s)),q(e),s.currentAd=void 0;case google.ima.dai.api.StreamEvent.Type.ERROR:return z(e,s,r);case google.ima.dai.api.StreamEvent.Type.AD_PROGRESS:{const t=H(e,r,s);return j(e,t),B("ad-progress",e,t)}case google.ima.dai.api.StreamEvent.Type.CLICK:(function(e,t){if(!e.paused)e.togglePlay(!1)})(e)}}(e,i,r,t)},!1),e.on("ssai:hls:metadata",r=>{var s,n;(null===(s=e.ssai)||void 0===s?void 0:s.provider)===t&&(null===(n=r.detail)||void 0===n||n.samples.forEach(e=>i.processMetadata("ID3",e.data,e.pts)))}),e.on("ssai:dash:metadata",r=>{var s;const n=r.detail;if(!n||(null===(s=e.ssai)||void 0===s?void 0:s.provider)!==t)return;const a=n.event.messageData,o=n.event.calculatedPresentationTime;i.processMetadata("urn:google:dai:2018",a,o)}),i}function H(e,t,r){const s=r.currentAd,i=Object.assign({},t.getStreamData().adProgressData);return s&&Object.assign(i,{vast_ad_id:s.getAdId()}),(null==s?void 0:s.getAdPodInfo())&&Object.assign(i,{position:s.getAdPodInfo().getAdPosition(),totals:s.getAdPodInfo().getTotalAds()}),i}function z(e,t,r){var s,i;if(null===(s=t.src)||void 0===s?void 0:s.backupStream)return e.setSrc(t.src.backupStream);e.emit("error",{message:(null===(i=null==r?void 0:r.getStreamData())||void 0===i?void 0:i.errorMessage)||"error loading stream"})}var W;!function(e){e.Preroll="preroll",e.Midroll="midroll",e.Postroll="postroll"}(W||(W={}));const G=c("ads/ima/sdk");var K;async function $(e,t){var r;const s=null===(r=null===window||void 0===window?void 0:window.google)||void 0===r?void 0:r.ima;if(t?null==s?void 0:s.dai:s)return void G(":noop");const i=t?"https://imasdk.googleapis.com/js/sdkloader/ima3_dai.js":e._storage.getItem("ima/debug")?"https://imasdk.googleapis.com/js/sdkloader/ima3_debug.js":"https://imasdk.googleapis.com/js/sdkloader/ima3.js";try{return await async function(e){return new Promise((t,r)=>{let s=document.querySelector(`script[src='${e}']`);if(s)return Y(s,t,r);s=document.createElement("script"),s.setAttribute("state",K.LOADING),Y(s,t,r),s.src=e,document.head.appendChild(s)})}(i),void G(":loaded")}catch(e){G(":error "+e.message,e)}}function Y(e,t,r){const s=e.getAttribute("state");if(s&&[K.ERROR,K.LOADED].includes(s))return t(void 0);e.addEventListener("load",()=>{e.setAttribute("state",K.LOADED),t(void 0)},{once:!0}),["error","abort"].forEach(t=>{e.addEventListener(t,()=>{e.setAttribute("state",K.ERROR),r("script failed to load")},{once:!0})})}!function(e){e.LOADING="loading",e.LOADED="loaded",e.ERROR="error"}(K||(K={}));class Dai{constructor(e){this.make_analytics(e)}async onload(e,t){var r,s;return await $(e,!0),(null===(s=null===(r=window.google)||void 0===r?void 0:r.ima)||void 0===s?void 0:s.dai)?((null==this?void 0:this.streamManager)||(this.streamManager=V(e,this)),this.src=t,this.isPod=!!t.customAssetKey||!!t.requestStreamUrl,this.isVod=!!t.contentSourceId||!!t.videoId||!!t.requestStreamUrl,this.isPod?this.requestPodStream(t):void this.requestStream(t)):(console.warn("google.ima.dai unavailable"),void(t.backupStream&&e.setSrc(t.backupStream)))}onNewSrc(e,t){var r;t.src!==this.daiStream&&(this.daiStream=void 0,e.ssai=void 0,null===(r=this.streamManager)||void 0===r||r.reset())}make_analytics(e){const t=Analytics.of(e,{required_keys:U,events:O,optional_keys:R});e.on("config",()=>{var r;return Analytics.mergeMetadata(t,null===(r=e.opts)||void 0===r?void 0:r.metadata)})}onId3(e){var t;const r={},s=e.value;r[s.key]=s.data,null===(t=this.streamManager)||void 0===t||t.onTimedMetadata(r)}getAdType(){if(this.currentAd)switch(this.currentAd.getAdPodInfo().getPodIndex()){case 0:return W.Preroll;case-1:return W.Postroll;case-2:return;default:return W.Midroll}}getContentCurrentTime(e){const t=e.currentTime;return this.streamManager?this.streamManager.contentTimeForStreamTime(t):t}setContentCurrentTime(e,t){}getContentDuration(e){const t=e.duration;return this.streamManager?this.streamManager.contentTimeForStreamTime(t):t}getPreviousActiveAdStart(e,t){var r;const s=null===(r=null==this?void 0:this.streamManager)||void 0===r?void 0:r.previousCuePointForStreamTime(t);if(s&&!s.played)return s.start}requestStream(e){var t;const r=this.isVod?new google.ima.dai.api.VODStreamRequest:new google.ima.dai.api.LiveStreamRequest;null===(t=this.streamManager)||void 0===t||t.requestStream(Object.assign(r,e))}requestPodStream(e){var t;const r=this.isVod?new google.ima.dai.api.PodVodStreamRequest:new google.ima.dai.api.PodStreamRequest;null===(t=this.streamManager)||void 0===t||t.requestStream(Object.assign(r,e))}buildPodStreamURL(e,t){return e.replace("[[STREAMID]]",t)}}Dai.Type="google/dai";const Z=window.YospaceAdManagement||{AnalyticEventObserver:null};class EventObserver extends Z.AnalyticEventObserver{constructor(e){super(),this.video=e}onAdvertBreakStart(e){const t=e.getDuration();if(!e.isActive()&&t){const e=r(this.video);s(this.video,e+t/1e3)}I(this.video,e.getStart()),B("ad-break-started",this.video)}onAdvertBreakEnd(){q(this.video),B(a,this.video)}onAdvertStart(e){}onAdvertEnd(){}onTrackingEvent(e){}}function X(e,t){YospaceAdManagement.SessionVOD.create(e,t.ssai.properties,e=>{const s=e.getPayload();if(s.getSessionResult()===YospaceAdManagement.SessionResult.INITIALISED){t.ssai.session=s;const e=new EventObserver(t);s.addAnalyticObserver(e),t.setSrc({src:s.getPlaybackUrl()}),setInterval(()=>{const e=1e3*r(t);s.onPlayheadUpdate(e),function(e,t,r){const s=e.getCurrentAdBreak();if(!s)return;const i={currentTime:r-s.getStart(),duration:s.getDuration()};j(t,i),B("ad-progress",t,i)}(s,t,e)},250)}else console.warn("YoSpace Failed to initialise session. ResultCode = "+s.getResultCode())})}class Yospace{static exists(){return!!window.YospaceAdManagement}constructor(e){!function(e){Object.defineProperty(e,"currentTime",{get:function(){if(e.ssai){const t=e.ssai.state.adProgress;return t?t.currentTime:e.ssai.provider.getContentCurrentTime(e)}return r(e)},set:function(t){var r;if(e.ssai){if(e.ssai.state.adProgress)return;return null===(r=e.ssai.provider)||void 0===r?void 0:r.setContentCurrentTime(e,t)}return s(e,t)}}),Object.defineProperty(e,"duration",{get:function(){if(e.ssai){const t=e.ssai.state.adProgress;return t?t.duration:e.ssai.provider.getContentDuration(e)}return n(e)},set:function(){}})}(e)}onload(e,t){Object.assign(e.ssai,function(){const e=new YospaceAdManagement.SessionProperties;return e.setUserAgent(navigator.userAgent),{properties:e}}()),t&&t.src&&X(t.src,e)}getContentCurrentTime(e){const t=r(e),s=e.ssai.session;return s?s.getContentPositionForPlayhead(1e3*t)/1e3:t}setContentCurrentTime(e,t){const r=e.ssai.session;if(!r)return s(e,t);return s(e,r.getPlayheadForContentPosition(1e3*t)/1e3)}getContentDuration(e){const t=e.ssai.session,r=n(e);return t?t.getContentPositionForPlayhead(t.getDuration())/1e3:r}getAdType(){}getPreviousActiveAdStart(e,t){const r=e.ssai.session;if(!r)return;const s=r.getAdBreaks();let i;const n=1e3*t;return s.forEach(e=>{void 0===i&&e.getStart()<n&&e.isActive()&&(i=e)}),void 0!==i?i.getStart()/1e3:void 0}}function J(e){var t;if((null===(t=this.player.ssai)||void 0===t?void 0:t.provider)===this)switch(e.type){case"playing":case"pause":return function(e){if(!e.player.hasState("ssai-ad-active"))return;return B(e.player.paused?"ad-paused":"ad-resumed",e.player)}(this);case"progress":return function(e){const t=e.player,r=t.hls;if(!r)return;if(t.hasState("ssai-ad-active"))return r.config.maxBufferLength=1;const s=t.currentTime;let i,n=0;for(;n<t.buffered.length;n++)if(t.buffered.start(n)-1<=s&&t.buffered.end(n)>=s){i=t.buffered.end(n);break}if(void 0===i)return;const a=e.getAdCues().find(e=>!e.played&&e.endTime>i&&e.startTime<=i);return r.config.maxBufferLength=a?1:30}(this);case"timeupdate":return function(e){if(!e.activeCue||!e.player.hasState("ssai-ad-active"))return;const t=e.player.currentTime;if(t<=e.activeCue.endTime)return e.ad={duration:e.activeCue.endTime-e.activeCue.startTime,currentTime:t-e.activeCue.startTime},B("ad-progress",e.player,Object.assign(Object.assign({},e.ad),e.podInfo));if(e.podInfo.totals!==e.podInfo.position)return;B("ad-completed",e.player),B(a,e.player),q(e.player),e.activeCue.played=!0,e.activeCue=void 0}(this)}}Yospace.Type="yospace";var ee=function(e){var t={exports:{}};return e(t,t.exports),t.exports}((function(e,t){var r=function(){for(var e=new Array(256),t=0;t<256;++t)e[t]="%"+((t<16?"0":"")+t.toString(16)).toUpperCase();return e}(),s=Object.prototype.hasOwnProperty;t.arrayToObject=function(e,t){for(var r=t.plainObjects?Object.create(null):{},s=0;s<e.length;++s)void 0!==e[s]&&(r[s]=e[s]);return r},t.merge=function(e,r,i){if(!r)return e;if("object"!=typeof r){if(Array.isArray(e))e.push(r);else{if("object"!=typeof e)return[e,r];(i.plainObjects||i.allowPrototypes||!s.call(Object.prototype,r))&&(e[r]=!0)}return e}if("object"!=typeof e)return[e].concat(r);var n=e;return Array.isArray(e)&&!Array.isArray(r)&&(n=t.arrayToObject(e,i)),Object.keys(r).reduce((function(e,n){var a=r[n];return s.call(e,n)?e[n]=t.merge(e[n],a,i):e[n]=a,e}),n)},t.decode=function(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch(t){return e}},t.encode=function(e){if(0===e.length)return e;for(var t="string"==typeof e?e:String(e),s="",i=0;i<t.length;++i){var n=t.charCodeAt(i);45===n||46===n||95===n||126===n||n>=48&&n<=57||n>=65&&n<=90||n>=97&&n<=122?s+=t.charAt(i):n<128?s+=r[n]:n<2048?s+=r[192|n>>6]+r[128|63&n]:n<55296||n>=57344?s+=r[224|n>>12]+r[128|n>>6&63]+r[128|63&n]:(i+=1,n=65536+((1023&n)<<10|1023&t.charCodeAt(i)),s+=r[240|n>>18]+r[128|n>>12&63]+r[128|n>>6&63]+r[128|63&n])}return s},t.compact=function(e,r){if("object"!=typeof e||null===e)return e;var s=r||[],i=s.indexOf(e);if(-1!==i)return s[i];if(s.push(e),Array.isArray(e)){for(var n=[],a=0;a<e.length;++a)e[a]&&"object"==typeof e[a]?n.push(t.compact(e[a],s)):void 0!==e[a]&&n.push(e[a]);return n}for(var o=Object.keys(e),c=0;c<o.length;++c){var d=o[c];e[d]=t.compact(e[d],s)}return e},t.isRegExp=function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},t.isBuffer=function(e){return null!=e&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))}})),te={brackets:function(e){return e+"[]"},indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},re={delimiter:"&",strictNullHandling:!1,skipNulls:!1,encode:!0,encoder:ee.encode},se=function e(t,r,s,i,n,a,o,c,d){var l=t;if("function"==typeof o)l=o(r,l);else if(l instanceof Date)l=l.toISOString();else if(null===l){if(i)return a?a(r):r;l=""}if("string"==typeof l||"number"==typeof l||"boolean"==typeof l||ee.isBuffer(l))return a?[a(r)+"="+a(l)]:[r+"="+String(l)];var u,p=[];if(void 0===l)return p;if(Array.isArray(o))u=o;else{var m=Object.keys(l);u=c?m.sort(c):m}for(var g=0;g<u.length;++g){var h=u[g];n&&null===l[h]||(p=Array.isArray(l)?p.concat(e(l[h],s(r,h),s,i,n,a,o,c,d)):p.concat(e(l[h],r+(d?"."+h:"["+h+"]"),s,i,n,a,o,c,d)))}return p},ie=Object.prototype.hasOwnProperty,ne={delimiter:"&",depth:5,arrayLimit:20,parameterLimit:1e3,strictNullHandling:!1,plainObjects:!1,allowPrototypes:!1,allowDots:!1,decoder:ee.decode},ae=function(e,t,r){if(e){var s=r.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,i=/(\[[^[\]]*])/g,n=/(\[[^[\]]*])/.exec(s),a=n?s.slice(0,n.index):s,o=[];if(a){if(!r.plainObjects&&ie.call(Object.prototype,a)&&!r.allowPrototypes)return;o.push(a)}for(var c=0;null!==(n=i.exec(s))&&c<r.depth;){if(c+=1,!r.plainObjects&&ie.call(Object.prototype,n[1].slice(1,-1))&&!r.allowPrototypes)return;o.push(n[1])}return n&&o.push("["+s.slice(n.index)+"]"),function e(t,r,s){if(!t.length)return r;var i,n=t.shift();if("[]"===n)i=(i=[]).concat(e(t,r,s));else{i=s.plainObjects?Object.create(null):{};var a="["===n.charAt(0)&&"]"===n.charAt(n.length-1)?n.slice(1,-1):n,o=parseInt(a,10);!isNaN(o)&&n!==a&&String(o)===a&&o>=0&&s.parseArrays&&o<=s.arrayLimit?(i=[])[o]=e(t,r,s):i[a]=e(t,r,s)}return i}(o,t,r)}},oe=function(e,t){var r,s,i=e,n=t||{},a=void 0===n.delimiter?re.delimiter:n.delimiter,o="boolean"==typeof n.strictNullHandling?n.strictNullHandling:re.strictNullHandling,c="boolean"==typeof n.skipNulls?n.skipNulls:re.skipNulls,d=("boolean"==typeof n.encode?n.encode:re.encode)?"function"==typeof n.encoder?n.encoder:re.encoder:null,l="function"==typeof n.sort?n.sort:null,u=void 0!==n.allowDots&&n.allowDots;if(null!==n.encoder&&void 0!==n.encoder&&"function"!=typeof n.encoder)throw new TypeError("Encoder has to be a function.");"function"==typeof n.filter?i=(s=n.filter)("",i):Array.isArray(n.filter)&&(r=s=n.filter);var p,m=[];if("object"!=typeof i||null===i)return"";p=n.arrayFormat in te?n.arrayFormat:"indices"in n?n.indices?"indices":"repeat":"indices";var g=te[p];r||(r=Object.keys(i)),l&&r.sort(l);for(var h=0;h<r.length;++h){var f=r[h];c&&null===i[f]||(m=m.concat(se(i[f],f,g,o,c,d,s,l,u)))}return m.join(a)},ce=function(e,t){var r=t||{};if(null!==r.decoder&&void 0!==r.decoder&&"function"!=typeof r.decoder)throw new TypeError("Decoder has to be a function.");if(r.delimiter="string"==typeof r.delimiter||ee.isRegExp(r.delimiter)?r.delimiter:ne.delimiter,r.depth="number"==typeof r.depth?r.depth:ne.depth,r.arrayLimit="number"==typeof r.arrayLimit?r.arrayLimit:ne.arrayLimit,r.parseArrays=!1!==r.parseArrays,r.decoder="function"==typeof r.decoder?r.decoder:ne.decoder,r.allowDots="boolean"==typeof r.allowDots?r.allowDots:ne.allowDots,r.plainObjects="boolean"==typeof r.plainObjects?r.plainObjects:ne.plainObjects,r.allowPrototypes="boolean"==typeof r.allowPrototypes?r.allowPrototypes:ne.allowPrototypes,r.parameterLimit="number"==typeof r.parameterLimit?r.parameterLimit:ne.parameterLimit,r.strictNullHandling="boolean"==typeof r.strictNullHandling?r.strictNullHandling:ne.strictNullHandling,""===e||null==e)return r.plainObjects?Object.create(null):{};for(var s="string"==typeof e?function(e,t){for(var r={},s=e.split(t.delimiter,t.parameterLimit===1/0?void 0:t.parameterLimit),i=0;i<s.length;++i){var n,a,o=s[i],c=-1===o.indexOf("]=")?o.indexOf("="):o.indexOf("]=")+1;-1===c?(n=t.decoder(o),a=t.strictNullHandling?null:""):(n=t.decoder(o.slice(0,c)),a=t.decoder(o.slice(c+1))),ie.call(r,n)?r[n]=[].concat(r[n]).concat(a):r[n]=a}return r}(e,r):e,i=r.plainObjects?Object.create(null):{},n=Object.keys(s),a=0;a<n.length;++a){var o=n[a],c=ae(o,s[o],r);i=ee.merge(i,c,r)}return ee.compact(i)};const de=c("fpads:macros"),le=/\[([\s\S]+?)\]/g;class Macros{static run(e){try{return e()}catch(e){return void console.error(e)}}static merge(...e){return e.reduce((e,t)=>Object.assign(e,t),{})}static cast(e){return void 0===e?"":"function"==typeof e?encodeURIComponent(Macros.run(e)||""):"string"==typeof e?encodeURIComponent(e):"number"==typeof e||"boolean"==typeof e?e.toString():""}static normalize(e){return e.trim()}static process_obj(e,t,r){return Object.keys(e).reduce((s,i)=>{const n=Macros.process_str(i,t,r,!0),a=e[i];return null===a?(s[n]=a,s):"object"==typeof a?(s[n]=Macros.process_obj(a,t,r),s):"string"==typeof a?(s[n]=Macros.process_str(a,t,r),s):(console.error(new Error(`${a} at ${i} not a handled Macro type`)),s)},{})}static process_str(e,t,r,s=!1){return e.replace(t.pattern,(e,t)=>{const i=Macros.normalize(t);if(!(i in r)||void 0===r[i])return e;const n=r[i],a=s?n:Macros.cast(n);return de("Macro.replace(raw: %s, macro: %s, value: %s)",s,t,a),a})}constructor(e={},t=le){this.vars=e,this.pattern=t}fork(e={},t=this.pattern){const r=Macros.merge(this.vars,e);return new Macros(r,t)}compile(e,t={}){const r=Macros.merge(this.vars,t),[s,i]=e.split("?"),n=ce(i||"",{strictNullHandling:!0,decoder:e=>e}),a=oe(Macros.process_obj(n,this,r),{encode:!1,strictNullHandling:!0});return Macros.process_str(s,this,r,!0)+"?"+a}}function ue(e,t={width:0,height:0}){let r,s;try{const e=document.createElement("a");e.href=r=window.location!=window.parent.location?document.referrer:document.location.href,s=e.hostname}catch(e){console.error(e)}const{width:i,height:n}=t,{video_source:a}=e||{},o=function(){const e=window;return"object"==typeof e.__flowplayerAdParameters?e.__flowplayerAdParameters:{}}();return Object.assign({random:Date.now(),page_url:r,domain:s,player_width:i,player_height:n,video_url:a,videourl:a},o)}Macros.patterns={BRACKETS:le,CURLY:/\{([\s\S]+?)\}/g,UNDERSCORE:/__([\s\S]+?)__/g};class MediaTailor{constructor(e){this.ad={duration:0,currentTime:0},this.podInfo={totals:0,position:0},this.player=e,e.on(["timeupdate","progress","playing","pause"],J.bind(this))}onload(e,t){this.stream=this.compileMacros(e,t),e.setSrc(this.stream)}compileMacros(e,t){var r,s;const i=e.opts,n=ue(void 0,{width:e.clientWidth,height:e.clientHeight});(i.duration||(null===(r=i.metadata)||void 0===r?void 0:r.duration))&&Object.assign(n,{media_duration:i.duration||(null===(s=i.metadata)||void 0===s?void 0:s.duration)});return new Macros(Object.assign({referrer_url:document.referrer,autoplay:!!e.opts.autoplay},e.opts.metadata,t.parameters,n)).compile(t.stream)}onNewSrc(e,t){t.src!==this.stream&&(this.activeCue=void 0,e.ssai=void 0)}getPreviousActiveAdStart(e,t){const r=this.getAdCues(),s=r.slice().reverse().find(e=>e.endTime<t);if(!s||s.played)return;const i=r[r.indexOf(s)+1];return!i||t<i.startTime&&(t+.1<=i.startTime||i.played||e.paused)?this.findAdBreakStartCue(s).startTime:void 0}onId3(e){var t;if(e.played||e==this.activeCue)return;if("X-AD-CREATIVE-SIGNALING"!==(null===(t=e.value)||void 0===t?void 0:t.key))return;if(this.activeCue)return B("ad-completed",this.player),this.activeCue.played=!0,this.activeCue=e,++this.podInfo.position,B("ad-started",this.player,Object.assign(Object.assign({},this.ad),this.podInfo));const r=this.findAdBreakStartCue(e);if(r!==e)return this.player.currentTime=r.startTime;Math.abs(e.startTime-this.player.currentTime)>1&&(this.player.currentTime=e.startTime),this.activeCue=e,I(this.player),this.setPodInfo(e),B("ad-break-started",this.player),B("ad-started",this.player,Object.assign(Object.assign({},this.ad),this.podInfo))}setPodInfo(e){const t=this.getAdCues().filter(t=>t.startTime>=e.startTime);let r=1;for(;r<=t.length-1&&!(t[r].startTime-t[r-1].endTime>1);)r++;return this.podInfo={totals:r,position:1},this.player.hasState("is-live")?this.ad_type=D.Midroll:e.startTime<=1?this.ad_type=D.Preroll:Math.abs(t[r-1].endTime-this.player.duration)<=1?this.ad_type=D.Postroll:this.ad_type=D.Midroll}findAdBreakStartCue(e){const t=this.getAdCues().filter(t=>t.startTime<=e.startTime).reverse();let r=e,s=1;for(;s<t.length&&!(t[s-1].startTime-t[s].endTime>.1);)r=t[s],s++;return r}getAdCues(){var e;const t=(null===(e=Array.from(this.player.textTracks).find(e=>"metadata"===e.kind))||void 0===e?void 0:e.cues)||[];return Array.from(t).slice().filter(e=>{var t;return"X-AD-CREATIVE-SIGNALING"===(null===(t=e.value)||void 0===t?void 0:t.key)})}getContentCurrentTime(e){if(!this.activeCue)return 0;let t=this.findAdBreakStartCue(this.activeCue).startTime;return this.getAdCues().filter(e=>e.endTime<t).forEach(e=>{t-=e.endTime-e.startTime}),t}getAdType(){return this.ad_type}getContentDuration(e){return 0}setContentCurrentTime(e,t){}}MediaTailor.Type="mediaTailor";const pe=(e,t)=>new(((e,t)=>{const r=e.get(t);if(!r)throw new Error(`no flowplayer component with the name ${t} exists`);const s=window.customElements.get(t);if(!s)throw new Error(`no default flowplayer component with the name ${t} exists`);const i=window.customElements.get(r);return"function"!=typeof i?s:i})(e._customElements,t))(e),me=(e,t,r)=>{window.customElements.get(t)||window.customElements.define(t,r),e.customElements.get(t)||e.customElements.set(t,t)};class FlowplayerComponent extends HTMLElement{constructor(e){super(),this.player=e}}class SSAIAdUi extends FlowplayerComponent{constructor(e){super(e),this.className="fp-ssai-ui",this.append(...this.player.createComponents("flowplayer-ssai-indicator","flowplayer-ssai-timeline","flowplayer-ssai-controls"))}}class SSAITimeline extends FlowplayerComponent{constructor(e){super(e),this.className="fp-ssai-timeline";const t=document.createElement("div");t.className="fp-ssai-progress",this.append(t),this.player.on(a,()=>{t.classList.remove("go"),"--ssai-percent-complete --ssai-percent-previous".split(" ").forEach(e=>this.style.setProperty(e,"0"))}),this.player.on("ad-progress",e=>{var r,s;const i=null===(r=e.detail)||void 0===r?void 0:r.currentTime,n=null===(s=e.detail)||void 0===s?void 0:s.duration;if(void 0===n||void 0===i)return;const a=i/n*100,o=t.style.getPropertyValue("--ssai-percent-complete");t.classList.remove("go"),t.style.setProperty("--ssai-percent-previous",o),t.style.setProperty("--ssai-percent-complete",a.toFixed(3)),t.classList.add("go")})}}function ge(e){const t="number"==typeof e?e:parseInt(e,10);return(t>9?"":"0")+t}class SSAIControls extends FlowplayerComponent{constructor(e){super(e),this.className="fp-ssai-controls",this.createLeftZone(),this.createRightZone()}createRightZone(){const e=document.createElement("div");e.className="fp-ssai-right-zone",e.append(...this.player.createComponents("flowplayer-volume-control"),...this.fsIcons()),this.append(e)}createLeftZone(){const e=document.createElement("div");e.className="fp-ssai-left-zone",e.append(...this.player.createComponents("flowplayer-control-buttons"),this.remainingTimeComponent()),this.append(e)}fsIcons(){return this.player.createComponents("flowplayer-fullscreen-enter-icon","flowplayer-fullscreen-exit-icon").map(e=>(e.onclick=()=>this.player.toggleFullScreen(),e))}remainingTimeComponent(){const e=document.createElement("div");return e.className="fp-ssai-remaining",this.player.on("ad-progress",t=>{var r;const s=null===(r=t.detail)||void 0===r?void 0:r.remaining;void 0!==s&&(e.textContent=function(e){if(isNaN(e)||e>=Number.MAX_SAFE_INTEGER)return"";const t=e<0?"-":"";e=Math.round(Math.abs(e));const r=Math.floor(e/3600);let s=Math.floor(e/60);return e-=60*s,r>=1?(s-=60*r,t+r+":"+ge(s)+":"+ge(e)):t+ge(s)+":"+ge(e)}(s))}),e}}class SSAIAdIndicator extends FlowplayerComponent{constructor(e){super(e),this.className="fp-ssai-indicator",this.player.on("ad-started",e=>{var t,r;const s=null===(t=e.detail)||void 0===t?void 0:t.totals,i=null===(r=e.detail)||void 0===r?void 0:r.position;void 0!==s&&void 0!==i&&(this.textContent=`${this.player.i18n("ads.indicator","ADS")} ${i} / ${s}`)})}}var he,fe=Object.freeze({__proto__:null,ID3:"ID3"});const ve=((he=class ID3{init(e,t,r){r.textTracks.addEventListener("addtrack",({track:e})=>{if(e&&"metadata"===e.kind)return"id3"==e.id||"id3"==e.label||"com.apple.streaming"==e.inBandMetadataTrackDispatchType?function(e,t){t.mode="hidden",t.addEventListener("cuechange",async()=>{Array.from(t.activeCues||[]).forEach(async t=>{(function(e){return"object"==typeof e.value&&"string"==typeof e.value.key&&!!e.value.data})(t)&&e.emit("ID3",{cue:t})})})}(r,e):void 0})}}).pluginName="id3",he.events=fe,he),ye=e(window,ve);var be;const we=((be=class Ssai{constructor(e,t){this.umd=e,this.providers=[],this.player=t,me(e,Q,SSAIAdUi),me(e,"flowplayer-ssai-timeline",SSAITimeline),me(e,"flowplayer-ssai-controls",SSAIControls),me(e,"flowplayer-ssai-indicator",SSAIAdIndicator)}init(e,t,i){const n=pe(i,Q);if(t.append(n),i.on(ye.events.ID3,({detail:e})=>{var t,r,s;const n=null==e?void 0:e.cue;n&&(null===(s=null===(t=i.ssai)||void 0===t?void 0:(r=t.provider).onId3)||void 0===s||s.call(r,n))}),i.on("seeked",()=>function(e){if(e.opt("live"))return;if(!e.ssai)return;const{provider:t,state:i}=e.ssai;if(i.snapback)return i.snapback=!1;const n=r(e),a=t.getPreviousActiveAdStart(e,n);void 0!==a&&(i.snapback=!0,i.snapbackTime=n,s(e,a))}(i)),i.on("src",e=>{var t,r,s;i.setState("ssai-ad-active",!1),null===(s=null===(r=null===(t=i.ssai)||void 0===t?void 0:t.provider)||void 0===r?void 0:r.onNewSrc)||void 0===s||s.call(r,i,e.detail)}),this.umd.extensions.find(e=>e.pluginName===ye.pluginName))return;new ye(this.umd,i).init(e,t,i)}onload(e,t,r,s){var i,n;null===(n=null===(i=r.ssai)||void 0===i?void 0:i.provider)||void 0===n||n.onload(r,s)}wants(e,t,r){return!!this.findProvider(t)}findProvider(e){let t=void 0;switch(e.type){case MediaTailor.Type:t=this.providers.find(e=>e instanceof MediaTailor)||new MediaTailor(this.player);break;case Dai.Type:t=this.providers.find(e=>e instanceof Dai)||new Dai(this.player);break;case Yospace.Type:Yospace.exists()&&(t=this.providers.find(e=>e instanceof Yospace)||new Yospace(this.player))}return t&&(this.player.ssai={provider:t,state:{snapback:!1}},this.providers.includes(t)||this.providers.push(t)),t}}).pluginName="ssai",be.events=o,be);return e(window,we)}));
|