@flowplayer/player 3.4.2 → 3.4.3-rc.0

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/embed.js CHANGED
@@ -1,4 +1,4 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).flowplayer=e()}(this,(function(){"use strict";const t=[],e=[];function r(){const t="undefined"!=typeof document&&"undefined"!=typeof window,e=t?navigator.userAgent:"",r=/iP(hone|od)/i.test(e)&&!/iPad/.test(e)&&!/IEMobile/i.test(e),i=/Android/.test(e)&&!/Firefox/.test(e),n=/^((?!chrome|android).)*safari/i.test(e),s=/SamsungBrowser/.test(e),a=s&&/SMART-TV/.test(e);return{controls:!r,video:function(e){return t&&document.createElement("video").canPlayType(e)},lang:t&&window.navigator.language,android:i,iphone:r,safari:n,ios:t&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,samsung:s,samsung_tv:s&&a,touch:!!("ontouchstart"in window)}}const i="error",n="click",s="dblclick",a="load",o="mouseenter",l="mouseleave",u="mousemove",d="touchmove",c="touchend",h="fullscreenenter",f="fullscreenexit",p="loadedmetadata",g="loadeddata",v="progress",m="loadstart",y="pause",E="playing",T="waiting",_="canplay",b="ended",S="seeked",A="seeking",L="reap",w="config",D="landscape",R="portrait";var k=Object.freeze({__proto__:null,MOUNT:"mount",ERROR:i,CONTEXT_MENU:"contextmenu",CLICK:n,DBL_CLICK:s,KEYUP:"keyup",KEYDOWN:"keydown",LOAD:a,MOUSE_ENTER:o,MOUSE_LEAVE:l,MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_MOVE:u,TOUCH_START:"touchstart",TOUCH_MOVE:d,TOUCH_END:c,TOUCH_CANCEL:"touchcancel",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_ENTER:h,FULLSCREEN_EXIT:f,FULLSCREEN_CHANGE:"fullscreenchange",WEBKIT_NEEDKEY:"webkitneedkey",METADATA:p,DATA:g,PROGRESS:v,TIME_UPDATE:"timeupdate",LOAD_START:m,VOLUME_CHANGE:"volumechange",PAUSE:y,PLAYING:E,PLAY:"play",WAITING:T,CAN_PLAY:_,ENDED:b,SEEKED:S,SEEKING:A,DURATION_CHANGE:"durationchange",BEFORE_PLAY:"beforeplay",BEFORE_PAUSE:"beforepause",STATE:"state",CUEPOINTS:"cuepoints",CUEPOINT_START:"cuepointstart",CUEPOINT_END:"cuepointend",VIEW_ENTER:"viewenter",VIEW_LEAVE:"viewleave",SOURCE:"src",RECOVER:"recover",REAP:L,CONFIG:w,QUALITIES:"qualities",SET_QUALITY:"quality:set",NON_RECOVERABLE_ERROR:"error:fatal",RECOMMENDATIONS_READY:"recommendationsready",AUDIO_ONLY_SOURCE:"audioonlysource",LANDSCAPE:D,PORTRAIT:R,RENDER_PLUGIN:"renderplugin",DVR:"dvr",LIVE:"live",SEEK_QUEUED:"seek:queued",SEEK_CANCEL:"seek:cancel",PLUGIN_REGISTERED:"plugin:registered",REMOTE_SESSION_STARTED:"remotesession:started",REMOTE_SESSION_ENDED:"remotesession:ended",INTERSECTIONCHANGE:"intersectionchange"});const O="flowplayer-ui",I="flowplayer-control",C="flowplayer-live-status",P="flowplayer-elapsed-time",x="flowplayer-timeline-bar",M="flowplayer-volume-bar",F="flowplayer-header",N="flowplayer-header-right-zone",U="flowplayer-primary",B="flowplayer-middle",j="flowplayer-middle-zone",G="flowplayer-wait",H="flowplayer-small-play-icon",V="flowplayer-small-pause-icon",K="flowplayer-play-icon",q="flowplayer-pause-icon",W="flowplayer-rewind-icon",z="flowplayer-volume-icon",Y="flowplayer-live-countdown";var X=Object.freeze({__proto__:null,SUBTITLES_MENU:"flowplayer-subtitles-menu",SHARE_MENU:"flowplayer-share-menu",SPEED_MENU:"flowplayer-speed-menu",QUALITY_MENU:"flowplayer-quality-menu",AUDIO_MENU:"flowplayer-audio-menu",UI:O,CONTROL:I,CONTROL_BUTTONS:"flowplayer-control-buttons",LIVE_STATUS:C,ELAPSED:P,TIMELINE:x,CONTROL_DURATION:"flowplayer-control-duration",VOLUME_CONTROL:"flowplayer-volume-control",VOLUME_BAR:M,HEADER:F,HEADER_LEFT_ZONE:"flowplayer-header-left-zone",HEADER_RIGHT_ZONE:N,PRIMARY:U,HEADER_DURATION:"flowplayer-header-duration",MIDDLE:B,MIDDLE_ZONE:j,WAIT:G,MIDDLE_BUTTONS:"flowplayer-middle-buttons",MIDDLE_LEFT_ZONE:"flowplayer-middle-left-zone",MIDDLE_RIGHT_ZONE:"flowplayer-middle-right-zone",ENDSCREEN_INTERSTITIAL:"flowplayer-endscreen-interstitial",ENDSCREEN_UP_NEXT:"flowplayer-endscreen-up-next",ENDSCREEN_GRID:"flowplayer-endscreen-grid",PLAYLIST_INTERSTITIAL:"flowplayer-playlist-interstitial",AIRPLAY_ICON:"flowplayer-airplay-icon",CHROMECAST_ICON:"flowplayer-chromecast-icon",SMALL_PLAY_ICON:H,SMALL_PAUSE_ICON:V,PLAY_ICON:K,PAUSE_ICON:q,FULLSCREEN_ENTER_ICON:"flowplayer-fullscreen-enter-icon",FULLSCREEN_EXIT_ICON:"flowplayer-fullscreen-exit-icon",SKIP_NEXT_ICON:"flowplayer-skip-next-icon",SKIP_PREVIOUS_ICON:"flowplayer-skip-previous-icon",FAST_FORWARD_ICON:"flowplayer-fast-forward-icon",REWIND_ICON:W,SHARE_ICON:"flowplayer-share-icon",VOLUME_ICON:z,MUTE_ICON:"flowplayer-mute-icon",UNMUTE_ICON:"flowplayer-unmute-icon",CLOSE_ICON:"flowplayer-close-icon",FACEBOOK_ICON:"flowplayer-facebook-icon",TWITTER_ICON:"flowplayer-twitter-icon",LINK_ICON:"flowplayer-link-icon",EMBED_ICON:"flowplayer-embed-icon",LIVE_COUNTDOWN:Y,PLAYLIST_CONTROLS:"flowplayer-playlist-controls",THUMBNAILS_CAROUSEL:"flowplayer-thumbnails-carousel",ERROR_COMPONENT:"flowplayer-error"});const Q="is-playing",$="is-paused",Z="is-loaded",J="is-loading",tt="is-starting",et="is-seeking",rt="is-ended",it="is-waiting",nt="is-live-seeked",st="no-timeline",at="is-touched",ot="is-in-viewport";var lt=Object.freeze({__proto__:null,PLAYING:Q,FULLSCREEN:"is-fullscreen",PAUSED:$,MUTED:"is-muted",LOADED:Z,LOADING:J,STARTING:tt,SEEKING:et,GRABBING:"is-grabbing",DISABLED:"is-disabled",SMALL:"is-small",TINY:"is-tiny",RTL:"is-rtl",ENDED:rt,LIVE:"is-live",ERRORED:"is-error",WAITING:it,AUTOPLAY:"is-autoplay",NO_AUTOPLAY:"no-autoplay",SEAMLESS:"is-seamless",TOGGLING:"is-toggling",LIVE_SEEKED:nt,NO_DVR:st,HAS_POSTER:"has-poster",MENU_OPENED:"has-menu-opened",TOUCHED:at,HOVERED:"is-hovered",TOUCH_DEVICE:"is-touch-device",WILL_SEEK:"will-seek",SEEKABLE:"is-seekable",IN_VIEWPORT:ot});function ut(t){this.message=t}ut.prototype=new Error,ut.prototype.name="InvalidCharacterError";var dt="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ut("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,i,n=0,s=0,a="";i=e.charAt(s++);~i&&(r=n%4?64*r+i:i,n++%4)?a+=String.fromCharCode(255&r>>(-2*n&6)):0)i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(i);return a};var ct=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(dt(t).replace(/(.)/g,(function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r})))}(e)}catch(t){return dt(e)}};function ht(t){this.message=t}ht.prototype=new Error,ht.prototype.name="InvalidTokenError";var ft=function(t,e){if("string"!=typeof t)throw new ht("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ct(t.split(".")[r]))}catch(t){throw new ht("Invalid token specified: "+t.message)}};ft.InvalidTokenError=ht;const pt=new Map,gt=(t,e)=>new(((t,e)=>{const r=t.get(e);if(!r)throw new Error(`no flowplayer component with the name ${e} exists`);const i=window.customElements.get(e);if(!i)throw new Error(`no default flowplayer component with the name ${e} exists`);const n=window.customElements.get(r);return"function"!=typeof n?i:n})(t._customElements,e))(t),vt=(t,e,r)=>{window.customElements.get(e)||window.customElements.define(e,r),t.customElements.get(e)||t.customElements.set(e,e)};var mt,yt;!function(t){t[t.LOW=1]="LOW",t[t.MEDIUM=2]="MEDIUM",t[t.HIGH=4]="HIGH"}(mt||(mt={})),function(t){t[t.OFF=0]="OFF",t[t.ON=1]="ON",t[t.AUDIO_REQUIRED=2]="AUDIO_REQUIRED"}(yt||(yt={}));function Et(t,e,r){const i="boolean"==typeof r;if("boolean"!=typeof r&&(r=t.paused),function(t,e,r){const i=t.poll(e?"beforeplay":"beforepause",{forced:r});return i&&i.defaultPrevented}(t,r,i))return Promise.resolve();if(!r)return Promise.resolve(t.pause());if(0==t.reaper)return Promise.resolve();const n=t.reaper.get("__pending_play");return 0!=t.paused||n?n?(n.src!==_t(t.original_src)&&Tt(t),n):(function(t){return(0==t.networkState||0==t.readyState)&&t.currentSrc==_t(t.original_src)}(t)&&Tt(t),(t=>t.autoplay&&yt.AUDIO_REQUIRED&t.autoplay)(e)?function(t){t.muted=!1,0==t.volume&&(t.volume=1);return t.play().catch(t=>{console.warn("[flowplayer/play] autoplay audio required\n%s",t.message)})}(t):(t.setState(tt,!1),t.play().catch(e=>(console.warn("[flowplayer/play] attempting muted autoplay\n%s",e.message),t.muted=!0,t.volume=0,t.play())))):Promise.resolve()}function Tt(t){t.currentSrc.match(/^blob:/)||t.load()}function _t(t){const e=document.createElement("a");return e.href=t,e.href}function bt(t,e){var r={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.indexOf(i)<0&&(r[i]=t[i]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(i=Object.getOwnPropertySymbols(t);n<i.length;n++)e.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(t,i[n])&&(r[i[n]]=t[i[n]])}return r}function St(t){const e=document.createElement("a");e.href=t;const r=e.pathname&&e.pathname.split(".");return r.length>1&&r[r.length-1]}function At(t){switch(t){case"video/mpd":return"application/dash+xml";case"video/m3u8":return"application/x-mpegurl";default:return t}}const Lt=t=>{var{src:e}=t,r=bt(t,["src"]);return[Object.assign({src:e,type:e?At("video/"+St(e)):""},r)]};function wt(t){return Lt({src:t})}function Dt(t){var{src:e,type:r}=t,i=bt(t,["src","type"]);return e&&r?[Object.assign({src:e,type:r},i)]:r&&!e?[Object.assign({type:r},i)]:Lt(Object.assign({src:e},i))}var Rt;function kt(t,e,r,i={safari:!1}){const n=function(t){return"string"==typeof t?wt(t):Array.isArray(t)||"object"!=typeof t?t.reduce((function(t,e){return"string"==typeof e&&(e=wt(e)),"object"!=typeof e||Array.isArray(e)||(e=Dt(e)),t.concat(e)}),[]):Dt(t)}(r);return t.currentSrc&&(t.innerHTML=""),t.setOpts({live:!1}),t.live_state.dvr=void 0,t.live_state.dvr_window=void 0,delete t.opts.live,delete t.opts.duration,delete e.live_start_time,[et,Q,$,J,Z,nt].forEach(e=>t.setState(e,!1)),e.autoplay||t.setState(tt,!0),Array(...Array(n.length)).map((t,e)=>e).some(r=>{const s=n[r];if(Rt.Ok==function(t,e,r){t.emit("src",r),"string"==typeof r.src&&(t.original_src=r.src);const i=function(t,e,r){return t.plugins.filter(t=>{return(e=t)&&"wants"in e;var e}).find(t=>t.wants(r.src||"",r,e))}(t,e,r);return t.setOpts({is_native:!i}),i?(i.onload(e,t.root,t,r),Rt.Ok):Rt.Err}(t,e,s)||Rt.Ok==function(t,e,r,i={safari:!1}){var n;/^audio\//.test(r.type||"")&&t.emit("audioonlysource");e.start_time&&(r.src=r.src+"#t="+e.start_time);if(""==t.canPlayType(r.type||""))return Rt.Err;if(r.drm&&(!r.drm["com.apple.fps.1_0"]||!i.safari))return Rt.Err;"string"==typeof r.src&&(t.preload=e.autoplay?"auto":null!==(n=e.preload)&&void 0!==n?n:"auto",t.src=r.src,e.autoplay&&i.safari&&t.load(),"none"!==t.preload&&t.setState(J,!0));return Rt.Ok}(t,e,s,i))return!0;r==n.length-1&&"string"==typeof s.src&&(t.src=s.src)}),function(t,e){!function(t,e){if(!t.currentSrc)return;if("none"==t.opt("preload"))return;if(e.autoplay&&e.autoplay>0)return;t.load()}(t,e)}(t,e),t}!function(t){t[t.Err=0]="Err",t[t.Ok=1]="Ok"}(Rt||(Rt={}));const Ot=[L,A,"src","seek:cancel"];var It;function Ct(t,e,r){return isNaN(t.duration)||isNaN(t.currentTime)?{}:(e.offset+=r,0==e.offset?Pt(t,e):(e.timer&&clearTimeout(e.timer),e.timer=setTimeout((function(){0!=t.reaper&&(t.currentTime=function(t,e,r=0){return Math.max(Math.min(e,t),r)}(t.currentTime+e.offset,t.duration),e.timer=0,Pt(t,e))}),1e3),function(t,e){t.setState("will-seek",!0),t.setState(It.BACKWARD,e.offset<0),t.setState(It.FORWARD,e.offset>0)}(t,e),t.emit("seek:queued",e),e))}function Pt(t,e){e.timer&&clearTimeout(e.timer),e.timer=e.offset=0,function(t){t.setState(It.FORWARD,!1),t.setState(It.BACKWARD,!1),t.setState("will-seek",!1)}(t)}function xt(t,e){const r=t._customElements.get(e);return r&&t.root.querySelector(r)||void 0}function Mt(){if("undefined"==typeof document)return!1;const t=document.documentElement;return t&&"rtl"==t.getAttribute("dir")}function Ft(...t){const e=document.createElement("div");return 0==t.length||e.classList.add(...t),e}function Nt(t,e,r){const i=function(t){return Array.isArray(t)?t.slice(0):t.split(".")}(e);for(;i.length;){if(null==t)return r;const e=i.shift();if("string"!=typeof e)return r;t=t[e]}return null==t?r:t}function Ut(t){const e="number"==typeof t?t:parseInt(t,10);return(e>9?"":"0")+e}function Bt(t){if(isNaN(t)||t>=Number.MAX_SAFE_INTEGER)return"";const e=t<0?"-":"";t=Math.round(Math.abs(t));const r=Math.floor(t/3600);let i=Math.floor(t/60);return t-=60*i,r>=1?(i-=60*r,e+r+":"+Ut(i)+":"+Ut(t)):e+Ut(i)+":"+Ut(t)}!function(t){t.FORWARD="forward",t.BACKWARD="backward"}(It||(It={}));const jt=navigator.languages||[navigator.language];function Gt(t,e,r){const i={};return r=e.lang||r,t[r]&&(i[r]=t[r]),function(){try{return jt.reduce((t,e)=>~e.indexOf("-")?t.concat(e,e.split("-")[0]):t.concat(e),[])}catch(t){return[]}}().forEach((function(e){t[e]&&!i[e]&&(i[e]=t[e])})),Object.values(i)}const Ht=[1e7]+""+-1e3+-4e3+-8e3+-1e11,Vt=()=>"undefined"==typeof crypto?"":Ht.replace(/[018]/g,t=>(t^crypto.getRandomValues(new Uint8Array(1))[0]&15>>t/4).toString(16));let Kt="";!function(){let t=!1;try{const e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("testPassive",null,e),window.removeEventListener("testPassive",null,e)}catch(t){}}();const qt=["touchstart","touchmove"];function Wt(t,e){const r=new CustomEvent(t,{detail:e,cancelable:!0});return e&&Object.defineProperty(r,"data",{get:()=>e}),r}function zt(t,e,r){const i=Wt(e,r);return t.dispatchEvent(i),t}function Yt(t,e,r){const i=Wt(e,r);return t.dispatchEvent(i),i}function Xt(t,e,r,i){Array.isArray(e)?e.forEach(e=>Qt(t,e,r,i)):Qt(t,e,r,i)}function Qt(t,e,r,i){if(n=e,!~qt.indexOf(n))return t.addEventListener(e,r,i),t;var n;const s=Object.assign(i||{},{passive:!0});return t.addEventListener(e,r,s),t}function $t(t,e,r,i){return Xt(t,e,r,Object.assign(i||{},{once:!0}))}class PlayerStorage{constructor(t,e){this.implementation=t,e&&e.keys().forEach(t=>{"string"==typeof e.implementation[t]&&this.implementation.setItem(t,e.implementation[t])})}keys(){var t;const e=[];for(var r=0;r<this.implementation.length;r++)(null===(t=this.implementation.key(r))||void 0===t?void 0:t.startsWith("flowplayer/"))&&e.push(this.implementation.key(r));return e}removeItem(t){try{this.implementation.removeItem("flowplayer/"+t)}catch(t){}}getItem(t){try{return this.implementation.getItem("flowplayer/"+t)}catch(t){return null}}setItem(t,e){try{this.implementation.setItem("flowplayer/"+t,e)}catch(t){}}clear(){try{this.keys().forEach(t=>this.implementation.removeItem(t))}catch(t){}}get length(){try{return this.keys().length}catch(t){return 0}}key(t){try{return this.implementation.key(t)}catch(t){return null}}}class InMemoryStorage{constructor(){this.pairs=[]}get length(){return this.pairs.length}clear(){this.pairs=[]}getItem(t){var e;return(null===(e=this.pairs.find(e=>e[0]===t))||void 0===e?void 0:e[1])||null}key(t){return this.pairs[t][0]||null}removeItem(t){this.pairs=this.pairs.filter(e=>e[0]!==t)}setItem(t,e){this.removeItem(t),this.pairs.push([t,e])}}const Zt={preload:"none",rtl:!1,controls:!0},Jt=["loop","muted","preload"];function te(t,i,n){let s;n.live_state={dvr_window:void 0,get dvr(){return s},set dvr(e){s=e;const r=!(!t.live||e);n.hasState(st)!=r&&n.setState(st,r)}},n._storage=new PlayerStorage(["localStorage","sessionStorage"].map(t=>{try{const e=window[t];return e.getItem(""),e}catch(e){return console.debug(`Access to window.${t} denied, trying next option`),null}}).find(t=>!!t)||new InMemoryStorage),n.toJSON=function(){return{duration:n.duration,volume:n.volume,currentTime:n.currentTime,states:n.root.className}},n.setSrc=function(e){return kt(n,t,e,r())},n.playerState=n.playerState||{},n.setState=function(t,e){if(n.playerState[t]===!!e)return n;const r=Object.assign({},n.playerState,{[t]:e});return r[it]&&(r[Q]=!1),n.playerState=r,zt(n,"state",n.playerState),n},n.createComponents=function(...t){return Array.from({length:t.length}).map((e,r)=>gt(this,t[r]))},n.hasState=function(t){return!!n.playerState[t]},n.transitionState=function(t,e,r){!n.hasState(t)&&n.hasState(e)||(r=0),r&&n.setState("is-toggling",!0),n.setState(e,!1),n.setState(t,!0),r&&setTimeout((function(){n.setState("is-toggling",!1)}),r)},n.emit=(t,e)=>(zt(n,t,e),n),n.on=(t,e)=>(Xt(n,t,e),n),n.once=(t,e)=>($t(n,t,e),n),n.off=(t,e)=>{var r,i;return r=t,i=e,n.removeEventListener(r,i),n},n.poll=(t,e)=>Yt(n,t,e),n.togglePlay=function(e){return Et(n,t,e)},n.toggleMute=function(t){t=null==t?!n.muted:!!t,n.muted=t,n.muted||n.volume||(n.volume=1),zt(n,"volumechange")},n.toggleDisable=function(t){t=null==t?!n.disabled:!!t,n.setState("is-disabled",t),n.disabled=t},n.destroy=function(){n.pause();const t=e.indexOf(n);~t&&e.splice(t,1),setTimeout((function(){n.setSrc([]),n.reaper&&n.reaper.clear(),zt(n,L)}),0)},n.setAttrs=function(t){return Jt.forEach(e=>{if(!(e in t))return;const r=t[e];r?n.setAttribute(e,r.toString()):n.removeAttribute(e)}),n},n.opt=function(e,r){return r=void 0===r?Nt(Zt,e):r,Nt(t,e,r)},n.i18n=function(t,e){if(!n.reaper)return"";const r=n.reaper.get("translations");return r?function t(e,r,i,n){return(n=n||0)>=e.length?i:Nt(e[n],r,t(e,r,i,n+1))}(r,t,e||""):e||""},n.setOpts=function(e){Object.assign(t,e),t.live&&!n.hasState("is-live")&&(n.setState(st,!0),zt(n,"live")),"disabled"in e&&void 0!==e.disabled&&n.toggleDisable(e.disabled),"muted"in e&&void 0!==e.muted&&n.toggleMute(e.muted),"dvr"in t&&(n.live_state.dvr=n.opt("dvr"));const r=!!t.autoplay&&!n.hasState("no-autoplay");n.setState("is-autoplay",r),n.setState("is-rtl",n.opt("rtl",function(t){if(!t)return Mt();const e=t.getAttribute("dir");return e?"rtl"==e:Mt()}(i))),n.setState("is-live",!!t.live),n.setState("has-poster","string"==typeof t.poster&&t.poster.length>0),n.setState("is-seekable",!!t.seekable),i.style.backgroundImage=n.hasState("has-poster")?"url('"+t.poster+"')":"",zt(n,w,t)},n.renderPlugin=function(t){Yt(n,"renderplugin",t).defaultPrevented||n.root.appendChild(t)};const a={offset:0,timer:0};var o,l;l=a,(o=n).on(Ot,(function(){Pt(o,l)})),n.enqueueSeek=function(t){if(0!=n.opts.seekable&&!(1==n.opts.disabled&&t>0))return Ct(n,a,t)},n.deviceId=function(){return function(t){if(Kt)return Kt;try{const e=t.getItem("flowplayer/uuid");if(e)return e;const r=Vt();return t.setItem("flowplayer/uuid",r),r}catch(t){return Kt=Vt()}}(n._storage)}}function ee(t,e){const r=e.querySelector("video"),i=r||(t._video_element_callback?t._video_element_callback(t):document.createElement("video"));return i.classList.add("fp-engine"),i.playsInline=!0,r||e.append(i),i}var re="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function ie(t,e){if("object"==typeof exports&&"undefined"!=typeof module)return e;"flowplayer"in t||(t.flowplayer={extensions:[]});const r=t.flowplayer;return"function"==typeof r?(r(e),e):(Array.isArray(r.extensions)||(r.extensions=[]),~r.extensions.indexOf(e)||r.extensions.push(e),e)}function ne(){return"undefined"!=typeof window?window:void 0!==re?re:{}}const se=["localhost","127.0.0.1","0.0.0.0","s.codepen.io","cdpn.io","try.flowplayer.com"];function ae(t,e){return!!~se.indexOf(t)||t.indexOf(e)===t.length-e.length}ae.check_whitelist=function(t){return!!~se.indexOf(t)};const oe="production";function le(t,e){const r={valid_jwt:!1,raw:"",data:{acl:0},exp:0};let i={c:"{}",exp:0};e=e||{};try{i=ft(t),r.valid_jwt=!0}catch(t){}return r.raw=t,r.data=JSON.parse(i.c),r.exp=i.exp,e.require_valid_token&&le.validate(r),r}function ue(t){try{return le.validate(t),{success:!0,message:""}}catch(t){return{success:!1,message:t.message}}}var de;function ce(t){return{grant:t,is_granted:e=>(t&e)===e}}function he({root:t,video:e,data:r}){e&&e.destroy(),console.error(new Error(r.details||r.reason)),t.innerHTML="",t.classList.remove("flowplayer"),t.classList.add("flowplayer-fatal"),t.style.removeProperty("background-image");const i=document.createElement("h2");i.textContent="Playback Error";const n=document.createElement("p");n.textContent="Are you the site owner?";const s=document.createElement("a");s.classList.add("troubleshoot"),s.target="_blank",s.href="https://docs.flowplayer.com/troubleshooting/player#"+r.reason,s.textContent="Troubleshoot?";const a=document.createElement("img");a.src="https://flowplayer.com/user/pages/images/logo-white.png",t.append(i,n,s,a)}le.validate=function(t){if("string"==typeof t&&(t=le(t)),!t||!t.raw){if(ae.check_whitelist(window.location.hostname)||"dev"===oe.toString())return!0;throw new Error("No token provided in configuration")}if(!t.valid_jwt)throw new Error("Invalid token provided");const e=window.location.hostname,r=ae.bind(null,e);if("dev"!==oe.toString()&&t.data.domain&&t.data.domain.length&&!t.data.domain.some(r))throw new Error("Domain not allowed");if("dev"!==oe.toString()&&1e3*t.exp-Date.now()<0)throw new Error("Expired token");return!0},le.id=function(t){if(t)return"string"==typeof t&&(t=le(t)),t.data.id},function(t){t[t.ADS=2]="ADS",t[t.ANALYTICS=4]="ANALYTICS",t[t.NO_METERING=8]="NO_METERING",t[t.DEVELOPER_PLAN=16]="DEVELOPER_PLAN"}(de||(de={})),ce.of=ce,ce.from_token=function(t){const e=le(t,{require_valid_token:!0});return ce.of(e.data.acl)},ce.permissions=de;function fe(t,e){const r=e.clientWidth;e.classList.toggle("is-small",r<600),e.classList.toggle("is-tiny",r<400)}function pe(t,e,i){let n=!0;e.classList.add("flowplayer"),fe(0,e),Xt(i,[m,"resize"],(function(){fe(0,e)})),Xt(i,"state",(function(){Object.entries(i.playerState).forEach((function([t,r]){e.classList.toggle(t,r)}))})),Xt(i,"timeupdate",(function(){i.setState(it,!i.hasState("is-casting")&&!i.hasState(tt)&&i.readyState<3)})),Xt(i,b,(function(e){setTimeout((function(){if(!e.defaultPrevented){if(t.rewind&&!i.loop){const e=i.src;t.autoplay&&(t.autoplay=0,i.setState("is-autoplay",!1)),i.setState(et,!0),$t(i,S,(function(){e===i.src&&(i.setState(et,!1),i.pause(),i.setState(tt,!0))})),i.currentTime=0}$t(i,"timeupdate",(function(){i.setState(rt,!1)})),i.transitionState(rt,Q,t.loop||t.rewind?0:300)}}),0)})),Xt(i,[A,S],(function(t){i.setState(et,t.type==A),i.setState($,i.paused),i.setState(Q,!i.paused)})),Xt(i,"remotesession:ended",(function(t){setTimeout(()=>i.currentTime=t.detail.currentTime,0)})),Xt(i,b,(function(){i.setState(Q,!1),n=!0})),Xt(i,v,()=>{if(!i.opts.live||!i.opts.is_native)return;const t=i.seekable;0!=t.length&&i.emit("dvr/window",t.end(t.length-1)-t.start(0))}),Xt(i,r().ios?p:g,(function(){var t,e;i.setState(Z,!0),i.setState(J,!1);const r=i;0===(null===(t=r.videoTracks)||void 0===t?void 0:t.length)&&(null===(e=r.audioTracks)||void 0===e?void 0:e.length)>0&&i.emit("audioonlysource")})),Xt(i,[T,_,m],(function(e){if(!i.hasState(et)&&(e.type!=_||t.autoplay||i.setState(it,!1),e.type!=m||"none"!=i.opt("preload")||t.autoplay)){if(e.type==m&&t.autoplay)return $t(i,E,(function(){i.setState(it,!1)}));e.type==T&&([Q,$,tt].forEach((function(t){i.setState(t,!1)})),i.hasState(Z)||i.setState(J,!0)),i.setState(rt,!1),i.setState(it,e.type==T)}})),Xt(i,[E,y],(function(e){setTimeout(()=>{const t=new CustomEvent("flowplayer/"+e.type,{detail:i});document.dispatchEvent(t)},0);const r=e.type==E,s=i.currentTime==i.duration,a=r&&n&&t.autoplay||i.hasState(it);if(r&&(i.started=!0,n=!1),i.setState(it,!1).setState(tt,!1),s||i.hasState(et))return;const o=r?Q:$,l=r?$:Q;i.transitionState(o,l,a?0:300),r&&i.setState("no-autoplay",!1)}))}const ge=[0].concat(Array.from({length:100}).map((t,e)=>(e+1)/100));function ve(t,e,r){if(!window.IntersectionObserver)return;const i={should_resume:!!t.autoplay,has_user_gesture:!1,locked:!1};[c,n].forEach(t=>$t(r,t,()=>i.has_user_gesture=!0)),Xt(r,"play",(function(){i.locked||(i.should_resume=!0)})),Xt(r,"src",(function(){i.should_resume=!!t.autoplay})),Xt(r,y,(function(){i.locked||(i.should_resume=!1)}));const s=()=>{setTimeout(()=>{r.setState(tt,!0),r.setState("is-autoplay",!1)},100)};Xt(r,_,(function(e){if(t.autoplay)return r.hasState(ot)&&i.should_resume?r.togglePlay(!0).catch(s):void(t.autopause||r.hasState(ot)||!i.should_resume||$t(r,"viewenter",()=>{t.autoplay&&i.should_resume&&r.togglePlay(!0).catch(s)}))}));const a=new IntersectionObserver(t=>{t.forEach(t=>{setTimeout(()=>{const e=t.intersectionRatio,i=r.hasState(ot);if(r.setState(ot,e>=.2),r.emit("intersectionchange",{ratio:e}),i===r.hasState(ot))return;const n=r.hasState(ot)?"viewenter":"viewleave";r.emit(n)},0)})},{threshold:ge});a.observe(e),r.on(L,()=>a.disconnect()),t.autopause&&(Xt(r,"viewenter",(function(){i.should_resume&&t.autopause&&!me()&&r.togglePlay(!0)})),Xt(r,"viewleave",(function(){if(!t.autopause||me())return;const e=!r.paused;i.locked=!0,r.pause(),setTimeout((function(){i.should_resume=e,i.locked=!1}),0)})))}function me(){return e.find(t=>t.hasState("is-casting"))}function ye(t,e){if(!window.ResizeObserver)return;const r=new ResizeObserver(t=>{const r=t[t.length-1];e.emit("resize",r)});r.observe(t),e.on(L,()=>r.disconnect())}function Ee(t){if("number"==typeof t&&!isNaN(t))return Number(t);if("string"==typeof t){const e=t.split(":");return Number(e[1])/Number(e[0])}return t}function Te(t,e,r){const i=!!t.ratio,n=document.createElement("div");n.classList.add("fp-ratio"),e.append(n);let s=Ee(t.ratio||.5625);n.style.paddingTop=100*s+"%";const a=[g,p];r.on(a,(function(){if(i)return;const t=r.videoHeight&&r.videoWidth&&r.videoHeight/r.videoWidth;t&&r.setOpts({ratio:t})})),r.on(w,(function(){const e=r.videoHeight&&r.videoWidth&&r.videoHeight/r.videoWidth,i=Ee((null==t?void 0:t.ratio)||e||.5625);s!==i&&(s=i,n.style.paddingTop=100*i+"%")}))}class ExplorerPlan{constructor(){this.cleanUp=this.cleanUp.bind(this),this.render=this.render.bind(this),this.wireUp=this.wireUp.bind(this)}init(t,e,r){this.root=e,this.player=r,this.wireUp()}wireUp(){var t,e;this.cleanUp(),null===(t=this.player)||void 0===t||t.once(E,this.render),null===(e=this.player)||void 0===e||e.once(b,this.wireUp)}cleanUp(){var t,e,r,i;null===(e=null===(t=this._logo)||void 0===t?void 0:t.parentElement)||void 0===e||e.removeChild(this._logo),null===(r=this.player)||void 0===r||r.off(E,this.render),null===(i=this.player)||void 0===i||i.off(b,this.wireUp)}render(){var t,e,r;null===(e=null===(t=this._logo)||void 0===t?void 0:t.parentElement)||void 0===e||e.removeChild(this._logo);const i=(null===(r=this.root)||void 0===r?void 0:r.querySelector(".fp-ui"))||this.root;if(!i)return;const n=this._logo=document.createElement("a");n.href="https://explorer.flowplayer.com",n.target="_blank",Object.entries(_e).forEach(([t,e])=>{n.style.setProperty(t,e,"important")}),i.appendChild(n)}}const _e={display:"block",opacity:"1",visibility:"visible",width:"33%","padding-top":"9%",position:"absolute","z-index":"9999",bottom:"25%",left:"10%","background-size":"cover","background-image":"url(https://static.flowplayer.com/explorer/explorer.svg)"},be="flowplayer/"+E;function Se(t){const e=e=>{e.detail!==t&&!1===t.opt("multiplay")&&t.togglePlay(!1)};t.on(L,()=>document.removeEventListener(be,e)),document.addEventListener(be,e)}function Ae(t,e){const r=[];t.addEventListener("contextmenu",i=>{const n=i.timeStamp;for(r.push(n);r.length>3;)r.shift();r.length>=3&&r.every(t=>t-n<3e3)&&(console.debug("flowplayer/debug rendering info"),function(t,e){var r;!function(t){const e=t.querySelector(".debug-info");null==e||e.remove()}(t);const i=document.createElement("div");i.classList.add("debug-info");const n=Le("flowplayer.version","3.4.2");i.append(n);const s=null===(r=null==e?void 0:e.hls)||void 0===r?void 0:r.constructor;if(s&&s.version){const t=Le("hls.version",s.version);i.append(t)}t.appendChild(i)}(t,e))})}const Le=(t,e)=>{const r=document.createElement("div");r.classList.add("row",t);const i=document.createElement("span");i.classList.add("attr"),i.textContent=t;const n=document.createElement("span");return n.textContent=e,n.classList.add("value"),r.append(i,n),r};const we=function(){const t=ne(),e=t.flowplayer?t.flowplayer:{extensions:[]};return Array.isArray(e.extensions)||(e.extensions=[]),e}();function De(r,i){if("function"==typeof r)return t.push(...[...arguments].filter(t=>"function"==typeof t)),De;"string"==typeof i&&(i={src:i}),i||(i={}),i.token||"string"!=typeof window.__FLOWPLAYER_TOKEN||(i.token=window.__FLOWPLAYER_TOKEN);const n="string"==typeof r?document.querySelector(r):r;if(!n)return console.error(new Error("Flowplayer: '"+r.toString()+"' not found"));const s=n.querySelector("video.fp-engine");if(s)return s;const a=ue(i.token);if(!a.success)return he({root:n,data:{reason:"token",details:a.message}});const o=new Map,l=ee(i,n);l.reaper=o,l._customElements=pt,Object.defineProperty(l,"token",{value:"string"==typeof i.token?le.id(i.token):"",writable:!1}),l.addEventListener(L,()=>{o.clear(),l.reaper=0,delete l.root}),l.root=n,i.token&&ce.from_token(i.token).is_granted(ce.permissions.DEVELOPER_PLAN)&&t.push(ExplorerPlan),!~e.indexOf(l)&&e.push(l),te(i,n,l),l.setAttrs(i),l.plugins=De.extensions.map(t=>new t(De,l)),pe(i,n,l),ve(i,n,l),ye(n,l),Te(i,n,l),Se(l),Ae(n,l),l.plugins.forEach(t=>{try{t.init(i,n,l)}catch(e){console.log("Error(plugin/%s)",t.constructor.name,e)}}),l.setOpts(i),l.opts=i,i.src&&l.setSrc(i.src);const u=l.readyState;return u>0&&l.currentSrc&&l.emit(p),u>2&&l.currentSrc&&l.emit(_),l.emit("mount"),l.on("error:fatal",(function(t){he({root:n,video:l,data:t.data||{}})})),l}Object.assign(De,we),function(i){Array.isArray(i.extensions)&&i.extensions.forEach(e=>t.push(e)),i.customElements=pt,i.defaultElements=X,i.version="3.4.2",i.commit="01d44d5db5202dd3a2d8dea07785c5a796e4a648",i.instances=e,i.extensions=t,i.support=r,i.events=k,i.states=lt,i.jwt=ft,i.autoplay=yt,i.quality=mt}(De),"object"==typeof document&&setTimeout(zt,0,document,"flowplayer:umd",De);var Re="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function ke(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Oe(t){var e={exports:{}};return t(e,e.exports),e.exports}var Ie=Oe((function(t,e){var r=Re&&Re.__assign||function(){return(r=Object.assign||function(t){for(var e,r=1,i=arguments.length;r<i;r++)for(var n in e=arguments[r])Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}).apply(this,arguments)};e.__esModule=!0,e.remove=e.downcase=e.pluck=e.merge=void 0,e.merge=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return t.reduce((function(t,e){return r(r({},t),e)}),{})},e.pluck=function(t){for(var r=[],i=1;i<arguments.length;i++)r[i-1]=arguments[i];return Object.keys(t).filter((function(t){return~r.indexOf(t)})).reduce((function(r,i){var n;return e.merge(r,((n={})[i]=t[i],n))}),{})},e.downcase=function(t){return(t||"").toString().toLowerCase()},e.remove=function(t,e){var r=t.lastIndexOf(e);return~r&&t.splice(r,1),t}})),Ce=Oe((function(t,e){var r=Re&&Re.__createBinding||(Object.create?function(t,e,r,i){void 0===i&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){void 0===i&&(i=r),t[i]=e[r]}),i=Re&&Re.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),n=Re&&Re.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.hasOwnProperty.call(t,n)&&r(e,t,n);return i(e,t),e};e.__esModule=!0;var s=n(Ie),a=function(){function t(){this.pending=[],this.open=[],this.stats={failures:0,ttl:0}}return t.of=function(){return new t},t.is_empty=function(t){return 0==t.pending.length},t.is_high_water=function(e){return e.open.length==t.MAX_OPEN_REQUESTS},t.maybe_spawn_req=function(e){if(t.is_empty(e))return e;if(t.is_high_water(e))return e;try{var r=t.lpop(e);r&&t.request(e,r)}catch(t){}},t.increment_failures=function(e){return e.stats.failures++,e.stats.failures>t.MAX_FAILURE_COUNT&&(e.stats.ttl=Date.now()+t.REQUEST_TTL_MS),e},t.handle_error=function(e,r){t.rm(e,r),t.increment_failures(e)},t.request=function(e,r){var i=r[0],n=r[1],s=r[2];if(!(Date.now()<e.stats.ttl)){var a=new XMLHttpRequest;e.open.push(a),a.timeout=t.REQUEST_TIMEOUT_MS,a.ontimeout=function(){t.handle_error(e,a)},a.onerror=function(r){t.handle_error(e,a)},a.onreadystatechange=function(){a.readyState==XMLHttpRequest.DONE&&t.rm(e,a),Math.floor(a.status/100)},a.onload=function(){t.rm(e,a),e.stats.failures&&e.stats.failures--},a.open(n,i),a.setRequestHeader("Content-Type","text/plain;charset=UTF-8");try{a.send(JSON.stringify(s))}catch(t){}}},t.rpush=function(e){for(var r=[],i=1;i<arguments.length;i++)r[i-1]=arguments[i];return r.forEach((function(r){e.pending.length>=t.MAX_PENDING||(e.pending.push(r),t.maybe_spawn_req(e))})),e},t.lpop=function(t){return t.pending.shift()},t.rm=function(t,e){return s.remove(t.open,e),t},t.MAX_OPEN_REQUESTS=3,t.MAX_PENDING=5,t.REQUEST_TIMEOUT_MS=4e3,t.REQUEST_TTL_MS=5e3,t.MAX_FAILURE_COUNT=3,t}();e.default=a})),Pe=Oe((function(t,e){var r=Re&&Re.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};e.__esModule=!0;var i=r(Ce);e.default=i.default.of()})),xe=Oe((function(t,e){e.__esModule=!0,e.prepare_url=e.URL_PARAM=void 0,e.URL_PARAM=/:([a-zA-Z_]+)/g,e.prepare_url=function(t,r){return t.url.replace(e.URL_PARAM,(function(e){if((e=e.slice(1,e.length))in r)return r[e].toString();t.log.error(new Error("\n preparing url["+t.url+"] failed\n \n parameter["+e+"] not detected in params:\n \n "+JSON.stringify(r,null,2)+"\n "))}))}})),Me=Oe((function(t,e){e.__esModule=!0,e.Log=void 0;var r=function(){function t(t){this.emitter=t}return t.prepare=function(t,e){var r=document.createEvent("Event");return r.initEvent(t,!1,!0),r.ns=t,r.data=e,r},t.of=function(e){return new t(e)},t.prototype.info=function(e){this.emitter.dispatchEvent(t.prepare(t.NAMESPACE.INFO,e))},t.prototype.error=function(e){this.emitter.dispatchEvent(t.prepare(t.NAMESPACE.ERROR,e))},t.prototype.warn=function(e){this.emitter.dispatchEvent(t.prepare(t.NAMESPACE.WARN,e))},t.NAMESPACE={INFO:"tracker:info",ERROR:"tracker:err",WARN:"tracker:warn"},t}();e.Log=r})),Fe=Oe((function(t,e){var r;e.__esModule=!0,e.Verb=void 0,(r=e.Verb||(e.Verb={})).POST="POST",r.PUT="PUT",r.GET="GET"})),Ne=Oe((function(t,e){var r=Re&&Re.__createBinding||(Object.create?function(t,e,r,i){void 0===i&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){void 0===i&&(i=r),t[i]=e[r]}),i=Re&&Re.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),n=Re&&Re.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.hasOwnProperty.call(t,n)&&r(e,t,n);return i(e,t),e},s=Re&&Re.__spreadArrays||function(){for(var t=0,e=0,r=arguments.length;e<r;e++)t+=arguments[e].length;var i=Array(t),n=0;for(e=0;e<r;e++)for(var s=arguments[e],a=0,o=s.length;a<o;a++,n++)i[n]=s[a];return i},a=Re&&Re.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};e.__esModule=!0;var o=a(Pe),l=a(Ce),u=n(xe),d=n(Ie),c=function(){function t(e,r){var i=this;void 0===r&&(r={});var n=this;if(this.emitter=e,this.url=r.url,this.log=Me.Log.of(this.emitter),this.verb=r.verb,this.metadata=d.merge({},r.metadata||{}),this.rq=r.rq||o.default,this.events=r.events||[],this.required_keys=r.required_keys||[],this.optional_keys=r.optional_keys||[],this.listeners=[],this.valid_keys=this.required_keys.slice(0).concat(this.optional_keys),t.assert_emitter_api(this.emitter),void 0===t.verb[this.verb])throw new Error("invalid HTTP verb["+this.verb+"] passed");if("string"!=typeof this.url)throw new Error("invalid API url["+this.url+"] passed");t.TRACKERS.push(this),n.events.forEach((function(e){t.create_listener(i,e,(function(r){void 0===r&&(r={});var s=d.merge(n.metadata,{event_type:e},r.data||r),a=u.prepare_url(n,s),o=t.pluck_valid_keys(n,s),c=t.ensure_required_keys(n,o);if(c.length)return n.log.error("Tracker.validate_metadata() failed for \n Event["+e+"]\n missing keys: "+c+"\n payload:\n "+JSON.stringify(o,null,2));l.default.rpush(i.rq,[a,i.verb,o])}))}))}return t.of=function(e,r){return new t(e,r)},t.ensure_required_keys=function(t,e){return t.required_keys.filter((function(t){return!(t in e)}))},t.pluck_valid_keys=function(t,e){return d.pluck.apply(d,s([e],t.valid_keys))},t.merge_metadata=function(e,r){return void 0===r&&(r={}),e.metadata=t.pluck_valid_keys(e,d.merge(e.metadata,r)),e},t.assert_emitter_api=function(t){if("function"!=typeof(t||{}).addEventListener)throw new Error("Tracker() received an emitter that does not implement the addEventListener method");if("function"!=typeof(t||{}).removeEventListener)throw new Error("Tracker() received an emitter that does not implement the removeEventListener method")},t.create_listener=function(t,e,r){t.listeners.push([e,r]),t.emitter.addEventListener(e,r)},t.prototype.destroy=function(){var e=this;this.listeners.forEach((function(t){var r=t[0],i=t[1];return e.emitter.removeEventListener(r,i)})),delete this.rq,delete this.emitter,d.remove(t.TRACKERS,this)},t.prototype.put=function(e){return void 0===e&&(e={}),t.merge_metadata(this,e),this},t.TRACKERS=[],t.QUEUE=o.default,t.verb=Fe.Verb,t}();e.default=c})),Ue=Oe((function(t,e){var r=Re&&Re.__createBinding||(Object.create?function(t,e,r,i){void 0===i&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){void 0===i&&(i=r),t[i]=e[r]}),i=Re&&Re.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),n=Re&&Re.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.hasOwnProperty.call(t,n)&&r(e,t,n);return i(e,t),e},s=Re&&Re.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};e.__esModule=!0,e.API=e.Tracker=void 0;var a=s(Ne);e.Tracker=a.default;var o=n(xe);e.API=o})),Be="ping",je="display",Ge="view";const He=["sitegroup_id","session_id","media_id","site_id","player_id","video_type"],Ve=["created","position"],Ke=["player_version","created","source","category","category_id","autoplay","muted","customer_user_id"];function qe(t,e){return t.duration/1===t.duration&&Object.assign(e,function(t){const e=t/100;return{segment_duration:e,breakpoints:Array(...Array(100)).map((function(t,r){return Math.floor(r*e*1e3)/1e3}))}}(t.duration))}function We(t,e,r){if(!e.segment_duration&&!qe(t,e))return;const i=function(t,e,r){const i=e.last_idx,n=r?99:ze(t,e);return e.last_idx=n,n<=i?[]:e.breakpoints.slice(i,99==n?100:n).map((function(t){return e.breakpoints.indexOf(t)}))}(t,e,r);0!=i.length&&t.emit(Be,{position:i})}function ze(t,e){return Math.min(Math.floor(t.currentTime/e.segment_duration),99)}const Ye="vod",Xe="live",Qe=[je,Be,Ge];function $e(t,e,r){switch(null==e?void 0:e.kind){case"live":return function(t,e){const r=Date.now();r-e.last_tracked_ts<6e4||(e.last_tracked_ts=r,++e.ticks,t.emit(Be,{position:60*e.ticks}))}(t,e);case"vod":return We(t,e,"boolean"==typeof r&&r)}}function Ze(t){const e=t.ads;return void 0!==e&&(void 0!==e.schedule&&("function"==typeof e.hasPreroll&&(e.currentRequests?e.currentRequests:!!e.adPlaying||!(!e.hasPreroll()||0!=e.nextIndex))))}function Je(){try{return window.location!==window.parent.location?document.referrer:document.location.href}catch(t){return!1}}class Analytics$1{init(t,e,r){if(!ce.from_token(t.token||"").is_granted(ce.permissions.ANALYTICS))return;if(r.hasState("consent-no-tracking"))return;if(r.analytics)return;const i=r.analytics={ticker:void 0,last_media_id:"",ended:!1},n={locked:!1,ttl:6e3,task:()=>{$e(r,i.ticker)}};const s={session_id:r.deviceId(),autoplay:r.autoplay,muted:r.muted,player_id:t.player_id,customer_user_id:t.customer_user_id,player_version:"3.4.2"},a=Ue.Tracker.of(r,{verb:Ue.Tracker.verb.POST,url:"https://ptm.flowplayer.com/:video_type/:sitegroup_id/:event_type",events:Qe,required_keys:He,optional_keys:Ke.concat(Ve).slice(0),metadata:s});r.on(L,(function(){a&&a.destroy()})),r.on(w,(function(e){if(!a)return;const n=Nt(e,"data.metadata",{});if(!n.media_id)return;const s=Nt(a,"metadata.media_id");if(s&&n.media_id==s)return;const o=Nt(t,"analytics",{});a.put(n),a.put(o);const l=Nt(t,"metadata.live_start_time",t.live)?Xe:Ye;a.put({video_type:l,source:t.source||Je()||""}),i.ticker=t.live?{ticks:0,last_tracked_ts:Date.now(),kind:"live"}:{last_idx:0,segment_duration:0,breakpoints:[],kind:"vod"},i.ended=!1,r.emit(je)}));let o=0;r.on(E,(function(){if(!a)return;if(o||function(t,e){return t.metadata.media_id&&t.metadata.media_id==e.last_media_id}(a,i))return;a.put({muted:r.muted});const t=Ze(r);if(t)return o=Promise.resolve(t).then((function(){i.last_media_id=a.metadata.media_id,r.emit(Ge),o=0})).catch((function(){o=0}));i.last_media_id=a.metadata.media_id,r.emit(Ge)})),r.on("timeupdate",(function(){var e;a&&(o||Ze(r)||i.ended||(!t.live&&r.currentTime+.25>=r.duration&&$e(r,i.ticker,!0),(e=n).locked||(e.locked=setTimeout((function(){return e.task(),function(t){return t.locked=!1,t}(e)}),e.ttl))))})),r.on(S,(function(){a&&i.ticker&&"vod"==i.ticker.kind&&function(t,e){qe(t,e),e.last_idx=ze(t,e)}(r,i.ticker)})),r.on(b,(function(){a&&function(t,e){e.ended||(e.ended=!0,$e(t,e.ticker))}(r,i)}))}}var tr;function er(t){switch(t){case tr.MEDIA_PLAYBACK_ABORTED:return"media playback was aborted";case tr.MEDIA_ERR_NETWORK:return"a network error occurred";case tr.MEDIA_ERR_DECODE:return"unable to decode media content";case tr.MEDIA_ERR_SRC_NOT_SUPPORTED:return"unsupported media type";case tr.NO_INTERNET:return"no internet connection detected";case tr.MIXED_CONTENT:return"cannot load insecure content in a secure context";default:return"an unknown error occurred"}}function rr(){}function ir(){return"https:"===location.protocol}function nr(t){const e=document.createElement("a");return e.href=t,e}function sr(t){try{return!!new URL(t)}catch(t){return!1}}ie(ne(),Analytics$1),"undefined"!=typeof window&&window.matchMedia&&[D,R].forEach((function(t){window.matchMedia("(orientation: "+t+")").addListener((function(r){e.length&&e.forEach((function(e){r.matches&&e.emit(t)}))}))})),function(t){t[t.UNKNOWN=-1]="UNKNOWN",t[t.MEDIA_PLAYBACK_ABORTED=1]="MEDIA_PLAYBACK_ABORTED",t[t.MEDIA_ERR_NETWORK=2]="MEDIA_ERR_NETWORK",t[t.MEDIA_ERR_DECODE=3]="MEDIA_ERR_DECODE",t[t.MEDIA_ERR_SRC_NOT_SUPPORTED=4]="MEDIA_ERR_SRC_NOT_SUPPORTED",t[t.MIXED_CONTENT=1001]="MIXED_CONTENT",t[t.NO_INTERNET=1002]="NO_INTERNET"}(tr||(tr={}));function ar(t,e){if(e.message)return e.message;if(e.stack)return e.stack;const r=e.code||-1,i=er(r);return t.i18n("media_errors."+r,i)}const or=()=>!0===(navigator||{}).onLine;function lr(t,e,r){const n=r.togglePlay;r.on(i,(function(t){const e=t.data||r.error,s="Error: %s\n"+(null===(a=(new Error).stack)||void 0===a?void 0:a.split("\n").slice(2).join("\n"));var a;setTimeout((function(){const a=xt(r,O);if(t.defaultPrevented||!a||r.root.querySelector("#qul_error"))return;if("AbortError"==e.name)return;r.setState("is-error",!0),r.togglePlay=rr;const o=function(t,e){return{code:"http:0"===e.code?ur(t):e.code,message:ar(t,e)}}(r,e);console.error(s,o.message);let l=xt(r,"flowplayer-error");l||(l=gt(r,"flowplayer-error"),a.append(l)),zt(l,i,{data:e,formatted_data:o}),r.once(m,()=>{r.togglePlay=n,r.setState("is-error",!1),null==l||l.remove()})}))}))}function ur(t){return function(t){try{return ir()&&"http:"==nr(t).protocol}catch(t){return!1}}(t.original_src)?{code:tr.MIXED_CONTENT}:or()?{code:tr.MEDIA_ERR_NETWORK}:or()?{code:tr.UNKNOWN}:{code:tr.NO_INTERNET}}var dr=Object.freeze({__proto__:null,NO_FULLSCREEN:1,NO_VOLUME_CONTROL:2,NO_MUTE:4,LOGO_ON_RIGHT:8,USE_DRAG_HANDLE:16,USE_PLAY_2:32,USE_PLAY_3:64,USE_THIN_CONTROLBAR:128,NO_TITLE:256,NO_DESCRIPTION:512,NO_CONTROLS:1024,NO_DURATION:2048,NO_HEADER:4096,AUDIO_ONLY:8192,NO_TOUCH_ZONES:16384});function cr(t,e,r){let i=()=>document.fullscreenElement,n="fullscreenchange";if(!Element.prototype.requestFullscreen){const t=Element.prototype,e=document;t.webkitRequestFullScreen&&(t.requestFullscreen=t.webkitRequestFullScreen,e.fullscreenEnabled=!0),e.webkitCancelFullScreen&&(document.exitFullscreen=e.webkitCancelFullScreen),n="webkit"+n,i=()=>e.webkitCurrentFullScreenElement}const a=()=>r.getFullsceenTarget?r.getFullsceenTarget():e;r.toggleFullScreen=function(t,e){if(r.ios_fullscreen_disabled)return;if("boolean"!=typeof t&&(t=!r.hasState("is-fullscreen")),hr(r)&&(t?function(t){t.getAttribute("playsinline")&&t.removeAttribute("playsinline");t.getAttribute("webkit-playsinline")&&t.removeAttribute("webkit-playsinline");t.webkitEnterFullScreen()}(r):function(t,e){t.getAttribute("playsinline")||t.setAttribute("playsinline","");t.getAttribute("webkit-playsinline")||t.setAttribute("webkit-playsinline","");e||t.webkitExitFullScreen();t.togglePlay(!1),t.hasState(at)||t.setState(at,!0)}(r,e)),!document.fullscreenEnabled)return;const n=a();if(t)return n.requestFullscreen();i()===n&&document.exitFullscreen()},hr(r)&&(r.ios_fullscreen_disabled=!0,r.once("beforeplay",(function(){r.ios_fullscreen_disabled=!1})),r.on("webkitendfullscreen",(function(){r.toggleFullScreen(!1,!0)}))),setTimeout(()=>{const t=a();t.addEventListener(n,(function(){const e=i(),n=e===t||e==r;r.emit(n?h:f),r.setState("is-fullscreen",n)}))},0),!1!==t.doubleclick&&e.addEventListener(s,(function(t){var e;t.target&&(null===(e=t.target)||void 0===e?void 0:e.classList.contains("fp-ui"))&&r.toggleFullScreen()}))}function hr(t){return r().ios&&"function"==typeof t.webkitEnterFullScreen&&"function"==typeof t.webkitExitFullScreen}function fr(t,e){const r=t.seekable;if("object"!=typeof t.opts||0==r.length)return{head:0,tail:0};const i=r.end(r.length-1),n=e||t.live_state.dvr_window;return{head:i,tail:"number"!=typeof n||i-n<0?r.start(0):i-n}}function pr(t){return t.opt("live",!1)||t.duration>=Number.MAX_SAFE_INTEGER}function gr(t){return isFinite(t.duration)?t.duration:0==t.seekable.length?0:fr(t).head}function vr(t){return function(t){return fr(t).head}(t)-.5}function mr(t,e,r){if(!r.reaper)return;const i=document.createDocumentFragment(),n=gt(r,O);i.appendChild(n),r.reaper.set("ui",n),~e.className.indexOf("use-play-")||e.classList.add("use-play-1"),function(t,e,r){const i=Ft("fp-footer");e.append(i),r.on(w,(function(t){var e,r;const n=null===(e=t.data)||void 0===e?void 0:e.description,s=null===(r=t.data)||void 0===r?void 0:r.title;if(i.innerHTML="","string"==typeof s){const t=Ft("fp-title");t.innerText=s,i.append(t)}if("string"==typeof n){const t=n.split(" "),e=Ft("fp-desc");for(e.innerText=t.join(" "),i.append(e);t.length>1&&e.scrollHeight>e.offsetHeight;)t.pop(),e.innerText=t.join(" ")+"..."}}))}(0,e,r),lr(0,0,r),e.appendChild(i),[o,l].forEach(t=>{e.addEventListener(t,(function(t){r.setState("is-hovered",t.type==o),r.setState("is-accessibility",!1)}))}),cr(t,e,r),r.on("volumechange",(function(){const t=0==r.volume||r.muted;r.setState("is-muted",t),r._storage.setItem("mute",t.toString())})),"true"==r._storage.getItem("mute")&&(r.muted=!0,r.setState("is-muted",r.muted));const s=r._storage.getItem("volume");s&&!isNaN(Number(s))&&(r.volume=Number(s)),r.emit("volumechange"),r.on("dvr/window",e=>{t.live&&!1!==r.live_state.dvr&&function(t,e,r){if(0==e)return!0;const i=fr(t,r);return i.head-i.tail>=e}(r,t.seconds_to_dvr||60,e.detail)&&(r.live_state.dvr=r.seekable.length>0,r.live_state.dvr_window=e.detail)}),r.on("live",()=>{const t=setInterval(()=>{if(r.opts.live&&!r.hasState("is-error")&&0!=r.reaper||clearInterval(t),0==r.seekable.length)return;const e=function(t){var e;const r=t.currentTime,i=fr(t),n=!t.hasState("is-chromecast-playing")&&(null===(e=t.hls)||void 0===e?void 0:e.liveSyncPosition);return{progress:Math.min(100,Math.max(0,(r-i.tail)/(i.head-i.tail)*100)),is_live:r-(n||i.head)>=-10}}(r);r.hasState(nt)==e.is_live&&r.setState(nt,!e.is_live),r.live_state.dvr&&r.emit("dvr",e.progress)},200)}),r.on(p,(function(){r.setOpts({live:pr(r)})})),r.on("durationchange",(function(t){const e=pr(r),i=e?gr(r):t.data||r.duration;isNaN(i)||r.setOpts({live:e,duration:i})})),r.on(w,(function(r){var i,n;t.seekable=void 0===(null===(i=null==r?void 0:r.data)||void 0===i?void 0:i.seekable)||r.data.seekable;const s=null===(n=r.data)||void 0===n?void 0:n.ui;if("number"!=typeof s)return;const a=e.classList;a.toggle("use-play-1",!(32&s||64&s)),a.toggle("use-play-2",(32&s)>0),a.toggle("use-play-3",(64&s)>0),a.toggle("use-thin-controlbar",(128&s)>0),a.toggle("no-title",(256&s)>0),a.toggle("no-description",(512&s)>0),a.toggle("logo-on-right",(8&s)>0),a.toggle("use-drag-handle",(16&s)>0),a.toggle("no-controls",(1024&s)>0),a.toggle("no-duration",(2048&s)>0),a.toggle("no-header",(4096&s)>0),a.toggle("no-mute",(4&s)>0),a.toggle("no-volume",(2&s)>0),a.toggle("no-fullscreen",(1&s)>0),a.toggle("no-touch-zones",(16384&s)>0)}));let a=null;[u,d].forEach(t=>n.addEventListener(t,(function(t){r.hasState("is-touch-device")&&t.type===u||("number"==typeof a&&clearTimeout(a),r.setState("is-hovered",!0),a=0==r.paused&&setTimeout((function(){r.setState("is-hovered",!1)}),2e3))})))}function yr(t,e,r){if(ce.from_token(t.token||"").is_granted(ce.permissions.NO_METERING))return;const i=le.id(t.token||"");i&&r.once(E,()=>function(t,e){fetch("https://pmi.flowplayer.com/in",{method:"POST",body:JSON.stringify({token_id:e,factor:1,rnd:Math.random().toString(36).substring(2)})}).then(e=>{401==e.status&&t.emit("error:fatal",{reason:"token",details:"The token online validation failed"})})}(r,i))}var Er={ads:{ad:"Ad",ads:"Ads",advertisement:"Advertisement"},audio:{button_txt:"Audio",menu_title:"Audio"},core:{exit_fullscreen:"Exit fullscreen",fullscreen:"Fullscreen",mute:"Mute",pause:"Pause",play:"Play",unmute:"Unmute",volume:"Volume"},ovp:{starting_in:"Countdown"},playlist:{cancel:"Cancel",up_next:"Up next"},qsel:{menu_title:"Quality"},share:{clipboard_failure:"Access to clipboard failed",clipboard_success:"The text is now on your clipboard",embed:"Embed",link:"Link",menu_title:"Share"},speed:{menu_title:"Speed"}};class I18n{init(t,e,r){r.reaper&&r.reaper.set("translations",Gt(I18n,t,"en"))}}I18n.en=Er;const Tr="health:record",_r="rebuffer";var br=Object.freeze({__proto__:null,RECORD:Tr,REBUFFER:_r});function Sr(t,e){const r=function(){try{return localStorage.getItem("flowplayer/debug")}catch(t){return""}}(),i=(i,...n)=>{const s=(null==e?void 0:e.debug)||r;s&&t.match(s)&&console.log(`flowplayer/${t} -- ${i}`,...n)};return i.log=i,i}const Ar=navigator;function Lr(t){var e,r;const i=null===(e=t.hls)||void 0===e?void 0:e.bandwidthEstimate;return i?1e-6*i:(null===(r=Ar.connection)||void 0===r?void 0:r.downlink)||-1}function wr(t,e){return function(t,e){return"function"==typeof navigator.sendBeacon&&navigator.sendBeacon(t,e)}(t,JSON.stringify({events:e}))}const Dr="https://ljsp.lwcdn.com".concat("/web/public/countdown/time.json"),Rr=window,kr=Rr._flowplayerTimekeeper||(Rr._flowplayerTimekeeper={});async function Or(){const t=kr.cachedServerOffset;if(t)return t;const e=kr.pendingRequest||(kr.pendingRequest=fetch(Dr)),r=await e,i=parseInt(r.headers.get("age")||"0"),n=await r.json(),s=Date.now()-n.millisUtc-1e3*i;return kr.cachedServerOffset=s,kr.cachedServerOffset}const Ir=t=>{switch(t){case!0:return yt.ON;case!1:return yt.OFF;default:return t}},Cr=[];function Pr(t){if(t.suspended)return;const e=Cr.slice(0);Cr.length=0,0!=e.length&&(t.logger.log(`:dispatch events={${e.length}}`),wr("https://ihi.flowplayer.com/v1/health/events",e))}async function xr(t,e,r){const i=await Fr();Cr.push(Object.assign(e,i)),t.logger.log(":enqueue",e.event,e),Cr.length<10&&!r||Pr(t)}const Mr=()=>{var t,e;try{const r=window;return null===(e=null===(t=null==r?void 0:r.google)||void 0===t?void 0:t.ima)||void 0===e?void 0:e.VERSION}catch(t){return}},Fr=async()=>{const t=Date.now();try{return{adjusted_time:t-await Or(),client_time:t}}catch(e){return{client_time:t}}},Nr=(t,e)=>Object.assign(t,{detail:e}),Ur=(t,{event:e,media_session_id:r,session_id:i})=>({event:e,media_session_id:r,session_id:i,device_id:t.deviceId(),version:"3.4.2",commit:"01d44d5db5202dd3a2d8dea07785c5a796e4a648",ima_sdk_version:Mr(),preload:t.opt("preload"),autoplay:Ir(t.opt("autoplay")),live:t.opt("live"),dvr:!!t.live_state.dvr,source:t.original_src,downlink_mbs:Lr(t),player_id:t.opt("metadata.player_id"),media_id:t.opt("metadata.media_id"),site_id:t.opt("metadata.site_id"),category_id:t.opt("metadata.category_id"),sitegroup_id:t.opt("metadata.sitegroup_id"),token:t.token,plugins:t.plugins.map(t=>t.constructor.name).sort((t,e)=>t.localeCompare(e)),current_time:t.currentTime,external_media_id:t.opt("external_media_id")}),Br=t=>({bitrate:null==t?void 0:t.bitrate,resolution:null==t?void 0:t.attrs.RESOLUTION,frame_rate:null==t?void 0:t.attrs["FRAME-RATE"]});function jr(t,e,r,i){const n=Ur(e,t.eventInfo(r)),{before:s,after:a}=i;xr(t,((t,e,r)=>Object.assign(t,{state:{before:e,after:r}}))(n,Br(s),Br(a)))}const Gr=(t,e)=>{let r=null;return(...i)=>{null!==r&&(clearTimeout(r),r=null),r=setTimeout(()=>e(...i),t)}},Hr=Vt();class Health{constructor(t,e){this.session_id=Hr,this.suspended=!1,this.logger=Sr("health",e.opts),this.media_session_id=Vt(),this.analyticsLoop=setInterval(()=>Pr(this),2e3),e.on(L,()=>clearInterval(this.analyticsLoop));const r=this;if(e.health={get media_session_id(){return r.media_session_id},set media_session_id(t){r.media_session_id=t},get session_id(){return r.session_id},set session_id(t){r.session_id=t},toggle(t){t?r.resume():r.suspend()}},!Health._UNLOAD_SUBSCRIBED){Health._UNLOAD_SUBSCRIBED=!0;const e=e=>t.instances.forEach(t=>t.emit(e.type));document.addEventListener("visibilitychange",t=>{"hidden"==document.visibilityState&&e(t)}),window.addEventListener("pagehide",e)}}eventInfo(t){return{event:t,media_session_id:this.media_session_id,session_id:this.session_id}}suspend(){this.suspended=!0,clearInterval(this.analyticsLoop)}resume(){this.suspended=!1,this.analyticsLoop=setInterval(()=>Pr(this),2e3)}init(t,e,r){!function(t){t.on(T,(function(e){t.seeking||t.networkState===t.NETWORK_LOADING&&t.readyState!==t.HAVE_NOTHING&&t.emit(_r)}))}(r),r.on(Tr,({detail:t})=>{const e=Ur(r,this.eventInfo(t.event));Object.assign(e,t.detail||{}),xr(this,e)}),[_,m,a,p,g,v,T,_r].forEach(t=>{r.on(t,t=>{xr(this,Ur(r,this.eventInfo(t.type)))})}),[E,y,A,S,b,h,f].forEach(t=>{r.on(t,t=>{xr(this,Ur(r,this.eventInfo(t.type)))})}),r.on("volumechange",Gr(800,t=>{const e=Ur(r,this.eventInfo(t.type));xr(this,Nr(e,{volume:parseFloat(r.volume.toFixed(2)),muted:r.muted}))})),r.on("resize",Gr(800,t=>{const i=Ur(r,this.eventInfo(t.type));xr(this,Nr(i,{height:e.clientHeight,width:e.clientWidth}))})),r.on("hls/failover",t=>{const e=Ur(r,this.eventInfo(t.type)),i=t.detail,{reason:n,from:s}=i;xr(this,Nr(e,{reason:n,from:s}))}),r.on("qualitychange",({type:t,detail:e})=>{switch(e.kind){case"hls":return jr(this,r,t,e)}});let n=Date.now()+5e3;r.on("timeupdate",t=>{if(Date.now()<n)return;n=Date.now()+5e3;const e=Ur(r,this.eventInfo(t.type));var i;xr(this,Nr(e,{duration:(i=r.duration,Number.isFinite(i)?i:i===1/0?-1:void 0)}))}),r.addEventListener(i,t=>{const e=Ur(r,this.eventInfo(t.type)),i=t.error||r.error;if(!i)return xr(this,e,!0);const n=i.code,s={error_message:i.message||er(n),error_code:n,error_stack:i.stack||""};return xr(this,Nr(e,s),!0)}),r.on("src",t=>{var e;const i=null===(e=t.detail)||void 0===e?void 0:e.src;if("string"!=typeof i)return;if(!sr(r.original_src))return;if(!sr(i))return;if(i==r.original_src)return;this.media_session_id=Vt();xr(this,Ur(r,this.eventInfo(t.type))),Pr(this)}),r.on("visibilitychange",t=>{xr(this,Ur(r,this.eventInfo(t.type))),Pr(this)})}}Health.events=br,Health._UNLOAD_SUBSCRIBED=!1,ie(window,Health);class FlowplayerComponent extends HTMLElement{constructor(t){super(),this.player=t}}class FlowplayerPrimary extends FlowplayerComponent{constructor(t){super(t),this.classList.add("fp-primary");const e={logo:""};t.on(w,t=>{var r,i;const n=e.logo,s=(null===(r=null==t?void 0:t.data)||void 0===r?void 0:r.logo)||"";n!=s&&(e.logo=s,this.set_logo(s,null===(i=null==t?void 0:t.data)||void 0===i?void 0:i.logo_href))})}set_logo(t,e){if(this.innerHTML="",!t)return;const r=document.createElement("img");if(r.classList.add("fp-logo"),r.src=t,!e)return this.append(r);const i=document.createElement("a");i.href=e,i.append(r),this.append(i)}}class FlowplayerHeaderDuration extends FlowplayerComponent{constructor(t){super(t),this.classList.add("fp-duration"),t.on(w,t=>{var e;const r=(null===(e=null==t?void 0:t.data)||void 0===e?void 0:e.duration)||NaN;this.innerText=isFinite(r)?Bt(r):""})}}const Vr={name:"fp-fullscreen",translation_key:"core.fullscreen"},Kr={name:"fp-fullscreen-exit",translation_key:"core.exit_fullscreen"},qr={name:"fp-play",translation_key:"core.play"},Wr={name:"fp-pause",translation_key:"core.pause"},zr={translation_key:"core.mute",name:"fp-volume-mute-unmute"},Yr={translation_key:"core.play",name:"fp-small-play"},Xr={translation_key:"core.pause",name:"fp-small-pause"},Qr={name:"fp-fast-forward"},$r={name:"fp-rewind"};class FlowplayerIcon extends FlowplayerComponent{constructor(t,e){super(t),this.classList.add("fp-icon",e.name),e.title&&this.setAttribute("title",e.title),e.title&&this.setAttribute("aria-label",e.title),e.translation_key&&this.setAttribute("aria-label",t.i18n(e.translation_key)),this.setAttribute("tabindex","0"),this.setAttribute("focusable","true")}}document.addEventListener(n,(function(t){this.active_menu&&!t.composedPath().includes(this.active_menu)&&(Array.from(document.querySelectorAll(".fp-engine")).forEach(t=>{var e;const r=t.root.querySelector("details[open].fp-menu-container");r&&(r.open=!1,null===(e=r.querySelector("summary"))||void 0===e||e.removeAttribute("aria-expanded"),t.root.classList.toggle("has-menu-opened",!1))}),this.active_menu=void 0)}));const Zr={passive:!0};var Jr;function ti(t,e){let r=0,i=-1,n=-1;const s=Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,5),a=t.classList;t.id=s,a.remove(Jr.GRABBING),a.remove(Jr.TOUCHING);const o=e.onseek||rr,l=e.onstart||rr,h=e.onend||rr,f=e.onmouse||rr,p=e.ontouch||rr,g=e.ontouchend||rr;function v(e){!function(){const e=t.getBoundingClientRect();r=e.left,i=e.width}();let n=(function(t){return"function"==typeof window.TouchEvent&&t instanceof TouchEvent}(e)?e.changedTouches[0].pageX:e.pageX)-r;return n>i&&(n=i),n<0&&(n=0),n/i*100}function m(e){const r=v(e);r!=n&&(o(t,r),n=r)}return t.addEventListener("touchstart",(function(e){ei(t,e)&&(a.add(Jr.TOUCHING),ri(t.parentElement)&&(a.add(Jr.GRABBING),p(t,v(e)),l(t,v(e)),m(e)))}),Zr),t.addEventListener(d,(function(e){m(e),f(t,v(e))}),Zr),t.addEventListener(c,(function(e){setTimeout((function(){a.remove(Jr.TOUCHING)}),500),ei(t,e)&&(a.remove(Jr.GRABBING),g(t,v(e)),h(t,v(e)),i=0)}),Zr),t.addEventListener("touchcancel",(function(){a.remove(Jr.GRABBING,Jr.TOUCHING),i=0}),Zr),t.addEventListener("mousedown",(function(e){a.contains(Jr.TOUCHING)||(document.addEventListener(u,m),a.add(Jr.GRABBING),l(t,v(e)),e.preventDefault(),m(e))})),t.addEventListener(u,(function(e){a.contains(Jr.TOUCHING)||f(t,v(e))})),document.addEventListener("mouseup",(function(e){a.contains(Jr.TOUCHING)||(document.removeEventListener(u,m),a.contains(Jr.GRABBING)&&(a.remove(Jr.GRABBING),h(t,v(e)),i=0))})),t}function ei(t,e){const r=e.target;return!!r&&(r&&!r.closest(t.id)||!ri(t.parentElement)||!t.classList.contains(Jr.TOUCHING))}function ri(t){if(!t)return!1;const e=window.getComputedStyle(t);return"0"!==e.width&&"0"!==e.height&&"0"!==e.opacity&&"none"!==e.display&&"hidden"!==e.visibility}!function(t){t.GRABBING="has-grab",t.TOUCHING="has-touch"}(Jr||(Jr={}));class FlowplayerVolumeBar extends FlowplayerComponent{constructor(t){super(t),this.className="fp-volume";const e=t.root.classList,r=e.contains("is-tiny")?6:e.contains("is-small")?8:10,i=Array.from({length:r}).map(()=>{const t=document.createElement("i");return t.className="fp-tick",t});this.append(...i),ti(this,{onseek:(e,r)=>{r>0&&(t.muted=!1,t._storage.removeItem("mute")),t._storage.setItem("volume",(t.volume=r/100).toString()),this.adjustVolumeSlider(t.volume)}}),this.setAttribute("tabindex","0"),this.setAttribute("role","slider"),this.setAttribute("aria-valuemin","0"),this.setAttribute("aria-valuemax","1"),this.setAttribute("aria-label",t.i18n("core.volume","volume")),t.on("volumechange",()=>{const e=0==t.volume||t.muted;e&&this.adjustVolumeSlider(0);const r=t.opt("ui");this.classList.contains(Jr.GRABBING)||e&&"number"==typeof r&&(4&r)>0||this.adjustVolumeSlider(t.volume)})}adjustVolumeSlider(t){this.setAttribute("aria-valuenow",t.toString()),this.setAttribute("aria-valuetext",Math.round(100*t)+"%");const e=Array.from(this.querySelectorAll(".fp-tick")),r=Math.round(t*e.length);e.forEach((t,e)=>{t.classList.toggle("fp-color",e<r)})}}function ii(t,e){if(!t.parentElement)return;const r=t.clientWidth/t.parentElement.clientWidth*100/2;t.style.left=e-r+"%",t.style.display="block"}function ni(t,e){if(isNaN(t.duration))return;const r=t.buffered;r.length&&(e.style.width=Math.min(r.end(r.length-1)/t.duration*100,100)+"%")}function si(t,e){t.style.width="0",e.style.display="none"}function ai(t,e,r){if(!e.seekable||0==e.seekable.length)return;ii(r,t);const i=fr(e),n=(100-Math.max(0,Math.min(t,100)))/100*(i.head-i.tail);r.innerText="-"+Bt(n)}function oi(t,e){t/=100,e.currentTime=function(t,e){if(e>1||e<0)return console.warn("cannot calculate a percent outside of range(0..1)"),0;const r=fr(t);return r.tail+e*(r.head-r.tail)}(e,t)}function li(t,e){t.style.width="0",e.style.display="none"}class FlowplayerTimelineBar extends FlowplayerComponent{constructor(t){let e;super(t),this.bufferEle=Ft("fp-buffer"),this.progress=Ft("fp-progress","fp-color"),this.tooltipEle=Ft("fp-timestamp"),this.proposedSeekBar=Ft("fp-hover"),this.dragger=Ft("fp-dragger","fp-color"),this.classList.add("fp-timeline","fp-bar"),this.tooltipEle.style.display="none",this.setAttribute("role","slider"),this.setAttribute("tabindex","0"),this.setAttribute("aria-label",t.i18n("timeline","Timeline")),this.setAttribute("aria-valuenow","0"),this.progress.append(this.dragger),this.append(this.bufferEle,this.progress,this.proposedSeekBar,this.tooltipEle);let r=!1;const i=requestAnimationFrame;let n=void 0;const s=()=>{0==t.reaper||e.live||(!function(t,e){e.style.width=t.currentTime/t.duration*100+"%"}(t,this.progress),n=void 0,t.paused||this.classList.contains(Jr.GRABBING)||n||(n=setTimeout(s,200)))},a=()=>!!this.player.opt("seekable",!0)&&!isNaN(this.player.duration);ti(this,{onseek:(r,i)=>{if(a())switch(!!e.live){case!0:ai(i,t,this.tooltipEle);break;case!1:!function(t,e,r){const i=e.duration*(t/100);if(e.disabled&&i>e.currentTime)return!1;r.style.width=t+"%",e.currentTime=i}(i,t,this.progress),ii(this.tooltipEle,i)}},onstart:()=>{a()&&(t.emit("timeline/gesture/start"),!t.hasState("is-casting")&&t.setState(et,!0),e.live||function(t){t.style.display="block"}(this.tooltipEle))},onend:function(r,n){i(s),0!=e.seekable&&e.live&&oi(n,t)},ontouch:function(){t.paused||(r=!0,t.pause())},ontouchend:()=>{r&&(r=!1,t.play()),e.live?li(this.proposedSeekBar,this.tooltipEle):si(this.proposedSeekBar,this.tooltipEle),setTimeout(()=>t.emit("timeline/gesture/end"),0)},onmouse:(r,i)=>{if(a()&&(t.emit("timeline/gesture/move",{percent:i}),!this.classList.contains(Jr.GRABBING)))switch(!!e.live){case!0:!function(t,e){e.style.width=t+"%"}(i,this.proposedSeekBar),ai(i,t,this.tooltipEle);break;case!1:!function(t,e){e.style.width=t+"%"}(i,this.proposedSeekBar),function(t,e,r){if(isNaN(t)||isNaN(e.duration))return;ii(r,t),r.innerHTML="";const i=document.createElement("span");i.innerText=Bt(t/100*e.duration),r.append(i)}(i,t,this.tooltipEle)}}}),t.on(w,(function(t){t.data&&(e=t.data)})),t.on(E,()=>i(s)),t.on(v,()=>{0==t.reaper||e.live||ni(t,this.bufferEle)}),t.on("dvr",t=>{this.progress.style.width=t.detail+"%"}),t.on("timeupdate",()=>{0!=t.reaper&&(i(s),this.setAttribute("aria-valuenow",t.currentTime+""),this.setAttribute("aria-valuetext",Math.round(t.currentTime)+t.i18n("core.sec","sec")),e.live||ni(t,this.bufferEle))}),t.on(p,()=>{0!=t.reaper&&(e.live||ni(t,this.bufferEle))}),t.on("durationchange",e=>{if(0==t.reaper)return;const r=pr(t)?gr(t):e.data||t.duration;isNaN(r)||(this.setAttribute("aria-valuemax",r+""),this.setAttribute("aria-valuemin","0"))}),this.addEventListener(l,()=>{t.emit("timeline/gesture/end"),e.live?li(this.proposedSeekBar,this.tooltipEle):si(this.proposedSeekBar,this.tooltipEle)})}}class FlowplayerChaptersTimelineBar extends FlowplayerTimelineBar{constructor(t){super(t),this.handleChapters(t)}handleChapters(t){const e=document.createElement("div");let r;this.addEventListener("chapters:new",t=>{e.innerText="",this.querySelectorAll(".fp-chapter").forEach(t=>this.removeChild(t)),t.data&&t.data.forEach(t=>{const i=document.createElement("div");i.className="fp-chapter",i.style.left=t.left,i.style.bottom=i.style.top="0",i.style.width=t.width,i.title=t.title,i.onmouseover=()=>{e.innerText=t.title},i.onmouseleave=()=>{e.innerText=r||""},this.appendChild(i)})}),this.addEventListener("chapter:changed",i=>{var n;const s=i.data;s&&(e.parentNode||(null===(n=xt(t,I))||void 0===n||n.insertAdjacentElement("beforebegin",e),e.classList.toggle("fp-togglable",!0),e.classList.toggle("fp-chapter-info",!0)),r=s,e.innerText=s)})}}class FlowplayerLiveStatus extends FlowplayerComponent{constructor(t){super(t),this.classList.add("fp-live-status");const e=Ft("fp-live-text"),r=Ft("fp-live-indicator","fp-color");e.textContent="live",this.append(r,e),this.addEventListener(n,(function(){!function(t){try{t.dvr_offset=0,t.currentTime=vr(t)}catch(t){console.warn("failed to seek to now: %j",t)}}(t)}))}}class FlowplayerDuration extends FlowplayerComponent{constructor(t){let e;super(t),this.classList.add("fp-duration"),this.setAttribute("aria-hidden","true"),t.on(w,r=>{if(0==t.reaper||!r.data)return;e=r.data;const i=pr(t)?NaN:r.data.duration||0;if(isNaN(i)||i>=Number.MAX_SAFE_INTEGER)return this.style.display="none";this.style.display="inline-block",this.innerText=Bt(i)}),t.on(p,()=>{0==t.reaper||e.live||function(t,e){t.duration&&(e.innerText=Bt(t.duration))}(t,this)})}}class FlowplayerElapsedTime extends FlowplayerComponent{constructor(t){let e;super(t),this.classList.add("fp-elapsed"),this.innerText=Bt(0),this.setAttribute("aria-hidden","true"),t.on(w,t=>{t.data&&(e=t.data)}),t.on("timeupdate",()=>{0!=t.reaper&&(e.live?function(t,e){e.innerText=Bt(t.currentTime)}(t,this):function(t,e){e.innerText=Bt(t.currentTime)}(t,this))})}}class FlowplayerControlButtons extends FlowplayerComponent{constructor(t){super(t),this.classList.add("fp-btns","fp-small-switch");const e=gt(t,V),r=gt(t,H);e.addEventListener("click",(function(){t.togglePlay(),setTimeout((function(){r.focus&&r.focus()}),100)})),r.addEventListener("click",(function(){t.togglePlay(),setTimeout((function(){e.focus&&e.focus()}),100)})),this.append(e,r)}}class FlowplayerLeftRightZone extends FlowplayerComponent{constructor(t,e){super(t),this.classList.add(e);const r=this.classList.contains("fp-left-zone")?-1:1,i=document.createElement("span"),n=gt(t,this.classList.contains("fp-left-zone")?W:"flowplayer-fast-forward-icon");n.removeAttribute("tabindex"),i.classList.add("fp-zone-seconds"),this.append(i,n);t.on(S,()=>{i.innerText=""}),t.on("seek:queued",t=>{const e=t.data;if(!e)return;if("number"!=typeof e.offset)return;const r=e.offset;if(0==r)return this.reset_zone();r>0&&this.classList.contains("fp-right-zone")||r<0&&!this.classList.contains("fp-right-zone")?this.render_zone_state(r):this.reset_zone()}),t.on("seek:cancel",()=>{this.reset_zone()}),this.reset_zone(),this.addEventListener(c,(function(e){isNaN(t.duration)||isNaN(t.currentTime)||16384&t.opt("ui")||t.hasState(st)||!t.hasState("will-seek")&&!t.hasState(at)||t.enqueueSeek(5*r)&&(e.stopPropagation(),e.preventDefault())}))}reset_zone(){const t=this.querySelector(".fp-zone-seconds");t&&(t.innerText="")}render_zone_state(t){const e=this.querySelector(".fp-zone-seconds");e&&(e.innerText=Math.abs(t)+"")}}class FlowplayerError extends FlowplayerComponent{constructor(t){super(t),this.className="fp-error",this.message=document.createElement("p"),this.message.className="error-message",this.append(this.message),this.addEventListener("error",t=>{const e=t.detail;e&&(this.message.textContent=e.formatted_data.message)})}}class FlowplayerHeaderLeftRight extends FlowplayerComponent{constructor(t,e,...r){super(t),this.className=e;const i=t.createComponents(...r);this.append(...i),"fp-left"!==e&&i.forEach(e=>{e.addEventListener(n,()=>t.toggleFullScreen())})}}class FlowplayerMiddleWait extends FlowplayerComponent{constructor(t){super(t),this.classList.add("fp-wait"),Array(...Array(4)).map((t,e)=>e).forEach(()=>{this.append(document.createElement("b"))})}}class FlowplayerMiddleZone extends FlowplayerComponent{constructor(t){super(t),this.classList.add("fp-middle-zone");const e=t.createComponents(G,"flowplayer-middle-buttons");this.append(...e)}}class FlowplayerMiddleButtons extends FlowplayerComponent{constructor(t){super(t),this.classList.add("fp-switch"),[K,q].forEach(e=>{const r=gt(t,e);r.removeAttribute("tabindex"),this.append(r)})}}class FlowplayerVolumeControl extends FlowplayerComponent{constructor(t){super(t),this.classList.add("fp-volume-control");const e=gt(t,z);this.append(e),!r().ios&&this.append(gt(t,M)),e instanceof FlowplayerIcon&&e.addEventListener(n,(function(){t.toggleMute()}))}}class FlowplayerHeader extends FlowplayerComponent{constructor(t){super(t),this.classList.add("fp-header"),this.append(...t.createComponents("flowplayer-header-left-zone",N)),t.reaper&&t.reaper.set("header",this)}}class FlowplayerControls extends FlowplayerComponent{constructor(t){super(t),this.classList.add("fp-controls","fp-togglable"),this.append(...t.createComponents("flowplayer-control-buttons",C,P,x,"flowplayer-control-duration","flowplayer-volume-control"))}}class FullscreenIcon extends FlowplayerIcon{constructor(t,e){super(t,e),this.setAttribute("role","button")}}class FlowplayerMiddle extends FlowplayerComponent{constructor(t){super(t),this.classList.add("fp-middle"),this.append(...t.createComponents("flowplayer-middle-left-zone",j,"flowplayer-middle-right-zone")),this.setAttribute("tabindex","0"),t.reaper&&t.reaper.set("middle",this),this.handleClick(t),this.handleTouch(t),[E,S].forEach(e=>t.once(e,()=>{this.removeAttribute("tabindex"),this.removeAttribute("role"),this.removeAttribute("aria-label")}))}handleClick(t){[n,s].forEach(e=>this.addEventListener(e,(function(e){if(!e.defaultPrevented&&!t.hasState("is-endscreen"))return e.preventDefault(),t.emit(e.type),!1}))),t.on(n,(function(e){setTimeout((function(){e.defaultPrevented||t.hasState(it)||t.togglePlay()}),0)})),t.on(s,(function(e){setTimeout((function(){e.defaultPrevented||t.toggleFullScreen()}),0)}))}handleTouch(t){let e=!1;this.addEventListener(c,(function(e){e.cancelable&&!t.hasState("is-endscreen")&&(e.preventDefault(),t.emit(e.type,{source:e}))})),t.on(c,(function(r){setTimeout((function(){if(r.defaultPrevented)return;if(t.hasState(it))return;if(t.ended)return t.togglePlay(!0);const i=t.hasState(tt);e&&clearTimeout(e),(i||t.hasState(at)||t.hasState("no-autoplay"))&&(t.hasState(at)&&(t.setState(at,!1),t.setState("is-hovered",!1)),t.togglePlay(),i)||(t.setState(at,!0),t.paused||(e=setTimeout((function(){e=!1,t.setState(at,!1),t.setState("is-hovered",!1)}),2e3)))}),0)}))}}class FlowplayerUi extends FlowplayerComponent{constructor(t){super(t),this.classList.add("fp-ui"),this.append(...t.createComponents(F,B,I))}}De.extensions.unshift.apply(De.extensions,[I18n,Analytics$1,Health,class Default{constructor(t){vt(t,O,FlowplayerUi),vt(t,"flowplayer-error",FlowplayerError),vt(t,I,FlowplayerControls),vt(t,C,FlowplayerLiveStatus),vt(t,"flowplayer-control-duration",FlowplayerDuration),vt(t,x,t.extensions.find(t=>"Chapters"===t.name)?FlowplayerChaptersTimelineBar:FlowplayerTimelineBar),vt(t,P,FlowplayerElapsedTime),vt(t,M,FlowplayerVolumeBar),vt(t,"flowplayer-volume-control",FlowplayerVolumeControl),vt(t,"flowplayer-control-buttons",FlowplayerControlButtons),vt(t,F,FlowplayerHeader),vt(t,U,FlowplayerPrimary),vt(t,"flowplayer-header-duration",FlowplayerHeaderDuration),vt(t,"flowplayer-header-left-zone",class extends FlowplayerHeaderLeftRight{constructor(t){super(t,"fp-left",U,"flowplayer-header-duration")}}),vt(t,N,class extends FlowplayerHeaderLeftRight{constructor(t){super(t,"fp-right fp-togglable","flowplayer-fullscreen-enter-icon","flowplayer-fullscreen-exit-icon")}}),vt(t,B,FlowplayerMiddle),vt(t,j,FlowplayerMiddleZone),vt(t,G,FlowplayerMiddleWait),vt(t,"flowplayer-middle-buttons",FlowplayerMiddleButtons),vt(t,"flowplayer-middle-right-zone",class extends FlowplayerLeftRightZone{constructor(t){super(t,"fp-right-zone")}}),vt(t,"flowplayer-middle-left-zone",class extends FlowplayerLeftRightZone{constructor(t){super(t,"fp-left-zone")}}),vt(t,H,class extends FlowplayerIcon{constructor(t){super(t,Yr),this.setAttribute("role","button")}}),vt(t,V,class extends FlowplayerIcon{constructor(t){super(t,Xr),this.setAttribute("role","button")}}),vt(t,K,class extends FlowplayerIcon{constructor(t){super(t,qr),this.setAttribute("role","button")}}),vt(t,q,class extends FlowplayerIcon{constructor(t){super(t,Wr),this.setAttribute("role","button")}}),vt(t,"flowplayer-fullscreen-enter-icon",class extends FullscreenIcon{constructor(t){super(t,Vr)}}),vt(t,"flowplayer-fullscreen-exit-icon",class extends FullscreenIcon{constructor(t){super(t,Kr)}}),vt(t,"flowplayer-fast-forward-icon",class extends FlowplayerIcon{constructor(t){super(t,Qr)}}),vt(t,W,class extends FlowplayerIcon{constructor(t){super(t,$r)}}),vt(t,z,class extends FlowplayerIcon{constructor(t){super(t,zr),this.classList.add("fp-volumebtn"),this.setAttribute("role","switch"),t.on("volumechange",()=>{const e=0==t.volume||t.muted;this.setAttribute("aria-label",t.i18n("core.muted","Muted")),this.setAttribute("aria-checked",e?"true":"false")})}})}init(t,e,r){yr(t,0,r),mr(t,e,r),function(t,e,r){"undefined"!=typeof window&&"ontouchstart"in window&&r.setState("is-touch-device",!0),r.setState("is-accessibility",!1)}(0,0,r)}}]);var ui=Object.assign(De,{ui:dr,i18n:I18n}),di=ke(Oe((function(t,e){var r;"undefined"!=typeof window&&(r=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var n=e[i]={i:i,l:!1,exports:{}};return t[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)r.d(i,n,function(e){return t[e]}.bind(null,n));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="/dist/",r(r.s="./src/hls.ts")}({"./node_modules/eventemitter3/index.js":
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).flowplayer=e()}(this,(function(){"use strict";const t=[],e=[];function r(){const t="undefined"!=typeof document&&"undefined"!=typeof window,e=t?navigator.userAgent:"",r=/iP(hone|od)/i.test(e)&&!/iPad/.test(e)&&!/IEMobile/i.test(e),i=/Android/.test(e)&&!/Firefox/.test(e),n=/^((?!chrome|android).)*safari/i.test(e),s=/SamsungBrowser/.test(e),a=s&&/SMART-TV/.test(e);return{controls:!r,video:function(e){return t&&document.createElement("video").canPlayType(e)},lang:t&&window.navigator.language,android:i,iphone:r,safari:n,ios:t&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,samsung:s,samsung_tv:s&&a,touch:!!("ontouchstart"in window)}}const i="error",n="click",s="dblclick",a="load",o="mouseenter",l="mouseleave",u="mousemove",d="touchmove",c="touchend",h="fullscreenenter",f="fullscreenexit",p="loadedmetadata",g="loadeddata",v="progress",m="loadstart",y="pause",E="playing",T="waiting",_="canplay",b="ended",S="seeked",A="seeking",L="reap",w="config",D="landscape",R="portrait";var k=Object.freeze({__proto__:null,MOUNT:"mount",ERROR:i,CONTEXT_MENU:"contextmenu",CLICK:n,DBL_CLICK:s,KEYUP:"keyup",KEYDOWN:"keydown",LOAD:a,MOUSE_ENTER:o,MOUSE_LEAVE:l,MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_MOVE:u,TOUCH_START:"touchstart",TOUCH_MOVE:d,TOUCH_END:c,TOUCH_CANCEL:"touchcancel",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_ENTER:h,FULLSCREEN_EXIT:f,FULLSCREEN_CHANGE:"fullscreenchange",WEBKIT_NEEDKEY:"webkitneedkey",METADATA:p,DATA:g,PROGRESS:v,TIME_UPDATE:"timeupdate",LOAD_START:m,VOLUME_CHANGE:"volumechange",PAUSE:y,PLAYING:E,PLAY:"play",WAITING:T,CAN_PLAY:_,ENDED:b,SEEKED:S,SEEKING:A,DURATION_CHANGE:"durationchange",BEFORE_PLAY:"beforeplay",BEFORE_PAUSE:"beforepause",STATE:"state",CUEPOINTS:"cuepoints",CUEPOINT_START:"cuepointstart",CUEPOINT_END:"cuepointend",VIEW_ENTER:"viewenter",VIEW_LEAVE:"viewleave",SOURCE:"src",RECOVER:"recover",REAP:L,CONFIG:w,QUALITIES:"qualities",SET_QUALITY:"quality:set",NON_RECOVERABLE_ERROR:"error:fatal",RECOMMENDATIONS_READY:"recommendationsready",AUDIO_ONLY_SOURCE:"audioonlysource",LANDSCAPE:D,PORTRAIT:R,RENDER_PLUGIN:"renderplugin",DVR:"dvr",LIVE:"live",SEEK_QUEUED:"seek:queued",SEEK_CANCEL:"seek:cancel",PLUGIN_REGISTERED:"plugin:registered",REMOTE_SESSION_STARTED:"remotesession:started",REMOTE_SESSION_ENDED:"remotesession:ended",INTERSECTIONCHANGE:"intersectionchange"});const O="flowplayer-ui",I="flowplayer-control",C="flowplayer-live-status",P="flowplayer-elapsed-time",x="flowplayer-timeline-bar",M="flowplayer-volume-bar",N="flowplayer-header",F="flowplayer-header-right-zone",U="flowplayer-primary",B="flowplayer-middle",j="flowplayer-middle-zone",G="flowplayer-wait",H="flowplayer-small-play-icon",V="flowplayer-small-pause-icon",K="flowplayer-play-icon",q="flowplayer-pause-icon",W="flowplayer-rewind-icon",z="flowplayer-volume-icon",Y="flowplayer-live-countdown";var X=Object.freeze({__proto__:null,SUBTITLES_MENU:"flowplayer-subtitles-menu",SHARE_MENU:"flowplayer-share-menu",SPEED_MENU:"flowplayer-speed-menu",QUALITY_MENU:"flowplayer-quality-menu",AUDIO_MENU:"flowplayer-audio-menu",UI:O,CONTROL:I,CONTROL_BUTTONS:"flowplayer-control-buttons",LIVE_STATUS:C,ELAPSED:P,TIMELINE:x,CONTROL_DURATION:"flowplayer-control-duration",VOLUME_CONTROL:"flowplayer-volume-control",VOLUME_BAR:M,HEADER:N,HEADER_LEFT_ZONE:"flowplayer-header-left-zone",HEADER_RIGHT_ZONE:F,PRIMARY:U,HEADER_DURATION:"flowplayer-header-duration",MIDDLE:B,MIDDLE_ZONE:j,WAIT:G,MIDDLE_BUTTONS:"flowplayer-middle-buttons",MIDDLE_LEFT_ZONE:"flowplayer-middle-left-zone",MIDDLE_RIGHT_ZONE:"flowplayer-middle-right-zone",ENDSCREEN_INTERSTITIAL:"flowplayer-endscreen-interstitial",ENDSCREEN_UP_NEXT:"flowplayer-endscreen-up-next",ENDSCREEN_GRID:"flowplayer-endscreen-grid",PLAYLIST_INTERSTITIAL:"flowplayer-playlist-interstitial",AIRPLAY_ICON:"flowplayer-airplay-icon",CHROMECAST_ICON:"flowplayer-chromecast-icon",SMALL_PLAY_ICON:H,SMALL_PAUSE_ICON:V,PLAY_ICON:K,PAUSE_ICON:q,FULLSCREEN_ENTER_ICON:"flowplayer-fullscreen-enter-icon",FULLSCREEN_EXIT_ICON:"flowplayer-fullscreen-exit-icon",SKIP_NEXT_ICON:"flowplayer-skip-next-icon",SKIP_PREVIOUS_ICON:"flowplayer-skip-previous-icon",FAST_FORWARD_ICON:"flowplayer-fast-forward-icon",REWIND_ICON:W,SHARE_ICON:"flowplayer-share-icon",VOLUME_ICON:z,MUTE_ICON:"flowplayer-mute-icon",UNMUTE_ICON:"flowplayer-unmute-icon",CLOSE_ICON:"flowplayer-close-icon",FACEBOOK_ICON:"flowplayer-facebook-icon",TWITTER_ICON:"flowplayer-twitter-icon",LINK_ICON:"flowplayer-link-icon",EMBED_ICON:"flowplayer-embed-icon",LIVE_COUNTDOWN:Y,PLAYLIST_CONTROLS:"flowplayer-playlist-controls",THUMBNAILS_CAROUSEL:"flowplayer-thumbnails-carousel",ERROR_COMPONENT:"flowplayer-error"});const Q="is-playing",$="is-paused",Z="is-loaded",J="is-loading",tt="is-starting",et="is-seeking",rt="is-ended",it="is-waiting",nt="is-live-seeked",st="no-timeline",at="is-touched",ot="is-in-viewport";var lt=Object.freeze({__proto__:null,PLAYING:Q,FULLSCREEN:"is-fullscreen",PAUSED:$,MUTED:"is-muted",LOADED:Z,LOADING:J,STARTING:tt,SEEKING:et,GRABBING:"is-grabbing",DISABLED:"is-disabled",SMALL:"is-small",TINY:"is-tiny",RTL:"is-rtl",ENDED:rt,LIVE:"is-live",ERRORED:"is-error",WAITING:it,AUTOPLAY:"is-autoplay",NO_AUTOPLAY:"no-autoplay",SEAMLESS:"is-seamless",TOGGLING:"is-toggling",LIVE_SEEKED:nt,NO_DVR:st,HAS_POSTER:"has-poster",MENU_OPENED:"has-menu-opened",TOUCHED:at,HOVERED:"is-hovered",TOUCH_DEVICE:"is-touch-device",WILL_SEEK:"will-seek",SEEKABLE:"is-seekable",IN_VIEWPORT:ot});function ut(t){this.message=t}ut.prototype=new Error,ut.prototype.name="InvalidCharacterError";var dt="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ut("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,i,n=0,s=0,a="";i=e.charAt(s++);~i&&(r=n%4?64*r+i:i,n++%4)?a+=String.fromCharCode(255&r>>(-2*n&6)):0)i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(i);return a};var ct=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(dt(t).replace(/(.)/g,(function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r})))}(e)}catch(t){return dt(e)}};function ht(t){this.message=t}ht.prototype=new Error,ht.prototype.name="InvalidTokenError";var ft=function(t,e){if("string"!=typeof t)throw new ht("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ct(t.split(".")[r]))}catch(t){throw new ht("Invalid token specified: "+t.message)}};ft.InvalidTokenError=ht;const pt=new Map,gt=(t,e)=>new(((t,e)=>{const r=t.get(e);if(!r)throw new Error(`no flowplayer component with the name ${e} exists`);const i=window.customElements.get(e);if(!i)throw new Error(`no default flowplayer component with the name ${e} exists`);const n=window.customElements.get(r);return"function"!=typeof n?i:n})(t._customElements,e))(t),vt=(t,e,r)=>{window.customElements.get(e)||window.customElements.define(e,r),t.customElements.get(e)||t.customElements.set(e,e)};var mt,yt;!function(t){t[t.LOW=1]="LOW",t[t.MEDIUM=2]="MEDIUM",t[t.HIGH=4]="HIGH"}(mt||(mt={})),function(t){t[t.OFF=0]="OFF",t[t.ON=1]="ON",t[t.AUDIO_REQUIRED=2]="AUDIO_REQUIRED"}(yt||(yt={}));function Et(t,e,r){const i="boolean"==typeof r;if("boolean"!=typeof r&&(r=t.paused),function(t,e,r){const i=t.poll(e?"beforeplay":"beforepause",{forced:r});return i&&i.defaultPrevented}(t,r,i))return Promise.resolve();if(!r)return Promise.resolve(t.pause());if(0==t.reaper)return Promise.resolve();const n=t.reaper.get("__pending_play");return 0!=t.paused||n?n?(n.src!==_t(t.original_src)&&Tt(t),n):(function(t){return(0==t.networkState||0==t.readyState)&&t.currentSrc==_t(t.original_src)}(t)&&Tt(t),(t=>t.autoplay&&yt.AUDIO_REQUIRED&t.autoplay)(e)?function(t){t.muted=!1,0==t.volume&&(t.volume=1);return t.play().catch(t=>{console.warn("[flowplayer/play] autoplay audio required\n%s",t.message)})}(t):(t.setState(tt,!1),t.play().catch(e=>(console.warn("[flowplayer/play] attempting muted autoplay\n%s",e.message),t.muted=!0,t.volume=0,t.play())))):Promise.resolve()}function Tt(t){t.currentSrc.match(/^blob:/)||t.load()}function _t(t){const e=document.createElement("a");return e.href=t,e.href}function bt(t,e){var r={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.indexOf(i)<0&&(r[i]=t[i]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(i=Object.getOwnPropertySymbols(t);n<i.length;n++)e.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(t,i[n])&&(r[i[n]]=t[i[n]])}return r}function St(t){const e=document.createElement("a");e.href=t;const r=e.pathname&&e.pathname.split(".");return r.length>1&&r[r.length-1]}function At(t){switch(t){case"video/mpd":return"application/dash+xml";case"video/m3u8":return"application/x-mpegurl";default:return t}}const Lt=t=>{var{src:e}=t,r=bt(t,["src"]);return[Object.assign({src:e,type:e?At("video/"+St(e)):""},r)]};function wt(t){return Lt({src:t})}function Dt(t){var{src:e,type:r}=t,i=bt(t,["src","type"]);return e&&r?[Object.assign({src:e,type:r},i)]:r&&!e?[Object.assign({type:r},i)]:Lt(Object.assign({src:e},i))}var Rt;function kt(t,e,r,i={safari:!1}){const n=function(t){return"string"==typeof t?wt(t):Array.isArray(t)||"object"!=typeof t?t.reduce((function(t,e){return"string"==typeof e&&(e=wt(e)),"object"!=typeof e||Array.isArray(e)||(e=Dt(e)),t.concat(e)}),[]):Dt(t)}(r);return t.currentSrc&&(t.innerHTML=""),t.setOpts({live:!1}),t.live_state.dvr=void 0,t.live_state.dvr_window=void 0,delete t.opts.live,delete t.opts.duration,delete e.live_start_time,[et,Q,$,J,Z,nt].forEach(e=>t.setState(e,!1)),e.autoplay||t.setState(tt,!0),Array(...Array(n.length)).map((t,e)=>e).some(r=>{const s=n[r];if(Rt.Ok==function(t,e,r){t.emit("src",r),"string"==typeof r.src&&(t.original_src=r.src);const i=function(t,e,r){return t.plugins.filter(t=>{return(e=t)&&"wants"in e;var e}).find(t=>t.wants(r.src||"",r,e))}(t,e,r);return t.setOpts({is_native:!i}),i?(i.onload(e,t.root,t,r),Rt.Ok):Rt.Err}(t,e,s)||Rt.Ok==function(t,e,r,i={safari:!1}){var n;/^audio\//.test(r.type||"")&&t.emit("audioonlysource");e.start_time&&(r.src=r.src+"#t="+e.start_time);if(""==t.canPlayType(r.type||""))return Rt.Err;if(r.drm&&(!r.drm["com.apple.fps.1_0"]||!i.safari))return Rt.Err;"string"==typeof r.src&&(t.preload=e.autoplay?"auto":null!==(n=e.preload)&&void 0!==n?n:"auto",t.src=r.src,e.autoplay&&i.safari&&t.load(),"none"!==t.preload&&t.setState(J,!0));return Rt.Ok}(t,e,s,i))return!0;r==n.length-1&&"string"==typeof s.src&&(t.src=s.src)}),function(t,e){!function(t,e){if(!t.currentSrc)return;if("none"==t.opt("preload"))return;if(e.autoplay&&e.autoplay>0)return;t.load()}(t,e)}(t,e),t}!function(t){t[t.Err=0]="Err",t[t.Ok=1]="Ok"}(Rt||(Rt={}));const Ot=[L,A,"src","seek:cancel"];var It;function Ct(t,e,r){return isNaN(t.duration)||isNaN(t.currentTime)?{}:(e.offset+=r,0==e.offset?Pt(t,e):(e.timer&&clearTimeout(e.timer),e.timer=setTimeout((function(){0!=t.reaper&&(t.currentTime=function(t,e,r=0){return Math.max(Math.min(e,t),r)}(t.currentTime+e.offset,t.duration),e.timer=0,Pt(t,e))}),1e3),function(t,e){t.setState("will-seek",!0),t.setState(It.BACKWARD,e.offset<0),t.setState(It.FORWARD,e.offset>0)}(t,e),t.emit("seek:queued",e),e))}function Pt(t,e){e.timer&&clearTimeout(e.timer),e.timer=e.offset=0,function(t){t.setState(It.FORWARD,!1),t.setState(It.BACKWARD,!1),t.setState("will-seek",!1)}(t)}function xt(t,e){const r=t._customElements.get(e);return r&&t.root.querySelector(r)||void 0}function Mt(){if("undefined"==typeof document)return!1;const t=document.documentElement;return t&&"rtl"==t.getAttribute("dir")}function Nt(...t){const e=document.createElement("div");return 0==t.length||e.classList.add(...t),e}function Ft(t,e,r){const i=function(t){return Array.isArray(t)?t.slice(0):t.split(".")}(e);for(;i.length;){if(null==t)return r;const e=i.shift();if("string"!=typeof e)return r;t=t[e]}return null==t?r:t}function Ut(t){const e="number"==typeof t?t:parseInt(t,10);return(e>9?"":"0")+e}function Bt(t){if(isNaN(t)||t>=Number.MAX_SAFE_INTEGER)return"";const e=t<0?"-":"";t=Math.round(Math.abs(t));const r=Math.floor(t/3600);let i=Math.floor(t/60);return t-=60*i,r>=1?(i-=60*r,e+r+":"+Ut(i)+":"+Ut(t)):e+Ut(i)+":"+Ut(t)}!function(t){t.FORWARD="forward",t.BACKWARD="backward"}(It||(It={}));const jt=navigator.languages||[navigator.language];function Gt(t,e,r){const i={};return r=e.lang||r,t[r]&&(i[r]=t[r]),function(){try{return jt.reduce((t,e)=>~e.indexOf("-")?t.concat(e,e.split("-")[0]):t.concat(e),[])}catch(t){return[]}}().forEach((function(e){t[e]&&!i[e]&&(i[e]=t[e])})),Object.values(i)}const Ht=[1e7]+""+-1e3+-4e3+-8e3+-1e11,Vt=()=>"undefined"==typeof crypto?"":Ht.replace(/[018]/g,t=>(t^crypto.getRandomValues(new Uint8Array(1))[0]&15>>t/4).toString(16));let Kt="";!function(){let t=!1;try{const e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("testPassive",null,e),window.removeEventListener("testPassive",null,e)}catch(t){}}();const qt=["touchstart","touchmove"];function Wt(t,e){const r=new CustomEvent(t,{detail:e,cancelable:!0});return e&&Object.defineProperty(r,"data",{get:()=>e}),r}function zt(t,e,r){const i=Wt(e,r);return t.dispatchEvent(i),t}function Yt(t,e,r){const i=Wt(e,r);return t.dispatchEvent(i),i}function Xt(t,e,r,i){Array.isArray(e)?e.forEach(e=>Qt(t,e,r,i)):Qt(t,e,r,i)}function Qt(t,e,r,i){if(n=e,!~qt.indexOf(n))return t.addEventListener(e,r,i),t;var n;const s=Object.assign(i||{},{passive:!0});return t.addEventListener(e,r,s),t}function $t(t,e,r,i){return Xt(t,e,r,Object.assign(i||{},{once:!0}))}class PlayerStorage{constructor(t,e){this.implementation=t,e&&e.keys().forEach(t=>{"string"==typeof e.implementation[t]&&this.implementation.setItem(t,e.implementation[t])})}keys(){var t;const e=[];for(var r=0;r<this.implementation.length;r++)(null===(t=this.implementation.key(r))||void 0===t?void 0:t.startsWith("flowplayer/"))&&e.push(this.implementation.key(r));return e}removeItem(t){try{this.implementation.removeItem("flowplayer/"+t)}catch(t){}}getItem(t){try{return this.implementation.getItem("flowplayer/"+t)}catch(t){return null}}setItem(t,e){try{this.implementation.setItem("flowplayer/"+t,e)}catch(t){}}clear(){try{this.keys().forEach(t=>this.implementation.removeItem(t))}catch(t){}}get length(){try{return this.keys().length}catch(t){return 0}}key(t){try{return this.implementation.key(t)}catch(t){return null}}}class InMemoryStorage{constructor(){this.pairs=[]}get length(){return this.pairs.length}clear(){this.pairs=[]}getItem(t){var e;return(null===(e=this.pairs.find(e=>e[0]===t))||void 0===e?void 0:e[1])||null}key(t){return this.pairs[t][0]||null}removeItem(t){this.pairs=this.pairs.filter(e=>e[0]!==t)}setItem(t,e){this.removeItem(t),this.pairs.push([t,e])}}const Zt={preload:"none",rtl:!1,controls:!0},Jt=["loop","muted","preload"];function te(t,i,n){let s;n.live_state={dvr_window:void 0,get dvr(){return s},set dvr(e){s=e;const r=!(!t.live||e);n.hasState(st)!=r&&n.setState(st,r)}},n._storage=new PlayerStorage(["localStorage","sessionStorage"].map(t=>{try{const e=window[t];return e.getItem(""),e}catch(e){return console.debug(`Access to window.${t} denied, trying next option`),null}}).find(t=>!!t)||new InMemoryStorage),n.toJSON=function(){return{duration:n.duration,volume:n.volume,currentTime:n.currentTime,states:n.root.className}},n.setSrc=function(e){return kt(n,t,e,r())},n.playerState=n.playerState||{},n.setState=function(t,e){if(n.playerState[t]===!!e)return n;const r=Object.assign({},n.playerState,{[t]:e});return r[it]&&(r[Q]=!1),n.playerState=r,zt(n,"state",n.playerState),n},n.createComponents=function(...t){return Array.from({length:t.length}).map((e,r)=>gt(this,t[r]))},n.hasState=function(t){return!!n.playerState[t]},n.transitionState=function(t,e,r){!n.hasState(t)&&n.hasState(e)||(r=0),r&&n.setState("is-toggling",!0),n.setState(e,!1),n.setState(t,!0),r&&setTimeout((function(){n.setState("is-toggling",!1)}),r)},n.emit=(t,e)=>(zt(n,t,e),n),n.on=(t,e)=>(Xt(n,t,e),n),n.once=(t,e)=>($t(n,t,e),n),n.off=(t,e)=>{var r,i;return r=t,i=e,n.removeEventListener(r,i),n},n.poll=(t,e)=>Yt(n,t,e),n.togglePlay=function(e){return Et(n,t,e)},n.toggleMute=function(t){t=null==t?!n.muted:!!t,n.muted=t,n.muted||n.volume||(n.volume=1),zt(n,"volumechange")},n.toggleDisable=function(t){t=null==t?!n.disabled:!!t,n.setState("is-disabled",t),n.disabled=t},n.destroy=function(){n.pause();const t=e.indexOf(n);~t&&e.splice(t,1),setTimeout((function(){n.setSrc([]),n.reaper&&n.reaper.clear(),zt(n,L)}),0)},n.setAttrs=function(t){return Jt.forEach(e=>{if(!(e in t))return;const r=t[e];r?n.setAttribute(e,r.toString()):n.removeAttribute(e)}),n},n.opt=function(e,r){return r=void 0===r?Ft(Zt,e):r,Ft(t,e,r)},n.i18n=function(t,e){if(!n.reaper)return"";const r=n.reaper.get("translations");return r?function t(e,r,i,n){return(n=n||0)>=e.length?i:Ft(e[n],r,t(e,r,i,n+1))}(r,t,e||""):e||""},n.setOpts=function(e){Object.assign(t,e),t.live&&!n.hasState("is-live")&&(n.setState(st,!0),zt(n,"live")),"disabled"in e&&void 0!==e.disabled&&n.toggleDisable(e.disabled),"muted"in e&&void 0!==e.muted&&n.toggleMute(e.muted),"dvr"in t&&(n.live_state.dvr=n.opt("dvr"));const r=!!t.autoplay&&!n.hasState("no-autoplay");n.setState("is-autoplay",r),n.setState("is-rtl",n.opt("rtl",function(t){if(!t)return Mt();const e=t.getAttribute("dir");return e?"rtl"==e:Mt()}(i))),n.setState("is-live",!!t.live),n.setState("has-poster","string"==typeof t.poster&&t.poster.length>0),n.setState("is-seekable",!!t.seekable),i.style.backgroundImage=n.hasState("has-poster")?"url('"+t.poster+"')":"",zt(n,w,t)},n.renderPlugin=function(t){Yt(n,"renderplugin",t).defaultPrevented||n.root.appendChild(t)};const a={offset:0,timer:0};var o,l;l=a,(o=n).on(Ot,(function(){Pt(o,l)})),n.enqueueSeek=function(t){if(0!=n.opts.seekable&&!(1==n.opts.disabled&&t>0))return Ct(n,a,t)},n.deviceId=function(){return function(t){if(Kt)return Kt;try{const e=t.getItem("flowplayer/uuid");if(e)return e;const r=Vt();return t.setItem("flowplayer/uuid",r),r}catch(t){return Kt=Vt()}}(n._storage)}}function ee(t,e){const r=e.querySelector("video"),i=r||(t._video_element_callback?t._video_element_callback(t):document.createElement("video"));return i.classList.add("fp-engine"),i.playsInline=!0,r||e.append(i),i}var re="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function ie(t,e){if("object"==typeof exports&&"undefined"!=typeof module)return e;"flowplayer"in t||(t.flowplayer={extensions:[]});const r=t.flowplayer;return"function"==typeof r?(r(e),e):(Array.isArray(r.extensions)||(r.extensions=[]),~r.extensions.indexOf(e)||r.extensions.push(e),e)}function ne(){return"undefined"!=typeof window?window:void 0!==re?re:{}}const se=["localhost","127.0.0.1","0.0.0.0","s.codepen.io","cdpn.io","try.flowplayer.com"];function ae(t,e){return!!~se.indexOf(t)||t.indexOf(e)===t.length-e.length}ae.check_whitelist=function(t){return!!~se.indexOf(t)};const oe="production";function le(t,e){const r={valid_jwt:!1,raw:"",data:{acl:0},exp:0};let i={c:"{}",exp:0};e=e||{};try{i=ft(t),r.valid_jwt=!0}catch(t){}return r.raw=t,r.data=JSON.parse(i.c),r.exp=i.exp,e.require_valid_token&&le.validate(r),r}function ue(t){try{return le.validate(t),{success:!0,message:""}}catch(t){return{success:!1,message:t.message}}}var de;function ce(t){return{grant:t,is_granted:e=>(t&e)===e}}function he({root:t,video:e,data:r}){e&&e.destroy(),console.error(new Error(r.details||r.reason)),t.innerHTML="",t.classList.remove("flowplayer"),t.classList.add("flowplayer-fatal"),t.style.removeProperty("background-image");const i=document.createElement("h2");i.textContent="Playback Error";const n=document.createElement("p");n.textContent="Are you the site owner?";const s=document.createElement("a");s.classList.add("troubleshoot"),s.target="_blank",s.href="https://docs.flowplayer.com/troubleshooting/player#"+r.reason,s.textContent="Troubleshoot?";const a=document.createElement("img");a.src="https://flowplayer.com/user/pages/images/logo-white.png",t.append(i,n,s,a)}le.validate=function(t){if("string"==typeof t&&(t=le(t)),!t||!t.raw){if(ae.check_whitelist(window.location.hostname)||"dev"===oe.toString())return!0;throw new Error("No token provided in configuration")}if(!t.valid_jwt)throw new Error("Invalid token provided");const e=window.location.hostname,r=ae.bind(null,e);if("dev"!==oe.toString()&&t.data.domain&&t.data.domain.length&&!t.data.domain.some(r))throw new Error("Domain not allowed");if("dev"!==oe.toString()&&1e3*t.exp-Date.now()<0)throw new Error("Expired token");return!0},le.id=function(t){if(t)return"string"==typeof t&&(t=le(t)),t.data.id},function(t){t[t.ADS=2]="ADS",t[t.ANALYTICS=4]="ANALYTICS",t[t.NO_METERING=8]="NO_METERING",t[t.DEVELOPER_PLAN=16]="DEVELOPER_PLAN"}(de||(de={})),ce.of=ce,ce.from_token=function(t){const e=le(t,{require_valid_token:!0});return ce.of(e.data.acl)},ce.permissions=de;function fe(t,e){const r=e.clientWidth;e.classList.toggle("is-small",r<600),e.classList.toggle("is-tiny",r<400)}function pe(t,e,i){let n=!0;e.classList.add("flowplayer"),fe(0,e),Xt(i,[m,"resize"],(function(){fe(0,e)})),Xt(i,"state",(function(){Object.entries(i.playerState).forEach((function([t,r]){e.classList.toggle(t,r)}))})),Xt(i,"timeupdate",(function(){i.setState(it,!i.hasState("is-casting")&&!i.hasState(tt)&&i.readyState<3)})),Xt(i,b,(function(e){setTimeout((function(){if(!e.defaultPrevented){if(t.rewind&&!i.loop){const e=i.src;t.autoplay&&(t.autoplay=0,i.setState("is-autoplay",!1)),i.setState(et,!0),$t(i,S,(function(){e===i.src&&(i.setState(et,!1),i.pause(),i.setState(tt,!0))})),i.currentTime=0}$t(i,"timeupdate",(function(){i.setState(rt,!1)})),i.transitionState(rt,Q,t.loop||t.rewind?0:300)}}),0)})),Xt(i,[A,S],(function(t){i.setState(et,t.type==A),i.setState($,i.paused),i.setState(Q,!i.paused)})),Xt(i,"remotesession:ended",(function(t){setTimeout(()=>i.currentTime=t.detail.currentTime,0)})),Xt(i,b,(function(){i.setState(Q,!1),n=!0})),Xt(i,v,()=>{if(!i.opts.live||!i.opts.is_native)return;const t=i.seekable;0!=t.length&&i.emit("dvr/window",t.end(t.length-1)-t.start(0))}),Xt(i,r().ios?p:g,(function(){var t,e;i.setState(Z,!0),i.setState(J,!1);const r=i;0===(null===(t=r.videoTracks)||void 0===t?void 0:t.length)&&(null===(e=r.audioTracks)||void 0===e?void 0:e.length)>0&&i.emit("audioonlysource")})),Xt(i,[T,_,m],(function(e){if(!i.hasState(et)&&(e.type!=_||t.autoplay||i.setState(it,!1),e.type!=m||"none"!=i.opt("preload")||t.autoplay)){if(e.type==m&&t.autoplay)return $t(i,E,(function(){i.setState(it,!1)}));e.type==T&&([Q,$,tt].forEach((function(t){i.setState(t,!1)})),i.hasState(Z)||i.setState(J,!0)),i.setState(rt,!1),i.setState(it,e.type==T)}})),Xt(i,[E,y],(function(e){setTimeout(()=>{const t=new CustomEvent("flowplayer/"+e.type,{detail:i});document.dispatchEvent(t)},0);const r=e.type==E,s=i.currentTime==i.duration,a=r&&n&&t.autoplay||i.hasState(it);if(r&&(i.started=!0,n=!1),i.setState(it,!1).setState(tt,!1),s||i.hasState(et))return;const o=r?Q:$,l=r?$:Q;i.transitionState(o,l,a?0:300),r&&i.setState("no-autoplay",!1)}))}const ge=[0].concat(Array.from({length:100}).map((t,e)=>(e+1)/100));function ve(t,e,r){if(!window.IntersectionObserver)return;const i={should_resume:!!t.autoplay,has_user_gesture:!1,locked:!1};[c,n].forEach(t=>$t(r,t,()=>i.has_user_gesture=!0)),Xt(r,"play",(function(){i.locked||(i.should_resume=!0)})),Xt(r,"src",(function(){i.should_resume=!!t.autoplay})),Xt(r,y,(function(){i.locked||(i.should_resume=!1)}));const s=()=>{setTimeout(()=>{r.setState(tt,!0),r.setState("is-autoplay",!1)},100)};Xt(r,_,(function(e){if(t.autoplay)return r.hasState(ot)&&i.should_resume?r.togglePlay(!0).catch(s):void(t.autopause||r.hasState(ot)||!i.should_resume||$t(r,"viewenter",()=>{t.autoplay&&i.should_resume&&r.togglePlay(!0).catch(s)}))}));const a=new IntersectionObserver(t=>{t.forEach(t=>{setTimeout(()=>{const e=t.intersectionRatio,i=r.hasState(ot);if(r.setState(ot,e>=.2),r.emit("intersectionchange",{ratio:e}),i===r.hasState(ot))return;const n=r.hasState(ot)?"viewenter":"viewleave";r.emit(n)},0)})},{threshold:ge});a.observe(e),r.on(L,()=>a.disconnect()),t.autopause&&(Xt(r,"viewenter",(function(){i.should_resume&&t.autopause&&!me()&&r.togglePlay(!0)})),Xt(r,"viewleave",(function(){if(!t.autopause||me())return;const e=!r.paused;i.locked=!0,r.pause(),setTimeout((function(){i.should_resume=e,i.locked=!1}),0)})))}function me(){return e.find(t=>t.hasState("is-casting"))}function ye(t,e){if(!window.ResizeObserver)return;const r=new ResizeObserver(t=>{const r=t[t.length-1];e.emit("resize",r)});r.observe(t),e.on(L,()=>r.disconnect())}function Ee(t){if("number"==typeof t&&!isNaN(t))return Number(t);if("string"==typeof t){const e=t.split(":");return Number(e[1])/Number(e[0])}return t}function Te(t,e,r){const i=!!t.ratio,n=document.createElement("div");n.classList.add("fp-ratio"),e.append(n);let s=Ee(t.ratio||.5625);n.style.paddingTop=100*s+"%";const a=[g,p];r.on(a,(function(){if(i)return;const t=r.videoHeight&&r.videoWidth&&r.videoHeight/r.videoWidth;t&&r.setOpts({ratio:t})})),r.on(w,(function(){const e=r.videoHeight&&r.videoWidth&&r.videoHeight/r.videoWidth,i=Ee((null==t?void 0:t.ratio)||e||.5625);s!==i&&(s=i,n.style.paddingTop=100*i+"%")}))}class ExplorerPlan{constructor(){this.cleanUp=this.cleanUp.bind(this),this.render=this.render.bind(this),this.wireUp=this.wireUp.bind(this)}init(t,e,r){this.root=e,this.player=r,this.wireUp()}wireUp(){var t,e;this.cleanUp(),null===(t=this.player)||void 0===t||t.once(E,this.render),null===(e=this.player)||void 0===e||e.once(b,this.wireUp)}cleanUp(){var t,e,r,i;null===(e=null===(t=this._logo)||void 0===t?void 0:t.parentElement)||void 0===e||e.removeChild(this._logo),null===(r=this.player)||void 0===r||r.off(E,this.render),null===(i=this.player)||void 0===i||i.off(b,this.wireUp)}render(){var t,e,r;null===(e=null===(t=this._logo)||void 0===t?void 0:t.parentElement)||void 0===e||e.removeChild(this._logo);const i=(null===(r=this.root)||void 0===r?void 0:r.querySelector(".fp-ui"))||this.root;if(!i)return;const n=this._logo=document.createElement("a");n.href="https://explorer.flowplayer.com",n.target="_blank",Object.entries(_e).forEach(([t,e])=>{n.style.setProperty(t,e,"important")}),i.appendChild(n)}}const _e={display:"block",opacity:"1",visibility:"visible",width:"33%","padding-top":"9%",position:"absolute","z-index":"9999",bottom:"25%",left:"10%","background-size":"cover","background-image":"url(https://static.flowplayer.com/explorer/explorer.svg)"},be="flowplayer/"+E;function Se(t){const e=e=>{e.detail!==t&&!1===t.opt("multiplay")&&t.togglePlay(!1)};t.on(L,()=>document.removeEventListener(be,e)),document.addEventListener(be,e)}function Ae(t,e){const r=[];t.addEventListener("contextmenu",i=>{const n=i.timeStamp;for(r.push(n);r.length>3;)r.shift();r.length>=3&&r.every(t=>t-n<3e3)&&(console.debug("flowplayer/debug rendering info"),function(t,e){var r;!function(t){const e=t.querySelector(".debug-info");null==e||e.remove()}(t);const i=document.createElement("div");i.classList.add("debug-info");const n=Le("flowplayer.version","3.4.3-rc.0");i.append(n);const s=null===(r=null==e?void 0:e.hls)||void 0===r?void 0:r.constructor;if(s&&s.version){const t=Le("hls.version",s.version);i.append(t)}t.appendChild(i)}(t,e))})}const Le=(t,e)=>{const r=document.createElement("div");r.classList.add("row",t);const i=document.createElement("span");i.classList.add("attr"),i.textContent=t;const n=document.createElement("span");return n.textContent=e,n.classList.add("value"),r.append(i,n),r};const we=function(){const t=ne(),e=t.flowplayer?t.flowplayer:{extensions:[]};return Array.isArray(e.extensions)||(e.extensions=[]),e}();function De(r,i){if("function"==typeof r)return t.push(...[...arguments].filter(t=>"function"==typeof t)),De;"string"==typeof i&&(i={src:i}),i||(i={}),i.token||"string"!=typeof window.__FLOWPLAYER_TOKEN||(i.token=window.__FLOWPLAYER_TOKEN);const n="string"==typeof r?document.querySelector(r):r;if(!n)return console.error(new Error("Flowplayer: '"+r.toString()+"' not found"));const s=n.querySelector("video.fp-engine");if(s)return s;const a=ue(i.token);if(!a.success)return he({root:n,data:{reason:"token",details:a.message}});const o=new Map,l=ee(i,n);l.reaper=o,l._customElements=pt,Object.defineProperty(l,"token",{value:"string"==typeof i.token?le.id(i.token):"",writable:!1}),l.addEventListener(L,()=>{o.clear(),l.reaper=0,delete l.root}),l.root=n,i.token&&ce.from_token(i.token).is_granted(ce.permissions.DEVELOPER_PLAN)&&t.push(ExplorerPlan),!~e.indexOf(l)&&e.push(l),te(i,n,l),l.setAttrs(i),l.plugins=De.extensions.map(t=>new t(De,l)),pe(i,n,l),ve(i,n,l),ye(n,l),Te(i,n,l),Se(l),Ae(n,l),l.plugins.forEach(t=>{try{t.init(i,n,l)}catch(e){console.log("Error(plugin/%s)",t.constructor.name,e)}}),l.setOpts(i),l.opts=i,i.src&&l.setSrc(i.src);const u=l.readyState;return u>0&&l.currentSrc&&l.emit(p),u>2&&l.currentSrc&&l.emit(_),l.emit("mount"),l.on("error:fatal",(function(t){he({root:n,video:l,data:t.data||{}})})),l}Object.assign(De,we),function(i){Array.isArray(i.extensions)&&i.extensions.forEach(e=>t.push(e)),i.customElements=pt,i.defaultElements=X,i.version="3.4.3-rc.0",i.commit="cdd0812b4480d1446c53c18eab4470003271ed50",i.instances=e,i.extensions=t,i.support=r,i.events=k,i.states=lt,i.jwt=ft,i.autoplay=yt,i.quality=mt}(De),"object"==typeof document&&setTimeout(zt,0,document,"flowplayer:umd",De);var Re="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function ke(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Oe(t){var e={exports:{}};return t(e,e.exports),e.exports}var Ie=Oe((function(t,e){var r=Re&&Re.__assign||function(){return(r=Object.assign||function(t){for(var e,r=1,i=arguments.length;r<i;r++)for(var n in e=arguments[r])Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}).apply(this,arguments)};e.__esModule=!0,e.remove=e.downcase=e.pluck=e.merge=void 0,e.merge=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return t.reduce((function(t,e){return r(r({},t),e)}),{})},e.pluck=function(t){for(var r=[],i=1;i<arguments.length;i++)r[i-1]=arguments[i];return Object.keys(t).filter((function(t){return~r.indexOf(t)})).reduce((function(r,i){var n;return e.merge(r,((n={})[i]=t[i],n))}),{})},e.downcase=function(t){return(t||"").toString().toLowerCase()},e.remove=function(t,e){var r=t.lastIndexOf(e);return~r&&t.splice(r,1),t}})),Ce=Oe((function(t,e){var r=Re&&Re.__createBinding||(Object.create?function(t,e,r,i){void 0===i&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){void 0===i&&(i=r),t[i]=e[r]}),i=Re&&Re.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),n=Re&&Re.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.hasOwnProperty.call(t,n)&&r(e,t,n);return i(e,t),e};e.__esModule=!0;var s=n(Ie),a=function(){function t(){this.pending=[],this.open=[],this.stats={failures:0,ttl:0}}return t.of=function(){return new t},t.is_empty=function(t){return 0==t.pending.length},t.is_high_water=function(e){return e.open.length==t.MAX_OPEN_REQUESTS},t.maybe_spawn_req=function(e){if(t.is_empty(e))return e;if(t.is_high_water(e))return e;try{var r=t.lpop(e);r&&t.request(e,r)}catch(t){}},t.increment_failures=function(e){return e.stats.failures++,e.stats.failures>t.MAX_FAILURE_COUNT&&(e.stats.ttl=Date.now()+t.REQUEST_TTL_MS),e},t.handle_error=function(e,r){t.rm(e,r),t.increment_failures(e)},t.request=function(e,r){var i=r[0],n=r[1],s=r[2];if(!(Date.now()<e.stats.ttl)){var a=new XMLHttpRequest;e.open.push(a),a.timeout=t.REQUEST_TIMEOUT_MS,a.ontimeout=function(){t.handle_error(e,a)},a.onerror=function(r){t.handle_error(e,a)},a.onreadystatechange=function(){a.readyState==XMLHttpRequest.DONE&&t.rm(e,a),Math.floor(a.status/100)},a.onload=function(){t.rm(e,a),e.stats.failures&&e.stats.failures--},a.open(n,i),a.setRequestHeader("Content-Type","text/plain;charset=UTF-8");try{a.send(JSON.stringify(s))}catch(t){}}},t.rpush=function(e){for(var r=[],i=1;i<arguments.length;i++)r[i-1]=arguments[i];return r.forEach((function(r){e.pending.length>=t.MAX_PENDING||(e.pending.push(r),t.maybe_spawn_req(e))})),e},t.lpop=function(t){return t.pending.shift()},t.rm=function(t,e){return s.remove(t.open,e),t},t.MAX_OPEN_REQUESTS=3,t.MAX_PENDING=5,t.REQUEST_TIMEOUT_MS=4e3,t.REQUEST_TTL_MS=5e3,t.MAX_FAILURE_COUNT=3,t}();e.default=a})),Pe=Oe((function(t,e){var r=Re&&Re.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};e.__esModule=!0;var i=r(Ce);e.default=i.default.of()})),xe=Oe((function(t,e){e.__esModule=!0,e.prepare_url=e.URL_PARAM=void 0,e.URL_PARAM=/:([a-zA-Z_]+)/g,e.prepare_url=function(t,r){return t.url.replace(e.URL_PARAM,(function(e){if((e=e.slice(1,e.length))in r)return r[e].toString();t.log.error(new Error("\n preparing url["+t.url+"] failed\n \n parameter["+e+"] not detected in params:\n \n "+JSON.stringify(r,null,2)+"\n "))}))}})),Me=Oe((function(t,e){e.__esModule=!0,e.Log=void 0;var r=function(){function t(t){this.emitter=t}return t.prepare=function(t,e){var r=document.createEvent("Event");return r.initEvent(t,!1,!0),r.ns=t,r.data=e,r},t.of=function(e){return new t(e)},t.prototype.info=function(e){this.emitter.dispatchEvent(t.prepare(t.NAMESPACE.INFO,e))},t.prototype.error=function(e){this.emitter.dispatchEvent(t.prepare(t.NAMESPACE.ERROR,e))},t.prototype.warn=function(e){this.emitter.dispatchEvent(t.prepare(t.NAMESPACE.WARN,e))},t.NAMESPACE={INFO:"tracker:info",ERROR:"tracker:err",WARN:"tracker:warn"},t}();e.Log=r})),Ne=Oe((function(t,e){var r;e.__esModule=!0,e.Verb=void 0,(r=e.Verb||(e.Verb={})).POST="POST",r.PUT="PUT",r.GET="GET"})),Fe=Oe((function(t,e){var r=Re&&Re.__createBinding||(Object.create?function(t,e,r,i){void 0===i&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){void 0===i&&(i=r),t[i]=e[r]}),i=Re&&Re.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),n=Re&&Re.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.hasOwnProperty.call(t,n)&&r(e,t,n);return i(e,t),e},s=Re&&Re.__spreadArrays||function(){for(var t=0,e=0,r=arguments.length;e<r;e++)t+=arguments[e].length;var i=Array(t),n=0;for(e=0;e<r;e++)for(var s=arguments[e],a=0,o=s.length;a<o;a++,n++)i[n]=s[a];return i},a=Re&&Re.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};e.__esModule=!0;var o=a(Pe),l=a(Ce),u=n(xe),d=n(Ie),c=function(){function t(e,r){var i=this;void 0===r&&(r={});var n=this;if(this.emitter=e,this.url=r.url,this.log=Me.Log.of(this.emitter),this.verb=r.verb,this.metadata=d.merge({},r.metadata||{}),this.rq=r.rq||o.default,this.events=r.events||[],this.required_keys=r.required_keys||[],this.optional_keys=r.optional_keys||[],this.listeners=[],this.valid_keys=this.required_keys.slice(0).concat(this.optional_keys),t.assert_emitter_api(this.emitter),void 0===t.verb[this.verb])throw new Error("invalid HTTP verb["+this.verb+"] passed");if("string"!=typeof this.url)throw new Error("invalid API url["+this.url+"] passed");t.TRACKERS.push(this),n.events.forEach((function(e){t.create_listener(i,e,(function(r){void 0===r&&(r={});var s=d.merge(n.metadata,{event_type:e},r.data||r),a=u.prepare_url(n,s),o=t.pluck_valid_keys(n,s),c=t.ensure_required_keys(n,o);if(c.length)return n.log.error("Tracker.validate_metadata() failed for \n Event["+e+"]\n missing keys: "+c+"\n payload:\n "+JSON.stringify(o,null,2));l.default.rpush(i.rq,[a,i.verb,o])}))}))}return t.of=function(e,r){return new t(e,r)},t.ensure_required_keys=function(t,e){return t.required_keys.filter((function(t){return!(t in e)}))},t.pluck_valid_keys=function(t,e){return d.pluck.apply(d,s([e],t.valid_keys))},t.merge_metadata=function(e,r){return void 0===r&&(r={}),e.metadata=t.pluck_valid_keys(e,d.merge(e.metadata,r)),e},t.assert_emitter_api=function(t){if("function"!=typeof(t||{}).addEventListener)throw new Error("Tracker() received an emitter that does not implement the addEventListener method");if("function"!=typeof(t||{}).removeEventListener)throw new Error("Tracker() received an emitter that does not implement the removeEventListener method")},t.create_listener=function(t,e,r){t.listeners.push([e,r]),t.emitter.addEventListener(e,r)},t.prototype.destroy=function(){var e=this;this.listeners.forEach((function(t){var r=t[0],i=t[1];return e.emitter.removeEventListener(r,i)})),delete this.rq,delete this.emitter,d.remove(t.TRACKERS,this)},t.prototype.put=function(e){return void 0===e&&(e={}),t.merge_metadata(this,e),this},t.TRACKERS=[],t.QUEUE=o.default,t.verb=Ne.Verb,t}();e.default=c})),Ue=Oe((function(t,e){var r=Re&&Re.__createBinding||(Object.create?function(t,e,r,i){void 0===i&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){void 0===i&&(i=r),t[i]=e[r]}),i=Re&&Re.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),n=Re&&Re.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.hasOwnProperty.call(t,n)&&r(e,t,n);return i(e,t),e},s=Re&&Re.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};e.__esModule=!0,e.API=e.Tracker=void 0;var a=s(Fe);e.Tracker=a.default;var o=n(xe);e.API=o})),Be="ping",je="display",Ge="view";const He=["sitegroup_id","session_id","media_id","site_id","player_id","video_type"],Ve=["created","position"],Ke=["player_version","created","source","category","category_id","autoplay","muted","customer_user_id"];function qe(t,e){return t.duration/1===t.duration&&Object.assign(e,function(t){const e=t/100;return{segment_duration:e,breakpoints:Array(...Array(100)).map((function(t,r){return Math.floor(r*e*1e3)/1e3}))}}(t.duration))}function We(t,e,r){if(!e.segment_duration&&!qe(t,e))return;const i=function(t,e,r){const i=e.last_idx,n=r?99:ze(t,e);return e.last_idx=n,n<=i?[]:e.breakpoints.slice(i,99==n?100:n).map((function(t){return e.breakpoints.indexOf(t)}))}(t,e,r);0!=i.length&&t.emit(Be,{position:i})}function ze(t,e){return Math.min(Math.floor(t.currentTime/e.segment_duration),99)}function Ye(){try{return window.location!==window.parent.location?document.referrer:document.location.href}catch(t){return!1}}const Xe="vod",Qe="live",$e=[je,Be,Ge];function Ze(t,e,r){switch(null==e?void 0:e.kind){case"live":return function(t,e){const r=Date.now();r-e.last_tracked_ts<6e4||(e.last_tracked_ts=r,++e.ticks,t.emit(Be,{position:60*e.ticks}))}(t,e);case"vod":return We(t,e,"boolean"==typeof r&&r)}}function Je(t){const e=t.ads;return void 0!==e&&(void 0!==e.schedule&&("function"==typeof e.hasPreroll&&(e.currentRequests?e.currentRequests:!!e.adPlaying||!(!e.hasPreroll()||0!=e.nextIndex))))}class Analytics$1{init(t,e,r){if(!ce.from_token(t.token||"").is_granted(ce.permissions.ANALYTICS))return;if(r.hasState("consent-no-tracking"))return;if(r.analytics)return;const i=r.analytics={ticker:void 0,last_media_id:"",ended:!1},n={locked:!1,ttl:6e3,task:()=>{Ze(r,i.ticker)}};const s={session_id:r.deviceId(),autoplay:r.autoplay,muted:r.muted,player_id:t.player_id,customer_user_id:t.customer_user_id,player_version:"3.4.3-rc.0"},a=Ue.Tracker.of(r,{verb:Ue.Tracker.verb.POST,url:"https://ptm.flowplayer.com/:video_type/:sitegroup_id/:event_type",events:$e,required_keys:He,optional_keys:Ke.concat(Ve).slice(0),metadata:s});r.on(L,(function(){a&&a.destroy()})),r.on(w,(function(e){if(!a)return;const n=Ft(e,"data.metadata",{});if(!n.media_id)return;const s=Ft(a,"metadata.media_id");if(s&&n.media_id==s)return;const o=Ft(t,"analytics",{});a.put(n),a.put(o);const l=Ft(t,"metadata.live_start_time",t.live)?Qe:Xe;a.put({video_type:l,source:t.source||Ye()||""}),i.ticker=t.live?{ticks:0,last_tracked_ts:Date.now(),kind:"live"}:{last_idx:0,segment_duration:0,breakpoints:[],kind:"vod"},i.ended=!1,r.emit(je)}));let o=0;r.on(E,(function(){if(!a)return;if(o||function(t,e){return t.metadata.media_id&&t.metadata.media_id==e.last_media_id}(a,i))return;a.put({muted:r.muted});const t=Je(r);if(t)return o=Promise.resolve(t).then((function(){i.last_media_id=a.metadata.media_id,r.emit(Ge),o=0})).catch((function(){o=0}));i.last_media_id=a.metadata.media_id,r.emit(Ge)})),r.on("timeupdate",(function(){var e;a&&(o||Je(r)||i.ended||(!t.live&&r.currentTime+.25>=r.duration&&Ze(r,i.ticker,!0),(e=n).locked||(e.locked=setTimeout((function(){return e.task(),function(t){return t.locked=!1,t}(e)}),e.ttl))))})),r.on(S,(function(){a&&i.ticker&&"vod"==i.ticker.kind&&function(t,e){qe(t,e),e.last_idx=ze(t,e)}(r,i.ticker)})),r.on(b,(function(){a&&function(t,e){e.ended||(e.ended=!0,Ze(t,e.ticker))}(r,i)}))}}var tr;function er(t){switch(t){case tr.MEDIA_PLAYBACK_ABORTED:return"media playback was aborted";case tr.MEDIA_ERR_NETWORK:return"a network error occurred";case tr.MEDIA_ERR_DECODE:return"unable to decode media content";case tr.MEDIA_ERR_SRC_NOT_SUPPORTED:return"unsupported media type";case tr.NO_INTERNET:return"no internet connection detected";case tr.MIXED_CONTENT:return"cannot load insecure content in a secure context";default:return"an unknown error occurred"}}function rr(){}function ir(){return"https:"===location.protocol}function nr(t){const e=document.createElement("a");return e.href=t,e}function sr(t){try{return!!new URL(t)}catch(t){return!1}}ie(ne(),Analytics$1),"undefined"!=typeof window&&window.matchMedia&&[D,R].forEach((function(t){window.matchMedia("(orientation: "+t+")").addListener((function(r){e.length&&e.forEach((function(e){r.matches&&e.emit(t)}))}))})),function(t){t[t.UNKNOWN=-1]="UNKNOWN",t[t.MEDIA_PLAYBACK_ABORTED=1]="MEDIA_PLAYBACK_ABORTED",t[t.MEDIA_ERR_NETWORK=2]="MEDIA_ERR_NETWORK",t[t.MEDIA_ERR_DECODE=3]="MEDIA_ERR_DECODE",t[t.MEDIA_ERR_SRC_NOT_SUPPORTED=4]="MEDIA_ERR_SRC_NOT_SUPPORTED",t[t.MIXED_CONTENT=1001]="MIXED_CONTENT",t[t.NO_INTERNET=1002]="NO_INTERNET"}(tr||(tr={}));function ar(t,e){if(e.message)return e.message;if(e.stack)return e.stack;const r=e.code||-1,i=er(r);return t.i18n("media_errors."+r,i)}const or=()=>!0===(navigator||{}).onLine;function lr(t,e,r){const n=r.togglePlay;r.on(i,(function(t){const e=t.data||r.error,s="Error: %s\n"+(null===(a=(new Error).stack)||void 0===a?void 0:a.split("\n").slice(2).join("\n"));var a;setTimeout((function(){const a=xt(r,O);if(t.defaultPrevented||!a||r.root.querySelector("#qul_error"))return;if("AbortError"==e.name)return;r.setState("is-error",!0),r.togglePlay=rr;const o=function(t,e){return{code:"http:0"===e.code?ur(t):e.code,message:ar(t,e)}}(r,e);console.error(s,o.message);let l=xt(r,"flowplayer-error");l||(l=gt(r,"flowplayer-error"),a.append(l)),zt(l,i,{data:e,formatted_data:o}),r.once(m,()=>{r.togglePlay=n,r.setState("is-error",!1),null==l||l.remove()})}))}))}function ur(t){return function(t){try{return ir()&&"http:"==nr(t).protocol}catch(t){return!1}}(t.original_src)?{code:tr.MIXED_CONTENT}:or()?{code:tr.MEDIA_ERR_NETWORK}:or()?{code:tr.UNKNOWN}:{code:tr.NO_INTERNET}}var dr=Object.freeze({__proto__:null,NO_FULLSCREEN:1,NO_VOLUME_CONTROL:2,NO_MUTE:4,LOGO_ON_RIGHT:8,USE_DRAG_HANDLE:16,USE_PLAY_2:32,USE_PLAY_3:64,USE_THIN_CONTROLBAR:128,NO_TITLE:256,NO_DESCRIPTION:512,NO_CONTROLS:1024,NO_DURATION:2048,NO_HEADER:4096,AUDIO_ONLY:8192,NO_TOUCH_ZONES:16384});function cr(t,e,r){let i=()=>document.fullscreenElement,n="fullscreenchange";if(!Element.prototype.requestFullscreen){const t=Element.prototype,e=document;t.webkitRequestFullScreen&&(t.requestFullscreen=t.webkitRequestFullScreen,e.fullscreenEnabled=!0),e.webkitCancelFullScreen&&(document.exitFullscreen=e.webkitCancelFullScreen),n="webkit"+n,i=()=>e.webkitCurrentFullScreenElement}const a=()=>r.getFullsceenTarget?r.getFullsceenTarget():e;r.toggleFullScreen=function(t,e){if(r.ios_fullscreen_disabled)return;if("boolean"!=typeof t&&(t=!r.hasState("is-fullscreen")),hr(r)&&(t?function(t){t.getAttribute("playsinline")&&t.removeAttribute("playsinline");t.getAttribute("webkit-playsinline")&&t.removeAttribute("webkit-playsinline");t.webkitEnterFullScreen()}(r):function(t,e){t.getAttribute("playsinline")||t.setAttribute("playsinline","");t.getAttribute("webkit-playsinline")||t.setAttribute("webkit-playsinline","");e||t.webkitExitFullScreen();t.togglePlay(!1),t.hasState(at)||t.setState(at,!0)}(r,e)),!document.fullscreenEnabled)return;const n=a();if(t)return n.requestFullscreen();i()===n&&document.exitFullscreen()},hr(r)&&(r.ios_fullscreen_disabled=!0,r.once("beforeplay",(function(){r.ios_fullscreen_disabled=!1})),r.on("webkitendfullscreen",(function(){r.toggleFullScreen(!1,!0)}))),setTimeout(()=>{const t=a();t.addEventListener(n,(function(){const e=i(),n=e===t||e==r;r.emit(n?h:f),r.setState("is-fullscreen",n)}))},0),!1!==t.doubleclick&&e.addEventListener(s,(function(t){var e;t.target&&(null===(e=t.target)||void 0===e?void 0:e.classList.contains("fp-ui"))&&r.toggleFullScreen()}))}function hr(t){return r().ios&&"function"==typeof t.webkitEnterFullScreen&&"function"==typeof t.webkitExitFullScreen}function fr(t,e){const r=t.seekable;if("object"!=typeof t.opts||0==r.length)return{head:0,tail:0};const i=r.end(r.length-1),n=e||t.live_state.dvr_window;return{head:i,tail:"number"!=typeof n||i-n<0?r.start(0):i-n}}function pr(t){return t.opt("live",!1)||t.duration>=Number.MAX_SAFE_INTEGER}function gr(t){return isFinite(t.duration)?t.duration:0==t.seekable.length?0:fr(t).head}function vr(t){return function(t){return fr(t).head}(t)-.5}function mr(t,e,r){if(!r.reaper)return;const i=document.createDocumentFragment(),n=gt(r,O);i.appendChild(n),r.reaper.set("ui",n),~e.className.indexOf("use-play-")||e.classList.add("use-play-1"),function(t,e,r){const i=Nt("fp-footer");e.append(i),r.on(w,(function(t){var e,r;const n=null===(e=t.data)||void 0===e?void 0:e.description,s=null===(r=t.data)||void 0===r?void 0:r.title;if(i.innerHTML="","string"==typeof s){const t=Nt("fp-title");t.innerText=s,i.append(t)}if("string"==typeof n){const t=n.split(" "),e=Nt("fp-desc");for(e.innerText=t.join(" "),i.append(e);t.length>1&&e.scrollHeight>e.offsetHeight;)t.pop(),e.innerText=t.join(" ")+"..."}}))}(0,e,r),lr(0,0,r),e.appendChild(i),[o,l].forEach(t=>{e.addEventListener(t,(function(t){r.setState("is-hovered",t.type==o),r.setState("is-accessibility",!1)}))}),cr(t,e,r),r.on("volumechange",(function(){const t=0==r.volume||r.muted;r.setState("is-muted",t),r._storage.setItem("mute",t.toString())})),"true"==r._storage.getItem("mute")&&(r.muted=!0,r.setState("is-muted",r.muted));const s=r._storage.getItem("volume");s&&!isNaN(Number(s))&&(r.volume=Number(s)),r.emit("volumechange"),r.on("dvr/window",e=>{t.live&&(r.live_state.dvr=r.seekable.length>0&&function(t,e,r){if(0==e)return!0;const i=fr(t,r);return i.head-i.tail>=e}(r,t.seconds_to_dvr||60,e.detail),r.live_state.dvr_window=e.detail)}),r.on("live",()=>{const t=setInterval(()=>{if(r.opts.live&&!r.hasState("is-error")&&0!=r.reaper||clearInterval(t),0==r.seekable.length)return;const e=function(t){var e;const r=t.currentTime,i=fr(t),n=!t.hasState("is-chromecast-playing")&&(null===(e=t.hls)||void 0===e?void 0:e.liveSyncPosition);return{progress:Math.min(100,Math.max(0,(r-i.tail)/(i.head-i.tail)*100)),is_live:r-(n||i.head)>=-10}}(r);r.hasState(nt)==e.is_live&&r.setState(nt,!e.is_live),r.live_state.dvr&&r.emit("dvr",e.progress)},200)}),r.on(p,(function(){r.setOpts({live:pr(r)})})),r.on("durationchange",(function(t){const e=pr(r),i=e?gr(r):t.data||r.duration;isNaN(i)||r.setOpts({live:e,duration:i})})),r.on(w,(function(r){var i,n;t.seekable=void 0===(null===(i=null==r?void 0:r.data)||void 0===i?void 0:i.seekable)||r.data.seekable;const s=null===(n=r.data)||void 0===n?void 0:n.ui;if("number"!=typeof s)return;const a=e.classList;a.toggle("use-play-1",!(32&s||64&s)),a.toggle("use-play-2",(32&s)>0),a.toggle("use-play-3",(64&s)>0),a.toggle("use-thin-controlbar",(128&s)>0),a.toggle("no-title",(256&s)>0),a.toggle("no-description",(512&s)>0),a.toggle("logo-on-right",(8&s)>0),a.toggle("use-drag-handle",(16&s)>0),a.toggle("no-controls",(1024&s)>0),a.toggle("no-duration",(2048&s)>0),a.toggle("no-header",(4096&s)>0),a.toggle("no-mute",(4&s)>0),a.toggle("no-volume",(2&s)>0),a.toggle("no-fullscreen",(1&s)>0),a.toggle("no-touch-zones",(16384&s)>0)}));let a=null;[u,d].forEach(t=>n.addEventListener(t,(function(t){r.hasState("is-touch-device")&&t.type===u||("number"==typeof a&&clearTimeout(a),r.setState("is-hovered",!0),a=0==r.paused&&setTimeout((function(){r.setState("is-hovered",!1)}),2e3))})))}function yr(t,e,r){if(ce.from_token(t.token||"").is_granted(ce.permissions.NO_METERING))return;const i=le.id(t.token||"");i&&r.once(E,()=>function(t,e){fetch("https://pmi.flowplayer.com/in",{method:"POST",body:JSON.stringify({token_id:e,factor:1,rnd:Math.random().toString(36).substring(2)})}).then(e=>{401==e.status&&t.emit("error:fatal",{reason:"token",details:"The token online validation failed"})})}(r,i))}var Er={ads:{ad:"Ad",ads:"Ads",advertisement:"Advertisement"},audio:{button_txt:"Audio",menu_title:"Audio"},core:{exit_fullscreen:"Exit fullscreen",fullscreen:"Fullscreen",mute:"Mute",pause:"Pause",play:"Play",unmute:"Unmute",volume:"Volume"},ovp:{starting_in:"Countdown"},playlist:{cancel:"Cancel",up_next:"Up next"},qsel:{menu_title:"Quality"},share:{clipboard_failure:"Access to clipboard failed",clipboard_success:"The text is now on your clipboard",embed:"Embed",link:"Link",menu_title:"Share"},speed:{menu_title:"Speed"}};class I18n{init(t,e,r){r.reaper&&r.reaper.set("translations",Gt(I18n,t,"en"))}}I18n.en=Er;const Tr="health:record",_r="rebuffer";var br=Object.freeze({__proto__:null,RECORD:Tr,REBUFFER:_r,DISPLAY:"display"});function Sr(t,e){const r=function(){try{return localStorage.getItem("flowplayer/debug")}catch(t){return""}}(),i=(i,...n)=>{const s=(null==e?void 0:e.debug)||r;s&&t.match(s)&&console.log(`flowplayer/${t} -- ${i}`,...n)};return i.log=i,i}const Ar=navigator;function Lr(t){var e,r;const i=null===(e=t.hls)||void 0===e?void 0:e.bandwidthEstimate;return i?1e-6*i:(null===(r=Ar.connection)||void 0===r?void 0:r.downlink)||-1}function wr(t,e){return function(t,e){return"function"==typeof navigator.sendBeacon&&navigator.sendBeacon(t,e)}(t,JSON.stringify({events:e}))}const Dr="https://ljsp.lwcdn.com".concat("/web/public/countdown/time.json"),Rr=window,kr=Rr._flowplayerTimekeeper||(Rr._flowplayerTimekeeper={});async function Or(){const t=kr.cachedServerOffset;if(t)return t;const e=kr.pendingRequest||(kr.pendingRequest=fetch(Dr)),r=await e,i=parseInt(r.headers.get("age")||"0"),n=await r.json(),s=Date.now()-n.millisUtc-1e3*i;return kr.cachedServerOffset=s,kr.cachedServerOffset}const Ir=t=>{switch(t){case!0:return yt.ON;case!1:return yt.OFF;default:return t}},Cr=[];function Pr(t){if(t.suspended)return;const e=Cr.slice(0);Cr.length=0,0!=e.length&&(t.logger.log(`:dispatch events={${e.length}}`),wr("https://ihi.flowplayer.com/v1/health/events",e))}async function xr(t,e,r){const i=await Nr();Cr.push(Object.assign(e,i)),t.logger.log(":enqueue",e.event,e),Cr.length<10&&!r||Pr(t)}const Mr=()=>{var t,e;try{const r=window;return null===(e=null===(t=null==r?void 0:r.google)||void 0===t?void 0:t.ima)||void 0===e?void 0:e.VERSION}catch(t){return}},Nr=async()=>{const t=Date.now();try{return{adjusted_time:t-await Or(),client_time:t}}catch(e){return{client_time:t}}},Fr=(t,e)=>Object.assign(t,{detail:e}),Ur=(t,{event:e,media_session_id:r,session_id:i})=>({event:e,media_session_id:r,session_id:i,device_id:t.deviceId(),version:"3.4.3-rc.0",commit:"cdd0812b4480d1446c53c18eab4470003271ed50",ima_sdk_version:Mr(),preload:t.opt("preload"),autoplay:Ir(t.opt("autoplay")),live:t.opt("live"),dvr:!!t.live_state.dvr,source:t.original_src,downlink_mbs:Lr(t),page_url:Ye(),player_id:t.opt("metadata.player_id"),media_id:t.opt("metadata.media_id"),site_id:t.opt("metadata.site_id"),category_id:t.opt("metadata.category_id"),sitegroup_id:t.opt("metadata.sitegroup_id"),token:t.token,plugins:t.plugins.map(t=>t.constructor.name).sort((t,e)=>t.localeCompare(e)),current_time:t.currentTime,external_media_id:t.opt("external_media_id")}),Br=t=>({bitrate:null==t?void 0:t.bitrate,resolution:null==t?void 0:t.attrs.RESOLUTION,frame_rate:null==t?void 0:t.attrs["FRAME-RATE"]});function jr(t,e,r,i){const n=Ur(e,t.eventInfo(r)),{before:s,after:a}=i;xr(t,((t,e,r)=>Object.assign(t,{state:{before:e,after:r}}))(n,Br(s),Br(a)))}const Gr=(t,e)=>{let r=null;return(...i)=>{null!==r&&(clearTimeout(r),r=null),r=setTimeout(()=>e(...i),t)}},Hr=Vt();class Health{constructor(t,e){this.session_id=Hr,this.suspended=!1,this.logger=Sr("health",e.opts),this.media_session_id=Vt(),this.analyticsLoop=setInterval(()=>Pr(this),2e3),e.on(L,()=>clearInterval(this.analyticsLoop));const r=this;if(e.health={get media_session_id(){return r.media_session_id},set media_session_id(t){r.media_session_id=t},get session_id(){return r.session_id},set session_id(t){r.session_id=t},toggle(t){t?r.resume():r.suspend()}},!Health._UNLOAD_SUBSCRIBED){Health._UNLOAD_SUBSCRIBED=!0;const e=e=>t.instances.forEach(t=>t.emit(e.type));document.addEventListener("visibilitychange",t=>{"hidden"==document.visibilityState&&e(t)}),window.addEventListener("pagehide",e)}}eventInfo(t){return{event:t,media_session_id:this.media_session_id,session_id:this.session_id}}suspend(){this.suspended=!0,clearInterval(this.analyticsLoop)}resume(){this.suspended=!1,this.analyticsLoop=setInterval(()=>Pr(this),2e3)}init(t,e,r){!function(t){t.on(T,(function(e){t.seeking||t.networkState===t.NETWORK_LOADING&&t.readyState!==t.HAVE_NOTHING&&t.emit(_r)}))}(r),r.on("display",t=>{xr(this,Ur(r,this.eventInfo(t.type)),!0)}),r.on(Tr,({detail:t})=>{const e=Ur(r,this.eventInfo(t.event));Object.assign(e,t.detail||{}),xr(this,e)}),[_,m,a,p,g,v,T,_r].forEach(t=>{r.on(t,t=>{xr(this,Ur(r,this.eventInfo(t.type)))})}),[E,y,A,S,b,h,f].forEach(t=>{r.on(t,t=>{xr(this,Ur(r,this.eventInfo(t.type)))})}),r.on("volumechange",Gr(800,t=>{const e=Ur(r,this.eventInfo(t.type));xr(this,Fr(e,{volume:parseFloat(r.volume.toFixed(2)),muted:r.muted}))})),r.on("resize",Gr(800,t=>{const i=Ur(r,this.eventInfo(t.type));xr(this,Fr(i,{height:e.clientHeight,width:e.clientWidth}))})),r.on("hls/failover",t=>{const e=Ur(r,this.eventInfo(t.type)),i=t.detail,{reason:n,from:s}=i;xr(this,Fr(e,{reason:n,from:s}))}),r.on("qualitychange",({type:t,detail:e})=>{switch(e.kind){case"hls":return jr(this,r,t,e)}});let n=Date.now()+5e3;r.on("timeupdate",t=>{if(Date.now()<n)return;n=Date.now()+5e3;const e=Ur(r,this.eventInfo(t.type));var i;xr(this,Fr(e,{duration:(i=r.duration,Number.isFinite(i)?i:i===1/0?-1:void 0)}))}),r.addEventListener(i,t=>{const e=Ur(r,this.eventInfo(t.type)),i=t.error||r.error;if(!i)return xr(this,e,!0);const n=i.code,s={error_message:i.message||er(n),error_code:n,error_stack:i.stack||""};return xr(this,Fr(e,s),!0)}),r.on("src",t=>{var e;const i=null===(e=t.detail)||void 0===e?void 0:e.src;if("string"!=typeof i)return;if(!sr(r.original_src))return;if(!sr(i))return;if(i==r.original_src)return;this.media_session_id=Vt();xr(this,Ur(r,this.eventInfo(t.type))),Pr(this)}),r.on("visibilitychange",t=>{xr(this,Ur(r,this.eventInfo(t.type))),Pr(this)})}}Health.events=br,Health._UNLOAD_SUBSCRIBED=!1,ie(window,Health);class FlowplayerComponent extends HTMLElement{constructor(t){super(),this.player=t}}class FlowplayerPrimary extends FlowplayerComponent{constructor(t){super(t),this.classList.add("fp-primary");const e={logo:""};t.on(w,t=>{var r,i;const n=e.logo,s=(null===(r=null==t?void 0:t.data)||void 0===r?void 0:r.logo)||"";n!=s&&(e.logo=s,this.set_logo(s,null===(i=null==t?void 0:t.data)||void 0===i?void 0:i.logo_href))})}set_logo(t,e){if(this.innerHTML="",!t)return;const r=document.createElement("img");if(r.classList.add("fp-logo"),r.src=t,!e)return this.append(r);const i=document.createElement("a");i.href=e,i.append(r),this.append(i)}}class FlowplayerHeaderDuration extends FlowplayerComponent{constructor(t){super(t),this.classList.add("fp-duration"),t.on(w,t=>{var e;const r=(null===(e=null==t?void 0:t.data)||void 0===e?void 0:e.duration)||NaN;this.innerText=isFinite(r)?Bt(r):""})}}const Vr={name:"fp-fullscreen",translation_key:"core.fullscreen"},Kr={name:"fp-fullscreen-exit",translation_key:"core.exit_fullscreen"},qr={name:"fp-play",translation_key:"core.play"},Wr={name:"fp-pause",translation_key:"core.pause"},zr={translation_key:"core.mute",name:"fp-volume-mute-unmute"},Yr={translation_key:"core.play",name:"fp-small-play"},Xr={translation_key:"core.pause",name:"fp-small-pause"},Qr={name:"fp-fast-forward"},$r={name:"fp-rewind"};class FlowplayerIcon extends FlowplayerComponent{constructor(t,e){super(t),this.classList.add("fp-icon",e.name),e.title&&this.setAttribute("title",e.title),e.title&&this.setAttribute("aria-label",e.title),e.translation_key&&this.setAttribute("aria-label",t.i18n(e.translation_key)),this.setAttribute("tabindex","0"),this.setAttribute("focusable","true")}}document.addEventListener(n,(function(t){this.active_menu&&!t.composedPath().includes(this.active_menu)&&(Array.from(document.querySelectorAll(".fp-engine")).forEach(t=>{var e;const r=t.root.querySelector("details[open].fp-menu-container");r&&(r.open=!1,null===(e=r.querySelector("summary"))||void 0===e||e.removeAttribute("aria-expanded"),t.root.classList.toggle("has-menu-opened",!1))}),this.active_menu=void 0)}));const Zr={passive:!0};var Jr;function ti(t,e){let r=0,i=-1,n=-1;const s=Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,5),a=t.classList;t.id=s,a.remove(Jr.GRABBING),a.remove(Jr.TOUCHING);const o=e.onseek||rr,l=e.onstart||rr,h=e.onend||rr,f=e.onmouse||rr,p=e.ontouch||rr,g=e.ontouchend||rr;function v(e){!function(){const e=t.getBoundingClientRect();r=e.left,i=e.width}();let n=(function(t){return"function"==typeof window.TouchEvent&&t instanceof TouchEvent}(e)?e.changedTouches[0].pageX:e.pageX)-r;return n>i&&(n=i),n<0&&(n=0),n/i*100}function m(e){const r=v(e);r!=n&&(o(t,r),n=r)}return t.addEventListener("touchstart",(function(e){ei(t,e)&&(a.add(Jr.TOUCHING),ri(t.parentElement)&&(a.add(Jr.GRABBING),p(t,v(e)),l(t,v(e)),m(e)))}),Zr),t.addEventListener(d,(function(e){m(e),f(t,v(e))}),Zr),t.addEventListener(c,(function(e){setTimeout((function(){a.remove(Jr.TOUCHING)}),500),ei(t,e)&&(a.remove(Jr.GRABBING),g(t,v(e)),h(t,v(e)),i=0)}),Zr),t.addEventListener("touchcancel",(function(){a.remove(Jr.GRABBING,Jr.TOUCHING),i=0}),Zr),t.addEventListener("mousedown",(function(e){a.contains(Jr.TOUCHING)||(document.addEventListener(u,m),a.add(Jr.GRABBING),l(t,v(e)),e.preventDefault(),m(e))})),t.addEventListener(u,(function(e){a.contains(Jr.TOUCHING)||f(t,v(e))})),document.addEventListener("mouseup",(function(e){a.contains(Jr.TOUCHING)||(document.removeEventListener(u,m),a.contains(Jr.GRABBING)&&(a.remove(Jr.GRABBING),h(t,v(e)),i=0))})),t}function ei(t,e){const r=e.target;return!!r&&(r&&!r.closest(t.id)||!ri(t.parentElement)||!t.classList.contains(Jr.TOUCHING))}function ri(t){if(!t)return!1;const e=window.getComputedStyle(t);return"0"!==e.width&&"0"!==e.height&&"0"!==e.opacity&&"none"!==e.display&&"hidden"!==e.visibility}!function(t){t.GRABBING="has-grab",t.TOUCHING="has-touch"}(Jr||(Jr={}));class FlowplayerVolumeBar extends FlowplayerComponent{constructor(t){super(t),this.className="fp-volume";const e=t.root.classList,r=e.contains("is-tiny")?6:e.contains("is-small")?8:10,i=Array.from({length:r}).map(()=>{const t=document.createElement("i");return t.className="fp-tick",t});this.append(...i),ti(this,{onseek:(e,r)=>{r>0&&(t.muted=!1,t._storage.removeItem("mute")),t._storage.setItem("volume",(t.volume=r/100).toString()),this.adjustVolumeSlider(t.volume)}}),this.setAttribute("tabindex","0"),this.setAttribute("role","slider"),this.setAttribute("aria-valuemin","0"),this.setAttribute("aria-valuemax","1"),this.setAttribute("aria-label",t.i18n("core.volume","volume")),t.on("volumechange",()=>{const e=0==t.volume||t.muted;e&&this.adjustVolumeSlider(0);const r=t.opt("ui");this.classList.contains(Jr.GRABBING)||e&&"number"==typeof r&&(4&r)>0||this.adjustVolumeSlider(t.volume)})}adjustVolumeSlider(t){this.setAttribute("aria-valuenow",t.toString()),this.setAttribute("aria-valuetext",Math.round(100*t)+"%");const e=Array.from(this.querySelectorAll(".fp-tick")),r=Math.round(t*e.length);e.forEach((t,e)=>{t.classList.toggle("fp-color",e<r)})}}function ii(t,e){if(!t.parentElement)return;const r=t.clientWidth/t.parentElement.clientWidth*100/2;t.style.left=e-r+"%",t.style.display="block"}function ni(t,e){if(isNaN(t.duration))return;const r=t.buffered;r.length&&(e.style.width=Math.min(r.end(r.length-1)/t.duration*100,100)+"%")}function si(t,e){t.style.width="0",e.style.display="none"}function ai(t,e,r){if(!e.seekable||0==e.seekable.length)return;ii(r,t);const i=fr(e),n=(100-Math.max(0,Math.min(t,100)))/100*(i.head-i.tail);r.innerText="-"+Bt(n)}function oi(t,e){t/=100,e.currentTime=function(t,e){if(e>1||e<0)return console.warn("cannot calculate a percent outside of range(0..1)"),0;const r=fr(t);return r.tail+e*(r.head-r.tail)}(e,t)}function li(t,e){t.style.width="0",e.style.display="none"}class FlowplayerTimelineBar extends FlowplayerComponent{constructor(t){let e;super(t),this.bufferEle=Nt("fp-buffer"),this.progress=Nt("fp-progress","fp-color"),this.tooltipEle=Nt("fp-timestamp"),this.proposedSeekBar=Nt("fp-hover"),this.dragger=Nt("fp-dragger","fp-color"),this.classList.add("fp-timeline","fp-bar"),this.tooltipEle.style.display="none",this.setAttribute("role","slider"),this.setAttribute("tabindex","0"),this.setAttribute("aria-label",t.i18n("timeline","Timeline")),this.setAttribute("aria-valuenow","0"),this.progress.append(this.dragger),this.append(this.bufferEle,this.progress,this.proposedSeekBar,this.tooltipEle);let r=!1;const i=requestAnimationFrame;let n=void 0;const s=()=>{0==t.reaper||e.live||(!function(t,e){e.style.width=t.currentTime/t.duration*100+"%"}(t,this.progress),n=void 0,t.paused||this.classList.contains(Jr.GRABBING)||n||(n=setTimeout(s,200)))},a=()=>!!this.player.opt("seekable",!0)&&!isNaN(this.player.duration);ti(this,{onseek:(r,i)=>{if(a())switch(!!e.live){case!0:ai(i,t,this.tooltipEle);break;case!1:!function(t,e,r){const i=e.duration*(t/100);if(e.disabled&&i>e.currentTime)return!1;r.style.width=t+"%",e.currentTime=i}(i,t,this.progress),ii(this.tooltipEle,i)}},onstart:()=>{a()&&(t.emit("timeline/gesture/start"),!t.hasState("is-casting")&&t.setState(et,!0),e.live||function(t){t.style.display="block"}(this.tooltipEle))},onend:function(r,n){i(s),0!=e.seekable&&e.live&&oi(n,t)},ontouch:function(){t.paused||(r=!0,t.pause())},ontouchend:()=>{r&&(r=!1,t.play()),e.live?li(this.proposedSeekBar,this.tooltipEle):si(this.proposedSeekBar,this.tooltipEle),setTimeout(()=>t.emit("timeline/gesture/end"),0)},onmouse:(r,i)=>{if(a()&&(t.emit("timeline/gesture/move",{percent:i}),!this.classList.contains(Jr.GRABBING)))switch(!!e.live){case!0:!function(t,e){e.style.width=t+"%"}(i,this.proposedSeekBar),ai(i,t,this.tooltipEle);break;case!1:!function(t,e){e.style.width=t+"%"}(i,this.proposedSeekBar),function(t,e,r){if(isNaN(t)||isNaN(e.duration))return;ii(r,t),r.innerHTML="";const i=document.createElement("span");i.innerText=Bt(t/100*e.duration),r.append(i)}(i,t,this.tooltipEle)}}}),t.on(w,(function(t){t.data&&(e=t.data)})),t.on(E,()=>i(s)),t.on(v,()=>{0==t.reaper||e.live||ni(t,this.bufferEle)}),t.on("dvr",t=>{this.progress.style.width=t.detail+"%"}),t.on("timeupdate",()=>{0!=t.reaper&&(i(s),this.setAttribute("aria-valuenow",t.currentTime+""),this.setAttribute("aria-valuetext",Math.round(t.currentTime)+t.i18n("core.sec","sec")),e.live||ni(t,this.bufferEle))}),t.on(p,()=>{0!=t.reaper&&(e.live||ni(t,this.bufferEle))}),t.on("durationchange",e=>{if(0==t.reaper)return;const r=pr(t)?gr(t):e.data||t.duration;isNaN(r)||(this.setAttribute("aria-valuemax",r+""),this.setAttribute("aria-valuemin","0"))}),this.addEventListener(l,()=>{t.emit("timeline/gesture/end"),e.live?li(this.proposedSeekBar,this.tooltipEle):si(this.proposedSeekBar,this.tooltipEle)})}}class FlowplayerChaptersTimelineBar extends FlowplayerTimelineBar{constructor(t){super(t),this.handleChapters(t)}handleChapters(t){const e=document.createElement("div");let r;this.addEventListener("chapters:new",t=>{e.innerText="",this.querySelectorAll(".fp-chapter").forEach(t=>this.removeChild(t)),t.data&&t.data.forEach(t=>{const i=document.createElement("div");i.className="fp-chapter",i.style.left=t.left,i.style.bottom=i.style.top="0",i.style.width=t.width,i.title=t.title,i.onmouseover=()=>{e.innerText=t.title},i.onmouseleave=()=>{e.innerText=r||""},this.appendChild(i)})}),this.addEventListener("chapter:changed",i=>{var n;const s=i.data;s&&(e.parentNode||(null===(n=xt(t,I))||void 0===n||n.insertAdjacentElement("beforebegin",e),e.classList.toggle("fp-togglable",!0),e.classList.toggle("fp-chapter-info",!0)),r=s,e.innerText=s)})}}class FlowplayerLiveStatus extends FlowplayerComponent{constructor(t){super(t),this.classList.add("fp-live-status");const e=Nt("fp-live-text"),r=Nt("fp-live-indicator","fp-color");e.textContent="live",this.append(r,e),this.addEventListener(n,(function(){!function(t){try{t.dvr_offset=0,t.currentTime=vr(t)}catch(t){console.warn("failed to seek to now: %j",t)}}(t)}))}}class FlowplayerDuration extends FlowplayerComponent{constructor(t){let e;super(t),this.classList.add("fp-duration"),this.setAttribute("aria-hidden","true"),t.on(w,r=>{if(0==t.reaper||!r.data)return;e=r.data;const i=pr(t)?NaN:r.data.duration||0;if(isNaN(i)||i>=Number.MAX_SAFE_INTEGER)return this.style.display="none";this.style.display="inline-block",this.innerText=Bt(i)}),t.on(p,()=>{0==t.reaper||e.live||function(t,e){t.duration&&(e.innerText=Bt(t.duration))}(t,this)})}}class FlowplayerElapsedTime extends FlowplayerComponent{constructor(t){let e;super(t),this.classList.add("fp-elapsed"),this.innerText=Bt(0),this.setAttribute("aria-hidden","true"),t.on(w,t=>{t.data&&(e=t.data)}),t.on("timeupdate",()=>{0!=t.reaper&&(e.live?function(t,e){e.innerText=Bt(t.currentTime)}(t,this):function(t,e){e.innerText=Bt(t.currentTime)}(t,this))})}}class FlowplayerControlButtons extends FlowplayerComponent{constructor(t){super(t),this.classList.add("fp-btns","fp-small-switch");const e=gt(t,V),r=gt(t,H);e.addEventListener("click",(function(){t.togglePlay(),setTimeout((function(){r.focus&&r.focus()}),100)})),r.addEventListener("click",(function(){t.togglePlay(),setTimeout((function(){e.focus&&e.focus()}),100)})),this.append(e,r)}}class FlowplayerLeftRightZone extends FlowplayerComponent{constructor(t,e){super(t),this.classList.add(e);const r=this.classList.contains("fp-left-zone")?-1:1,i=document.createElement("span"),n=gt(t,this.classList.contains("fp-left-zone")?W:"flowplayer-fast-forward-icon");n.removeAttribute("tabindex"),i.classList.add("fp-zone-seconds"),this.append(i,n);t.on(S,()=>{i.innerText=""}),t.on("seek:queued",t=>{const e=t.data;if(!e)return;if("number"!=typeof e.offset)return;const r=e.offset;if(0==r)return this.reset_zone();r>0&&this.classList.contains("fp-right-zone")||r<0&&!this.classList.contains("fp-right-zone")?this.render_zone_state(r):this.reset_zone()}),t.on("seek:cancel",()=>{this.reset_zone()}),this.reset_zone(),this.addEventListener(c,(function(e){isNaN(t.duration)||isNaN(t.currentTime)||16384&t.opt("ui")||t.hasState(st)||!t.hasState("will-seek")&&!t.hasState(at)||t.enqueueSeek(5*r)&&(e.stopPropagation(),e.preventDefault())}))}reset_zone(){const t=this.querySelector(".fp-zone-seconds");t&&(t.innerText="")}render_zone_state(t){const e=this.querySelector(".fp-zone-seconds");e&&(e.innerText=Math.abs(t)+"")}}class FlowplayerError extends FlowplayerComponent{constructor(t){super(t),this.className="fp-error",this.message=document.createElement("p"),this.message.className="error-message",this.append(this.message),this.addEventListener("error",t=>{const e=t.detail;e&&(this.message.textContent=e.formatted_data.message)})}}class FlowplayerHeaderLeftRight extends FlowplayerComponent{constructor(t,e,...r){super(t),this.className=e;const i=t.createComponents(...r);this.append(...i),"fp-left"!==e&&i.forEach(e=>{e.addEventListener(n,()=>t.toggleFullScreen())})}}class FlowplayerMiddleWait extends FlowplayerComponent{constructor(t){super(t),this.classList.add("fp-wait"),Array(...Array(4)).map((t,e)=>e).forEach(()=>{this.append(document.createElement("b"))})}}class FlowplayerMiddleZone extends FlowplayerComponent{constructor(t){super(t),this.classList.add("fp-middle-zone");const e=t.createComponents(G,"flowplayer-middle-buttons");this.append(...e)}}class FlowplayerMiddleButtons extends FlowplayerComponent{constructor(t){super(t),this.classList.add("fp-switch"),[K,q].forEach(e=>{const r=gt(t,e);r.removeAttribute("tabindex"),this.append(r)})}}class FlowplayerVolumeControl extends FlowplayerComponent{constructor(t){super(t),this.classList.add("fp-volume-control");const e=gt(t,z);this.append(e),!r().ios&&this.append(gt(t,M)),e instanceof FlowplayerIcon&&e.addEventListener(n,(function(){t.toggleMute()}))}}class FlowplayerHeader extends FlowplayerComponent{constructor(t){super(t),this.classList.add("fp-header"),this.append(...t.createComponents("flowplayer-header-left-zone",F)),t.reaper&&t.reaper.set("header",this)}}class FlowplayerControls extends FlowplayerComponent{constructor(t){super(t),this.classList.add("fp-controls","fp-togglable"),this.append(...t.createComponents("flowplayer-control-buttons",C,P,x,"flowplayer-control-duration","flowplayer-volume-control"))}}class FullscreenIcon extends FlowplayerIcon{constructor(t,e){super(t,e),this.setAttribute("role","button")}}class FlowplayerMiddle extends FlowplayerComponent{constructor(t){super(t),this.classList.add("fp-middle"),this.append(...t.createComponents("flowplayer-middle-left-zone",j,"flowplayer-middle-right-zone")),this.setAttribute("tabindex","0"),t.reaper&&t.reaper.set("middle",this),this.handleClick(t),this.handleTouch(t),[E,S].forEach(e=>t.once(e,()=>{this.removeAttribute("tabindex"),this.removeAttribute("role"),this.removeAttribute("aria-label")}))}handleClick(t){[n,s].forEach(e=>this.addEventListener(e,(function(e){if(!e.defaultPrevented&&!t.hasState("is-endscreen"))return e.preventDefault(),t.emit(e.type),!1}))),t.on(n,(function(e){setTimeout((function(){e.defaultPrevented||t.hasState(it)||t.togglePlay()}),0)})),t.on(s,(function(e){setTimeout((function(){e.defaultPrevented||t.toggleFullScreen()}),0)}))}handleTouch(t){let e=!1;this.addEventListener(c,(function(e){e.cancelable&&!t.hasState("is-endscreen")&&(e.preventDefault(),t.emit(e.type,{source:e}))})),t.on(c,(function(r){setTimeout((function(){if(r.defaultPrevented)return;if(t.hasState(it))return;if(t.ended)return t.togglePlay(!0);const i=t.hasState(tt);e&&clearTimeout(e),(i||t.hasState(at)||t.hasState("no-autoplay"))&&(t.hasState(at)&&(t.setState(at,!1),t.setState("is-hovered",!1)),t.togglePlay(),i)||(t.setState(at,!0),t.paused||(e=setTimeout((function(){e=!1,t.setState(at,!1),t.setState("is-hovered",!1)}),2e3)))}),0)}))}}class FlowplayerUi extends FlowplayerComponent{constructor(t){super(t),this.classList.add("fp-ui"),this.append(...t.createComponents(N,B,I))}}De.extensions.unshift.apply(De.extensions,[I18n,Analytics$1,Health,class Default{constructor(t){vt(t,O,FlowplayerUi),vt(t,"flowplayer-error",FlowplayerError),vt(t,I,FlowplayerControls),vt(t,C,FlowplayerLiveStatus),vt(t,"flowplayer-control-duration",FlowplayerDuration),vt(t,x,t.extensions.find(t=>"Chapters"===t.name)?FlowplayerChaptersTimelineBar:FlowplayerTimelineBar),vt(t,P,FlowplayerElapsedTime),vt(t,M,FlowplayerVolumeBar),vt(t,"flowplayer-volume-control",FlowplayerVolumeControl),vt(t,"flowplayer-control-buttons",FlowplayerControlButtons),vt(t,N,FlowplayerHeader),vt(t,U,FlowplayerPrimary),vt(t,"flowplayer-header-duration",FlowplayerHeaderDuration),vt(t,"flowplayer-header-left-zone",class extends FlowplayerHeaderLeftRight{constructor(t){super(t,"fp-left",U,"flowplayer-header-duration")}}),vt(t,F,class extends FlowplayerHeaderLeftRight{constructor(t){super(t,"fp-right fp-togglable","flowplayer-fullscreen-enter-icon","flowplayer-fullscreen-exit-icon")}}),vt(t,B,FlowplayerMiddle),vt(t,j,FlowplayerMiddleZone),vt(t,G,FlowplayerMiddleWait),vt(t,"flowplayer-middle-buttons",FlowplayerMiddleButtons),vt(t,"flowplayer-middle-right-zone",class extends FlowplayerLeftRightZone{constructor(t){super(t,"fp-right-zone")}}),vt(t,"flowplayer-middle-left-zone",class extends FlowplayerLeftRightZone{constructor(t){super(t,"fp-left-zone")}}),vt(t,H,class extends FlowplayerIcon{constructor(t){super(t,Yr),this.setAttribute("role","button")}}),vt(t,V,class extends FlowplayerIcon{constructor(t){super(t,Xr),this.setAttribute("role","button")}}),vt(t,K,class extends FlowplayerIcon{constructor(t){super(t,qr),this.setAttribute("role","button")}}),vt(t,q,class extends FlowplayerIcon{constructor(t){super(t,Wr),this.setAttribute("role","button")}}),vt(t,"flowplayer-fullscreen-enter-icon",class extends FullscreenIcon{constructor(t){super(t,Vr)}}),vt(t,"flowplayer-fullscreen-exit-icon",class extends FullscreenIcon{constructor(t){super(t,Kr)}}),vt(t,"flowplayer-fast-forward-icon",class extends FlowplayerIcon{constructor(t){super(t,Qr)}}),vt(t,W,class extends FlowplayerIcon{constructor(t){super(t,$r)}}),vt(t,z,class extends FlowplayerIcon{constructor(t){super(t,zr),this.classList.add("fp-volumebtn"),this.setAttribute("role","switch"),t.on("volumechange",()=>{const e=0==t.volume||t.muted;this.setAttribute("aria-label",t.i18n("core.muted","Muted")),this.setAttribute("aria-checked",e?"true":"false")})}})}init(t,e,r){yr(t,0,r),mr(t,e,r),function(t,e,r){"undefined"!=typeof window&&"ontouchstart"in window&&r.setState("is-touch-device",!0),r.setState("is-accessibility",!1)}(0,0,r)}}]);var ui=Object.assign(De,{ui:dr,i18n:I18n}),di=ke(Oe((function(t,e){var r;"undefined"!=typeof window&&(r=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var n=e[i]={i:i,l:!1,exports:{}};return t[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)r.d(i,n,function(e){return t[e]}.bind(null,n));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="/dist/",r(r.s="./src/hls.ts")}({"./node_modules/eventemitter3/index.js":
2
2
  /*!*********************************************!*\
3
3
  !*** ./node_modules/eventemitter3/index.js ***!
4
4
  \*********************************************/
@@ -226,7 +226,7 @@
226
226
  /*!***********************************!*\
227
227
  !*** ./src/loader/m3u8-parser.ts ***!
228
228
  \***********************************/
229
- /*! exports provided: default */function(t,e,r){r.r(e),r.d(e,"default",(function(){return m}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts"),n=r(/*! url-toolkit */"./node_modules/url-toolkit/src/url-toolkit.js"),s=r(/*! ./date-range */"./src/loader/date-range.ts"),a=r(/*! ./fragment */"./src/loader/fragment.ts"),o=r(/*! ./level-details */"./src/loader/level-details.ts"),l=r(/*! ./level-key */"./src/loader/level-key.ts"),u=r(/*! ../utils/attr-list */"./src/utils/attr-list.ts"),d=r(/*! ../utils/logger */"./src/utils/logger.ts"),c=r(/*! ../utils/codecs */"./src/utils/codecs.ts"),h=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-SESSION-DATA:([^\r\n]*)[\r\n]+/g,f=/#EXT-X-MEDIA:(.*)/g,p=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[\S ]*)/.source,/#EXT-X-BYTERANGE:*(.+)/.source,/#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,/#.*/.source].join("|"),"g"),g=new RegExp([/#(EXTM3U)/.source,/#EXT-X-(DATERANGE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source,/#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\d+)/.source,/#EXT-X-(DISCONTINUITY|ENDLIST|GAP)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|")),v=/\.(mp4|m4s|m4v|m4a)$/i,m=function(){function t(){}return t.findGroup=function(t,e){for(var r=0;r<t.length;r++){var i=t[r];if(i.id===e)return i}},t.convertAVC1ToAVCOTI=function(t){var e=t.split(".");if(e.length>2){var r=e.shift()+".";return r+=parseInt(e.shift()).toString(16),r+=("000"+parseInt(e.shift()).toString(16)).slice(-4)}return t},t.resolve=function(t,e){return n.buildAbsoluteURL(e,t,{alwaysNormalize:!0})},t.parseMasterPlaylist=function(e,r){var i,n=[],s={},a=!1;for(h.lastIndex=0;null!=(i=h.exec(e));)if(i[1]){var o=new u.AttrList(i[1]),l={attrs:o,bitrate:o.decimalInteger("AVERAGE-BANDWIDTH")||o.decimalInteger("BANDWIDTH"),name:o.NAME,url:t.resolve(i[2],r)},d=o.decimalResolution("RESOLUTION");d&&(l.width=d.width,l.height=d.height),y((o.CODECS||"").split(/[ ,]+/).filter((function(t){return t})),l),l.videoCodec&&-1!==l.videoCodec.indexOf("avc1")&&(l.videoCodec=t.convertAVC1ToAVCOTI(l.videoCodec)),n.push(l)}else if(i[3]){var c=new u.AttrList(i[3]);c["DATA-ID"]&&(a=!0,s[c["DATA-ID"]]=c)}return{levels:n,sessionData:a?s:null}},t.parseMasterPlaylistMedia=function(e,r,i,n){var s;void 0===n&&(n=[]);var a=[],o=0;for(f.lastIndex=0;null!==(s=f.exec(e));){var l=new u.AttrList(s[1]);if(l.TYPE===i){var d={attrs:l,bitrate:0,id:o++,groupId:l["GROUP-ID"],instreamId:l["INSTREAM-ID"],name:l.NAME||l.LANGUAGE||"",type:i,default:l.bool("DEFAULT"),autoselect:l.bool("AUTOSELECT"),forced:l.bool("FORCED"),lang:l.LANGUAGE,url:l.URI?t.resolve(l.URI,r):""};if(n.length){var c=t.findGroup(n,d.groupId)||n[0];E(d,c,"audioCodec"),E(d,c,"textCodec")}a.push(d)}}return a},t.parseLevelPlaylist=function(t,e,r,c,h){var f,m,y,E=new o.LevelDetails(e),b=E.fragments,S=null,A=0,L=0,w=0,D=0,R=null,k=new a.Fragment(c,e),O=-1,I=!1;for(p.lastIndex=0,E.m3u8=t;null!==(f=p.exec(t));){I&&(I=!1,(k=new a.Fragment(c,e)).start=w,k.sn=A,k.cc=D,k.level=r,S&&(k.initSegment=S,k.rawProgramDateTime=S.rawProgramDateTime,S.rawProgramDateTime=null));var C=f[1];if(C){k.duration=parseFloat(C);var P=(" "+f[2]).slice(1);k.title=P||null,k.tagList.push(P?["INF",C,P]:["INF",C])}else if(f[3])Object(i.isFiniteNumber)(k.duration)&&(k.start=w,y&&(k.levelkey=y),k.sn=A,k.level=r,k.cc=D,k.urlId=h,b.push(k),k.relurl=(" "+f[3]).slice(1),T(k,R),R=k,w+=k.duration,A++,L=0,I=!0);else if(f[4]){var x=(" "+f[4]).slice(1);R?k.setByteRange(x,R):k.setByteRange(x)}else if(f[5])k.rawProgramDateTime=(" "+f[5]).slice(1),k.tagList.push(["PROGRAM-DATE-TIME",k.rawProgramDateTime]),-1===O&&(O=b.length);else{if(!(f=f[0].match(g))){d.logger.warn("No matches on slow regex match for level playlist!");continue}for(m=1;m<f.length&&void 0===f[m];m++);var M=(" "+f[m]).slice(1),F=(" "+f[m+1]).slice(1),N=f[m+2]?(" "+f[m+2]).slice(1):"";switch(M){case"PLAYLIST-TYPE":E.type=F.toUpperCase();break;case"MEDIA-SEQUENCE":A=E.startSN=parseInt(F);break;case"SKIP":var U=new u.AttrList(F),B=U.decimalInteger("SKIPPED-SEGMENTS");if(Object(i.isFiniteNumber)(B)){E.skippedSegments=B;for(var j=B;j--;)b.unshift(null);A+=B}var G=U.enumeratedString("RECENTLY-REMOVED-DATERANGES");G&&(E.recentlyRemovedDateranges=G.split("\t"));break;case"TARGETDURATION":E.targetduration=parseFloat(F);break;case"VERSION":E.version=parseInt(F);break;case"EXTM3U":break;case"ENDLIST":E.live=!1;break;case"#":(F||N)&&k.tagList.push(N?[F,N]:[F]);break;case"DISCONTINUITY":D++,k.tagList.push(["DIS"]);break;case"GAP":k.tagList.push([M]);break;case"BITRATE":k.tagList.push([M,F]);break;case"DATERANGE":var H=new u.AttrList(F),V=new s.DateRange(H,E.dateRanges[H.ID]);V.isValid||E.skippedSegments?E.dateRanges[V.id]=V:d.logger.warn('Ignoring invalid DATERANGE tag: "'+F+'"'),k.tagList.push(["EXT-X-DATERANGE",F]);break;case"DISCONTINUITY-SEQUENCE":D=parseInt(F);break;case"KEY":var K,q=new u.AttrList(F),W=q.enumeratedString("METHOD"),z=q.URI,Y=q.hexadecimalInteger("IV"),X=q.enumeratedString("KEYFORMATVERSIONS"),Q=q.enumeratedString("KEYID"),$=null!=(K=q.enumeratedString("KEYFORMAT"))?K:"identity";if(["com.apple.streamingkeydelivery","com.microsoft.playready","urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed","com.widevine"].indexOf($)>-1){d.logger.warn("Keyformat "+$+" is not supported from the manifest");continue}if("identity"!==$)continue;W&&(y=l.LevelKey.fromURL(e,z),z&&["AES-128","SAMPLE-AES","SAMPLE-AES-CENC"].indexOf(W)>=0&&(y.method=W,y.keyFormat=$,Q&&(y.keyID=Q),X&&(y.keyFormatVersions=X),y.iv=Y));break;case"START":var Z=new u.AttrList(F).decimalFloatingPoint("TIME-OFFSET");Object(i.isFiniteNumber)(Z)&&(E.startTimeOffset=Z);break;case"MAP":var J=new u.AttrList(F);if(k.duration){var tt=new a.Fragment(c,e);_(tt,J,r,y),S=tt,k.initSegment=S,S.rawProgramDateTime&&!k.rawProgramDateTime&&(k.rawProgramDateTime=S.rawProgramDateTime)}else _(k,J,r,y),S=k,I=!0;break;case"SERVER-CONTROL":var et=new u.AttrList(F);E.canBlockReload=et.bool("CAN-BLOCK-RELOAD"),E.canSkipUntil=et.optionalFloat("CAN-SKIP-UNTIL",0),E.canSkipDateRanges=E.canSkipUntil>0&&et.bool("CAN-SKIP-DATERANGES"),E.partHoldBack=et.optionalFloat("PART-HOLD-BACK",0),E.holdBack=et.optionalFloat("HOLD-BACK",0);break;case"PART-INF":var rt=new u.AttrList(F);E.partTarget=rt.decimalFloatingPoint("PART-TARGET");break;case"PART":var it=E.partList;it||(it=E.partList=[]);var nt=L>0?it[it.length-1]:void 0,st=L++,at=new a.Part(new u.AttrList(F),k,e,st,nt);it.push(at),k.duration+=at.duration;break;case"PRELOAD-HINT":var ot=new u.AttrList(F);E.preloadHint=ot;break;case"RENDITION-REPORT":var lt=new u.AttrList(F);E.renditionReports=E.renditionReports||[],E.renditionReports.push(lt);break;default:d.logger.warn("line parsed but not handled: "+f)}}}R&&!R.relurl?(b.pop(),w-=R.duration,E.partList&&(E.fragmentHint=R)):E.partList&&(T(k,R),k.cc=D,E.fragmentHint=k);var ut=b.length,dt=b[0],ct=b[ut-1];if((w+=E.skippedSegments*E.targetduration)>0&&ut&&ct){E.averagetargetduration=w/ut;var ht=ct.sn;E.endSN="initSegment"!==ht?ht:0,dt&&(E.startCC=dt.cc,dt.initSegment||E.fragments.every((function(t){return t.relurl&&function(t){var e,r;return v.test(null!=(e=null===(r=n.parseURL(t))||void 0===r?void 0:r.path)?e:"")}(t.relurl)}))&&(d.logger.warn("MP4 fragments found but no init segment (probably no MAP, incomplete M3U8), trying to fetch SIDX"),(k=new a.Fragment(c,e)).relurl=ct.relurl,k.level=r,k.sn="initSegment",dt.initSegment=k,E.needSidxRanges=!0))}else E.endSN=0,E.startCC=0;return E.fragmentHint&&(w+=E.fragmentHint.duration),E.totalduration=w,E.endCC=D,O>0&&function(t,e){for(var r=t[e],i=e;i--;){var n=t[i];if(!n)return;n.programDateTime=r.programDateTime-1e3*n.duration,r=n}}(b,O),E},t}();function y(t,e){["video","audio","text"].forEach((function(r){var i=t.filter((function(t){return Object(c.isCodecType)(t,r)}));if(i.length){var n=i.filter((function(t){return 0===t.lastIndexOf("avc1",0)||0===t.lastIndexOf("mp4a",0)}));e[r+"Codec"]=n.length>0?n[0]:i[0],t=t.filter((function(t){return-1===i.indexOf(t)}))}})),e.unknownCodecs=t}function E(t,e,r){var i=e[r];i&&(t[r]=i)}function T(t,e){t.rawProgramDateTime?t.programDateTime=Date.parse(t.rawProgramDateTime):null!=e&&e.programDateTime&&(t.programDateTime=e.endProgramDateTime),Object(i.isFiniteNumber)(t.programDateTime)||(t.programDateTime=null,t.rawProgramDateTime=null)}function _(t,e,r,i){t.relurl=e.URI,e.BYTERANGE&&t.setByteRange(e.BYTERANGE),t.level=r,t.sn="initSegment",i&&(t.levelkey=i),t.initSegment=null}},"./src/loader/playlist-loader.ts":
229
+ /*! exports provided: default */function(t,e,r){r.r(e),r.d(e,"default",(function(){return m}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts"),n=r(/*! url-toolkit */"./node_modules/url-toolkit/src/url-toolkit.js"),s=r(/*! ./date-range */"./src/loader/date-range.ts"),a=r(/*! ./fragment */"./src/loader/fragment.ts"),o=r(/*! ./level-details */"./src/loader/level-details.ts"),l=r(/*! ./level-key */"./src/loader/level-key.ts"),u=r(/*! ../utils/attr-list */"./src/utils/attr-list.ts"),d=r(/*! ../utils/logger */"./src/utils/logger.ts"),c=r(/*! ../utils/codecs */"./src/utils/codecs.ts"),h=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-SESSION-DATA:([^\r\n]*)[\r\n]+/g,f=/#EXT-X-MEDIA:(.*)/g,p=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[\S ]*)/.source,/#EXT-X-BYTERANGE:*(.+)/.source,/#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,/#.*/.source].join("|"),"g"),g=new RegExp([/#(EXTM3U)/.source,/#EXT-X-(DATERANGE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source,/#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\d+)/.source,/#EXT-X-(DISCONTINUITY|ENDLIST|GAP)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|")),v=/\.(mp4|m4s|m4v|m4a)$/i,m=function(){function t(){}return t.findGroup=function(t,e){for(var r=0;r<t.length;r++){var i=t[r];if(i.id===e)return i}},t.convertAVC1ToAVCOTI=function(t){var e=t.split(".");if(e.length>2){var r=e.shift()+".";return r+=parseInt(e.shift()).toString(16),r+=("000"+parseInt(e.shift()).toString(16)).slice(-4)}return t},t.resolve=function(t,e){return n.buildAbsoluteURL(e,t,{alwaysNormalize:!0})},t.parseMasterPlaylist=function(e,r){var i,n=[],s={},a=!1;for(h.lastIndex=0;null!=(i=h.exec(e));)if(i[1]){var o=new u.AttrList(i[1]),l={attrs:o,bitrate:o.decimalInteger("AVERAGE-BANDWIDTH")||o.decimalInteger("BANDWIDTH"),name:o.NAME,url:t.resolve(i[2],r)},d=o.decimalResolution("RESOLUTION");d&&(l.width=d.width,l.height=d.height),y((o.CODECS||"").split(/[ ,]+/).filter((function(t){return t})),l),l.videoCodec&&-1!==l.videoCodec.indexOf("avc1")&&(l.videoCodec=t.convertAVC1ToAVCOTI(l.videoCodec)),n.push(l)}else if(i[3]){var c=new u.AttrList(i[3]);c["DATA-ID"]&&(a=!0,s[c["DATA-ID"]]=c)}return{levels:n,sessionData:a?s:null}},t.parseMasterPlaylistMedia=function(e,r,i,n){var s;void 0===n&&(n=[]);var a=[],o=0;for(f.lastIndex=0;null!==(s=f.exec(e));){var l=new u.AttrList(s[1]);if(l.TYPE===i){var d={attrs:l,bitrate:0,id:o++,groupId:l["GROUP-ID"],instreamId:l["INSTREAM-ID"],name:l.NAME||l.LANGUAGE||"",type:i,default:l.bool("DEFAULT"),autoselect:l.bool("AUTOSELECT"),forced:l.bool("FORCED"),lang:l.LANGUAGE,url:l.URI?t.resolve(l.URI,r):""};if(n.length){var c=t.findGroup(n,d.groupId)||n[0];E(d,c,"audioCodec"),E(d,c,"textCodec")}a.push(d)}}return a},t.parseLevelPlaylist=function(t,e,r,c,h){var f,m,y,E=new o.LevelDetails(e),b=E.fragments,S=null,A=0,L=0,w=0,D=0,R=null,k=new a.Fragment(c,e),O=-1,I=!1;for(p.lastIndex=0,E.m3u8=t;null!==(f=p.exec(t));){I&&(I=!1,(k=new a.Fragment(c,e)).start=w,k.sn=A,k.cc=D,k.level=r,S&&(k.initSegment=S,k.rawProgramDateTime=S.rawProgramDateTime,S.rawProgramDateTime=null));var C=f[1];if(C){k.duration=parseFloat(C);var P=(" "+f[2]).slice(1);k.title=P||null,k.tagList.push(P?["INF",C,P]:["INF",C])}else if(f[3])Object(i.isFiniteNumber)(k.duration)&&(k.start=w,y&&(k.levelkey=y),k.sn=A,k.level=r,k.cc=D,k.urlId=h,b.push(k),k.relurl=(" "+f[3]).slice(1),T(k,R),R=k,w+=k.duration,A++,L=0,I=!0);else if(f[4]){var x=(" "+f[4]).slice(1);R?k.setByteRange(x,R):k.setByteRange(x)}else if(f[5])k.rawProgramDateTime=(" "+f[5]).slice(1),k.tagList.push(["PROGRAM-DATE-TIME",k.rawProgramDateTime]),-1===O&&(O=b.length);else{if(!(f=f[0].match(g))){d.logger.warn("No matches on slow regex match for level playlist!");continue}for(m=1;m<f.length&&void 0===f[m];m++);var M=(" "+f[m]).slice(1),N=(" "+f[m+1]).slice(1),F=f[m+2]?(" "+f[m+2]).slice(1):"";switch(M){case"PLAYLIST-TYPE":E.type=N.toUpperCase();break;case"MEDIA-SEQUENCE":A=E.startSN=parseInt(N);break;case"SKIP":var U=new u.AttrList(N),B=U.decimalInteger("SKIPPED-SEGMENTS");if(Object(i.isFiniteNumber)(B)){E.skippedSegments=B;for(var j=B;j--;)b.unshift(null);A+=B}var G=U.enumeratedString("RECENTLY-REMOVED-DATERANGES");G&&(E.recentlyRemovedDateranges=G.split("\t"));break;case"TARGETDURATION":E.targetduration=parseFloat(N);break;case"VERSION":E.version=parseInt(N);break;case"EXTM3U":break;case"ENDLIST":E.live=!1;break;case"#":(N||F)&&k.tagList.push(F?[N,F]:[N]);break;case"DISCONTINUITY":D++,k.tagList.push(["DIS"]);break;case"GAP":k.tagList.push([M]);break;case"BITRATE":k.tagList.push([M,N]);break;case"DATERANGE":var H=new u.AttrList(N),V=new s.DateRange(H,E.dateRanges[H.ID]);V.isValid||E.skippedSegments?E.dateRanges[V.id]=V:d.logger.warn('Ignoring invalid DATERANGE tag: "'+N+'"'),k.tagList.push(["EXT-X-DATERANGE",N]);break;case"DISCONTINUITY-SEQUENCE":D=parseInt(N);break;case"KEY":var K,q=new u.AttrList(N),W=q.enumeratedString("METHOD"),z=q.URI,Y=q.hexadecimalInteger("IV"),X=q.enumeratedString("KEYFORMATVERSIONS"),Q=q.enumeratedString("KEYID"),$=null!=(K=q.enumeratedString("KEYFORMAT"))?K:"identity";if(["com.apple.streamingkeydelivery","com.microsoft.playready","urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed","com.widevine"].indexOf($)>-1){d.logger.warn("Keyformat "+$+" is not supported from the manifest");continue}if("identity"!==$)continue;W&&(y=l.LevelKey.fromURL(e,z),z&&["AES-128","SAMPLE-AES","SAMPLE-AES-CENC"].indexOf(W)>=0&&(y.method=W,y.keyFormat=$,Q&&(y.keyID=Q),X&&(y.keyFormatVersions=X),y.iv=Y));break;case"START":var Z=new u.AttrList(N).decimalFloatingPoint("TIME-OFFSET");Object(i.isFiniteNumber)(Z)&&(E.startTimeOffset=Z);break;case"MAP":var J=new u.AttrList(N);if(k.duration){var tt=new a.Fragment(c,e);_(tt,J,r,y),S=tt,k.initSegment=S,S.rawProgramDateTime&&!k.rawProgramDateTime&&(k.rawProgramDateTime=S.rawProgramDateTime)}else _(k,J,r,y),S=k,I=!0;break;case"SERVER-CONTROL":var et=new u.AttrList(N);E.canBlockReload=et.bool("CAN-BLOCK-RELOAD"),E.canSkipUntil=et.optionalFloat("CAN-SKIP-UNTIL",0),E.canSkipDateRanges=E.canSkipUntil>0&&et.bool("CAN-SKIP-DATERANGES"),E.partHoldBack=et.optionalFloat("PART-HOLD-BACK",0),E.holdBack=et.optionalFloat("HOLD-BACK",0);break;case"PART-INF":var rt=new u.AttrList(N);E.partTarget=rt.decimalFloatingPoint("PART-TARGET");break;case"PART":var it=E.partList;it||(it=E.partList=[]);var nt=L>0?it[it.length-1]:void 0,st=L++,at=new a.Part(new u.AttrList(N),k,e,st,nt);it.push(at),k.duration+=at.duration;break;case"PRELOAD-HINT":var ot=new u.AttrList(N);E.preloadHint=ot;break;case"RENDITION-REPORT":var lt=new u.AttrList(N);E.renditionReports=E.renditionReports||[],E.renditionReports.push(lt);break;default:d.logger.warn("line parsed but not handled: "+f)}}}R&&!R.relurl?(b.pop(),w-=R.duration,E.partList&&(E.fragmentHint=R)):E.partList&&(T(k,R),k.cc=D,E.fragmentHint=k);var ut=b.length,dt=b[0],ct=b[ut-1];if((w+=E.skippedSegments*E.targetduration)>0&&ut&&ct){E.averagetargetduration=w/ut;var ht=ct.sn;E.endSN="initSegment"!==ht?ht:0,dt&&(E.startCC=dt.cc,dt.initSegment||E.fragments.every((function(t){return t.relurl&&function(t){var e,r;return v.test(null!=(e=null===(r=n.parseURL(t))||void 0===r?void 0:r.path)?e:"")}(t.relurl)}))&&(d.logger.warn("MP4 fragments found but no init segment (probably no MAP, incomplete M3U8), trying to fetch SIDX"),(k=new a.Fragment(c,e)).relurl=ct.relurl,k.level=r,k.sn="initSegment",dt.initSegment=k,E.needSidxRanges=!0))}else E.endSN=0,E.startCC=0;return E.fragmentHint&&(w+=E.fragmentHint.duration),E.totalduration=w,E.endCC=D,O>0&&function(t,e){for(var r=t[e],i=e;i--;){var n=t[i];if(!n)return;n.programDateTime=r.programDateTime-1e3*n.duration,r=n}}(b,O),E},t}();function y(t,e){["video","audio","text"].forEach((function(r){var i=t.filter((function(t){return Object(c.isCodecType)(t,r)}));if(i.length){var n=i.filter((function(t){return 0===t.lastIndexOf("avc1",0)||0===t.lastIndexOf("mp4a",0)}));e[r+"Codec"]=n.length>0?n[0]:i[0],t=t.filter((function(t){return-1===i.indexOf(t)}))}})),e.unknownCodecs=t}function E(t,e,r){var i=e[r];i&&(t[r]=i)}function T(t,e){t.rawProgramDateTime?t.programDateTime=Date.parse(t.rawProgramDateTime):null!=e&&e.programDateTime&&(t.programDateTime=e.endProgramDateTime),Object(i.isFiniteNumber)(t.programDateTime)||(t.programDateTime=null,t.rawProgramDateTime=null)}function _(t,e,r,i){t.relurl=e.URI,e.BYTERANGE&&t.setByteRange(e.BYTERANGE),t.level=r,t.sn="initSegment",i&&(t.levelkey=i),t.initSegment=null}},"./src/loader/playlist-loader.ts":
230
230
  /*!***************************************!*\
231
231
  !*** ./src/loader/playlist-loader.ts ***!
232
232
  \***************************************/
@@ -246,7 +246,7 @@
246
246
  /*!**********************************!*\
247
247
  !*** ./src/remux/mp4-remuxer.ts ***!
248
248
  \**********************************/
249
- /*! exports provided: default, normalizePts, flushTextTrackMetadataCueSamples, flushTextTrackUserdataCueSamples */function(t,e,r){r.r(e),r.d(e,"default",(function(){return p})),r.d(e,"normalizePts",(function(){return g})),r.d(e,"flushTextTrackMetadataCueSamples",(function(){return v})),r.d(e,"flushTextTrackUserdataCueSamples",(function(){return m}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts"),n=r(/*! ./aac-helper */"./src/remux/aac-helper.ts"),s=r(/*! ./mp4-generator */"./src/remux/mp4-generator.ts"),a=r(/*! ../events */"./src/events.ts"),o=r(/*! ../errors */"./src/errors.ts"),l=r(/*! ../utils/logger */"./src/utils/logger.ts"),u=r(/*! ../types/loader */"./src/types/loader.ts"),d=r(/*! ../utils/timescale-conversion */"./src/utils/timescale-conversion.ts");function c(){return(c=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(t[i]=r[i])}return t}).apply(this,arguments)}var h=null,f=null,p=function(){function t(t,e,r,i){if(this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=void 0,this._initDTS=void 0,this.nextAvcDts=null,this.nextAudioPts=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.observer=t,this.config=e,this.typeSupported=r,this.ISGenerated=!1,null===h){var n=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);h=n?parseInt(n[1]):0}if(null===f){var s=navigator.userAgent.match(/Safari\/(\d+)/i);f=s?parseInt(s[1]):0}}var e=t.prototype;return e.destroy=function(){},e.resetTimeStamp=function(t){l.logger.log("[mp4-remuxer]: initPTS & initDTS reset"),this._initPTS=this._initDTS=t},e.resetNextTimestamp=function(){l.logger.log("[mp4-remuxer]: reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1},e.resetInitSegment=function(){l.logger.log("[mp4-remuxer]: ISGenerated flag reset"),this.ISGenerated=!1},e.getVideoStartPts=function(t){var e=!1,r=t.reduce((function(t,r){var i=r.pts-t;return i<-4294967296?(e=!0,g(t,r.pts)):i>0?t:r.pts}),t[0].pts);return e&&l.logger.debug("PTS rollover detected"),r},e.remux=function(t,e,r,i,n,s,a,o){var d,c,h,f,p,y,E=n,T=n,_=t.pid>-1,b=e.pid>-1,S=e.samples.length,A=t.samples.length>0,L=a&&S>0||S>1;if((!_||A)&&(!b||L)||this.ISGenerated||a){this.ISGenerated||(h=this.generateIS(t,e,n));var w,D=this.isVideoContiguous,R=-1;if(L&&(R=function(t){for(var e=0;e<t.length;e++)if(t[e].key)return e;return-1}(e.samples),!D&&this.config.forceKeyFrameOnDiscontinuity))if(y=!0,R>0){l.logger.warn("[mp4-remuxer]: Dropped "+R+" out of "+S+" video samples due to a missing keyframe");var k=this.getVideoStartPts(e.samples);e.samples=e.samples.slice(R),e.dropped+=R,w=T+=(e.samples[0].pts-k)/e.inputTimeScale}else-1===R&&(l.logger.warn("[mp4-remuxer]: No keyframe found out of "+S+" video samples"),y=!1);if(this.ISGenerated){if(A&&L){var O=this.getVideoStartPts(e.samples),I=(g(t.samples[0].pts,O)-O)/e.inputTimeScale;E+=Math.max(0,I),T+=Math.max(0,-I)}if(A){if(t.samplerate||(l.logger.warn("[mp4-remuxer]: regenerate InitSegment as audio detected"),h=this.generateIS(t,e,n)),c=this.remuxAudio(t,E,this.isAudioContiguous,s,b||L||o===u.PlaylistLevelType.AUDIO?T:void 0),L){var C=c?c.endPTS-c.startPTS:0;e.inputTimeScale||(l.logger.warn("[mp4-remuxer]: regenerate InitSegment as video detected"),h=this.generateIS(t,e,n)),d=this.remuxVideo(e,T,D,C)}}else L&&(d=this.remuxVideo(e,T,D,0));d&&(d.firstKeyFrame=R,d.independent=-1!==R,d.firstKeyFramePTS=w)}}return this.ISGenerated&&(r.samples.length&&(p=v(r,n,this._initPTS,this._initDTS)),i.samples.length&&(f=m(i,n,this._initPTS))),{audio:c,video:d,initSegment:h,independent:y,text:f,id3:p}},e.generateIS=function(t,e,r){var n,a,o,l=t.samples,u=e.samples,d=this.typeSupported,c={},h=!Object(i.isFiniteNumber)(this._initPTS),f="audio/mp4";if(h&&(n=a=1/0),t.config&&l.length){switch(t.timescale=t.samplerate,t.segmentCodec){case"mp3":d.mpeg?(f="audio/mpeg",t.codec=""):d.mp3&&(t.codec="mp3")}c.audio={id:"audio",container:f,codec:t.codec,initSegment:"mp3"===t.segmentCodec&&d.mpeg?new Uint8Array(0):s.default.initSegment([t]),metadata:{channelCount:t.channelCount}},h&&(o=t.inputTimeScale,n=a=l[0].pts-Math.round(o*r))}if(e.sps&&e.pps&&u.length&&(e.timescale=e.inputTimeScale,c.video={id:"main",container:"video/mp4",codec:e.codec,initSegment:s.default.initSegment([e]),metadata:{width:e.width,height:e.height}},h)){o=e.inputTimeScale;var p=this.getVideoStartPts(u),v=Math.round(o*r);a=Math.min(a,g(u[0].dts,p)-v),n=Math.min(n,p-v)}if(Object.keys(c).length)return this.ISGenerated=!0,h&&(this._initPTS=n,this._initDTS=a),{tracks:c,initPTS:n,timescale:o}},e.remuxVideo=function(t,e,r,i){var n,u,p=t.inputTimeScale,v=t.samples,m=[],E=v.length,T=this._initPTS,_=this.nextAvcDts,b=8,S=this.videoSampleDuration,A=Number.POSITIVE_INFINITY,L=Number.NEGATIVE_INFINITY,w=!1;r&&null!==_||(_=e*p-(v[0].pts-g(v[0].dts,v[0].pts)));for(var D=0;D<E;D++){var R=v[D];R.pts=g(R.pts-T,_),R.dts=g(R.dts-T,_),R.dts<v[D>0?D-1:D].dts&&(w=!0)}w&&v.sort((function(t,e){var r=t.dts-e.dts,i=t.pts-e.pts;return r||i})),n=v[0].dts;var k=(u=v[v.length-1].dts)-n,O=k?Math.round(k/(E-1)):S||t.inputTimeScale/30;if(r){var I=n-_,C=I>O;if(C||I<-1){C?l.logger.warn("AVC: "+Object(d.toMsFromMpegTsClock)(I,!0)+" ms ("+I+"dts) hole between fragments detected, filling it"):l.logger.warn("AVC: "+Object(d.toMsFromMpegTsClock)(-I,!0)+" ms ("+I+"dts) overlapping between fragments detected"),n=_;var P=v[0].pts-I;v[0].dts=n,v[0].pts=P,l.logger.log("Video: First PTS/DTS adjusted: "+Object(d.toMsFromMpegTsClock)(P,!0)+"/"+Object(d.toMsFromMpegTsClock)(n,!0)+", delta: "+Object(d.toMsFromMpegTsClock)(I,!0)+" ms")}}n=Math.max(0,n);for(var x=0,M=0,F=0;F<E;F++){for(var N=v[F],U=N.units,B=U.length,j=0,G=0;G<B;G++)j+=U[G].data.length;M+=j,x+=B,N.length=j,N.dts=Math.max(N.dts,n),A=Math.min(N.pts,A),L=Math.max(N.pts,L)}u=v[E-1].dts;var H,V=M+4*x+8;try{H=new Uint8Array(V)}catch(t){return void this.observer.emit(a.Events.ERROR,a.Events.ERROR,{type:o.ErrorTypes.MUX_ERROR,details:o.ErrorDetails.REMUX_ALLOC_ERROR,fatal:!1,bytes:V,reason:"fail allocating video mdat "+V})}var K=new DataView(H.buffer);K.setUint32(0,V),H.set(s.default.types.mdat,4);for(var q=!1,W=Number.POSITIVE_INFINITY,z=Number.POSITIVE_INFINITY,Y=Number.NEGATIVE_INFINITY,X=Number.NEGATIVE_INFINITY,Q=0;Q<E;Q++){for(var $=v[Q],Z=$.units,J=0,tt=0,et=Z.length;tt<et;tt++){var rt=Z[tt],it=rt.data,nt=rt.data.byteLength;K.setUint32(b,nt),b+=4,H.set(it,b),b+=nt,J+=4+nt}var st=void 0;if(Q<E-1)S=v[Q+1].dts-$.dts,st=v[Q+1].pts-$.pts;else{var at=this.config,ot=Q>0?$.dts-v[Q-1].dts:O;if(st=Q>0?$.pts-v[Q-1].pts:O,at.stretchShortVideoTrack&&null!==this.nextAudioPts){var lt=Math.floor(at.maxBufferHole*p),ut=(i?A+i*p:this.nextAudioPts)-$.pts;ut>lt?((S=ut-ot)<0?S=ot:q=!0,l.logger.log("[mp4-remuxer]: It is approximately "+ut/90+" ms to the next segment; using duration "+S/90+" ms for the last video frame.")):S=ot}else S=ot}var dt=Math.round($.pts-$.dts);W=Math.min(W,S),Y=Math.max(Y,S),z=Math.min(z,st),X=Math.max(X,st),m.push(new y($.key,S,J,dt))}if(m.length)if(h){if(h<70){var ct=m[0].flags;ct.dependsOn=2,ct.isNonSync=0}}else if(f&&X-z<Y-W&&O/Y<.025&&0===m[0].cts){l.logger.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");for(var ht=n,ft=0,pt=m.length;ft<pt;ft++){var gt=ht+m[ft].duration,vt=ht+m[ft].cts;if(ft<pt-1){var mt=gt+m[ft+1].cts;m[ft].duration=mt-vt}else m[ft].duration=ft?m[ft-1].duration:O;m[ft].cts=0,ht=gt}}console.assert(null!==S,"mp4SampleDuration must be computed"),S=q||!S?O:S,this.nextAvcDts=_=u+S,this.videoSampleDuration=S,this.isVideoContiguous=!0;var yt={data1:s.default.moof(t.sequenceNumber++,n,c({},t,{samples:m})),data2:H,startPTS:A/p,endPTS:(L+S)/p,startDTS:n/p,endDTS:_/p,type:"video",hasAudio:!1,hasVideo:!0,nb:m.length,dropped:t.dropped};return t.samples=[],t.dropped=0,console.assert(H.length,"MDAT length must not be zero"),yt},e.remuxAudio=function(t,e,r,i,u){var d=t.inputTimeScale,h=d/(t.samplerate?t.samplerate:d),f="aac"===t.segmentCodec?1024:1152,p=f*h,v=this._initPTS,m="mp3"===t.segmentCodec&&this.typeSupported.mpeg,E=[],T=void 0!==u,_=t.samples,b=m?0:8,S=this.nextAudioPts||-1,A=e*d;if(this.isAudioContiguous=r=r||_.length&&S>0&&(i&&Math.abs(A-S)<9e3||Math.abs(g(_[0].pts-v,A)-S)<20*p),_.forEach((function(t){t.pts=g(t.pts-v,A)})),!r||S<0){if(!(_=_.filter((function(t){return t.pts>=0}))).length)return;S=0===u?0:i&&!T?Math.max(0,A):_[0].pts}if("aac"===t.segmentCodec)for(var L=this.config.maxAudioFramesDrift,w=0,D=S;w<_.length;w++){var R=_[w],k=R.pts,O=k-D,I=Math.abs(1e3*O/d);if(O<=-L*p&&T)0===w&&(l.logger.warn("Audio frame @ "+(k/d).toFixed(3)+"s overlaps nextAudioPts by "+Math.round(1e3*O/d)+" ms."),this.nextAudioPts=S=D=k);else if(O>=L*p&&I<1e4&&T){var C=Math.round(O/p);(D=k-C*p)<0&&(C--,D+=p),0===w&&(this.nextAudioPts=S=D),l.logger.warn("[mp4-remuxer]: Injecting "+C+" audio frame @ "+(D/d).toFixed(3)+"s due to "+Math.round(1e3*O/d)+" ms gap.");for(var P=0;P<C;P++){var x=Math.max(D,0),M=n.default.getSilentFrame(t.manifestCodec||t.codec,t.channelCount);M||(l.logger.log("[mp4-remuxer]: Unable to get silent frame for given audio codec; duplicating last frame instead."),M=R.unit.subarray()),_.splice(w,0,{unit:M,pts:x}),D+=p,w++}}R.pts=D,D+=p}for(var F,N=null,U=null,B=0,j=_.length;j--;)B+=_[j].unit.byteLength;for(var G=0,H=_.length;G<H;G++){var V=_[G],K=V.unit,q=V.pts;if(null!==U)E[G-1].duration=Math.round((q-U)/h);else{if(r&&"aac"===t.segmentCodec&&(q=S),N=q,!(B>0))return;B+=b;try{F=new Uint8Array(B)}catch(t){return void this.observer.emit(a.Events.ERROR,a.Events.ERROR,{type:o.ErrorTypes.MUX_ERROR,details:o.ErrorDetails.REMUX_ALLOC_ERROR,fatal:!1,bytes:B,reason:"fail allocating audio mdat "+B})}m||(new DataView(F.buffer).setUint32(0,B),F.set(s.default.types.mdat,4))}F.set(K,b);var W=K.byteLength;b+=W,E.push(new y(!0,f,W,0)),U=q}var z=E.length;if(z){var Y=E[E.length-1];this.nextAudioPts=S=U+h*Y.duration;var X=m?new Uint8Array(0):s.default.moof(t.sequenceNumber++,N/h,c({},t,{samples:E}));t.samples=[];var Q=N/d,$=S/d,Z={data1:X,data2:F,startPTS:Q,endPTS:$,startDTS:Q,endDTS:$,type:"audio",hasAudio:!0,hasVideo:!1,nb:z};return this.isAudioContiguous=!0,console.assert(F.length,"MDAT length must not be zero"),Z}},e.remuxEmptyAudio=function(t,e,r,i){var s=t.inputTimeScale,a=s/(t.samplerate?t.samplerate:s),o=this.nextAudioPts,u=(null!==o?o:i.startDTS*s)+this._initDTS,d=i.endDTS*s+this._initDTS,c=1024*a,h=Math.ceil((d-u)/c),f=n.default.getSilentFrame(t.manifestCodec||t.codec,t.channelCount);if(l.logger.warn("[mp4-remuxer]: remux empty Audio"),f){for(var p=[],g=0;g<h;g++){var v=u+g*c;p.push({unit:f,pts:v,dts:v})}return t.samples=p,this.remuxAudio(t,e,r,!1)}l.logger.trace("[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec")},t}();function g(t,e){var r;if(null===e)return t;for(r=e<t?-8589934592:8589934592;Math.abs(t-e)>4294967296;)t+=r;return t}function v(t,e,r,i){var n=t.samples.length;if(n){for(var s=t.inputTimeScale,a=0;a<n;a++){var o=t.samples[a];o.pts=g(o.pts-r,e*s)/s,o.dts=g(o.dts-i,e*s)/s}var l=t.samples;return t.samples=[],{samples:l}}}function m(t,e,r){var i=t.samples.length;if(i){for(var n=t.inputTimeScale,s=0;s<i;s++){var a=t.samples[s];a.pts=g(a.pts-r,e*n)/n}t.samples.sort((function(t,e){return t.pts-e.pts}));var o=t.samples;return t.samples=[],{samples:o}}}var y=function(t,e,r,i){this.size=void 0,this.duration=void 0,this.cts=void 0,this.flags=void 0,this.duration=e,this.size=r,this.cts=i,this.flags=new E(t)},E=function(t){this.isLeading=0,this.isDependedOn=0,this.hasRedundancy=0,this.degradPrio=0,this.dependsOn=1,this.isNonSync=1,this.dependsOn=t?2:1,this.isNonSync=t?0:1}},"./src/remux/passthrough-remuxer.ts":
249
+ /*! exports provided: default, normalizePts, flushTextTrackMetadataCueSamples, flushTextTrackUserdataCueSamples */function(t,e,r){r.r(e),r.d(e,"default",(function(){return p})),r.d(e,"normalizePts",(function(){return g})),r.d(e,"flushTextTrackMetadataCueSamples",(function(){return v})),r.d(e,"flushTextTrackUserdataCueSamples",(function(){return m}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts"),n=r(/*! ./aac-helper */"./src/remux/aac-helper.ts"),s=r(/*! ./mp4-generator */"./src/remux/mp4-generator.ts"),a=r(/*! ../events */"./src/events.ts"),o=r(/*! ../errors */"./src/errors.ts"),l=r(/*! ../utils/logger */"./src/utils/logger.ts"),u=r(/*! ../types/loader */"./src/types/loader.ts"),d=r(/*! ../utils/timescale-conversion */"./src/utils/timescale-conversion.ts");function c(){return(c=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(t[i]=r[i])}return t}).apply(this,arguments)}var h=null,f=null,p=function(){function t(t,e,r,i){if(this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=void 0,this._initDTS=void 0,this.nextAvcDts=null,this.nextAudioPts=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.observer=t,this.config=e,this.typeSupported=r,this.ISGenerated=!1,null===h){var n=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);h=n?parseInt(n[1]):0}if(null===f){var s=navigator.userAgent.match(/Safari\/(\d+)/i);f=s?parseInt(s[1]):0}}var e=t.prototype;return e.destroy=function(){},e.resetTimeStamp=function(t){l.logger.log("[mp4-remuxer]: initPTS & initDTS reset"),this._initPTS=this._initDTS=t},e.resetNextTimestamp=function(){l.logger.log("[mp4-remuxer]: reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1},e.resetInitSegment=function(){l.logger.log("[mp4-remuxer]: ISGenerated flag reset"),this.ISGenerated=!1},e.getVideoStartPts=function(t){var e=!1,r=t.reduce((function(t,r){var i=r.pts-t;return i<-4294967296?(e=!0,g(t,r.pts)):i>0?t:r.pts}),t[0].pts);return e&&l.logger.debug("PTS rollover detected"),r},e.remux=function(t,e,r,i,n,s,a,o){var d,c,h,f,p,y,E=n,T=n,_=t.pid>-1,b=e.pid>-1,S=e.samples.length,A=t.samples.length>0,L=a&&S>0||S>1;if((!_||A)&&(!b||L)||this.ISGenerated||a){this.ISGenerated||(h=this.generateIS(t,e,n));var w,D=this.isVideoContiguous,R=-1;if(L&&(R=function(t){for(var e=0;e<t.length;e++)if(t[e].key)return e;return-1}(e.samples),!D&&this.config.forceKeyFrameOnDiscontinuity))if(y=!0,R>0){l.logger.warn("[mp4-remuxer]: Dropped "+R+" out of "+S+" video samples due to a missing keyframe");var k=this.getVideoStartPts(e.samples);e.samples=e.samples.slice(R),e.dropped+=R,w=T+=(e.samples[0].pts-k)/e.inputTimeScale}else-1===R&&(l.logger.warn("[mp4-remuxer]: No keyframe found out of "+S+" video samples"),y=!1);if(this.ISGenerated){if(A&&L){var O=this.getVideoStartPts(e.samples),I=(g(t.samples[0].pts,O)-O)/e.inputTimeScale;E+=Math.max(0,I),T+=Math.max(0,-I)}if(A){if(t.samplerate||(l.logger.warn("[mp4-remuxer]: regenerate InitSegment as audio detected"),h=this.generateIS(t,e,n)),c=this.remuxAudio(t,E,this.isAudioContiguous,s,b||L||o===u.PlaylistLevelType.AUDIO?T:void 0),L){var C=c?c.endPTS-c.startPTS:0;e.inputTimeScale||(l.logger.warn("[mp4-remuxer]: regenerate InitSegment as video detected"),h=this.generateIS(t,e,n)),d=this.remuxVideo(e,T,D,C)}}else L&&(d=this.remuxVideo(e,T,D,0));d&&(d.firstKeyFrame=R,d.independent=-1!==R,d.firstKeyFramePTS=w)}}return this.ISGenerated&&(r.samples.length&&(p=v(r,n,this._initPTS,this._initDTS)),i.samples.length&&(f=m(i,n,this._initPTS))),{audio:c,video:d,initSegment:h,independent:y,text:f,id3:p}},e.generateIS=function(t,e,r){var n,a,o,l=t.samples,u=e.samples,d=this.typeSupported,c={},h=!Object(i.isFiniteNumber)(this._initPTS),f="audio/mp4";if(h&&(n=a=1/0),t.config&&l.length){switch(t.timescale=t.samplerate,t.segmentCodec){case"mp3":d.mpeg?(f="audio/mpeg",t.codec=""):d.mp3&&(t.codec="mp3")}c.audio={id:"audio",container:f,codec:t.codec,initSegment:"mp3"===t.segmentCodec&&d.mpeg?new Uint8Array(0):s.default.initSegment([t]),metadata:{channelCount:t.channelCount}},h&&(o=t.inputTimeScale,n=a=l[0].pts-Math.round(o*r))}if(e.sps&&e.pps&&u.length&&(e.timescale=e.inputTimeScale,c.video={id:"main",container:"video/mp4",codec:e.codec,initSegment:s.default.initSegment([e]),metadata:{width:e.width,height:e.height}},h)){o=e.inputTimeScale;var p=this.getVideoStartPts(u),v=Math.round(o*r);a=Math.min(a,g(u[0].dts,p)-v),n=Math.min(n,p-v)}if(Object.keys(c).length)return this.ISGenerated=!0,h&&(this._initPTS=n,this._initDTS=a),{tracks:c,initPTS:n,timescale:o}},e.remuxVideo=function(t,e,r,i){var n,u,p=t.inputTimeScale,v=t.samples,m=[],E=v.length,T=this._initPTS,_=this.nextAvcDts,b=8,S=this.videoSampleDuration,A=Number.POSITIVE_INFINITY,L=Number.NEGATIVE_INFINITY,w=!1;r&&null!==_||(_=e*p-(v[0].pts-g(v[0].dts,v[0].pts)));for(var D=0;D<E;D++){var R=v[D];R.pts=g(R.pts-T,_),R.dts=g(R.dts-T,_),R.dts<v[D>0?D-1:D].dts&&(w=!0)}w&&v.sort((function(t,e){var r=t.dts-e.dts,i=t.pts-e.pts;return r||i})),n=v[0].dts;var k=(u=v[v.length-1].dts)-n,O=k?Math.round(k/(E-1)):S||t.inputTimeScale/30;if(r){var I=n-_,C=I>O;if(C||I<-1){C?l.logger.warn("AVC: "+Object(d.toMsFromMpegTsClock)(I,!0)+" ms ("+I+"dts) hole between fragments detected, filling it"):l.logger.warn("AVC: "+Object(d.toMsFromMpegTsClock)(-I,!0)+" ms ("+I+"dts) overlapping between fragments detected"),n=_;var P=v[0].pts-I;v[0].dts=n,v[0].pts=P,l.logger.log("Video: First PTS/DTS adjusted: "+Object(d.toMsFromMpegTsClock)(P,!0)+"/"+Object(d.toMsFromMpegTsClock)(n,!0)+", delta: "+Object(d.toMsFromMpegTsClock)(I,!0)+" ms")}}n=Math.max(0,n);for(var x=0,M=0,N=0;N<E;N++){for(var F=v[N],U=F.units,B=U.length,j=0,G=0;G<B;G++)j+=U[G].data.length;M+=j,x+=B,F.length=j,F.dts=Math.max(F.dts,n),A=Math.min(F.pts,A),L=Math.max(F.pts,L)}u=v[E-1].dts;var H,V=M+4*x+8;try{H=new Uint8Array(V)}catch(t){return void this.observer.emit(a.Events.ERROR,a.Events.ERROR,{type:o.ErrorTypes.MUX_ERROR,details:o.ErrorDetails.REMUX_ALLOC_ERROR,fatal:!1,bytes:V,reason:"fail allocating video mdat "+V})}var K=new DataView(H.buffer);K.setUint32(0,V),H.set(s.default.types.mdat,4);for(var q=!1,W=Number.POSITIVE_INFINITY,z=Number.POSITIVE_INFINITY,Y=Number.NEGATIVE_INFINITY,X=Number.NEGATIVE_INFINITY,Q=0;Q<E;Q++){for(var $=v[Q],Z=$.units,J=0,tt=0,et=Z.length;tt<et;tt++){var rt=Z[tt],it=rt.data,nt=rt.data.byteLength;K.setUint32(b,nt),b+=4,H.set(it,b),b+=nt,J+=4+nt}var st=void 0;if(Q<E-1)S=v[Q+1].dts-$.dts,st=v[Q+1].pts-$.pts;else{var at=this.config,ot=Q>0?$.dts-v[Q-1].dts:O;if(st=Q>0?$.pts-v[Q-1].pts:O,at.stretchShortVideoTrack&&null!==this.nextAudioPts){var lt=Math.floor(at.maxBufferHole*p),ut=(i?A+i*p:this.nextAudioPts)-$.pts;ut>lt?((S=ut-ot)<0?S=ot:q=!0,l.logger.log("[mp4-remuxer]: It is approximately "+ut/90+" ms to the next segment; using duration "+S/90+" ms for the last video frame.")):S=ot}else S=ot}var dt=Math.round($.pts-$.dts);W=Math.min(W,S),Y=Math.max(Y,S),z=Math.min(z,st),X=Math.max(X,st),m.push(new y($.key,S,J,dt))}if(m.length)if(h){if(h<70){var ct=m[0].flags;ct.dependsOn=2,ct.isNonSync=0}}else if(f&&X-z<Y-W&&O/Y<.025&&0===m[0].cts){l.logger.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");for(var ht=n,ft=0,pt=m.length;ft<pt;ft++){var gt=ht+m[ft].duration,vt=ht+m[ft].cts;if(ft<pt-1){var mt=gt+m[ft+1].cts;m[ft].duration=mt-vt}else m[ft].duration=ft?m[ft-1].duration:O;m[ft].cts=0,ht=gt}}console.assert(null!==S,"mp4SampleDuration must be computed"),S=q||!S?O:S,this.nextAvcDts=_=u+S,this.videoSampleDuration=S,this.isVideoContiguous=!0;var yt={data1:s.default.moof(t.sequenceNumber++,n,c({},t,{samples:m})),data2:H,startPTS:A/p,endPTS:(L+S)/p,startDTS:n/p,endDTS:_/p,type:"video",hasAudio:!1,hasVideo:!0,nb:m.length,dropped:t.dropped};return t.samples=[],t.dropped=0,console.assert(H.length,"MDAT length must not be zero"),yt},e.remuxAudio=function(t,e,r,i,u){var d=t.inputTimeScale,h=d/(t.samplerate?t.samplerate:d),f="aac"===t.segmentCodec?1024:1152,p=f*h,v=this._initPTS,m="mp3"===t.segmentCodec&&this.typeSupported.mpeg,E=[],T=void 0!==u,_=t.samples,b=m?0:8,S=this.nextAudioPts||-1,A=e*d;if(this.isAudioContiguous=r=r||_.length&&S>0&&(i&&Math.abs(A-S)<9e3||Math.abs(g(_[0].pts-v,A)-S)<20*p),_.forEach((function(t){t.pts=g(t.pts-v,A)})),!r||S<0){if(!(_=_.filter((function(t){return t.pts>=0}))).length)return;S=0===u?0:i&&!T?Math.max(0,A):_[0].pts}if("aac"===t.segmentCodec)for(var L=this.config.maxAudioFramesDrift,w=0,D=S;w<_.length;w++){var R=_[w],k=R.pts,O=k-D,I=Math.abs(1e3*O/d);if(O<=-L*p&&T)0===w&&(l.logger.warn("Audio frame @ "+(k/d).toFixed(3)+"s overlaps nextAudioPts by "+Math.round(1e3*O/d)+" ms."),this.nextAudioPts=S=D=k);else if(O>=L*p&&I<1e4&&T){var C=Math.round(O/p);(D=k-C*p)<0&&(C--,D+=p),0===w&&(this.nextAudioPts=S=D),l.logger.warn("[mp4-remuxer]: Injecting "+C+" audio frame @ "+(D/d).toFixed(3)+"s due to "+Math.round(1e3*O/d)+" ms gap.");for(var P=0;P<C;P++){var x=Math.max(D,0),M=n.default.getSilentFrame(t.manifestCodec||t.codec,t.channelCount);M||(l.logger.log("[mp4-remuxer]: Unable to get silent frame for given audio codec; duplicating last frame instead."),M=R.unit.subarray()),_.splice(w,0,{unit:M,pts:x}),D+=p,w++}}R.pts=D,D+=p}for(var N,F=null,U=null,B=0,j=_.length;j--;)B+=_[j].unit.byteLength;for(var G=0,H=_.length;G<H;G++){var V=_[G],K=V.unit,q=V.pts;if(null!==U)E[G-1].duration=Math.round((q-U)/h);else{if(r&&"aac"===t.segmentCodec&&(q=S),F=q,!(B>0))return;B+=b;try{N=new Uint8Array(B)}catch(t){return void this.observer.emit(a.Events.ERROR,a.Events.ERROR,{type:o.ErrorTypes.MUX_ERROR,details:o.ErrorDetails.REMUX_ALLOC_ERROR,fatal:!1,bytes:B,reason:"fail allocating audio mdat "+B})}m||(new DataView(N.buffer).setUint32(0,B),N.set(s.default.types.mdat,4))}N.set(K,b);var W=K.byteLength;b+=W,E.push(new y(!0,f,W,0)),U=q}var z=E.length;if(z){var Y=E[E.length-1];this.nextAudioPts=S=U+h*Y.duration;var X=m?new Uint8Array(0):s.default.moof(t.sequenceNumber++,F/h,c({},t,{samples:E}));t.samples=[];var Q=F/d,$=S/d,Z={data1:X,data2:N,startPTS:Q,endPTS:$,startDTS:Q,endDTS:$,type:"audio",hasAudio:!0,hasVideo:!1,nb:z};return this.isAudioContiguous=!0,console.assert(N.length,"MDAT length must not be zero"),Z}},e.remuxEmptyAudio=function(t,e,r,i){var s=t.inputTimeScale,a=s/(t.samplerate?t.samplerate:s),o=this.nextAudioPts,u=(null!==o?o:i.startDTS*s)+this._initDTS,d=i.endDTS*s+this._initDTS,c=1024*a,h=Math.ceil((d-u)/c),f=n.default.getSilentFrame(t.manifestCodec||t.codec,t.channelCount);if(l.logger.warn("[mp4-remuxer]: remux empty Audio"),f){for(var p=[],g=0;g<h;g++){var v=u+g*c;p.push({unit:f,pts:v,dts:v})}return t.samples=p,this.remuxAudio(t,e,r,!1)}l.logger.trace("[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec")},t}();function g(t,e){var r;if(null===e)return t;for(r=e<t?-8589934592:8589934592;Math.abs(t-e)>4294967296;)t+=r;return t}function v(t,e,r,i){var n=t.samples.length;if(n){for(var s=t.inputTimeScale,a=0;a<n;a++){var o=t.samples[a];o.pts=g(o.pts-r,e*s)/s,o.dts=g(o.dts-i,e*s)/s}var l=t.samples;return t.samples=[],{samples:l}}}function m(t,e,r){var i=t.samples.length;if(i){for(var n=t.inputTimeScale,s=0;s<i;s++){var a=t.samples[s];a.pts=g(a.pts-r,e*n)/n}t.samples.sort((function(t,e){return t.pts-e.pts}));var o=t.samples;return t.samples=[],{samples:o}}}var y=function(t,e,r,i){this.size=void 0,this.duration=void 0,this.cts=void 0,this.flags=void 0,this.duration=e,this.size=r,this.cts=i,this.flags=new E(t)},E=function(t){this.isLeading=0,this.isDependedOn=0,this.hasRedundancy=0,this.degradPrio=0,this.dependsOn=1,this.isNonSync=1,this.dependsOn=t?2:1,this.isNonSync=t?0:1}},"./src/remux/passthrough-remuxer.ts":
250
250
  /*!******************************************!*\
251
251
  !*** ./src/remux/passthrough-remuxer.ts ***!
252
252
  \******************************************/
@@ -370,10 +370,10 @@
370
370
  /*!*********************************!*\
371
371
  !*** ./src/utils/xhr-loader.ts ***!
372
372
  \*********************************/
373
- /*! exports provided: default */function(t,e,r){r.r(e);var i=r(/*! ../utils/logger */"./src/utils/logger.ts"),n=r(/*! ../loader/load-stats */"./src/loader/load-stats.ts"),s=/^age:\s*[\d.]+\s*$/m,a=function(){function t(t){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=void 0,this.loader=null,this.stats=void 0,this.xhrSetup=t?t.xhrSetup:null,this.stats=new n.LoadStats,this.retryDelay=0}var e=t.prototype;return e.destroy=function(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null},e.abortInternal=function(){var t=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),t&&(t.onreadystatechange=null,t.onprogress=null,4!==t.readyState&&(this.stats.aborted=!0,t.abort()))},e.abort=function(){var t;this.abortInternal(),null!==(t=this.callbacks)&&void 0!==t&&t.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)},e.load=function(t,e,r){if(this.stats.loading.start)throw new Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=t,this.config=e,this.callbacks=r,this.retryDelay=e.retryDelay,this.loadInternal()},e.loadInternal=function(){var t=this.config,e=this.context;if(t){var r=this.loader=new self.XMLHttpRequest,i=this.stats;i.loading.first=0,i.loaded=0;var n=this.xhrSetup;try{if(n)try{n(r,e.url)}catch(t){r.open("GET",e.url,!0),n(r,e.url)}r.readyState||r.open("GET",e.url,!0);var s=this.context.headers;if(s)for(var a in s)r.setRequestHeader(a,s[a])}catch(t){return void this.callbacks.onError({code:r.status,text:t.message},e,r)}e.rangeEnd&&r.setRequestHeader("Range","bytes="+e.rangeStart+"-"+(e.rangeEnd-1)),r.onreadystatechange=this.readystatechange.bind(this),r.onprogress=this.loadprogress.bind(this),r.responseType=e.responseType,self.clearTimeout(this.requestTimeout),this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),t.timeout),r.send()}},e.readystatechange=function(){var t=this.context,e=this.loader,r=this.stats;if(t&&e){var n=e.readyState,s=this.config;if(!r.aborted&&n>=2)if(self.clearTimeout(this.requestTimeout),0===r.loading.first&&(r.loading.first=Math.max(self.performance.now(),r.loading.start)),4===n){e.onreadystatechange=null,e.onprogress=null;var a=e.status;if(a>=200&&a<300){var o,l;if(r.loading.end=Math.max(self.performance.now(),r.loading.first),l="arraybuffer"===t.responseType?(o=e.response).byteLength:(o=e.responseText).length,r.loaded=r.total=l,!this.callbacks)return;var u=this.callbacks.onProgress;if(u&&u(r,t,o,e),!this.callbacks)return;var d={url:e.responseURL,data:o};this.callbacks.onSuccess(d,r,t,e)}else r.retry>=s.maxRetry||a>=400&&a<499?(i.logger.error(a+" while loading "+t.url),this.callbacks.onError({code:a,text:e.statusText},t,e)):(i.logger.warn(a+" while loading "+t.url+", retrying in "+this.retryDelay+"..."),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay),this.retryDelay=Math.min(2*this.retryDelay,s.maxRetryDelay),r.retry++)}else self.clearTimeout(this.requestTimeout),this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),s.timeout)}},e.loadtimeout=function(){i.logger.warn("timeout while loading "+this.context.url);var t=this.callbacks;t&&(this.abortInternal(),t.onTimeout(this.stats,this.context,this.loader))},e.loadprogress=function(t){var e=this.stats;e.loaded=t.loaded,t.lengthComputable&&(e.total=t.total)},e.getCacheAge=function(){var t=null;if(this.loader&&s.test(this.loader.getAllResponseHeaders())){var e=this.loader.getResponseHeader("age");t=e?parseFloat(e):null}return t},t}();e.default=a}}).default},t.exports=r())})));var ci=Object.freeze({__proto__:null,ATTACHED:"hls:attached"});const hi="com.widevine.alpha";const fi="application/vnd.apple.mpegURL",pi=[fi,"application/x-mpegurl"],gi=document.createElement("video").canPlayType(fi);function vi({src:t="",type:e="",drm:r},i){const n=(null==i?void 0:i.hls)||{},s="native"in n&&n.native;return(!gi||!s)&&(!(r&&!Object.keys(r).find(t=>{return e=t,[hi].filter((function(t){return t===e})).length;var e}))&&(!(!e||!pi.includes(e))||function(t){const{pathname:e}=nr(t);return e.endsWith(".m3u8")}(t)))}var mi="audio:set",yi="audio:update",Ei="audio:tracks";const Ti=[di.Events.SUBTITLE_TRACKS_UPDATED,di.Events.SUBTITLE_TRACK_SWITCH,di.Events.LEVEL_SWITCHED];function _i(t,e){Ti.forEach((function(r){t.on(r,(function(){!function(t,e){var r;const i=t.levels[t.currentLevel];if(!i||!t.subtitleTracks.length||i.attrs.SUB)return;const n=null===(r=null==i?void 0:i.attrs)||void 0===r?void 0:r.SUBTITLES;if(!n)return e.emit("tracks:text:all",[]);const s=t.subtitleTracks.filter((function(t){return t.groupId==n})).map((function(t){return e.textTracks[t.id]}));e.emit("tracks:text:all",s)}(t,e)}))}))}var bi,Si=Object.assign(Object.assign({},{404:"the video was not found",403:"access to this video was denied",410:"the video no longer exists",0:"no internet connection detected"}),{keySystemNoKeys:"no keys",keySystemNoAccess:"no access to key system",keySystemNoSession:"no session for key system",keySystemLicenseRequestFailed:"license request failed",keyLoadError:"decrypt key load failed",keyLoadTimeOut:"decrypt key load timed outs"});!function(t){t[t.FRAGMENT_ERRORS=0]="FRAGMENT_ERRORS",t[t.STALE_MANIFEST=1]="STALE_MANIFEST"}(bi||(bi={}));const Ai=Sr("hls:failover");class FailoverLoaderController{constructor(){this.playlistCounts={},this.fragmentFailures={},this.ttlMilliseconds=3e3}setHls(t){this.hls=t}reset(){return this.playlistCounts={},this.fragmentFailures={},this}failover(t){var e;this.reset();const r=this.hls;if(!r)return;if(r.levels[r.currentLevel].url.length<2)return;const i=r.levels[r.currentLevel].details;r.levelController.redundantFailover(r.currentLevel),null===(e=r.media)||void 0===e||e.dispatchEvent(new CustomEvent("hls/failover",{detail:{reason:t,from:null==i?void 0:i.url}}))}currentLevel(){var t;return null===(t=this.hls)||void 0===t?void 0:t.levels[this.hls.currentLevel]}nextTTL(){var t;const e=Date.now()+this.ttlMilliseconds,r=this.currentLevel();if(!r)return e;const i=null===(t=r.details)||void 0===t?void 0:t.averagetargetduration;return i?Date.now()+500*i:e}ensurePlaylistUpdating(t,e){this.playlistCounts[t]||(this.playlistCounts[t]={checksum:e,count:0,ttl:this.nextTTL()});const r=this.playlistCounts[t];Date.now()<r.ttl||(r.count=r.checksum===e?r.count+1:0,r.ttl=this.nextTTL(),r.checksum=e,r.count<3||(Ai(`${t} / no change in ${r.count} tries`,this.playlistCounts),this.failover(bi.STALE_MANIFEST)))}trackFragmentError(t){const e=this.fragmentFailures[t]||0;this.fragmentFailures[t]=e+1,this.fragmentFailures[t]>2&&this.failover(bi.FRAGMENT_ERRORS)}createPlaylistLoader(){const t=this;return class extends di.DefaultConfig.loader{load(e,r,i){const n=i.onSuccess;i.onSuccess=({data:e,url:r},...i)=>{t.ensurePlaylistUpdating(r,e),n({data:e,url:r},...i)},super.load(e,r,i)}}}createFragmentLoader(){const t=this;return class extends di.DefaultConfig.loader{load(e,r,i){const n=i.onError;i.onError=e=>{t.trackFragmentError(e.url),n(...arguments)},super.load(e,r,i)}}}}const Li=Sr("hls");function wi(t,e,r){if(!t.reaper||!r.src)return;t.hls&&t.hls.destroy();const n="live"in e==0,s={is_audio_only:!1,fragDuration:-1};if(r.drm&&!ir()&&"localhost"!==location.hostname&&"127.0.0.1"!==location.hostname)return t.emit(i,{message:"Secure page required for DRM"});const a=new FailoverLoaderController,o=function(t){return Object.assign(Object.assign({autoStartLoad:!1,levelLoadingMaxRetry:1},t.hls),{startPosition:t.start_time||-1})}(e);o.pLoader=a.createPlaylistLoader(),o.fLoader=a.createFragmentLoader();const l=t.hls=new di(o);a.setHls(l),l.subtitleDisplay=!1,l.attachMedia(t),l.loadSource(r.src),t.emit("hls:attached",{hls:l}),function(t,e){t.on(di.Events.AUDIO_TRACKS_UPDATED,(function(t,r){e.emit(Ei,r.audioTracks)})),t.on(di.Events.AUDIO_TRACK_SWITCHING,(function(t,r){e.emit(yi,r)})),t.on(di.Events.MANIFEST_PARSED,(function(t,r){r.audioTracks&&e.emit(Ei,r.audioTracks)})),t.on(di.Events.LEVEL_SWITCHED,(function(r,i){const n=t.levels[i.level];n&&e.emit(Ei,t.audioTracks.filter((function(t){return t.groupId&&~(n.audioGroupIds||[]).indexOf(t.groupId)})))}))}(l,t),_i(l,t);const u=function(t){var e;const r=null===(e=t.data)||void 0===e?void 0:e.level;"number"==typeof r&&(l.levels[r]||-1===r?l.nextLevel=r:console.error(new Error("skipping invalid quality: "+t.data)))},d=function(t){var e;const r=null===(e=t.data)||void 0===e?void 0:e.id;"number"==typeof r&&r!=l.audioTrack&&setTimeout((function(){l.audioTrack=r}),0)};t.on("quality:set",u),t.on(mi,d),t.on("src",(function(){t.hls&&t.hls.destroy(),t.off("quality:set",u),t.off(mi,d)})),t.on("audioonlysource",(function(){s.is_audio_only=!0})),t.on(L,(function(){l&&l.destroy()})),t.on("remotesession:started",()=>{t.hls&&t.hls.stopLoad()}),t.on("remotesession:ended",()=>{t.hls&&Di(t)}),n&&l.on(di.Events.LEVEL_LOADED,(function(e,r){t.setOpts({live:r.details.live})})),l.on(di.Events.MANIFEST_PARSED,(function(r,i){const n=i.levels.slice(0).reduce((t,e,r)=>[...t,{level:r,text:e.name||e.width+"",width:e.width,height:e.height,videoCodec:e.videoCodec||""}],[{text:"AUTO",level:-1,width:0,height:0,videoCodec:""}]).sort((t,e)=>e.width-t.width);t.emit("qualities",n),function(t,e,r){var i,n;if(!t.hls)return;Li("Initializer::maybe_start_load_with_quality (start_quality, preload): (%d, %s)",e.start_quality,e.preload),void 0!==e.start_quality&&(mt.HIGH&e.start_quality&&(t.hls.startLevel=r[0].level),mt.LOW&e.start_quality&&(t.hls.startLevel=r[r.length-1].level),mt.MEDIUM&e.start_quality&&(t.hls.startLevel=r[Math.ceil(r.length/2)-1].level));const s=(null===(i=e.hls)||void 0===i?void 0:i.maxBufferSize)||1024,a=(null===(n=e.hls)||void 0===n?void 0:n.maxBufferLength)||30;Li("Setting maxBufferSize to %d",s),t.hls.config.maxBufferSize=s,"metadata"===e.preload&&Li("preload === metadata, setting maxBufferLength to 1sec");if(t.hls.config.maxBufferLength="metadata"===e.preload?1:a,t.once(E,()=>{Li("Playback started, set maxBufferLenght to %d",a),t.hls&&(t.hls.config.maxBufferLength=a)}),"none"===e.preload&&!e.autoplay)return;Di(t,e.start_time||-1)}(t,e,n.slice(0,-1));const s=n.find(t=>!!t.videoCodec);s||t.emit("audioonlysource"),!t.opt("ratio")&&s&&0!=s.width&&0!=s.height&&t.setOpts({ratio:s.width+":"+s.height})})),l.on(di.Events.INIT_PTS_FOUND,(function(t,e){s.fragDuration=e.frag.duration})),l.on(di.Events.ERROR,(function(e,r){!function(t,e){var r,n;if(0==t.reaper)return;if(0==e.fatal)return;switch(e.type){case di.ErrorTypes.MEDIA_ERROR:return null===(r=t.hls)||void 0===r?void 0:r.recoverMediaError();case di.ErrorTypes.NETWORK_ERROR:return function(t,e){var r;const n=(null===(r=e.networkDetails)||void 0===r?void 0:r.status)||"";t.emit(i,{fatal:!0,code:"http:"+n.toString(),message:Si[n]||"an error occurred while loading this video"})}(t,e);case di.ErrorTypes.KEY_SYSTEM_ERROR:return function(t,e){var r;t.emit(i,{fatal:!0,message:Si[e.details]||"an error occurred while accessing this video"}),null===(r=t.hls)||void 0===r||r.destroy()}(t,e);default:null===(n=t.hls)||void 0===n||n.destroy()}}(t,r)})),l.on(di.Events.LEVEL_PTS_UPDATED,(function(e,r){var i;if("video"!==r.type&&(!s.is_audio_only||"audio"!==r.type))return;const n=null===(i=null==r?void 0:r.details)||void 0===i?void 0:i.fragments;if(!n)return;const a=n[0].start||0,o=n[n.length-1].start+n[n.length-1].duration;t.emit("dvr/window",o-a)})),l.on(di.Events.LEVEL_SWITCHING,(e,r)=>{const i=l.levels[l.currentLevel],n=l.levels[r.level];t.emit("qualitychange",{before:i,after:n,kind:"hls"})});const c=t.opt("start_time");c&&t.once(p,(function(){t.currentTime=c})),"none"!==e.preload||e.autoplay||t.once("beforeplay",()=>{t.hasState("is-casting")||Di(t,e.start_time||-1)})}function Di(t,e){var r;!t.hasState(Z)&&t.setState(J,!0),null===(r=t.hls)||void 0===r||r.startLoad(e)}class HLS{init(){}onload(t,e,r,i){wi(r,t,i)}wants(t,e,r){return di.isSupported()&&vi(e,r)}}HLS.events=ci,HLS.version=di.version,HLS.failover={Reasons:bi},ie(window,HLS);const Ri=t=>"object"==typeof t&&null!==t&&!Array.isArray(t),ki=(...t)=>t.reduce((t,e)=>Ri(e)?(Object.keys(e).forEach(r=>{if(Ri(t[r])&&Ri(e[r]))return t[r]=ki(t[r],e[r]);t[r]=e[r]}),t):t,{});class Pipe{constructor(t){this.data=t}static of(t){return new Pipe(t)}static maybe(t,e,...r){return null==t?t:e.apply(t,[t,...r])}tap(t,...e){return t.apply(this,[this.data,...e]),new Pipe(this.data)}fmap(t,...e){const r=t.apply(this,[this.data,...e]);return new Pipe(r)}unwrap(){return this.data}}function Oi(t){return fetch(t).then(t=>t.json())}function Ii(){let t=[].join.call(arguments,"/");return"/"!==t[0]&&(t="/"+t),Ci()+"/web/public/native/config"+t}const Ci=()=>"https://ljsp.lwcdn.com";function Pi(t){return~t.indexOf("/")?t:"/media/"+t}var xi={404:"media not found",402:"invalid subscription",400:"bad request",415:"unsupported media type"};function Mi(t){const e=t.ima,r=t.duration;if(!e||!r)return t;const i=null==e?void 0:e.ads;return Array.isArray(i)&&(e.ads=i.map((function(t){return"number"==typeof t.percentage&&(t.time=t.percentage*r),t}))),t}function Fi(t,e){var r,i;e="object"==typeof e?e:{};const n={title:null===(r=null==t?void 0:t.metadata)||void 0===r?void 0:r.title,description:null===(i=null==t?void 0:t.metadata)||void 0===i?void 0:i.description},s={ima:{parameters:function({media_id:t,duration:e,title:r,tags:i,category_name:n,ad_keywords:s}){return{ad_keywords:s||"",media_id:t||"",category:n||"",media_name:r||"",media_tags:i||"",media_duration:e||-1}}((null==t?void 0:t.metadata)||{})}},a=e.embed||{};return delete a.src,ki(s,n,t,(delete(o=e).src,delete o.metadata,delete o.title,delete o.description,delete o.duration,delete o.poster,o),a);var o}const Ni=/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/;function Ui(t){return"object"==typeof t&&"ovp/base64"==t.type}function Bi(t,e){return function(t,e){return!t.startsWith("blob:")&&(!(~t.indexOf(".")||!Ni.test(t))&&(e.type="video/ovp",!0))}(t,e)||Ui(e)}function ji(t){try{return function(t){return null===t?{}:JSON.parse(t)}(decodeURIComponent(atob(t).split("").map((function(t){return"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)})).join("")))}catch(t){return{err:t.message}}}function Gi(t){const e=t.split(/[^0-9]/).map(t=>parseInt(t,10));return Date.UTC(e[0],e[1]-1,e[2],e[3],e[4],e[5])}function Hi(t){return t.live}var Vi=Object.freeze({__proto__:null,OVP_ERROR:"ovp:error",OVP_MEDIA_REQUEST_START:"ovp:request:start",OVP_MEDIA_REQUEST_COMPLETE:"ovp:request:media:complete",OVP_PLAYLIST_REQUEST_COMPLETE:"ovp:request:playlist:complete",LIVE_COUNTDOWN_TICK:"ovp:live:countdown:tick",LIVE_COUNTDOWN_START:"ovp:live:countdown:start",LIVE_COUNTDOWN_COMPLETE:"ovp:live:countdown:complete",OVP_MEDIA_CHANGED:"ovp:media:changed",OVP_REALTIME_MESSAGE:"ovp:message:realtime"});function Ki(t,e){const r=null==e?void 0:e.src;if(Ui(e))return function(t,e){const r=ji(e.src||"");if(function(t){return"string"==typeof t.err}(r))return console.error(r.err);qi(t,r)}(t,e);r&&Pipe.of(r).fmap(Pi).fmap(Ii).fmap(t=>fetch(t)).fmap(e=>e.then(t=>Promise.all([t.status,t.json()])).then(([e,r])=>200==e?qi(t,r):Wi(t,r)))}function qi(t,e){return t.emit("ovp:media:changed",e),function(t){return Array.isArray(t.playlist)}(e)?function(t,e){if("function"!=typeof window.flowplayer.playlist)return console.warn("OVP responded with Playlist media but the playlist plugin does not exist"),Wi(t,{status:415});t.emit("ovp:request:playlist:complete",function(t,e){const r=Object.assign({},t),i=(null==t?void 0:t.playlist)||{},n=ki(e,i),s=((null==n?void 0:n.playlist)||[]).map(t=>{e.ima&&Object.assign(t,{ima:e.ima});const i=Fi(t,r);return delete i.playlist,i});return delete n.ima,Object.assign(n,{playlist:s})}(t.opts,e))}(t,e):Hi(e)?function(t,e){var r,i;const n=(null===(r=null==e?void 0:e.metadata)||void 0===r?void 0:r.live_start_time)||(null===(i=null==e?void 0:e.metadata)||void 0===i?void 0:i.starttime);n&&(e.live_start_time=Pipe.of(n).fmap(Gi).unwrap());t.emit("ovp:live:countdown:start",Pipe.of(e).fmap(Fi,t.opts).fmap(Mi).unwrap())}(t,e):function(t,e){t.emit("ovp:request:media:complete",Pipe.of(e).fmap(Fi,t.opts).fmap(Mi).unwrap())}(t,e)}function Wi(t,e){return e.message?t.emit("ovp:error",e):e.status?t.emit("ovp:error",new Error(xi[e.status])):t.emit("ovp:error",e)}const zi={};function Yi(t,e,r){"object"!=typeof zi[e]&&(zi[e]=r);const i=t.opts,n=(null==i?void 0:i.metadata)||{};n.player_id=e,i.metadata=n,r.title&&delete r.title,r.description&&delete r.description;const s=Object.assign(i,r);t.setOpts(s),r.autoplay&&t.togglePlay(!0)}let Xi=!1;function Qi(t,e,r){$i()||Pipe.of("recommendation").fmap(Ii,e,r).fmap(Oi).fmap(e=>e.then(e=>function(t,e){const r=e.playlist;if(t.opts.recommendations=r,!r.length)return;t.emit("recommendationsready",{playlist:r.map((function(t){var e;return{poster:t.poster,src:t.src,title:null===(e=null==t?void 0:t.metadata)||void 0===e?void 0:e.title,metadata:t.metadata||{}}}))})}(t,e)).catch(Zi))}function $i(){return Xi}function Zi(t){Xi=!0,console.error("Failed to load recommendations: %j",t)}function Ji(t){const e=Date.now()-(t.server_time_offset||0);return Math.floor(((t.live_start_time||0)-e)/1e3)}function tn(t,e){let r=0;function i(){const i=Ji(e);if(i<0||isNaN(i)||0===t.reaper||void 0===e.live_start_time)return clearInterval(r),function(t,e,r){t.emit("ovp:live:countdown:complete");const i=xt(t,Y);i&&i.remove(),t.root.classList.remove("is-livecountdown"),r||t.emit("ovp:request:media:complete",e)}(t,e,void 0===e.live_start_time);!function(t,e,r,i){r.classList.add("is-livecountdown"),e.emit("ovp:live:countdown:tick",{remaining_time:en(i+1)}),e.hasState(tt)||e.setState(tt,!0)}(0,t,t.root,i)}var n;n=e,Or().then(t=>Object.assign(n,{server_time_offset:t})),i(),r=setInterval(i,250)}function en(t){const e=function(t){"number"!=typeof t&&(t=parseInt(t,10)),t=Math.round(t);const e=Math.floor(t/86400);t-=86400*e;const r=Math.floor(t/3600);t-=3600*r;const i=Math.floor(t/60);return{days:e,hours:r,minutes:i,seconds:t-=60*i}}(t);let r="";return e.days&&(r+=e.days+":"),r+Ut(e.hours)+":"+Ut(e.minutes)+":"+Ut(e.seconds)}class WebsocketBridge{constructor(t){this.manualDisconnect=!1,this.video=t,this.onClose=this.onClose.bind(this),this.onMessage=this.onMessage.bind(this)}static of(t){return new WebsocketBridge(t)}connect(t){this.client=new WebSocket("wss://player.ws.flowplayer.com?mediaId="+t),this.current_media_id=t,this.wireup()}onClose(){this.manualDisconnect?this.manualDisconnect=!1:this.current_media_id&&this.reconnect(this.current_media_id)}onMessage(t){JSON.parse(t.data).forEach(t=>{this.video.emit("ovp:message:realtime",t)})}reconnect(t){this.cleanup(),this.connect(t)}wireup(){this.client&&(this.client.addEventListener("message",this.onMessage),this.client.addEventListener("close",this.onClose))}cleanup(){this.client&&(this.client.removeEventListener("message",this.onMessage),this.client.removeEventListener("close",this.onClose),this.client=void 0)}disconnect(){this.client&&(this.manualDisconnect=!0,this.client.close())}}class FlowplayerLiveCountdown extends FlowplayerComponent{constructor(t){super(t),this.classList.add("fp-livecountdown");const e=Ft("fp-inner");this.append(e);const r=document.createElement("p");r.innerText=t.i18n("ovp.starting_in"),e.append(r);const i=document.createElement("p");i.classList.add("fp-countdown"),e.append(i),t.on("ovp:live:countdown:tick",e=>{const r=e.detail.remaining_time;t.root.classList.add("is-livecountdown"),i.innerText=r})}}const rn=["*.lwcdn.com","*.flowplayer.com"];class OVP{constructor(t){vt(t,Y,FlowplayerLiveCountdown)}onload(t,e,r,i){if("string"==typeof i.src)return"string"!=typeof t.player_id||0===i.src.indexOf(t.player_id)||Ui(i)||(i.src=[t.player_id,i.src].join("/")),Ki(r,i)}wants(t,e,r){return Bi(t,e)}init(t,e,r){const n=new WebsocketBridge(r);let s=Object.assign({},t);const a=function(t){if(!s)return t;delete s.src;const e=ki(t,s);return s=!1,e};r.on("ovp:error",(function(t){r.emit(i,t.data)})),r.on("ovp:request:start",(function(){r.setState(it,!0),t.recommendations&&(t.recommendations=!1)})),r.on("ovp:media:changed",(function({data:t}){var e;const r=null===(e=null==t?void 0:t.metadata)||void 0===e?void 0:e.media_id;(null==t?void 0:t.live)&&r&&(n.disconnect(),n.connect(r))})),r.on("ovp:message:realtime",(function({data:e}){var i;const n=null==e?void 0:e.event,s=null==e?void 0:e.value,a=r.opt("metadata",{live_start_time:""});switch(n){case"METADATA":{const e=Object.assign(a,s),n=Object.assign(t,{metadata:e});n.live&&(null===(i=null==n?void 0:n.metadata)||void 0===i?void 0:i.live_start_time)&&(n.live_start_time=Gi(n.metadata.live_start_time)),r.setOpts(n);break}}})),r.on("beforeplay",(function(e){const r=t;if(Hi(r)){if(nn(r))return;e.preventDefault()}})),r.on("ovp:request:media:complete",(function(t){const e=t.data;if(!e)return;if(0==r.reaper||"object"!=typeof e||Ji(e)>0)return;const i=a(e);r.setOpts(i),r.setAttrs(i),i.src&&r.setSrc(i.src)})),r.on(w,(function({data:i}){var n,s;if("string"==typeof t.src&&Bi(t.src,{}))return;if(t.src&&sn(t.src))return;if((null==i?void 0:i.domains)&&(null==i?void 0:i.domains.length)&&!((t,e)=>{const r=t.split(".").reverse();return e.concat(rn).some(t=>{const e=t.split(".").reverse(),i="*"===e[e.length-1];return i&&e.pop(),(i||e.length===r.length)&&e.every((t,e)=>r[e]===t)})})(function(){try{return window.location.hostname!==window.parent.location.hostname?nr(document.referrer).hostname:document.location.hostname}catch(t){return window.location.hostname}}(),i.domains))return he({root:e,video:r,data:{details:`Hostname ${window.location.hostname} is not allowed to load player ${null===(n=i.metadata)||void 0===n?void 0:n.player_id}.`,reason:"domain"}});const a=null==i?void 0:i.brand_color;return a&&r.root.style.setProperty("--fp-brand-color","#"==a[0]?a:"#"+a),"string"==typeof t.player_id&&(null===(s=null==t?void 0:t.metadata)||void 0===s?void 0:s.player_id)!==t.player_id?function(t,e){if("object"==typeof zi[e])return console.debug("using Cache(%s)",e),Yi(t,e,zi[e]);Pipe.of(e).fmap(Ii).fmap(Oi).fmap(r=>r.then(r=>Yi(t,e,r)).catch(console.error))}(r,t.player_id):void 0})),r.on("ovp:request:playlist:complete",(function(t){const e=t.data;if(!e||0==r.reaper)return;const{playlist:i}=e,n=bt(e,["playlist"]),s=a(n);Array.isArray(s.playlist)&&(s.playlist=n),r.setOpts(s);const o={type:"flowplayer/playlist",items:i};r.setSrc(o)})),r.on("ovp:live:countdown:start",(function(i){const n=i.data;if(!n||0==r.reaper)return;const s=a(n);if(r.setOpts(s),r.setAttrs(s),Ji(n)<=0)return r.emit("ovp:request:media:complete",n);xt(r,Y)||(e.appendChild(gt(r,Y)),tn(r,t))})),r.on("timeupdate",(function(){var e,i,n;const s=t;Hi(s)?nn(s)||(r.togglePlay(!1),r.emit(b)):t.recommendations&&(null===(e=null==t?void 0:t.metadata)||void 0===e?void 0:e.media_id)&&(Array.isArray(t.recommendations)||r.currentTime/r.duration<.8||$i()||(null===(i=null==t?void 0:t.metadata)||void 0===i?void 0:i.media_id)&&(null===(n=null==t?void 0:t.metadata)||void 0===n?void 0:n.player_id)&&Qi(r,t.metadata.media_id,t.metadata.player_id))})),r.on(L,(function(){n.disconnect()}))}}function nn(t){var e,r;const i=null===(e=null==t?void 0:t.metadata)||void 0===e?void 0:e.live_stop_time;if(!i)return!0;return!!(null===(r=null==t?void 0:t.metadata)||void 0===r?void 0:r.allow_after_stop_time)||Gi(i)>Date.now()}OVP.events=Vi;const sn=t=>{var e;if(t&&Array.isArray(t))return"object"==typeof t[0]&&"ovp/base64"===(null===(e=t[0])||void 0===e?void 0:e.type)};function an(t){return{width:t.clientWidth,height:t.clientHeight}}function on(t,e,r){return"number"==typeof r&&(r+="px"),t.style.setProperty(e,r),t}ie(window,OVP);const ln="ad-initialized";var un=Object.freeze({__proto__:null,AD_INIT:ln,AD_PLAYBACK_ERROR:"ad-playback-error",AD_TEARDOWN:"ad-teardown",AD_VIDEOTAG_ATTACHED:"ad-videotag-attached",AD_BLOCKED:"ad-blocked",AD_REQUEST_ERROR:"ad-request-error",AD_REQUESTED:"ad-requested",AD_REQUEST_COMPLETED:"ad-request-completed",AD_PAUSE_CONTENT:"ad-pause-content",AD_STARTED:"ad-started",AD_COMPLETED:"ad-completed",AD_PAUSED:"ad-paused",AD_RESUMED:"ad-resumed",AD_WAITING:"ad-waiting",AD_PROGRESS:"ad-progress",AD_SKIPPED:"ad-skipped",AD_MUTED:"ad-muted",AD_VOLUME_CHANGED:"ad-volume-changed",AD_FULLSCREEN:"ad-fullscreen",AD_TIMEOUT:"ad-timeout",AD_BREAK_COMPLETED:"ad-break-completed",AD_POSTROLL_FINISHED:"ad-postroll-finished",AD_PREROLL_FINSIHED:"ad-preroll-finished",AD_MIDROLL_FINISHED:"ad-midroll-finished",VPAID_INIT:"vpaid-init",IMA_ADAPTER_INIT:"ad-ima-adapter-init",IMA_BEFORE_ADS_REQUEST:"ad-ima-before-ads-request",IMA_ADS_RENDERING_SETTINGS:"ad-ima-rendering-settings",ADAPTER_INIT_FAILED:"ad-adapter-init-failed",AD_PLAY_REQUESTED:"ad-play-requested",RELOAD_AD_REQUESTED:"reload-ad-requested",AD_ERROR:"ad-error",REQUEST_AD_PAUSE:"request/ad/pause",REQUEST_AD_PLAY:"request/ad/play",REQUEST_AD_MUTE_UNMUTE:"request/ad/muteunmute"});const dn="undefined"!=typeof document&&"undefined"!=typeof window&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream;const cn=Sr("ads/lifecycle"),hn=["ad-playback-error","ad-teardown","ad-break-completed"];async function fn({config:t,root:e,content:r,ads:i,ima:n}){var s;cn("LifeCycle::initLifeCycle",t,e,r,i,n),r.autoplay=!1;const a=t.autoplay===yt.AUDIO_REQUIRED,o=function(t,e){return{muted:!(e||!t.muted),volume:t.volume}}(r,a);r.on("volumechange",()=>{o.volume=r.volume,o.muted=r.muted});const l=gt(r,"flowplayer-ad-ui"),u=l.adContainer;l.setUiFlags(null===(s=t.ads)||void 0===s?void 0:s.ui),e.append(l);const d={listening:!1,preload:null==n?void 0:n.preload_ads};if(cn("initial",o),i.setVideoTag(r),t.autoplay){cn("Trying to autoplay"),l.hideFirstFrame(e);await async function t(e,r){const[i,n]=[e.muted,e.volume];cn("Lifecycle::peek_content(:muted => %s, :volume => %s)",i,n);const s=()=>new Promise(t=>setTimeout(t,0,!1));r&&(e.muted=!1,e.volume=e.volume?e.volume:1);try{return await async function(t){return cn("Lifecycle::wait_for_source"),new Promise((e,r)=>{let i=0;const n=setInterval(()=>{if(++i>40)return clearInterval(n),r(new Error("No source in 2000ms, giving up"));t.currentSrc&&(e(null),clearInterval(n))},50)})}(e),e.volume&&(e.volume=.01),cn("Lifecycle::peek_content::play"),await new Promise(t=>setTimeout(()=>t(e.togglePlay(!0)))),cn("Lifecycle::peek_content::pause"),await new Promise(t=>setTimeout(()=>t(e.togglePlay(!1)))),e.volume=n,cn("Lifecycle::peek_content::true"),!0}catch(a){return e.volume=n,r?(e.muted=!1,0==e.volume&&(e.volume=1),await s()):i||!n?(cn("Lifecycle::peek_content::false"),await s()):(cn("Lifecycle::peek_content::recover"),e.muted=!0,!!await t(e)||(e.muted=i,cn("Lifecycle::peek_content::false"),await s()))}}(r,a)?(cn("Can autoplay, start ad"),r.opts.autoplay=1,pn({ads:i,content:r,state:d,adContainer:u,ima:n,config:t})):(cn("cannot autoplay(audioRequired: %s), fallback to poster state",a),t.autoplay=0,l.showFirstFrame(e),r.setState("is-starting",!0))}t.autoplay||i.hasPreroll()&&function({content:t,ads:e,config:r,state:i,initial:n,adContainer:s,ima:a}){t.once("beforeplay",(async function(o){(t.hasState(ot)||"touchend"!=o.type)&&e.shallPlayAd(0)&&(!dn&&o.preventDefault(),yn({ads:e,content:t,state:i}),cn("user_gesture(:intercept) -> shallPlayAd(0: %s)",e.shallPlayAd(0)),r.muted=n.muted,await pn({ads:e,content:t,state:i,adContainer:s,ima:a,config:r}),En({ads:e,content:t}))}))}({content:r,ads:i,config:t,state:d,initial:o,adContainer:u,ima:n}),!t.autoplay&&i.hasPreroll()&&d.preload&&pn({ads:i,content:r,state:d,adContainer:u,ima:n,config:t}),mn({config:t,root:e,content:r,ads:i,state:d,adContainer:u,ui:l,ima:n,initial:o}),r.on("src",()=>{r.once("beforeplay",()=>i.resetScheduleCounter())}),r.on("beforeplay",t=>{(i.adBreak||i.adPlaying||i.adRequesting)&&(i.adBreak&&!i.adLinear||(cn("prevented content from starting because ad break is active"),t.preventDefault()))})}async function pn(t){t.state.started||(t.content.hasState(ot)?await gn(t):t.content.once("viewenter",async()=>{await gn(t)}))}async function gn({ads:t,content:e,adContainer:r,ima:i,state:n,config:s}){var a;n.started=!0;const o=bt(i,["ads"]),l=an(e.root),u=(null==s?void 0:s.muted)||e.muted,d=Object.assign(Object.assign(Object.assign({container:r,volume:u?0:e.volume,muted:u,autoplay:(null==s?void 0:s.autoplay)||!1,video_source:e.original_src,DisableCustomPlaybackForIOS10Plus:dn,preload_ads:null===(a=null==s?void 0:s.ima)||void 0===a?void 0:a.preload_ads},o),l));cn("start():",d,n),await t.initialize(!1,d,n.preload)}function vn(t,e){var r,i;return{content_width:t.clientWidth||(null===(r=t.parentNode)||void 0===r?void 0:r.clientWidth)||e.clientWidth,content_height:t.clientHeight||(null===(i=t.parentNode)||void 0===i?void 0:i.clientHeight)||e.clientHeight}}function mn({config:t,root:e,content:r,ads:i,initial:n,adContainer:s,state:a,ui:o,ima:l}){cn("addUIListeners()"),r.once(E,async n=>{if(i){if(cn("addUIListeners() -> content started playing"),yn({ads:i,content:r,state:a}),!i.shallPlayAd(0)||!i.adapter.isLinearAd())return cn("addUIListeners() -> no more preroll ads -> resume content"),o.showFirstFrame(e),await pn({ads:i,content:r,state:a,adContainer:s,ima:l,config:t});r.togglePlay(!1),await pn({ads:i,content:r,state:a,adContainer:s,ima:l,config:t}),i.shallPlayAd(0)&&i.adapter.isLinearAd()&&(o.classList.add("on","linear"),e.classList.add(it),En({ads:i,content:r}))}}),r.on([R,D],(function(){if(!i)return;const{content_width:t,content_height:n}=vn(r,e);i.resize({height:n,width:t})})),r.on("resize",t=>{if(!i||!t.detail)return;const{width:e,height:r}=t.detail.contentRect;i.resize({width:e,height:r})}),r.on(b,t=>{var e;i&&(cn("ui_listeners(:%s, event: %o)",t.type,t.detail),(null===(e=null==t?void 0:t.detail)||void 0===e?void 0:e.from)!==i&&(t.preventDefault(),Object.assign(t,{prevented_from_ads:!0}),i.finished((function(){r.emit(b,{from:i})}))))}),i.on("ad-requested",()=>{e.classList.toggle(it,!0)}),i.once("ad-started",()=>{r.on(["beforeplay","beforepause"],t=>{var e;if(!i.adBreak||!i.adapter.isLinearAd())return;t.preventDefault();const r=(null===(e=t.detail)||void 0===e?void 0:e.forced)?"beforeplay"===t.type:!i.adPlaying;r&&i.paused&&i.resume(),r||i.paused||i.pause()})}),i.on("ad-started",t=>{const s=t.detail,{linear:a,ad:l,ad_type:u}=s;let d;if(cn(`Ad[linear: ${a}, currentTime: ${r.currentTime}] starting`,l),"preroll"==u&&!a&&r.paused&&r.togglePlay(!0),"preroll"==u&&a&&r.currentTime>0&&!r.opt("start_time")&&!r.opt("live")&&(cn("Preroll[rewind: true]",r.currentTime),r.currentTime=0),a&&(d=vn(r,e)),i.resize({width:d?d.content_width:l.width,height:d?d.content_height:l.height,linear:a,resize_non_linear:!0}),o.resize({linear:a,resizeContainerAlso:!0,width:a?void 0:l.width,height:a?void 0:l.height}),e.classList.remove(it),o.classList.add("on"),o.classList.toggle("linear",a),o.classList.toggle("non-linear",!a),!a){cn("non-linear ad / restarting content");try{r.togglePlay(!0),r.volume=n.volume,r.muted=n.muted}catch(t){cn(t)}}!r.hasState(ot)&&a&&i.pause()}),i.on("ad-pause-content",()=>{o.resize({linear:!0,width:0,height:0})}),r.on(hn,t=>async function({root:t,content:e,ads:r,ui:i,eventName:n,err:s={reason:""}}){cn("teardown(event: %s)",n),t.classList.add("is-seamless"),i.classList.remove("is-vpaid"),t.classList.remove(it),s.reason&&cn("teardown(:err, reason: %s) %o",s.reason);i.classList.remove("on");const a=r.getLastAd();if(i.showFirstFrame(t),!r.shouldRestartContent())return cn("Lifecycle.teardown(:skip_restart, reason: %s)","Ad prevented restarting content"),Tn(t);if(e.currentTime>0&&e.currentTime>=e.duration||"postroll"==r.ad_type||!1===(null==a?void 0:a.restart))return cn("Lifecycle.teardown(:skip_restart, reason: %s)","was a postroll ad"),Tn(t);""===e.currentSrc&&e.setSrc(e.original_src);e.paused&&r.shouldRestartContent()&&(cn("Lifecycle.teardown(:toggle_play, %s)","attempting to restart content"),await e.togglePlay(!0));if(!e.paused)return cn("Lifecycle.teardown(:ok)","restarted video content"),Tn(t)}({root:e,content:r,ads:i,ui:o,err:t.detail,eventName:t.type}));let u=!!t.autoplay;var d;r.on("viewenter",()=>{u&&i.resume()}),r.on("viewleave",(d=()=>{u=!i.paused,i.pause()},t=>{setTimeout((function(){if(!t.defaultPrevented)return d(t)}),0)}))}function yn({ads:t,content:e,state:r}){r.listening||(e.on(["timeupdate",S,E,A],r=>{t.adPlaying&&t.adapter.isLinearAd()&&!t.adapter.isSharedVideoTag()&&!e.paused&&e.pause(),En({ads:t,content:e,seek:r.type===A})}),r.listening=!0)}function En({ads:t,content:e,seek:r=!1}){t&&t.setCurrentTime(e.currentTime,void 0,r)}function Tn(t){t.classList.remove("is-seamless")}const _n=Sr("ads/timers");class TimerRegistry{constructor(t={},e={}){this.intervals=t,this.timers=e}}let bn=-1;function Sn(t,e,r){const i=setInterval(r,e);if(_n("TimerRegistry.createInterval() -> "+i,t.intervals),"object"==typeof i){const e=++bn;return t.intervals[e]=e,e}return t.intervals[i]=i,i}function An(t){if(t)return _n("TimerRegistry.empty()",Object.keys(t.timers),Object.keys(t.intervals)),Object.keys(t.intervals).forEach(e=>function(t,e){return _n("TimerRegistry.removeInterval() -> "+e,t.intervals),clearInterval(t.intervals[e]),delete t.intervals[e],t}(t,e)),Object.keys(t.timers).forEach(e=>function(t,e){return _n("TimerRegistry.removeTimeout() -> "+e,t.timers),clearTimeout(t.timers[e]),delete t.timers[e],t}(t,e)),t}function Ln(t){try{return t.getAdPodInfo().getPodIndex()}catch(t){return}}class IMA{constructor(t){this.eventHandler=t,this.log=Sr("ads/adapter/ima"),this.google=window.google,this._adHandlers=[],this._timers=new TimerRegistry,this._started=!1,this._volumeLevel=0,this._adLoaded=!1,this._paused=!1,this._all_ads_completed=!1,this._currentDuration=0,this._currentRemaining=0,this._currentDisplayTs=0,this._iosPlaysInline=!1,this.sharedVideoTag=!1,this._isInitialized=!1,this._prepared=!1,this.opts={}}async init(t){this.log("init",this.videoTag,t),this.opts=t,this._dimensions={width:t.width,height:t.height,linear:t.linear},this._prepared=!0,!this._isInitialized&&this.videoTag&&await this.initAdapter()}async initAdapter(){this.log("initAdapter",this.opts);try{await this.initialize(this.opts),this._isInitialized=!0}catch(t){this.log("initAdapter failed:",t),this._prepared=!1,this.eventHandler.trigger("ad-adapter-init-failed")}}isReady(){return!!this._isInitialized}setIOSPlaysInline(t){this.log("setIOSPlaysInline",t),this.sharedVideoTag=!t,this.initialize(Object.assign(Object.assign({},this.opts),{DisableCustomPlaybackForIOS10Plus:t}))}getIOSPlaysInline(){return this._iosPlaysInline}setVideoTag(t){this.videoTag=t}isLinearAd(){return!!this._adLinear}isSharedVideoTag(){return!!this.sharedVideoTag}getVideoTag(){return this.videoTag}getDimensions(){return this._dimensions||{}}getOpts(){return this.opts}isPaused(){return this._paused}destroy(){An(this._timers),this._adHandlers&&this._adHandlers.forEach(t=>t()),this._adHandlers=void 0,this._adDisplayContainer&&this._adDisplayContainer.destroy(),this._adDisplayContainer=void 0,this._adsLoader&&this._adsLoader.destroy(),this._adsLoader=void 0,this._adsManager&&this._adsManager.destroy(),this._adsManager=void 0}stop(){this._adsManager&&this._adsManager.stop()}initialize(t){const e=this.isAdPod(),r=this._adLoaded||e;if(this.cleanup(),!this.videoTag)return console.warn("videoTag not set during initialization");this.opts=t,this._volumeLevel=t.volume;const i=this.google.ima.settings;t.NumRedirects=t.NumRedirects||t.redirects;const n={VpaidMode:this.google.ima.ImaSdkSettings.VpaidMode.INSECURE,DisableCustomPlaybackForIOS10Plus:!0};if(i.setVpaidMode(t.VpaidMode||n.VpaidMode),i.setDisableCustomPlaybackForIOS10Plus(t.DisableCustomPlaybackForIOS10Plus||n.DisableCustomPlaybackForIOS10Plus),"NumRedirects"in t&&i.setNumRedirects(t.NumRedirects),"AutoPlayAdBreaks"in t&&i.setAutoPlayAdBreaks(t.AutoPlayAdBreaks),"Locale"in t&&i.setLocale(t.Locale),"Ppid"in t&&i.setPpid(t.Ppid),!document.body.contains(t.container))throw new Error("AdDisplayContainer was not found in the document.body");this._adDisplayContainer=new this.google.ima.AdDisplayContainer(t.container,this.videoTag),this._adDisplayContainer.initialize(),this._adsLoader=new this.google.ima.AdsLoader(this._adDisplayContainer),this.log("ima.initialise(:wait -> ADS_MANAGER_LOADED)",Object.assign(Object.assign({},t),{volume:this.videoTag.volume,muted:this.videoTag.muted})),this._adsLoader.addEventListener(this.google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,e=>{if(!this.videoTag)return;this.log("ima.initialise(:done -> ADS_MANAGER_LOADED)\n%o",Object.assign(Object.assign({},t),{volume:this.videoTag.volume,muted:this.videoTag.muted}));const r=new this.google.ima.AdsRenderingSettings;this.log("ima.rendering(preload: %s)",!!t.preload_ads),r.useStyledNonLinearAds=!0,r.enablePreloading=!!t.preload_ads,"number"==typeof t.media_timeout&&(r.loadVideoTimeout=t.media_timeout),r.restoreCustomPlaybackStateOnAdBreakComplete=!t.DisableCustomPlaybackForIOS10Plus,this.sharedVideoTag&&(r.playAdsAfterTime=this.videoTag.currentTime),this.eventHandler.trigger("ad-ima-rendering-settings",r);const i=this._adsManager=e.getAdsManager(this.videoTag,r);this.eventHandler.trigger("ad-ima-adapter-init",i),i.addEventListener(this.google.ima.AdEvent.Type.LOADED,()=>{this.log("debug(ima.adsManager): google.ima.AdEvent.Type.LOADED")}),i.addEventListener(this.google.ima.AdErrorEvent.Type.AD_ERROR,()=>{this.log("debug(ima.adsManager): google.ima.AdErrorEvent.Type.AD_ERROR")}),i.addEventListener(this.google.ima.AdEvent.Type.STARTED,()=>{this.log("debug(ima.adsManager): google.ima.AdEvent.Type.STARTED")}),i.addEventListener(this.google.ima.AdEvent.Type.STARTED,t=>{this.debugEvent(t);const e=t.getAd();e&&(this._currentDuration=e.getDuration(),this._currentDisplayTs=Date.now(),this.emitWithAd("ad-started",e),e.isLinear()&&IMA.pollRemaining({ima:this,adsManager:i}))}),i.addEventListener(this.google.ima.AdEvent.Type.COMPLETE,t=>{this.debugEvent(t);const e=t.getAd();e&&this.emitWithAd("ad-completed",e),An(this._timers)}),i.addEventListener(this.google.ima.AdEvent.Type.SKIPPED,t=>{this.debugEvent(t);const e=t.getAd();e&&this.emitWithAd("ad-skipped",e)}),i.addEventListener(this.google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED,t=>{this.debugEvent(t);const e=t.getAd();e&&this.emitWithAd("ad-pause-content",e)});const n=()=>{this._started=!1,this._currentDisplayTs=0,this.eventHandler.trigger("ad-break-completed")};i.addEventListener(this.google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED,t=>{this.debugEvent(t),n()}),i.addEventListener(this.google.ima.AdEvent.Type.VOLUME_CHANGED,t=>{this.log("IMA::volume(type: %s, event: %o)",t);const e=i.getVolume();this._volumeLevel=e,this.eventHandler.trigger("ad-volume-changed",e)});const s=t=>{this._paused=t,this.eventHandler.trigger(t?"ad-paused":"ad-resumed")};i.addEventListener(this.google.ima.AdEvent.Type.PAUSED,()=>s(!0)),i.addEventListener(this.google.ima.AdEvent.Type.RESUMED,()=>s(!1)),i.addEventListener(this.google.ima.AdEvent.Type.STARTED,()=>s(!1)),i.addEventListener(this.google.ima.AdEvent.Type.VOLUME_MUTED,t=>{this.log("IMA::volume(type: %s, event: %o)","mute",t),this.eventHandler.trigger("ad-muted")});const{width:a,height:o}=t;a&&o&&(i.init(a,o,this.google.ima.ViewMode.NORMAL),this.log("ima.initialise: done initializing"))}),r&&(this.log("Event(reload: %s)","reload-ad-requested"),this.eventHandler.trigger("reload-ad-requested",e)),this.eventHandler.trigger(ln,this)}destroyManager(t="unknown"){if(!this._adsManager)return this.log("ima::destroyManager(:skip, label: %s)",t);this.log("ima::destroyManager(:ok, label: %s)",t),this._adsManager.destroy()}reset(){this.destroyManager("reset"),An(this._timers),this.clearAdHandlers(),this._started=!1,this._adLoaded=!1}cleanup(){this.destroyManager("cleanup"),this._adsLoader&&this._adsLoader.destroy(),this._adDisplayContainer&&this._adDisplayContainer.destroy(),this._adLoaded=!1}waitForAdsManager(){return new Promise(t=>{this.log("ima.waitForAdsManager:",this._adsManager),this.once(this._adsLoader,this.google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,()=>{this.log("ima.waitForAdsManager(:ok)",this._adsManager),t(this._adsManager)})})}async initAd(t,e=5e3){this.log(`ima.initAd(adTag: ${t}, timeout: ${e})`);try{await this.requestAd(t,e),this._adLoaded=!0}catch(t){throw this.log("ima.initAd:",t),this._adLoaded=!1,t}finally{An(this._timers)}}async requestAd(t,e){if(this.destroyManager("requestAd"),!this.videoTag)return;const{autoplay:r=!1}=this.opts,i=Date.now(),n=this.videoTag.muted;this._volumeLevel=this.videoTag.volume;const s=n||0==this._volumeLevel;this._all_ads_completed=!1,this.log("ima.requestAd(%o)",Object.assign(Object.assign({},this.opts),{autoplay:r,muted:n,timeout:e,adTag:t,_volumeLevel:this._volumeLevel,manager:this._adsManager})),this.clearAdHandlers();const a=new this.google.ima.AdsRequest;a.adTagUrl=t;const{height:o,width:l}=this.opts;if(l&&(a.linearAdSlotWidth=l),o&&(a.linearAdSlotHeight=o),!this.opts.disable_non_linear_ads&&l&&(a.nonLinearAdSlotWidth=l),!this.opts.disable_non_linear_ads&&o&&(a.nonLinearAdSlotHeight=o-50),a.setAdWillAutoPlay(r),a.setAdWillPlayMuted(s),a.vastLoadTimeout=e,this.eventHandler.trigger("ad-ima-before-ads-request",{request:a}),!this._adsLoader)return;this._adsLoader.requestAds(a);return new Promise(async(t,r)=>{const n=e=>{clearTimeout(o),t(e)},a=t=>{clearTimeout(o),r(t)};this.once(this._adsLoader,this.google.ima.AdErrorEvent.Type.AD_ERROR,t=>{this.emitError("ad-request-error",t),a(new Error("Ad load failed"))});const o=setTimeout(()=>{const t=new Error("Ad internal timeout reached");this.eventHandler.trigger("ad-timeout",t),r(t)},1.5*(e+(this.opts.media_timeout||5e3))),l=await this.waitForAdsManager();this.volume(s?0:this._volumeLevel),this.eventHandler.trigger("ad-volume-changed",this._volumeLevel);const u=this.cuepoints();if(u&&u.length&&0!==u[0])return n({ad:!1,adsManager:l});this.once(l,this.google.ima.AdErrorEvent.Type.AD_ERROR,t=>{this.emitError("ad-playback-error",t),a(t)}),this.once(l,this.google.ima.AdEvent.Type.ALL_ADS_COMPLETED,()=>{this._all_ads_completed=!0,n(null)}),this.once(l,this.google.ima.AdEvent.Type.LOADED,t=>{this.eventHandler.trigger("ad-request-completed",{request_load_time:Date.now()-i});const e=t.getAd();e&&(this.log("ima.requestAd: AD_REQUEST_COMPLETED",e.getContentType()),"application/javascript"==e.getContentType()&&this.eventHandler.trigger("vpaid-init",e),n(null))}),this.once(l,this.google.ima.AdEvent.Type.CLICK,()=>{this.log("ima.requestAd: click event"),this.pause()})})}async playAd(){if(this.log("ima.playAd()",this),!this._adsManager||!this._adLoaded)return;const t=this.currentAd();if(t&&(!this.sharedVideoTag||t.isLinear()))try{await this.startAndWaitForAdCompletion(this._adsManager,t.isLinear())}catch(t){throw this.log("ima.playAd",t),t}finally{this._adLoaded=!1,An(this._timers)}}startAndWaitForAdCompletion(t,e){if(!this._started)return this.log("ima.startAndWaitForAdCompletion(manager: %o)",{volume:t.getVolume()}),new Promise((r,i)=>{let n=!1;this.once(t,this.google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED,()=>{if(this.log("ima.startAndWaitForAdCompletion: CONTENT_RESUME_REQUESTED <<< happened"),this._started=!1,n)return this.log("ima.startAndWaitForAdCompletion: Content resume requested, but trying to recover from ad error");r()}),this.once(t,this.google.ima.AdErrorEvent.Type.AD_ERROR,async t=>{this.log("ima.startAndWaitForAdCompletion: beginning error recovery ->",t),n=!0;try{const{ok:e}=await IMA.pollForFatalError({err:t,ima:this});e&&(n=!1)}catch(e){this._started=!1,i(t)}});const s=this.getVideoTag();if(!s)return;const a=()=>{e&&(this._started=!0),t.start(),this.eventHandler.trigger("ad-play-requested")};if(!e||s.hasState(ot))return a();s.paused||s.pause(),s.once("viewenter",()=>a())})}pause(){this.log("ima.pause()"),this._adsManager&&this._adsManager.pause()}resume(){this.log("ima.resume()"),this._adsManager&&this._adsManager.resume()}volume(t){if(this._adsManager)try{return arguments.length>0&&"number"==typeof t&&this._adsManager.setVolume(t),this._volumeLevel=this._adsManager.getVolume()}catch(t){this.log("ima.volume() failed (%o)",t)}}onResize({width:t,height:e,linear:r,silent:i,resize_non_linear:n}){this._adsManager&&(this._adLinear=void 0===r?this._adLinear:r,this.opts&&(t||e)&&(!1===r&&(t+=10,e+=10),this._dimensions={width:t,height:e,linear:r},r&&(this.opts.width=t,this.opts.height=e),(this._adLinear||n)&&(i||this.log("ima.onResize %s x %s",t,e),this._adsManager.resize(t,e,this.google.ima.ViewMode.NORMAL))))}getAdInfo(){const t=this.currentAd();if(t)return{duration:t.getDuration(),currentTime:this._currentRemaining}}currentAd(){const t=this._adsManager;if(t)return t.getCurrentAd()}isAdPod(){const t=this.cuepoints();return!!(t&&t.length>1)}cuepoints(){return this._adsManager&&this._adsManager.getCuePoints()}async contentComplete(){this.log("ima.contentComplete() -> ",this),this._adsLoader&&this._adsLoader.contentComplete();const t=this.cuepoints();t&&-1!==t.indexOf(-1)&&await new Promise(t=>{IMA.race(this.eventHandler,["ad-break-completed","ad-error"],t)})}isUiDisabled(){try{const t=this.currentAd();return t&&t.isUiDisabled()}catch(t){return null}}getAdPodInfo(){try{const t=this.currentAd();return t&&t.getAdPodInfo()}catch(t){return null}}canDismissNonLinear(){const t=this.currentAd();if(!t||t.isLinear()||!this._adsManager||!this._currentDisplayTs)return!0;const e=Date.now(),r=t.getMinSuggestedDuration();return e-this._currentDisplayTs>1e3*r}static unwrapError(t,e){if(!t)return"";if("function"==typeof t.getMessage){return t.getMessage()}return t.message?t.message:e||""}static pollForFatalError({err:t,ima:e}){let r;try{const e=t.getError(),i=e.getInnerError(),n=i?IMA.unwrapError(i,e.message):"";r={reason:n,type:e.getType(),code:e.getErrorCode()}}catch(t){}const i=e._currentRemaining;return new Promise((t,n)=>{const s=setTimeout(()=>{e.eventHandler&&e.eventHandler.trigger("ad-playback-error",r),n(new Error("Ad not progressing"))},2500);e.eventHandler.once("ad-progress",e=>{const r=e.detail.remaining;-1!==r&&r<i&&(clearTimeout(s),t({ok:1}))})})}static pollRemaining({ima:t,adsManager:e}){let r=-1;return Sn(t._timers,250,(function(){t._currentRemaining=e.getRemainingTime(),r!=t._currentRemaining&&(r=t._currentRemaining,t.eventHandler.trigger("ad-progress",{remaining:t._currentRemaining,duration:t._currentDuration}))}))}once(t,e,r){this._adHandlers.push(function(t,e,r){const i=n=>{r(n),t.removeEventListener(e,i)};return t.addEventListener(e,i),()=>t.removeEventListener(e,i)}(t,e,r))}static race(t,e,r){e.forEach(i=>{const n=(...i)=>{e.forEach(e=>t.removeListener(e,n)),r(i)};t.on(i,n)})}clearAdHandlers(){this.log("ima.clearAdHandlers"),this._adHandlers.forEach(t=>t()),this._adHandlers=[]}emitWithAd(t,e){if(this.log("ima.emitWithAd",t,e),!this._adsManager)return;const r=function(t){try{return t.getAdPodInfo().getAdPosition()}catch(t){return}}(e),i=function(t){try{return t.getAdPodInfo().getTotalAds()}catch(t){return}}(e),n={ad:{duration:e.getDuration(),width:e.getWidth(),height:e.getHeight(),position:r,totals:i},volume:this._adsManager.getVolume(),vast_ad_id:e.getAdId(),linear:e.isLinear(),mime_type:e.getContentType(),ima_event:!0};this.log(`emitWithAd::event(name: ${t}, data: %o, ad: %o)`,n,e),this.eventHandler.trigger(t,n)}emitError(t,e){const r={vast_error_type:e.getError().getType(),reason:e.getError().getMessage(),vast_error:e.getError().getErrorCode()};this.log(`ima.error(${t})`,r),this.eventHandler.trigger(t,r)}debugEvent(t){try{const e=t.getAd();if(!e)return;this.log(`ima.event.${t.type} ->`,{event:t,data:t.getAdData(),position:Ln(e),ad:e})}catch(t){}}}var wn=Oe((function(t,e){var r=function(){for(var t=new Array(256),e=0;e<256;++e)t[e]="%"+((e<16?"0":"")+e.toString(16)).toUpperCase();return t}(),i=Object.prototype.hasOwnProperty;e.arrayToObject=function(t,e){for(var r=e.plainObjects?Object.create(null):{},i=0;i<t.length;++i)void 0!==t[i]&&(r[i]=t[i]);return r},e.merge=function(t,r,n){if(!r)return t;if("object"!=typeof r){if(Array.isArray(t))t.push(r);else{if("object"!=typeof t)return[t,r];(n.plainObjects||n.allowPrototypes||!i.call(Object.prototype,r))&&(t[r]=!0)}return t}if("object"!=typeof t)return[t].concat(r);var s=t;return Array.isArray(t)&&!Array.isArray(r)&&(s=e.arrayToObject(t,n)),Object.keys(r).reduce((function(t,s){var a=r[s];return i.call(t,s)?t[s]=e.merge(t[s],a,n):t[s]=a,t}),s)},e.decode=function(t){try{return decodeURIComponent(t.replace(/\+/g," "))}catch(e){return t}},e.encode=function(t){if(0===t.length)return t;for(var e="string"==typeof t?t:String(t),i="",n=0;n<e.length;++n){var s=e.charCodeAt(n);45===s||46===s||95===s||126===s||s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122?i+=e.charAt(n):s<128?i+=r[s]:s<2048?i+=r[192|s>>6]+r[128|63&s]:s<55296||s>=57344?i+=r[224|s>>12]+r[128|s>>6&63]+r[128|63&s]:(n+=1,s=65536+((1023&s)<<10|1023&e.charCodeAt(n)),i+=r[240|s>>18]+r[128|s>>12&63]+r[128|s>>6&63]+r[128|63&s])}return i},e.compact=function(t,r){if("object"!=typeof t||null===t)return t;var i=r||[],n=i.indexOf(t);if(-1!==n)return i[n];if(i.push(t),Array.isArray(t)){for(var s=[],a=0;a<t.length;++a)t[a]&&"object"==typeof t[a]?s.push(e.compact(t[a],i)):void 0!==t[a]&&s.push(t[a]);return s}for(var o=Object.keys(t),l=0;l<o.length;++l){var u=o[l];t[u]=e.compact(t[u],i)}return t},e.isRegExp=function(t){return"[object RegExp]"===Object.prototype.toString.call(t)},e.isBuffer=function(t){return null!=t&&!!(t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer(t))}})),Dn={brackets:function(t){return t+"[]"},indices:function(t,e){return t+"["+e+"]"},repeat:function(t){return t}},Rn={delimiter:"&",strictNullHandling:!1,skipNulls:!1,encode:!0,encoder:wn.encode},kn=function t(e,r,i,n,s,a,o,l,u){var d=e;if("function"==typeof o)d=o(r,d);else if(d instanceof Date)d=d.toISOString();else if(null===d){if(n)return a?a(r):r;d=""}if("string"==typeof d||"number"==typeof d||"boolean"==typeof d||wn.isBuffer(d))return a?[a(r)+"="+a(d)]:[r+"="+String(d)];var c,h=[];if(void 0===d)return h;if(Array.isArray(o))c=o;else{var f=Object.keys(d);c=l?f.sort(l):f}for(var p=0;p<c.length;++p){var g=c[p];s&&null===d[g]||(h=Array.isArray(d)?h.concat(t(d[g],i(r,g),i,n,s,a,o,l,u)):h.concat(t(d[g],r+(u?"."+g:"["+g+"]"),i,n,s,a,o,l,u)))}return h},On=Object.prototype.hasOwnProperty,In={delimiter:"&",depth:5,arrayLimit:20,parameterLimit:1e3,strictNullHandling:!1,plainObjects:!1,allowPrototypes:!1,allowDots:!1,decoder:wn.decode},Cn=function(t,e,r){if(t){var i=r.allowDots?t.replace(/\.([^.[]+)/g,"[$1]"):t,n=/(\[[^[\]]*])/g,s=/(\[[^[\]]*])/.exec(i),a=s?i.slice(0,s.index):i,o=[];if(a){if(!r.plainObjects&&On.call(Object.prototype,a)&&!r.allowPrototypes)return;o.push(a)}for(var l=0;null!==(s=n.exec(i))&&l<r.depth;){if(l+=1,!r.plainObjects&&On.call(Object.prototype,s[1].slice(1,-1))&&!r.allowPrototypes)return;o.push(s[1])}return s&&o.push("["+i.slice(s.index)+"]"),function t(e,r,i){if(!e.length)return r;var n,s=e.shift();if("[]"===s)n=(n=[]).concat(t(e,r,i));else{n=i.plainObjects?Object.create(null):{};var a="["===s.charAt(0)&&"]"===s.charAt(s.length-1)?s.slice(1,-1):s,o=parseInt(a,10);!isNaN(o)&&s!==a&&String(o)===a&&o>=0&&i.parseArrays&&o<=i.arrayLimit?(n=[])[o]=t(e,r,i):n[a]=t(e,r,i)}return n}(o,e,r)}},Pn=function(t,e){var r,i,n=t,s=e||{},a=void 0===s.delimiter?Rn.delimiter:s.delimiter,o="boolean"==typeof s.strictNullHandling?s.strictNullHandling:Rn.strictNullHandling,l="boolean"==typeof s.skipNulls?s.skipNulls:Rn.skipNulls,u=("boolean"==typeof s.encode?s.encode:Rn.encode)?"function"==typeof s.encoder?s.encoder:Rn.encoder:null,d="function"==typeof s.sort?s.sort:null,c=void 0!==s.allowDots&&s.allowDots;if(null!==s.encoder&&void 0!==s.encoder&&"function"!=typeof s.encoder)throw new TypeError("Encoder has to be a function.");"function"==typeof s.filter?n=(i=s.filter)("",n):Array.isArray(s.filter)&&(r=i=s.filter);var h,f=[];if("object"!=typeof n||null===n)return"";h=s.arrayFormat in Dn?s.arrayFormat:"indices"in s?s.indices?"indices":"repeat":"indices";var p=Dn[h];r||(r=Object.keys(n)),d&&r.sort(d);for(var g=0;g<r.length;++g){var v=r[g];l&&null===n[v]||(f=f.concat(kn(n[v],v,p,o,l,u,i,d,c)))}return f.join(a)},xn=function(t,e){var r=e||{};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||wn.isRegExp(r.delimiter)?r.delimiter:In.delimiter,r.depth="number"==typeof r.depth?r.depth:In.depth,r.arrayLimit="number"==typeof r.arrayLimit?r.arrayLimit:In.arrayLimit,r.parseArrays=!1!==r.parseArrays,r.decoder="function"==typeof r.decoder?r.decoder:In.decoder,r.allowDots="boolean"==typeof r.allowDots?r.allowDots:In.allowDots,r.plainObjects="boolean"==typeof r.plainObjects?r.plainObjects:In.plainObjects,r.allowPrototypes="boolean"==typeof r.allowPrototypes?r.allowPrototypes:In.allowPrototypes,r.parameterLimit="number"==typeof r.parameterLimit?r.parameterLimit:In.parameterLimit,r.strictNullHandling="boolean"==typeof r.strictNullHandling?r.strictNullHandling:In.strictNullHandling,""===t||null==t)return r.plainObjects?Object.create(null):{};for(var i="string"==typeof t?function(t,e){for(var r={},i=t.split(e.delimiter,e.parameterLimit===1/0?void 0:e.parameterLimit),n=0;n<i.length;++n){var s,a,o=i[n],l=-1===o.indexOf("]=")?o.indexOf("="):o.indexOf("]=")+1;-1===l?(s=e.decoder(o),a=e.strictNullHandling?null:""):(s=e.decoder(o.slice(0,l)),a=e.decoder(o.slice(l+1))),On.call(r,s)?r[s]=[].concat(r[s]).concat(a):r[s]=a}return r}(t,r):t,n=r.plainObjects?Object.create(null):{},s=Object.keys(i),a=0;a<s.length;++a){var o=s[a],l=Cn(o,i[o],r);n=wn.merge(n,l,r)}return wn.compact(n)};const Mn=Sr("fpads:macros"),Fn=/\[([\s\S]+?)\]/g;class Macros{constructor(t={},e=Fn){this.vars=t,this.pattern=e}static run(t){try{return t()}catch(t){return void console.error(t)}}static merge(...t){return t.reduce((t,e)=>Object.assign(t,e),{})}static cast(t){return void 0===t?"":"function"==typeof t?encodeURIComponent(Macros.run(t)||""):"string"==typeof t?encodeURIComponent(t):"number"==typeof t||"boolean"==typeof t?t.toString():""}static normalize(t){return t.trim()}static process_obj(t,e,r){return Object.keys(t).reduce((i,n)=>{const s=Macros.process_str(n,e,r,!0),a=t[n];return null===a?(i[s]=a,i):"object"==typeof a?(i[s]=Macros.process_obj(a,e,r),i):"string"==typeof a?(i[s]=Macros.process_str(a,e,r),i):(console.error(new Error(`${a} at ${n} not a handled Macro type`)),i)},{})}static process_str(t,e,r,i=!1){return t.replace(e.pattern,(t,e)=>{const n=Macros.normalize(e);if(!(n in r)||void 0===r[n])return t;const s=r[n],a=i?s:Macros.cast(s);return Mn("Macro.replace(raw: %s, macro: %s, value: %s)",i,e,a),a})}fork(t={},e=this.pattern){const r=Macros.merge(this.vars,t);return new Macros(r,e)}compile(t,e={}){const r=Macros.merge(this.vars,e),[i,n]=t.split("?"),s=xn(n||"",{strictNullHandling:!0,decoder:t=>t}),a=Pn(Macros.process_obj(s,this,r),{encode:!1,strictNullHandling:!0});return Macros.process_str(i,this,r,!0)+"?"+a}}function Nn(t,e={width:0,height:0}){let r,i;try{const t=document.createElement("a");t.href=r=window.location!=window.parent.location?document.referrer:document.location.href,i=t.hostname}catch(t){console.error(t)}const{width:n,height:s}=e,{video_source:a}=t||{},o=function(){const t=window;return"object"==typeof t.__flowplayerAdParameters?t.__flowplayerAdParameters:{}}();return Object.assign({random:Date.now(),page_url:r,domain:i,player_width:n,player_height:s,video_url:a,videourl:a},o)}Macros.patterns={BRACKETS:Fn,CURLY:/\{([\s\S]+?)\}/g,UNDERSCORE:/__([\s\S]+?)__/g};const Un=/^flowplayer:\/\/(.+)/;async function Bn(t){if("string"==typeof t&&Un.test(t)){const e=Un.exec(t),r=e&&window[e[1]];if(r)return Bn(r)}if("function"!=typeof t)return t;try{return await t()}catch(t){return""}}class Schedule{constructor(t,e={}){this._ads=t,this._opts=e,this._nextIndex=0,this._postroll=void 0,this._loadPending=!1,this._postrollActive=!1,this.reset(this._ads)}toJSON(){const t=(this._ads||[]).slice(this._nextIndex);return this._postroll&&t.push(this._postroll),t}reset(t){this.setAds(t),this._nextIndex=0,this._postrollActive=!1}resetCounter(){this._nextIndex=0,this._postrollActive=!1}setAds(t){this._ads=t||[],this.sort()}getAds(){return this._ads}getNextAd(t){return this._ads[this._nextIndex]||t}getCurrentAd(){return this._postrollActive?this._postroll:this._loadPending?0:this._ads[this._nextIndex-1]}getPostroll(){return this._postroll}isDrained(){return this._nextIndex+1>this._ads.length}setPostrollActive(){this._postrollActive=!0}updateContentDuration(t){this._opts.content_duration=t}increment(){++this._nextIndex}decrement(){this._nextIndex>0&&--this._nextIndex}getNextIndex(){return this._nextIndex}getCurrentType(){const t=this.getCurrentAd();if(t)return Schedule.kindOf(t.time)}sort(){this._postroll=this._ads.find(t=>-1===t.time),this._ads=this._ads.filter(t=>t!==this._postroll).sort((t,e)=>t.time===e.time?this._ads.indexOf(t)-this._ads.indexOf(e):t.time-e.time)}shallPlayAd(t){if(this._loadPending)return!1;const e=this.getCurrentAd()||this.getNextAd();return!!(e&&e.time<=t&&-1!==e.time)}shallPlayNext(){const t=this.getNextAd(),e=this.getCurrentAd();return!(!t||!e||t.time!==e.time)}waitForLoad(t,e,r){if(this._loadPending=!1,!e)return!1;const i=r?this._opts.preload_advance:0;return e.time>=0?this._loadPending=t<e.time-i:-1===e.time&&(this._loadPending=this._opts.content_duration>0&&-1!==t?t<this._opts.content_duration-i:-1!==t),this._loadPending}static hasPreroll(t){return!!t.find(t=>0===t.time)}static isOutstream(t){return Schedule.hasPreroll(t)&&!!t[0].outstream}static kindOf(t){switch(t){case 0:return"preroll";case-1:return"postroll";default:return"midroll"}}}const jn=Object.prototype,Gn=Object.getPrototypeOf;const Hn=Sr("fpads:ads:state");var Vn;!function(t){t[t.IDLE=0]="IDLE",t[t.INITIALIZING=1]="INITIALIZING",t[t.FETCHING_AD=2]="FETCHING_AD",t[t.AD_AVAILABLE=4]="AD_AVAILABLE",t[t.BREAK_ACTIVE=8]="BREAK_ACTIVE",t[t.PLAYING=16]="PLAYING",t[t.FATAL_ERROR=32]="FATAL_ERROR"}(Vn||(Vn={}));class AdsState{constructor(t=0){this._state=t}static of(){return new AdsState}reset(){this._state=0}toggleState(t,e){return void 0===t&&Hn(new Error("AdState cannot toggleState for `undefined`")),null==typeof e?this._state^=t:e?void(this._state|=t):this._state&=~t}hasAll(t){return this._state==(this._state|t)}hasAny(t){return!!(this._state&t)}get state(){return this._state}}const Kn={ok:Sr("fpads:analytics:request-queue"),err:Sr("fpads:analytics:request-queue:err"),warn:Sr("fpads:analytics:request-queue:warn")};class RequestQueue{constructor(t=[],e=[],r={failures:0,ttl:0}){this.pending=t,this.open=e,this.stats=r}static of(){return new RequestQueue}static is_empty(t){return 0==t.pending.length}static is_high_water(t){return t.open.length==RequestQueue.MAX_OPEN_REQUESTS}static maybe_spawn_req(t){if(RequestQueue.is_empty(t))return Kn.ok("maybe_spawn_req called Queue that is EMPTY"),t;if(RequestQueue.is_high_water(t))return Kn.warn("maybe_spawn_req called on Queue that is HIGH_WATER"),t;try{const e=RequestQueue.lpop(t);e&&RequestQueue.request(t,e)}catch(t){Kn.err(t)}}static increment_failures(t){return t.stats.failures++,t.stats.failures>RequestQueue.MAX_FAILURE_COUNT&&(t.stats.ttl=Date.now()+RequestQueue.REQUEST_TTL_MS),t}static handle_error(t,e){RequestQueue.rm(t,e),RequestQueue.increment_failures(t)}static request(t,[e,r,i]){if(Kn.ok(`Request[${i.event_type}] request`,i,t.stats),Date.now()<t.stats.ttl)return Kn.warn(`Request[${i.event_type}] skipping because too many errors too quickly`,t.stats);const n=new XMLHttpRequest;t.open.push(n),n.timeout=RequestQueue.REQUEST_TIMEOUT_MS,n.ontimeout=function(){RequestQueue.handle_error(t,n),Kn.warn(`Request[${i.event_type}] timed out in ${n.timeout}ms`,t.stats)},n.onerror=function(e){RequestQueue.handle_error(t,n),e&&Kn.err(e),Kn.warn(`Request[${i.event_type}] encountered an Error`,n.responseText,t.stats)},n.onreadystatechange=function(){n.readyState==XMLHttpRequest.DONE&&RequestQueue.rm(t,n),Math.floor(n.status/100)},n.onload=function(){RequestQueue.rm(t,n),t.stats.failures&&t.stats.failures--,Kn.ok(`Request[${i.event_type}] :ok`,n.status)},n.open(r,e),n.setRequestHeader("Content-Type","text/plain;charset=UTF-8");try{n.send(JSON.stringify(i))}catch(t){Kn.err(t)}}static rpush(t,...e){return e.forEach(e=>{if(RequestQueue.is_high_water(t))return Kn.warn("Too many open requests, skipping",t.stats);t.pending.push(e),RequestQueue.maybe_spawn_req(t)}),t}static lpop(t){return t.pending.shift()}static rm(t,e){const r=t.open.lastIndexOf(e);return~r&&t.open.splice(r,1),t}}RequestQueue.MAX_OPEN_REQUESTS=3,RequestQueue.REQUEST_TIMEOUT_MS=4e3,RequestQueue.REQUEST_TTL_MS=5e3,RequestQueue.MAX_FAILURE_COUNT=3;const qn={"Amazon Silk":"amazon_silk","Android Browser":"android",Bada:"bada",BlackBerry:"blackberry",Chrome:"chrome",Chromium:"chromium",Electron:"electron",Epiphany:"epiphany",Firefox:"firefox",Focus:"focus",Generic:"generic","Google Search":"google_search",Googlebot:"googlebot","Internet Explorer":"ie","K-Meleon":"k_meleon",Maxthon:"maxthon","Microsoft Edge":"edge","MZ Browser":"mz","NAVER Whale Browser":"naver",Opera:"opera","Opera Coast":"opera_coast",PhantomJS:"phantomjs",Puffin:"puffin",QupZilla:"qupzilla",QQ:"qq",QQLite:"qqlite",Safari:"safari",Sailfish:"sailfish","Samsung Internet for Android":"samsung_internet",SeaMonkey:"seamonkey",Sleipnir:"sleipnir",Swing:"swing",Tizen:"tizen","UC Browser":"uc",Vivaldi:"vivaldi","WebOS Browser":"webos",WeChat:"wechat","Yandex Browser":"yandex",Roku:"roku"},Wn={amazon_silk:"Amazon Silk",android:"Android Browser",bada:"Bada",blackberry:"BlackBerry",chrome:"Chrome",chromium:"Chromium",electron:"Electron",epiphany:"Epiphany",firefox:"Firefox",focus:"Focus",generic:"Generic",googlebot:"Googlebot",google_search:"Google Search",ie:"Internet Explorer",k_meleon:"K-Meleon",maxthon:"Maxthon",edge:"Microsoft Edge",mz:"MZ Browser",naver:"NAVER Whale Browser",opera:"Opera",opera_coast:"Opera Coast",phantomjs:"PhantomJS",puffin:"Puffin",qupzilla:"QupZilla",qq:"QQ Browser",qqlite:"QQ Browser Lite",safari:"Safari",sailfish:"Sailfish",samsung_internet:"Samsung Internet for Android",seamonkey:"SeaMonkey",sleipnir:"Sleipnir",swing:"Swing",tizen:"Tizen",uc:"UC Browser",vivaldi:"Vivaldi",webos:"WebOS Browser",wechat:"WeChat",yandex:"Yandex Browser"},zn={tablet:"tablet",mobile:"mobile",desktop:"desktop",tv:"tv"},Yn={WindowsPhone:"Windows Phone",Windows:"Windows",MacOS:"macOS",iOS:"iOS",Android:"Android",WebOS:"WebOS",BlackBerry:"BlackBerry",Bada:"Bada",Tizen:"Tizen",Linux:"Linux",ChromeOS:"Chrome OS",PlayStation4:"PlayStation 4",Roku:"Roku"},Xn={EdgeHTML:"EdgeHTML",Blink:"Blink",Trident:"Trident",Presto:"Presto",Gecko:"Gecko",WebKit:"WebKit"};class Utils{static getFirstMatch(t,e){const r=e.match(t);return r&&r.length>0&&r[1]||""}static getSecondMatch(t,e){const r=e.match(t);return r&&r.length>1&&r[2]||""}static matchAndReturnConst(t,e,r){if(t.test(e))return r}static getWindowsVersionName(t){switch(t){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}}static getMacOSVersionName(t){const e=t.split(".").splice(0,2).map(t=>parseInt(t,10)||0);if(e.push(0),10===e[0])switch(e[1]){case 5:return"Leopard";case 6:return"Snow Leopard";case 7:return"Lion";case 8:return"Mountain Lion";case 9:return"Mavericks";case 10:return"Yosemite";case 11:return"El Capitan";case 12:return"Sierra";case 13:return"High Sierra";case 14:return"Mojave";case 15:return"Catalina";default:return}}static getAndroidVersionName(t){const e=t.split(".").splice(0,2).map(t=>parseInt(t,10)||0);if(e.push(0),!(1===e[0]&&e[1]<5))return 1===e[0]&&e[1]<6?"Cupcake":1===e[0]&&e[1]>=6?"Donut":2===e[0]&&e[1]<2?"Eclair":2===e[0]&&2===e[1]?"Froyo":2===e[0]&&e[1]>2?"Gingerbread":3===e[0]?"Honeycomb":4===e[0]&&e[1]<1?"Ice Cream Sandwich":4===e[0]&&e[1]<4?"Jelly Bean":4===e[0]&&e[1]>=4?"KitKat":5===e[0]?"Lollipop":6===e[0]?"Marshmallow":7===e[0]?"Nougat":8===e[0]?"Oreo":9===e[0]?"Pie":void 0}static getVersionPrecision(t){return t.split(".").length}static compareVersions(t,e,r=!1){const i=Utils.getVersionPrecision(t),n=Utils.getVersionPrecision(e);let s=Math.max(i,n),a=0;const o=Utils.map([t,e],t=>{const e=s-Utils.getVersionPrecision(t),r=t+new Array(e+1).join(".0");return Utils.map(r.split("."),t=>new Array(20-t.length).join("0")+t).reverse()});for(r&&(a=s-Math.min(i,n)),s-=1;s>=a;){if(o[0][s]>o[1][s])return 1;if(o[0][s]===o[1][s]){if(s===a)return 0;s-=1}else if(o[0][s]<o[1][s])return-1}}static map(t,e){const r=[];let i;if(Array.prototype.map)return Array.prototype.map.call(t,e);for(i=0;i<t.length;i+=1)r.push(e(t[i]));return r}static find(t,e){let r,i;if(Array.prototype.find)return Array.prototype.find.call(t,e);for(r=0,i=t.length;r<i;r+=1){const i=t[r];if(e(i,r))return i}}static assign(t,...e){const r=t;let i,n;if(Object.assign)return Object.assign(t,...e);for(i=0,n=e.length;i<n;i+=1){const t=e[i];if("object"==typeof t&&null!==t){Object.keys(t).forEach(e=>{r[e]=t[e]})}}return t}static getBrowserAlias(t){return qn[t]}static getBrowserTypeByAlias(t){return Wn[t]||""}}const Qn=/version\/(\d+(\.?_?\d+)+)/i,$n=[{test:[/googlebot/i],describe(t){const e={name:"Googlebot"},r=Utils.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,t)||Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/opera/i],describe(t){const e={name:"Opera"},r=Utils.getFirstMatch(Qn,t)||Utils.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/opr\/|opios/i],describe(t){const e={name:"Opera"},r=Utils.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,t)||Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/SamsungBrowser/i],describe(t){const e={name:"Samsung Internet for Android"},r=Utils.getFirstMatch(Qn,t)||Utils.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/Whale/i],describe(t){const e={name:"NAVER Whale Browser"},r=Utils.getFirstMatch(Qn,t)||Utils.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/MZBrowser/i],describe(t){const e={name:"MZ Browser"},r=Utils.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,t)||Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/focus/i],describe(t){const e={name:"Focus"},r=Utils.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,t)||Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/swing/i],describe(t){const e={name:"Swing"},r=Utils.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,t)||Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/coast/i],describe(t){const e={name:"Opera Coast"},r=Utils.getFirstMatch(Qn,t)||Utils.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/opt\/\d+(?:.?_?\d+)+/i],describe(t){const e={name:"Opera Touch"},r=Utils.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,t)||Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/yabrowser/i],describe(t){const e={name:"Yandex Browser"},r=Utils.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,t)||Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/ucbrowser/i],describe(t){const e={name:"UC Browser"},r=Utils.getFirstMatch(Qn,t)||Utils.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/Maxthon|mxios/i],describe(t){const e={name:"Maxthon"},r=Utils.getFirstMatch(Qn,t)||Utils.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/epiphany/i],describe(t){const e={name:"Epiphany"},r=Utils.getFirstMatch(Qn,t)||Utils.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/puffin/i],describe(t){const e={name:"Puffin"},r=Utils.getFirstMatch(Qn,t)||Utils.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/sleipnir/i],describe(t){const e={name:"Sleipnir"},r=Utils.getFirstMatch(Qn,t)||Utils.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/k-meleon/i],describe(t){const e={name:"K-Meleon"},r=Utils.getFirstMatch(Qn,t)||Utils.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/micromessenger/i],describe(t){const e={name:"WeChat"},r=Utils.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,t)||Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/qqbrowser/i],describe(t){const e={name:/qqbrowserlite/i.test(t)?"QQ Browser Lite":"QQ Browser"},r=Utils.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,t)||Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/msie|trident/i],describe(t){const e={name:"Internet Explorer"},r=Utils.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/\sedg\//i],describe(t){const e={name:"Microsoft Edge"},r=Utils.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/edg([ea]|ios)/i],describe(t){const e={name:"Microsoft Edge"},r=Utils.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/vivaldi/i],describe(t){const e={name:"Vivaldi"},r=Utils.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/seamonkey/i],describe(t){const e={name:"SeaMonkey"},r=Utils.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/sailfish/i],describe(t){const e={name:"Sailfish"},r=Utils.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,t);return r&&(e.version=r),e}},{test:[/silk/i],describe(t){const e={name:"Amazon Silk"},r=Utils.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/phantom/i],describe(t){const e={name:"PhantomJS"},r=Utils.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/slimerjs/i],describe(t){const e={name:"SlimerJS"},r=Utils.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe(t){const e={name:"BlackBerry"},r=Utils.getFirstMatch(Qn,t)||Utils.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/(web|hpw)[o0]s/i],describe(t){const e={name:"WebOS Browser"},r=Utils.getFirstMatch(Qn,t)||Utils.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/bada/i],describe(t){const e={name:"Bada"},r=Utils.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/tizen/i],describe(t){const e={name:"Tizen"},r=Utils.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,t)||Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/qupzilla/i],describe(t){const e={name:"QupZilla"},r=Utils.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,t)||Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/firefox|iceweasel|fxios/i],describe(t){const e={name:"Firefox"},r=Utils.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/electron/i],describe(t){const e={name:"Electron"},r=Utils.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/MiuiBrowser/i],describe(t){const e={name:"Miui"},r=Utils.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/chromium/i],describe(t){const e={name:"Chromium"},r=Utils.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,t)||Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/chrome|crios|crmo/i],describe(t){const e={name:"Chrome"},r=Utils.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/GSA/i],describe(t){const e={name:"Google Search"},r=Utils.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test(t){const e=!t.test(/like android/i),r=t.test(/android/i);return e&&r},describe(t){const e={name:"Android Browser"},r=Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/playstation 4/i],describe(t){const e={name:"PlayStation 4"},r=Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/safari|applewebkit/i],describe(t){const e={name:"Safari"},r=Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/.*/i],describe(t){const e=-1!==t.search("\\(")?/^(.*)\/(.*)[ \t]\((.*)/:/^(.*)\/(.*) /;return{name:Utils.getFirstMatch(e,t),version:Utils.getSecondMatch(e,t)}}}];var Zn=[{test:[/Roku\/DVP/],describe(t){const e=Utils.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,t);return{name:Yn.Roku,version:e}}},{test:[/windows phone/i],describe(t){const e=Utils.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i,t);return{name:Yn.WindowsPhone,version:e}}},{test:[/windows /i],describe(t){const e=Utils.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,t),r=Utils.getWindowsVersionName(e);return{name:Yn.Windows,version:e,versionName:r}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe(t){const e={name:Yn.iOS},r=Utils.getSecondMatch(/(Version\/)(\d[\d.]+)/,t);return r&&(e.version=r),e}},{test:[/macintosh/i],describe(t){const e=Utils.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,t).replace(/[_\s]/g,"."),r=Utils.getMacOSVersionName(e),i={name:Yn.MacOS,version:e};return r&&(i.versionName=r),i}},{test:[/(ipod|iphone|ipad)/i],describe(t){const e=Utils.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,t).replace(/[_\s]/g,".");return{name:Yn.iOS,version:e}}},{test(t){const e=!t.test(/like android/i),r=t.test(/android/i);return e&&r},describe(t){const e=Utils.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,t),r=Utils.getAndroidVersionName(e),i={name:Yn.Android,version:e};return r&&(i.versionName=r),i}},{test:[/(web|hpw)[o0]s/i],describe(t){const e=Utils.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,t),r={name:Yn.WebOS};return e&&e.length&&(r.version=e),r}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe(t){const e=Utils.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,t)||Utils.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,t)||Utils.getFirstMatch(/\bbb(\d+)/i,t);return{name:Yn.BlackBerry,version:e}}},{test:[/bada/i],describe(t){const e=Utils.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,t);return{name:Yn.Bada,version:e}}},{test:[/tizen/i],describe(t){const e=Utils.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i,t);return{name:Yn.Tizen,version:e}}},{test:[/linux/i],describe:()=>({name:Yn.Linux})},{test:[/CrOS/],describe:()=>({name:Yn.ChromeOS})},{test:[/PlayStation 4/],describe(t){const e=Utils.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i,t);return{name:Yn.PlayStation4,version:e}}}],Jn=[{test:[/googlebot/i],describe:()=>({type:"bot",vendor:"Google"})},{test:[/huawei/i],describe(t){const e=Utils.getFirstMatch(/(can-l01)/i,t)&&"Nova",r={type:zn.mobile,vendor:"Huawei"};return e&&(r.model=e),r}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe:()=>({type:zn.tablet,vendor:"Nexus"})},{test:[/ipad/i],describe:()=>({type:zn.tablet,vendor:"Apple",model:"iPad"})},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:()=>({type:zn.tablet,vendor:"Apple",model:"iPad"})},{test:[/kftt build/i],describe:()=>({type:zn.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"})},{test:[/silk/i],describe:()=>({type:zn.tablet,vendor:"Amazon"})},{test:[/tablet(?! pc)/i],describe:()=>({type:zn.tablet})},{test(t){const e=t.test(/ipod|iphone/i),r=t.test(/like (ipod|iphone)/i);return e&&!r},describe(t){const e=Utils.getFirstMatch(/(ipod|iphone)/i,t);return{type:zn.mobile,vendor:"Apple",model:e}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe:()=>({type:zn.mobile,vendor:"Nexus"})},{test:[/[^-]mobi/i],describe:()=>({type:zn.mobile})},{test:t=>"blackberry"===t.getBrowserName(!0),describe:()=>({type:zn.mobile,vendor:"BlackBerry"})},{test:t=>"bada"===t.getBrowserName(!0),describe:()=>({type:zn.mobile})},{test:t=>"windows phone"===t.getBrowserName(),describe:()=>({type:zn.mobile,vendor:"Microsoft"})},{test(t){const e=Number(String(t.getOSVersion()).split(".")[0]);return"android"===t.getOSName(!0)&&e>=3},describe:()=>({type:zn.tablet})},{test:t=>"android"===t.getOSName(!0),describe:()=>({type:zn.mobile})},{test:t=>"macos"===t.getOSName(!0),describe:()=>({type:zn.desktop,vendor:"Apple"})},{test:t=>"windows"===t.getOSName(!0),describe:()=>({type:zn.desktop})},{test:t=>"linux"===t.getOSName(!0),describe:()=>({type:zn.desktop})},{test:t=>"playstation 4"===t.getOSName(!0),describe:()=>({type:zn.tv})},{test:t=>"roku"===t.getOSName(!0),describe:()=>({type:zn.tv})}],ts=[{test:t=>"microsoft edge"===t.getBrowserName(!0),describe(t){if(/\sedg\//i.test(t))return{name:Xn.Blink};const e=Utils.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,t);return{name:Xn.EdgeHTML,version:e}}},{test:[/trident/i],describe(t){const e={name:Xn.Trident},r=Utils.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:t=>t.test(/presto/i),describe(t){const e={name:Xn.Presto},r=Utils.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test(t){const e=t.test(/gecko/i),r=t.test(/like gecko/i);return e&&!r},describe(t){const e={name:Xn.Gecko},r=Utils.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/(apple)?webkit\/537\.36/i],describe:()=>({name:Xn.Blink})},{test:[/(apple)?webkit/i],describe(t){const e={name:Xn.WebKit},r=Utils.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}}];class Parser{constructor(t,e=!1){if(null==t||""===t)throw new Error("UserAgent parameter can't be empty");this._ua=t,this.parsedResult={},!0!==e&&this.parse()}getUA(){return this._ua}test(t){return t.test(this._ua)}parseBrowser(){this.parsedResult.browser={};const t=Utils.find($n,t=>{if("function"==typeof t.test)return t.test(this);if(t.test instanceof Array)return t.test.some(t=>this.test(t));throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.browser=t.describe(this.getUA())),this.parsedResult.browser}getBrowser(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()}getBrowserName(t){return t?String(this.getBrowser().name).toLowerCase()||"":this.getBrowser().name||""}getBrowserVersion(){return this.getBrowser().version}getOS(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()}parseOS(){this.parsedResult.os={};const t=Utils.find(Zn,t=>{if("function"==typeof t.test)return t.test(this);if(t.test instanceof Array)return t.test.some(t=>this.test(t));throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os}getOSName(t){const{name:e}=this.getOS();return t?String(e).toLowerCase()||"":e||""}getOSVersion(){return this.getOS().version}getPlatform(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()}getPlatformType(t=!1){const{type:e}=this.getPlatform();return t?String(e).toLowerCase()||"":e||""}parsePlatform(){this.parsedResult.platform={};const t=Utils.find(Jn,t=>{if("function"==typeof t.test)return t.test(this);if(t.test instanceof Array)return t.test.some(t=>this.test(t));throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform}getEngine(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()}getEngineName(t){return t?String(this.getEngine().name).toLowerCase()||"":this.getEngine().name||""}parseEngine(){this.parsedResult.engine={};const t=Utils.find(ts,t=>{if("function"==typeof t.test)return t.test(this);if(t.test instanceof Array)return t.test.some(t=>this.test(t));throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine}parse(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this}getResult(){return Utils.assign({},this.parsedResult)}satisfies(t){const e={};let r=0;const i={};let n=0;if(Object.keys(t).forEach(s=>{const a=t[s];"string"==typeof a?(i[s]=a,n+=1):"object"==typeof a&&(e[s]=a,r+=1)}),r>0){const t=Object.keys(e),r=Utils.find(t,t=>this.isOS(t));if(r){const t=this.satisfies(e[r]);if(void 0!==t)return t}const i=Utils.find(t,t=>this.isPlatform(t));if(i){const t=this.satisfies(e[i]);if(void 0!==t)return t}}if(n>0){const t=Object.keys(i),e=Utils.find(t,t=>this.isBrowser(t,!0));if(void 0!==e)return this.compareVersion(i[e])}}isBrowser(t,e=!1){const r=this.getBrowserName().toLowerCase();let i=t.toLowerCase();const n=Utils.getBrowserTypeByAlias(i);return e&&n&&(i=n.toLowerCase()),i===r}compareVersion(t){let e=[0],r=t,i=!1;const n=this.getBrowserVersion();if("string"==typeof n)return">"===t[0]||"<"===t[0]?(r=t.substr(1),"="===t[1]?(i=!0,r=t.substr(2)):e=[],">"===t[0]?e.push(1):e.push(-1)):"="===t[0]?r=t.substr(1):"~"===t[0]&&(i=!0,r=t.substr(1)),e.indexOf(Utils.compareVersions(n,r,i))>-1}isOS(t){return this.getOSName(!0)===String(t).toLowerCase()}isPlatform(t){return this.getPlatformType(!0)===String(t).toLowerCase()}isEngine(t){return this.getEngineName(!0)===String(t).toLowerCase()}is(t,e=!1){return this.isBrowser(t,e)||this.isOS(t)||this.isPlatform(t)}some(t=[]){return t.some(t=>this.is(t))}}
373
+ /*! exports provided: default */function(t,e,r){r.r(e);var i=r(/*! ../utils/logger */"./src/utils/logger.ts"),n=r(/*! ../loader/load-stats */"./src/loader/load-stats.ts"),s=/^age:\s*[\d.]+\s*$/m,a=function(){function t(t){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=void 0,this.loader=null,this.stats=void 0,this.xhrSetup=t?t.xhrSetup:null,this.stats=new n.LoadStats,this.retryDelay=0}var e=t.prototype;return e.destroy=function(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null},e.abortInternal=function(){var t=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),t&&(t.onreadystatechange=null,t.onprogress=null,4!==t.readyState&&(this.stats.aborted=!0,t.abort()))},e.abort=function(){var t;this.abortInternal(),null!==(t=this.callbacks)&&void 0!==t&&t.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)},e.load=function(t,e,r){if(this.stats.loading.start)throw new Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=t,this.config=e,this.callbacks=r,this.retryDelay=e.retryDelay,this.loadInternal()},e.loadInternal=function(){var t=this.config,e=this.context;if(t){var r=this.loader=new self.XMLHttpRequest,i=this.stats;i.loading.first=0,i.loaded=0;var n=this.xhrSetup;try{if(n)try{n(r,e.url)}catch(t){r.open("GET",e.url,!0),n(r,e.url)}r.readyState||r.open("GET",e.url,!0);var s=this.context.headers;if(s)for(var a in s)r.setRequestHeader(a,s[a])}catch(t){return void this.callbacks.onError({code:r.status,text:t.message},e,r)}e.rangeEnd&&r.setRequestHeader("Range","bytes="+e.rangeStart+"-"+(e.rangeEnd-1)),r.onreadystatechange=this.readystatechange.bind(this),r.onprogress=this.loadprogress.bind(this),r.responseType=e.responseType,self.clearTimeout(this.requestTimeout),this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),t.timeout),r.send()}},e.readystatechange=function(){var t=this.context,e=this.loader,r=this.stats;if(t&&e){var n=e.readyState,s=this.config;if(!r.aborted&&n>=2)if(self.clearTimeout(this.requestTimeout),0===r.loading.first&&(r.loading.first=Math.max(self.performance.now(),r.loading.start)),4===n){e.onreadystatechange=null,e.onprogress=null;var a=e.status;if(a>=200&&a<300){var o,l;if(r.loading.end=Math.max(self.performance.now(),r.loading.first),l="arraybuffer"===t.responseType?(o=e.response).byteLength:(o=e.responseText).length,r.loaded=r.total=l,!this.callbacks)return;var u=this.callbacks.onProgress;if(u&&u(r,t,o,e),!this.callbacks)return;var d={url:e.responseURL,data:o};this.callbacks.onSuccess(d,r,t,e)}else r.retry>=s.maxRetry||a>=400&&a<499?(i.logger.error(a+" while loading "+t.url),this.callbacks.onError({code:a,text:e.statusText},t,e)):(i.logger.warn(a+" while loading "+t.url+", retrying in "+this.retryDelay+"..."),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay),this.retryDelay=Math.min(2*this.retryDelay,s.maxRetryDelay),r.retry++)}else self.clearTimeout(this.requestTimeout),this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),s.timeout)}},e.loadtimeout=function(){i.logger.warn("timeout while loading "+this.context.url);var t=this.callbacks;t&&(this.abortInternal(),t.onTimeout(this.stats,this.context,this.loader))},e.loadprogress=function(t){var e=this.stats;e.loaded=t.loaded,t.lengthComputable&&(e.total=t.total)},e.getCacheAge=function(){var t=null;if(this.loader&&s.test(this.loader.getAllResponseHeaders())){var e=this.loader.getResponseHeader("age");t=e?parseFloat(e):null}return t},t}();e.default=a}}).default},t.exports=r())})));var ci=Object.freeze({__proto__:null,ATTACHED:"hls:attached"});const hi="com.widevine.alpha";const fi="application/vnd.apple.mpegURL",pi=[fi,"application/x-mpegurl"],gi=document.createElement("video").canPlayType(fi);function vi({src:t="",type:e="",drm:r},i){const n=(null==i?void 0:i.hls)||{},s="native"in n&&n.native;return(!gi||!s)&&(!(r&&!Object.keys(r).find(t=>{return e=t,[hi].filter((function(t){return t===e})).length;var e}))&&(!(!e||!pi.includes(e))||function(t){const{pathname:e}=nr(t);return e.endsWith(".m3u8")}(t)))}var mi="audio:set",yi="audio:update",Ei="audio:tracks";const Ti=[di.Events.SUBTITLE_TRACKS_UPDATED,di.Events.SUBTITLE_TRACK_SWITCH,di.Events.LEVEL_SWITCHED];function _i(t,e){Ti.forEach((function(r){t.on(r,(function(){!function(t,e){var r;const i=t.levels[t.currentLevel];if(!i||!t.subtitleTracks.length||i.attrs.SUB)return;const n=null===(r=null==i?void 0:i.attrs)||void 0===r?void 0:r.SUBTITLES;if(!n)return e.emit("tracks:text:all",[]);const s=t.subtitleTracks.filter((function(t){return t.groupId==n})).map((function(t){return e.textTracks[t.id]}));e.emit("tracks:text:all",s)}(t,e)}))}))}var bi,Si=Object.assign(Object.assign({},{404:"the video was not found",403:"access to this video was denied",410:"the video no longer exists",0:"no internet connection detected"}),{keySystemNoKeys:"no keys",keySystemNoAccess:"no access to key system",keySystemNoSession:"no session for key system",keySystemLicenseRequestFailed:"license request failed",keyLoadError:"decrypt key load failed",keyLoadTimeOut:"decrypt key load timed outs"});!function(t){t[t.FRAGMENT_ERRORS=0]="FRAGMENT_ERRORS",t[t.STALE_MANIFEST=1]="STALE_MANIFEST"}(bi||(bi={}));const Ai=Sr("hls:failover");class FailoverLoaderController{constructor(){this.playlistCounts={},this.fragmentFailures={},this.ttlMilliseconds=3e3}setHls(t){this.hls=t}reset(){return this.playlistCounts={},this.fragmentFailures={},this}failover(t){var e;this.reset();const r=this.hls;if(!r)return;const i=r.levels[r.currentLevel];if(!i)return;if(i.url.length<2)return;const n=r.levels[r.currentLevel].details;r.levelController.redundantFailover(r.currentLevel),null===(e=r.media)||void 0===e||e.dispatchEvent(new CustomEvent("hls/failover",{detail:{reason:t,from:null==n?void 0:n.url}}))}currentLevel(){var t;return null===(t=this.hls)||void 0===t?void 0:t.levels[this.hls.currentLevel]}nextTTL(){var t;const e=Date.now()+this.ttlMilliseconds,r=this.currentLevel();if(!r)return e;const i=null===(t=r.details)||void 0===t?void 0:t.averagetargetduration;return i?Date.now()+500*i:e}ensurePlaylistUpdating(t,e){this.playlistCounts[t]||(this.playlistCounts[t]={checksum:e,count:0,ttl:this.nextTTL()});const r=this.playlistCounts[t];Date.now()<r.ttl||(r.count=r.checksum===e?r.count+1:0,r.ttl=this.nextTTL(),r.checksum=e,r.count<3||(Ai(`${t} / no change in ${r.count} tries`,this.playlistCounts),this.failover(bi.STALE_MANIFEST)))}trackFragmentError(t){const e=this.fragmentFailures[t]||0;this.fragmentFailures[t]=e+1,this.fragmentFailures[t]>2&&this.failover(bi.FRAGMENT_ERRORS)}createPlaylistLoader(){const t=this;return class extends di.DefaultConfig.loader{load(e,r,i){const n=i.onSuccess;i.onSuccess=({data:e,url:r},...i)=>{t.ensurePlaylistUpdating(r,e),n({data:e,url:r},...i)},super.load(e,r,i)}}}createFragmentLoader(){const t=this;return class extends di.DefaultConfig.loader{load(e,r,i){const n=i.onError;i.onError=e=>{t.trackFragmentError(e.url),n(...arguments)},super.load(e,r,i)}}}}const Li=Sr("hls");function wi(t,e,r){if(!t.reaper||!r.src)return;t.hls&&t.hls.destroy();const n="live"in e==0,s={is_audio_only:!1,fragDuration:-1};if(r.drm&&!ir()&&"localhost"!==location.hostname&&"127.0.0.1"!==location.hostname)return t.emit(i,{message:"Secure page required for DRM"});const a=new FailoverLoaderController,o=function(t){return Object.assign(Object.assign({autoStartLoad:!1,levelLoadingMaxRetry:1},t.hls),{startPosition:t.start_time||-1})}(e);o.pLoader=a.createPlaylistLoader(),o.fLoader=a.createFragmentLoader();const l=t.hls=new di(o);a.setHls(l),l.subtitleDisplay=!1,l.attachMedia(t),l.loadSource(r.src),t.emit("hls:attached",{hls:l}),function(t,e){t.on(di.Events.AUDIO_TRACKS_UPDATED,(function(t,r){e.emit(Ei,r.audioTracks)})),t.on(di.Events.AUDIO_TRACK_SWITCHING,(function(t,r){e.emit(yi,r)})),t.on(di.Events.MANIFEST_PARSED,(function(t,r){r.audioTracks&&e.emit(Ei,r.audioTracks)})),t.on(di.Events.LEVEL_SWITCHED,(function(r,i){const n=t.levels[i.level];n&&e.emit(Ei,t.audioTracks.filter((function(t){return t.groupId&&~(n.audioGroupIds||[]).indexOf(t.groupId)})))}))}(l,t),_i(l,t);const u=function(t){var e;const r=null===(e=t.data)||void 0===e?void 0:e.level;"number"==typeof r&&(l.levels[r]||-1===r?l.nextLevel=r:console.error(new Error("skipping invalid quality: "+t.data)))},d=function(t){var e;const r=null===(e=t.data)||void 0===e?void 0:e.id;"number"==typeof r&&r!=l.audioTrack&&setTimeout((function(){l.audioTrack=r}),0)};t.on("quality:set",u),t.on(mi,d),t.on("src",(function(){t.hls&&t.hls.destroy(),t.off("quality:set",u),t.off(mi,d)})),t.on("audioonlysource",(function(){s.is_audio_only=!0})),t.on(L,(function(){l&&l.destroy()})),t.on("remotesession:started",()=>{t.hls&&t.hls.stopLoad()}),t.on("remotesession:ended",()=>{t.hls&&Di(t)}),n&&l.on(di.Events.LEVEL_LOADED,(function(e,r){t.setOpts({live:r.details.live})})),l.on(di.Events.MANIFEST_PARSED,(function(r,i){const n=i.levels.slice(0).reduce((t,e,r)=>[...t,{level:r,text:e.name||e.width+"",width:e.width,height:e.height,videoCodec:e.videoCodec||""}],[{text:"AUTO",level:-1,width:0,height:0,videoCodec:""}]).sort((t,e)=>e.width-t.width);t.emit("qualities",n),function(t,e,r){var i,n;if(!t.hls)return;Li("Initializer::maybe_start_load_with_quality (start_quality, preload): (%d, %s)",e.start_quality,e.preload),void 0!==e.start_quality&&(mt.HIGH&e.start_quality&&(t.hls.startLevel=r[0].level),mt.LOW&e.start_quality&&(t.hls.startLevel=r[r.length-1].level),mt.MEDIUM&e.start_quality&&(t.hls.startLevel=r[Math.ceil(r.length/2)-1].level));const s=(null===(i=e.hls)||void 0===i?void 0:i.maxBufferSize)||1024,a=(null===(n=e.hls)||void 0===n?void 0:n.maxBufferLength)||30;Li("Setting maxBufferSize to %d",s),t.hls.config.maxBufferSize=s,"metadata"===e.preload&&Li("preload === metadata, setting maxBufferLength to 1sec");if(t.hls.config.maxBufferLength="metadata"===e.preload?1:a,t.once(E,()=>{Li("Playback started, set maxBufferLenght to %d",a),t.hls&&(t.hls.config.maxBufferLength=a)}),"none"===e.preload&&!e.autoplay)return;Di(t,e.start_time||-1)}(t,e,n.slice(0,-1));const s=n.find(t=>!!t.videoCodec);s||t.emit("audioonlysource"),!t.opt("ratio")&&s&&0!=s.width&&0!=s.height&&t.setOpts({ratio:s.width+":"+s.height})})),l.on(di.Events.INIT_PTS_FOUND,(function(t,e){s.fragDuration=e.frag.duration})),l.on(di.Events.ERROR,(function(e,r){!function(t,e){var r,n;if(0==t.reaper)return;if(0==e.fatal)return;switch(e.type){case di.ErrorTypes.MEDIA_ERROR:return null===(r=t.hls)||void 0===r?void 0:r.recoverMediaError();case di.ErrorTypes.NETWORK_ERROR:return function(t,e){var r;const n=(null===(r=e.networkDetails)||void 0===r?void 0:r.status)||"";t.emit(i,{fatal:!0,code:"http:"+n.toString(),message:Si[n]||"an error occurred while loading this video"})}(t,e);case di.ErrorTypes.KEY_SYSTEM_ERROR:return function(t,e){var r;t.emit(i,{fatal:!0,message:Si[e.details]||"an error occurred while accessing this video"}),null===(r=t.hls)||void 0===r||r.destroy()}(t,e);default:null===(n=t.hls)||void 0===n||n.destroy()}}(t,r)})),l.on(di.Events.LEVEL_PTS_UPDATED,(function(e,r){var i;if("video"!==r.type&&(!s.is_audio_only||"audio"!==r.type))return;const n=null===(i=null==r?void 0:r.details)||void 0===i?void 0:i.fragments;if(!n)return;const a=n[0].start||0,o=n[n.length-1].start+n[n.length-1].duration;t.emit("dvr/window",o-a)})),l.on(di.Events.LEVEL_SWITCHING,(e,r)=>{const i=l.levels[l.currentLevel],n=l.levels[r.level];t.emit("qualitychange",{before:i,after:n,kind:"hls"})});const c=t.opt("start_time");c&&t.once(p,(function(){t.currentTime=c})),"none"!==e.preload||e.autoplay||t.once("beforeplay",()=>{t.hasState("is-casting")||Di(t,e.start_time||-1)})}function Di(t,e){var r;!t.hasState(Z)&&t.setState(J,!0),null===(r=t.hls)||void 0===r||r.startLoad(e)}class HLS{init(){}onload(t,e,r,i){wi(r,t,i)}wants(t,e,r){return di.isSupported()&&vi(e,r)}}HLS.events=ci,HLS.version=di.version,HLS.failover={Reasons:bi},ie(window,HLS);const Ri=t=>"object"==typeof t&&null!==t&&!Array.isArray(t),ki=(...t)=>t.reduce((t,e)=>Ri(e)?(Object.keys(e).forEach(r=>{if(Ri(t[r])&&Ri(e[r]))return t[r]=ki(t[r],e[r]);t[r]=e[r]}),t):t,{});class Pipe{constructor(t){this.data=t}static of(t){return new Pipe(t)}static maybe(t,e,...r){return null==t?t:e.apply(t,[t,...r])}tap(t,...e){return t.apply(this,[this.data,...e]),new Pipe(this.data)}fmap(t,...e){const r=t.apply(this,[this.data,...e]);return new Pipe(r)}unwrap(){return this.data}}function Oi(t){return fetch(t).then(t=>t.json())}function Ii(){let t=[].join.call(arguments,"/");return"/"!==t[0]&&(t="/"+t),Ci()+"/web/public/native/config"+t}const Ci=()=>"https://ljsp.lwcdn.com";function Pi(t){return~t.indexOf("/")?t:"/media/"+t}var xi={404:"media not found",402:"invalid subscription",400:"bad request",415:"unsupported media type"};function Mi(t){const e=t.ima,r=t.duration;if(!e||!r)return t;const i=null==e?void 0:e.ads;return Array.isArray(i)&&(e.ads=i.map((function(t){return"number"==typeof t.percentage&&(t.time=t.percentage*r),t}))),t}function Ni(t,e){var r,i;e="object"==typeof e?e:{};const n={title:null===(r=null==t?void 0:t.metadata)||void 0===r?void 0:r.title,description:null===(i=null==t?void 0:t.metadata)||void 0===i?void 0:i.description},s={ima:{parameters:function({media_id:t,duration:e,title:r,tags:i,category_name:n,ad_keywords:s}){return{ad_keywords:s||"",media_id:t||"",category:n||"",media_name:r||"",media_tags:i||"",media_duration:e||-1}}((null==t?void 0:t.metadata)||{})}},a=e.embed||{};return delete a.src,ki(s,n,t,(delete(o=e).src,delete o.metadata,delete o.title,delete o.description,delete o.duration,delete o.poster,o),a);var o}const Fi=/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/;function Ui(t){return"object"==typeof t&&"ovp/base64"==t.type}function Bi(t,e){return function(t,e){return!t.startsWith("blob:")&&(!(~t.indexOf(".")||!Fi.test(t))&&(e.type="video/ovp",!0))}(t,e)||Ui(e)}function ji(t){try{return function(t){return null===t?{}:JSON.parse(t)}(decodeURIComponent(atob(t).split("").map((function(t){return"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)})).join("")))}catch(t){return{err:t.message}}}function Gi(t){const e=t.split(/[^0-9]/).map(t=>parseInt(t,10));return Date.UTC(e[0],e[1]-1,e[2],e[3],e[4],e[5])}function Hi(t){return t.live}var Vi=Object.freeze({__proto__:null,OVP_ERROR:"ovp:error",OVP_MEDIA_REQUEST_START:"ovp:request:start",OVP_MEDIA_REQUEST_COMPLETE:"ovp:request:media:complete",OVP_PLAYLIST_REQUEST_COMPLETE:"ovp:request:playlist:complete",LIVE_COUNTDOWN_TICK:"ovp:live:countdown:tick",LIVE_COUNTDOWN_START:"ovp:live:countdown:start",LIVE_COUNTDOWN_COMPLETE:"ovp:live:countdown:complete",OVP_MEDIA_CHANGED:"ovp:media:changed",OVP_REALTIME_MESSAGE:"ovp:message:realtime"});function Ki(t,e){const r=null==e?void 0:e.src;if(Ui(e))return function(t,e){const r=ji(e.src||"");if(function(t){return"string"==typeof t.err}(r))return console.error(r.err);qi(t,r)}(t,e);r&&Pipe.of(r).fmap(Pi).fmap(Ii).fmap(t=>fetch(t)).fmap(e=>e.then(t=>Promise.all([t.status,t.json()])).then(([e,r])=>200==e?qi(t,r):Wi(t,r)))}function qi(t,e){return t.emit("ovp:media:changed",e),function(t){return Array.isArray(t.playlist)}(e)?function(t,e){if("function"!=typeof window.flowplayer.playlist)return console.warn("OVP responded with Playlist media but the playlist plugin does not exist"),Wi(t,{status:415});t.emit("ovp:request:playlist:complete",function(t,e){const r=Object.assign({},t),i=(null==t?void 0:t.playlist)||{},n=ki(e,i),s=((null==n?void 0:n.playlist)||[]).map(t=>{e.ima&&Object.assign(t,{ima:e.ima});const i=Ni(t,r);return delete i.playlist,i});return delete n.ima,Object.assign(n,{playlist:s})}(t.opts,e))}(t,e):Hi(e)?function(t,e){var r,i;const n=(null===(r=null==e?void 0:e.metadata)||void 0===r?void 0:r.live_start_time)||(null===(i=null==e?void 0:e.metadata)||void 0===i?void 0:i.starttime);n&&(e.live_start_time=Pipe.of(n).fmap(Gi).unwrap());t.emit("ovp:live:countdown:start",Pipe.of(e).fmap(Ni,t.opts).fmap(Mi).unwrap())}(t,e):function(t,e){t.emit("ovp:request:media:complete",Pipe.of(e).fmap(Ni,t.opts).fmap(Mi).unwrap())}(t,e)}function Wi(t,e){return e.message?t.emit("ovp:error",e):e.status?t.emit("ovp:error",new Error(xi[e.status])):t.emit("ovp:error",e)}const zi={};function Yi(t,e,r){"object"!=typeof zi[e]&&(zi[e]=r);const i=t.opts,n=(null==i?void 0:i.metadata)||{};n.player_id=e,i.metadata=n,r.title&&delete r.title,r.description&&delete r.description;const s=Object.assign(i,r);t.setOpts(s),r.autoplay&&t.togglePlay(!0)}let Xi=!1;function Qi(t,e,r){$i()||Pipe.of("recommendation").fmap(Ii,e,r).fmap(Oi).fmap(e=>e.then(e=>function(t,e){const r=e.playlist;if(t.opts.recommendations=r,!r.length)return;t.emit("recommendationsready",{playlist:r.map((function(t){var e;return{poster:t.poster,src:t.src,title:null===(e=null==t?void 0:t.metadata)||void 0===e?void 0:e.title,metadata:t.metadata||{}}}))})}(t,e)).catch(Zi))}function $i(){return Xi}function Zi(t){Xi=!0,console.error("Failed to load recommendations: %j",t)}function Ji(t){const e=Date.now()-(t.server_time_offset||0);return Math.floor(((t.live_start_time||0)-e)/1e3)}function tn(t,e){let r=0;function i(){const i=Ji(e);if(i<0||isNaN(i)||0===t.reaper||void 0===e.live_start_time)return clearInterval(r),function(t,e,r){t.emit("ovp:live:countdown:complete");const i=xt(t,Y);i&&i.remove(),t.root.classList.remove("is-livecountdown"),r||t.emit("ovp:request:media:complete",e)}(t,e,void 0===e.live_start_time);!function(t,e,r,i){r.classList.add("is-livecountdown"),e.emit("ovp:live:countdown:tick",{remaining_time:en(i+1)}),e.hasState(tt)||e.setState(tt,!0)}(0,t,t.root,i)}var n;n=e,Or().then(t=>Object.assign(n,{server_time_offset:t})),i(),r=setInterval(i,250)}function en(t){const e=function(t){"number"!=typeof t&&(t=parseInt(t,10)),t=Math.round(t);const e=Math.floor(t/86400);t-=86400*e;const r=Math.floor(t/3600);t-=3600*r;const i=Math.floor(t/60);return{days:e,hours:r,minutes:i,seconds:t-=60*i}}(t);let r="";return e.days&&(r+=e.days+":"),r+Ut(e.hours)+":"+Ut(e.minutes)+":"+Ut(e.seconds)}class WebsocketBridge{constructor(t){this.manualDisconnect=!1,this.video=t,this.onClose=this.onClose.bind(this),this.onMessage=this.onMessage.bind(this)}static of(t){return new WebsocketBridge(t)}connect(t){this.client=new WebSocket("wss://player.ws.flowplayer.com?mediaId="+t),this.current_media_id=t,this.wireup()}onClose(){this.manualDisconnect?this.manualDisconnect=!1:this.current_media_id&&this.reconnect(this.current_media_id)}onMessage(t){JSON.parse(t.data).forEach(t=>{this.video.emit("ovp:message:realtime",t)})}reconnect(t){this.cleanup(),this.connect(t)}wireup(){this.client&&(this.client.addEventListener("message",this.onMessage),this.client.addEventListener("close",this.onClose))}cleanup(){this.client&&(this.client.removeEventListener("message",this.onMessage),this.client.removeEventListener("close",this.onClose),this.client=void 0)}disconnect(){this.client&&(this.manualDisconnect=!0,this.client.close())}}class FlowplayerLiveCountdown extends FlowplayerComponent{constructor(t){super(t),this.classList.add("fp-livecountdown");const e=Nt("fp-inner");this.append(e);const r=document.createElement("p");r.innerText=t.i18n("ovp.starting_in"),e.append(r);const i=document.createElement("p");i.classList.add("fp-countdown"),e.append(i),t.on("ovp:live:countdown:tick",e=>{const r=e.detail.remaining_time;t.root.classList.add("is-livecountdown"),i.innerText=r})}}const rn=["*.lwcdn.com","*.flowplayer.com"];class OVP{constructor(t){vt(t,Y,FlowplayerLiveCountdown)}onload(t,e,r,i){if("string"==typeof i.src)return"string"!=typeof t.player_id||0===i.src.indexOf(t.player_id)||Ui(i)||(i.src=[t.player_id,i.src].join("/")),Ki(r,i)}wants(t,e,r){return Bi(t,e)}init(t,e,r){const n=new WebsocketBridge(r);let s=Object.assign({},t);const a=function(t){if(!s)return t;delete s.src;const e=ki(t,s);return s=!1,e};r.on("ovp:error",(function(t){r.emit(i,t.data)})),r.on("ovp:request:start",(function(){r.setState(it,!0),t.recommendations&&(t.recommendations=!1)})),r.on("ovp:media:changed",(function({data:t}){var e;const r=null===(e=null==t?void 0:t.metadata)||void 0===e?void 0:e.media_id;(null==t?void 0:t.live)&&r&&(n.disconnect(),n.connect(r))})),r.on("ovp:message:realtime",(function({data:e}){var i;const n=null==e?void 0:e.event,s=null==e?void 0:e.value,a=r.opt("metadata",{live_start_time:""});switch(n){case"METADATA":{const e=Object.assign(a,s),n=Object.assign(t,{metadata:e});n.live&&(null===(i=null==n?void 0:n.metadata)||void 0===i?void 0:i.live_start_time)&&(n.live_start_time=Gi(n.metadata.live_start_time)),r.setOpts(n);break}}})),r.on("beforeplay",(function(e){const r=t;if(Hi(r)){if(nn(r))return;e.preventDefault()}})),r.on("ovp:request:media:complete",(function(t){const e=t.data;if(!e)return;if(0==r.reaper||"object"!=typeof e||Ji(e)>0)return;const i=a(e);r.setOpts(i),r.setAttrs(i),i.src&&r.setSrc(i.src)})),r.on(w,(function({data:i}){var n,s;if("string"==typeof t.src&&Bi(t.src,{}))return;if(t.src&&sn(t.src))return;if((null==i?void 0:i.domains)&&(null==i?void 0:i.domains.length)&&!((t,e)=>{const r=t.split(".").reverse();return e.concat(rn).some(t=>{const e=t.split(".").reverse(),i="*"===e[e.length-1];return i&&e.pop(),(i||e.length===r.length)&&e.every((t,e)=>r[e]===t)})})(function(){try{return window.location.hostname!==window.parent.location.hostname?nr(document.referrer).hostname:document.location.hostname}catch(t){return window.location.hostname}}(),i.domains))return he({root:e,video:r,data:{details:`Hostname ${window.location.hostname} is not allowed to load player ${null===(n=i.metadata)||void 0===n?void 0:n.player_id}.`,reason:"domain"}});const a=null==i?void 0:i.brand_color;return a&&r.root.style.setProperty("--fp-brand-color","#"==a[0]?a:"#"+a),"string"==typeof t.player_id&&(null===(s=null==t?void 0:t.metadata)||void 0===s?void 0:s.player_id)!==t.player_id?function(t,e){if("object"==typeof zi[e])return console.debug("using Cache(%s)",e),Yi(t,e,zi[e]);Pipe.of(e).fmap(Ii).fmap(Oi).fmap(r=>r.then(r=>Yi(t,e,r)).catch(console.error))}(r,t.player_id):void 0})),r.on("ovp:request:playlist:complete",(function(t){const e=t.data;if(!e||0==r.reaper)return;const{playlist:i}=e,n=bt(e,["playlist"]),s=a(n);Array.isArray(s.playlist)&&(s.playlist=n),r.setOpts(s);const o={type:"flowplayer/playlist",items:i};r.setSrc(o)})),r.on("ovp:live:countdown:start",(function(i){const n=i.data;if(!n||0==r.reaper)return;const s=a(n);if(r.setOpts(s),r.setAttrs(s),Ji(n)<=0)return r.emit("ovp:request:media:complete",n);xt(r,Y)||(e.appendChild(gt(r,Y)),tn(r,t))})),r.on("timeupdate",(function(){var e,i,n;const s=t;Hi(s)?nn(s)||(r.togglePlay(!1),r.emit(b)):t.recommendations&&(null===(e=null==t?void 0:t.metadata)||void 0===e?void 0:e.media_id)&&(Array.isArray(t.recommendations)||r.currentTime/r.duration<.8||$i()||(null===(i=null==t?void 0:t.metadata)||void 0===i?void 0:i.media_id)&&(null===(n=null==t?void 0:t.metadata)||void 0===n?void 0:n.player_id)&&Qi(r,t.metadata.media_id,t.metadata.player_id))})),r.on(L,(function(){n.disconnect()}))}}function nn(t){var e,r;const i=null===(e=null==t?void 0:t.metadata)||void 0===e?void 0:e.live_stop_time;if(!i)return!0;return!!(null===(r=null==t?void 0:t.metadata)||void 0===r?void 0:r.allow_after_stop_time)||Gi(i)>Date.now()}OVP.events=Vi;const sn=t=>{var e;if(t&&Array.isArray(t))return"object"==typeof t[0]&&"ovp/base64"===(null===(e=t[0])||void 0===e?void 0:e.type)};function an(t){return{width:t.clientWidth,height:t.clientHeight}}function on(t,e,r){return"number"==typeof r&&(r+="px"),t.style.setProperty(e,r),t}ie(window,OVP);const ln="ad-initialized";var un=Object.freeze({__proto__:null,AD_INIT:ln,AD_PLAYBACK_ERROR:"ad-playback-error",AD_TEARDOWN:"ad-teardown",AD_VIDEOTAG_ATTACHED:"ad-videotag-attached",AD_BLOCKED:"ad-blocked",AD_REQUEST_ERROR:"ad-request-error",AD_REQUESTED:"ad-requested",AD_REQUEST_COMPLETED:"ad-request-completed",AD_PAUSE_CONTENT:"ad-pause-content",AD_STARTED:"ad-started",AD_COMPLETED:"ad-completed",AD_PAUSED:"ad-paused",AD_RESUMED:"ad-resumed",AD_WAITING:"ad-waiting",AD_PROGRESS:"ad-progress",AD_SKIPPED:"ad-skipped",AD_MUTED:"ad-muted",AD_VOLUME_CHANGED:"ad-volume-changed",AD_FULLSCREEN:"ad-fullscreen",AD_TIMEOUT:"ad-timeout",AD_BREAK_COMPLETED:"ad-break-completed",AD_POSTROLL_FINISHED:"ad-postroll-finished",AD_PREROLL_FINSIHED:"ad-preroll-finished",AD_MIDROLL_FINISHED:"ad-midroll-finished",VPAID_INIT:"vpaid-init",IMA_ADAPTER_INIT:"ad-ima-adapter-init",IMA_BEFORE_ADS_REQUEST:"ad-ima-before-ads-request",IMA_ADS_RENDERING_SETTINGS:"ad-ima-rendering-settings",ADAPTER_INIT_FAILED:"ad-adapter-init-failed",AD_PLAY_REQUESTED:"ad-play-requested",RELOAD_AD_REQUESTED:"reload-ad-requested",AD_ERROR:"ad-error",REQUEST_AD_PAUSE:"request/ad/pause",REQUEST_AD_PLAY:"request/ad/play",REQUEST_AD_MUTE_UNMUTE:"request/ad/muteunmute"});const dn="undefined"!=typeof document&&"undefined"!=typeof window&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream;const cn=Sr("ads/lifecycle"),hn=["ad-playback-error","ad-teardown","ad-break-completed"];async function fn({config:t,root:e,content:r,ads:i,ima:n}){var s;cn("LifeCycle::initLifeCycle",t,e,r,i,n),r.autoplay=!1;const a=t.autoplay===yt.AUDIO_REQUIRED,o=function(t,e){return{muted:!(e||!t.muted),volume:t.volume}}(r,a);r.on("volumechange",()=>{o.volume=r.volume,o.muted=r.muted});const l=gt(r,"flowplayer-ad-ui"),u=l.adContainer;l.setUiFlags(null===(s=t.ads)||void 0===s?void 0:s.ui),e.append(l);const d={listening:!1,preload:null==n?void 0:n.preload_ads};if(cn("initial",o),i.setVideoTag(r),t.autoplay){cn("Trying to autoplay"),l.hideFirstFrame(e);await async function t(e,r){const[i,n]=[e.muted,e.volume];cn("Lifecycle::peek_content(:muted => %s, :volume => %s)",i,n);const s=()=>new Promise(t=>setTimeout(t,0,!1));r&&(e.muted=!1,e.volume=e.volume?e.volume:1);try{return await async function(t){return cn("Lifecycle::wait_for_source"),new Promise((e,r)=>{let i=0;const n=setInterval(()=>{if(++i>40)return clearInterval(n),r(new Error("No source in 2000ms, giving up"));t.currentSrc&&(e(null),clearInterval(n))},50)})}(e),e.volume&&(e.volume=.01),cn("Lifecycle::peek_content::play"),await new Promise(t=>setTimeout(()=>t(e.togglePlay(!0)))),cn("Lifecycle::peek_content::pause"),await new Promise(t=>setTimeout(()=>t(e.togglePlay(!1)))),e.volume=n,cn("Lifecycle::peek_content::true"),!0}catch(a){return e.volume=n,r?(e.muted=!1,0==e.volume&&(e.volume=1),await s()):i||!n?(cn("Lifecycle::peek_content::false"),await s()):(cn("Lifecycle::peek_content::recover"),e.muted=!0,!!await t(e)||(e.muted=i,cn("Lifecycle::peek_content::false"),await s()))}}(r,a)?(cn("Can autoplay, start ad"),r.opts.autoplay=1,pn({ads:i,content:r,state:d,adContainer:u,ima:n,config:t})):(cn("cannot autoplay(audioRequired: %s), fallback to poster state",a),t.autoplay=0,l.showFirstFrame(e),r.setState("is-starting",!0))}t.autoplay||i.hasPreroll()&&function({content:t,ads:e,config:r,state:i,initial:n,adContainer:s,ima:a}){t.once("beforeplay",(async function(o){(t.hasState(ot)||"touchend"!=o.type)&&e.shallPlayAd(0)&&(!dn&&o.preventDefault(),yn({ads:e,content:t,state:i}),cn("user_gesture(:intercept) -> shallPlayAd(0: %s)",e.shallPlayAd(0)),r.muted=n.muted,await pn({ads:e,content:t,state:i,adContainer:s,ima:a,config:r}),En({ads:e,content:t}))}))}({content:r,ads:i,config:t,state:d,initial:o,adContainer:u,ima:n}),!t.autoplay&&i.hasPreroll()&&d.preload&&pn({ads:i,content:r,state:d,adContainer:u,ima:n,config:t}),mn({config:t,root:e,content:r,ads:i,state:d,adContainer:u,ui:l,ima:n,initial:o}),r.on("src",()=>{r.once("beforeplay",()=>i.resetScheduleCounter())}),r.on("beforeplay",t=>{(i.adBreak||i.adPlaying||i.adRequesting)&&(i.adBreak&&!i.adLinear||(cn("prevented content from starting because ad break is active"),t.preventDefault()))})}async function pn(t){t.state.started||(t.content.hasState(ot)?await gn(t):t.content.once("viewenter",async()=>{await gn(t)}))}async function gn({ads:t,content:e,adContainer:r,ima:i,state:n,config:s}){var a;n.started=!0;const o=bt(i,["ads"]),l=an(e.root),u=(null==s?void 0:s.muted)||e.muted,d=Object.assign(Object.assign(Object.assign({container:r,volume:u?0:e.volume,muted:u,autoplay:(null==s?void 0:s.autoplay)||!1,video_source:e.original_src,DisableCustomPlaybackForIOS10Plus:dn,preload_ads:null===(a=null==s?void 0:s.ima)||void 0===a?void 0:a.preload_ads},o),l));cn("start():",d,n),await t.initialize(!1,d,n.preload)}function vn(t,e){var r,i;return{content_width:t.clientWidth||(null===(r=t.parentNode)||void 0===r?void 0:r.clientWidth)||e.clientWidth,content_height:t.clientHeight||(null===(i=t.parentNode)||void 0===i?void 0:i.clientHeight)||e.clientHeight}}function mn({config:t,root:e,content:r,ads:i,initial:n,adContainer:s,state:a,ui:o,ima:l}){cn("addUIListeners()"),r.once(E,async n=>{if(i){if(cn("addUIListeners() -> content started playing"),yn({ads:i,content:r,state:a}),!i.shallPlayAd(0)||!i.adapter.isLinearAd())return cn("addUIListeners() -> no more preroll ads -> resume content"),o.showFirstFrame(e),await pn({ads:i,content:r,state:a,adContainer:s,ima:l,config:t});r.togglePlay(!1),await pn({ads:i,content:r,state:a,adContainer:s,ima:l,config:t}),i.shallPlayAd(0)&&i.adapter.isLinearAd()&&(o.classList.add("on","linear"),e.classList.add(it),En({ads:i,content:r}))}}),r.on([R,D],(function(){if(!i)return;const{content_width:t,content_height:n}=vn(r,e);i.resize({height:n,width:t})})),r.on("resize",t=>{if(!i||!t.detail)return;const{width:e,height:r}=t.detail.contentRect;i.resize({width:e,height:r})}),r.on(b,t=>{var e;i&&(cn("ui_listeners(:%s, event: %o)",t.type,t.detail),(null===(e=null==t?void 0:t.detail)||void 0===e?void 0:e.from)!==i&&(t.preventDefault(),Object.assign(t,{prevented_from_ads:!0}),i.finished((function(){r.emit(b,{from:i})}))))}),i.on("ad-requested",()=>{e.classList.toggle(it,!0)}),i.once("ad-started",()=>{r.on(["beforeplay","beforepause"],t=>{var e;if(!i.adBreak||!i.adapter.isLinearAd())return;t.preventDefault();const r=(null===(e=t.detail)||void 0===e?void 0:e.forced)?"beforeplay"===t.type:!i.adPlaying;r&&i.paused&&i.resume(),r||i.paused||i.pause()})}),i.on("ad-started",t=>{const s=t.detail,{linear:a,ad:l,ad_type:u}=s;let d;if(cn(`Ad[linear: ${a}, currentTime: ${r.currentTime}] starting`,l),"preroll"==u&&!a&&r.paused&&r.togglePlay(!0),"preroll"==u&&a&&r.currentTime>0&&!r.opt("start_time")&&!r.opt("live")&&(cn("Preroll[rewind: true]",r.currentTime),r.currentTime=0),a&&(d=vn(r,e)),i.resize({width:d?d.content_width:l.width,height:d?d.content_height:l.height,linear:a,resize_non_linear:!0}),o.resize({linear:a,resizeContainerAlso:!0,width:a?void 0:l.width,height:a?void 0:l.height}),e.classList.remove(it),o.classList.add("on"),o.classList.toggle("linear",a),o.classList.toggle("non-linear",!a),!a){cn("non-linear ad / restarting content");try{r.togglePlay(!0),r.volume=n.volume,r.muted=n.muted}catch(t){cn(t)}}!r.hasState(ot)&&a&&i.pause()}),i.on("ad-pause-content",()=>{o.resize({linear:!0,width:0,height:0})}),r.on(hn,t=>async function({root:t,content:e,ads:r,ui:i,eventName:n,err:s={reason:""}}){cn("teardown(event: %s)",n),t.classList.add("is-seamless"),i.classList.remove("is-vpaid"),t.classList.remove(it),s.reason&&cn("teardown(:err, reason: %s) %o",s.reason);i.classList.remove("on");const a=r.getLastAd();if(i.showFirstFrame(t),!r.shouldRestartContent())return cn("Lifecycle.teardown(:skip_restart, reason: %s)","Ad prevented restarting content"),Tn(t);if(e.currentTime>0&&e.currentTime>=e.duration||"postroll"==r.ad_type||!1===(null==a?void 0:a.restart))return cn("Lifecycle.teardown(:skip_restart, reason: %s)","was a postroll ad"),Tn(t);""===e.currentSrc&&e.setSrc(e.original_src);e.paused&&r.shouldRestartContent()&&(cn("Lifecycle.teardown(:toggle_play, %s)","attempting to restart content"),await e.togglePlay(!0));if(!e.paused)return cn("Lifecycle.teardown(:ok)","restarted video content"),Tn(t)}({root:e,content:r,ads:i,ui:o,err:t.detail,eventName:t.type}));let u=!!t.autoplay;var d;r.on("viewenter",()=>{u&&i.resume()}),r.on("viewleave",(d=()=>{u=!i.paused,i.pause()},t=>{setTimeout((function(){if(!t.defaultPrevented)return d(t)}),0)}))}function yn({ads:t,content:e,state:r}){r.listening||(e.on(["timeupdate",S,E,A],r=>{t.adPlaying&&t.adapter.isLinearAd()&&!t.adapter.isSharedVideoTag()&&!e.paused&&e.pause(),En({ads:t,content:e,seek:r.type===A})}),r.listening=!0)}function En({ads:t,content:e,seek:r=!1}){t&&t.setCurrentTime(e.currentTime,void 0,r)}function Tn(t){t.classList.remove("is-seamless")}const _n=Sr("ads/timers");class TimerRegistry{constructor(t={},e={}){this.intervals=t,this.timers=e}}let bn=-1;function Sn(t,e,r){const i=setInterval(r,e);if(_n("TimerRegistry.createInterval() -> "+i,t.intervals),"object"==typeof i){const e=++bn;return t.intervals[e]=e,e}return t.intervals[i]=i,i}function An(t){if(t)return _n("TimerRegistry.empty()",Object.keys(t.timers),Object.keys(t.intervals)),Object.keys(t.intervals).forEach(e=>function(t,e){return _n("TimerRegistry.removeInterval() -> "+e,t.intervals),clearInterval(t.intervals[e]),delete t.intervals[e],t}(t,e)),Object.keys(t.timers).forEach(e=>function(t,e){return _n("TimerRegistry.removeTimeout() -> "+e,t.timers),clearTimeout(t.timers[e]),delete t.timers[e],t}(t,e)),t}function Ln(t){try{return t.getAdPodInfo().getPodIndex()}catch(t){return}}class IMA{constructor(t){this.eventHandler=t,this.log=Sr("ads/adapter/ima"),this.google=window.google,this._adHandlers=[],this._timers=new TimerRegistry,this._started=!1,this._volumeLevel=0,this._adLoaded=!1,this._paused=!1,this._all_ads_completed=!1,this._currentDuration=0,this._currentRemaining=0,this._currentDisplayTs=0,this._iosPlaysInline=!1,this.sharedVideoTag=!1,this._isInitialized=!1,this._prepared=!1,this.opts={}}async init(t){this.log("init",this.videoTag,t),this.opts=t,this._dimensions={width:t.width,height:t.height,linear:t.linear},this._prepared=!0,!this._isInitialized&&this.videoTag&&await this.initAdapter()}async initAdapter(){this.log("initAdapter",this.opts);try{await this.initialize(this.opts),this._isInitialized=!0}catch(t){this.log("initAdapter failed:",t),this._prepared=!1,this.eventHandler.trigger("ad-adapter-init-failed")}}isReady(){return!!this._isInitialized}setIOSPlaysInline(t){this.log("setIOSPlaysInline",t),this.sharedVideoTag=!t,this.initialize(Object.assign(Object.assign({},this.opts),{DisableCustomPlaybackForIOS10Plus:t}))}getIOSPlaysInline(){return this._iosPlaysInline}setVideoTag(t){this.videoTag=t}isLinearAd(){return!!this._adLinear}isSharedVideoTag(){return!!this.sharedVideoTag}getVideoTag(){return this.videoTag}getDimensions(){return this._dimensions||{}}getOpts(){return this.opts}isPaused(){return this._paused}destroy(){An(this._timers),this._adHandlers&&this._adHandlers.forEach(t=>t()),this._adHandlers=void 0,this._adDisplayContainer&&this._adDisplayContainer.destroy(),this._adDisplayContainer=void 0,this._adsLoader&&this._adsLoader.destroy(),this._adsLoader=void 0,this._adsManager&&this._adsManager.destroy(),this._adsManager=void 0}stop(){this._adsManager&&this._adsManager.stop()}initialize(t){const e=this.isAdPod(),r=this._adLoaded||e;if(this.cleanup(),!this.videoTag)return console.warn("videoTag not set during initialization");this.opts=t,this._volumeLevel=t.volume;const i=this.google.ima.settings;t.NumRedirects=t.NumRedirects||t.redirects;const n={VpaidMode:this.google.ima.ImaSdkSettings.VpaidMode.INSECURE,DisableCustomPlaybackForIOS10Plus:!0};if(i.setVpaidMode(t.VpaidMode||n.VpaidMode),i.setDisableCustomPlaybackForIOS10Plus(t.DisableCustomPlaybackForIOS10Plus||n.DisableCustomPlaybackForIOS10Plus),"NumRedirects"in t&&i.setNumRedirects(t.NumRedirects),"AutoPlayAdBreaks"in t&&i.setAutoPlayAdBreaks(t.AutoPlayAdBreaks),"Locale"in t&&i.setLocale(t.Locale),"Ppid"in t&&i.setPpid(t.Ppid),!document.body.contains(t.container))throw new Error("AdDisplayContainer was not found in the document.body");this._adDisplayContainer=new this.google.ima.AdDisplayContainer(t.container,this.videoTag),this._adDisplayContainer.initialize(),this._adsLoader=new this.google.ima.AdsLoader(this._adDisplayContainer),this.log("ima.initialise(:wait -> ADS_MANAGER_LOADED)",Object.assign(Object.assign({},t),{volume:this.videoTag.volume,muted:this.videoTag.muted})),this._adsLoader.addEventListener(this.google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,e=>{if(!this.videoTag)return;this.log("ima.initialise(:done -> ADS_MANAGER_LOADED)\n%o",Object.assign(Object.assign({},t),{volume:this.videoTag.volume,muted:this.videoTag.muted}));const r=new this.google.ima.AdsRenderingSettings;this.log("ima.rendering(preload: %s)",!!t.preload_ads),r.useStyledNonLinearAds=!0,r.enablePreloading=!!t.preload_ads,"number"==typeof t.media_timeout&&(r.loadVideoTimeout=t.media_timeout),r.restoreCustomPlaybackStateOnAdBreakComplete=!t.DisableCustomPlaybackForIOS10Plus,this.sharedVideoTag&&(r.playAdsAfterTime=this.videoTag.currentTime),this.eventHandler.trigger("ad-ima-rendering-settings",r);const i=this._adsManager=e.getAdsManager(this.videoTag,r);this.eventHandler.trigger("ad-ima-adapter-init",i),i.addEventListener(this.google.ima.AdEvent.Type.LOADED,()=>{this.log("debug(ima.adsManager): google.ima.AdEvent.Type.LOADED")}),i.addEventListener(this.google.ima.AdErrorEvent.Type.AD_ERROR,()=>{this.log("debug(ima.adsManager): google.ima.AdErrorEvent.Type.AD_ERROR")}),i.addEventListener(this.google.ima.AdEvent.Type.STARTED,()=>{this.log("debug(ima.adsManager): google.ima.AdEvent.Type.STARTED")}),i.addEventListener(this.google.ima.AdEvent.Type.STARTED,t=>{this.debugEvent(t);const e=t.getAd();e&&(this._currentDuration=e.getDuration(),this._currentDisplayTs=Date.now(),this.emitWithAd("ad-started",e),e.isLinear()&&IMA.pollRemaining({ima:this,adsManager:i}))}),i.addEventListener(this.google.ima.AdEvent.Type.COMPLETE,t=>{this.debugEvent(t);const e=t.getAd();e&&this.emitWithAd("ad-completed",e),An(this._timers)}),i.addEventListener(this.google.ima.AdEvent.Type.SKIPPED,t=>{this.debugEvent(t);const e=t.getAd();e&&this.emitWithAd("ad-skipped",e)}),i.addEventListener(this.google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED,t=>{this.debugEvent(t);const e=t.getAd();e&&this.emitWithAd("ad-pause-content",e)});const n=()=>{this._started=!1,this._currentDisplayTs=0,this.eventHandler.trigger("ad-break-completed")};i.addEventListener(this.google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED,t=>{this.debugEvent(t),n()}),i.addEventListener(this.google.ima.AdEvent.Type.VOLUME_CHANGED,t=>{this.log("IMA::volume(type: %s, event: %o)",t);const e=i.getVolume();this._volumeLevel=e,this.eventHandler.trigger("ad-volume-changed",e)});const s=t=>{this._paused=t,this.eventHandler.trigger(t?"ad-paused":"ad-resumed")};i.addEventListener(this.google.ima.AdEvent.Type.PAUSED,()=>s(!0)),i.addEventListener(this.google.ima.AdEvent.Type.RESUMED,()=>s(!1)),i.addEventListener(this.google.ima.AdEvent.Type.STARTED,()=>s(!1)),i.addEventListener(this.google.ima.AdEvent.Type.VOLUME_MUTED,t=>{this.log("IMA::volume(type: %s, event: %o)","mute",t),this.eventHandler.trigger("ad-muted")});const{width:a,height:o}=t;a&&o&&(i.init(a,o,this.google.ima.ViewMode.NORMAL),this.log("ima.initialise: done initializing"))}),r&&(this.log("Event(reload: %s)","reload-ad-requested"),this.eventHandler.trigger("reload-ad-requested",e)),this.eventHandler.trigger(ln,this)}destroyManager(t="unknown"){if(!this._adsManager)return this.log("ima::destroyManager(:skip, label: %s)",t);this.log("ima::destroyManager(:ok, label: %s)",t),this._adsManager.destroy()}reset(){this.destroyManager("reset"),An(this._timers),this.clearAdHandlers(),this._started=!1,this._adLoaded=!1}cleanup(){this.destroyManager("cleanup"),this._adsLoader&&this._adsLoader.destroy(),this._adDisplayContainer&&this._adDisplayContainer.destroy(),this._adLoaded=!1}waitForAdsManager(){return new Promise(t=>{this.log("ima.waitForAdsManager:",this._adsManager),this.once(this._adsLoader,this.google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,()=>{this.log("ima.waitForAdsManager(:ok)",this._adsManager),t(this._adsManager)})})}async initAd(t,e=5e3){this.log(`ima.initAd(adTag: ${t}, timeout: ${e})`);try{await this.requestAd(t,e),this._adLoaded=!0}catch(t){throw this.log("ima.initAd:",t),this._adLoaded=!1,t}finally{An(this._timers)}}async requestAd(t,e){if(this.destroyManager("requestAd"),!this.videoTag)return;const{autoplay:r=!1}=this.opts,i=Date.now(),n=this.videoTag.muted;this._volumeLevel=this.videoTag.volume;const s=n||0==this._volumeLevel;this._all_ads_completed=!1,this.log("ima.requestAd(%o)",Object.assign(Object.assign({},this.opts),{autoplay:r,muted:n,timeout:e,adTag:t,_volumeLevel:this._volumeLevel,manager:this._adsManager})),this.clearAdHandlers();const a=new this.google.ima.AdsRequest;a.adTagUrl=t;const{height:o,width:l}=this.opts;if(l&&(a.linearAdSlotWidth=l),o&&(a.linearAdSlotHeight=o),!this.opts.disable_non_linear_ads&&l&&(a.nonLinearAdSlotWidth=l),!this.opts.disable_non_linear_ads&&o&&(a.nonLinearAdSlotHeight=o-50),a.setAdWillAutoPlay(r),a.setAdWillPlayMuted(s),a.vastLoadTimeout=e,this.eventHandler.trigger("ad-ima-before-ads-request",{request:a}),!this._adsLoader)return;this._adsLoader.requestAds(a);return new Promise(async(t,r)=>{const n=e=>{clearTimeout(o),t(e)},a=t=>{clearTimeout(o),r(t)};this.once(this._adsLoader,this.google.ima.AdErrorEvent.Type.AD_ERROR,t=>{this.emitError("ad-request-error",t),a(new Error("Ad load failed"))});const o=setTimeout(()=>{const t=new Error("Ad internal timeout reached");this.eventHandler.trigger("ad-timeout",t),r(t)},1.5*(e+(this.opts.media_timeout||5e3))),l=await this.waitForAdsManager();this.volume(s?0:this._volumeLevel),this.eventHandler.trigger("ad-volume-changed",this._volumeLevel);const u=this.cuepoints();if(u&&u.length&&0!==u[0])return n({ad:!1,adsManager:l});this.once(l,this.google.ima.AdErrorEvent.Type.AD_ERROR,t=>{this.emitError("ad-playback-error",t),a(t)}),this.once(l,this.google.ima.AdEvent.Type.ALL_ADS_COMPLETED,()=>{this._all_ads_completed=!0,n(null)}),this.once(l,this.google.ima.AdEvent.Type.LOADED,t=>{this.eventHandler.trigger("ad-request-completed",{request_load_time:Date.now()-i});const e=t.getAd();e&&(this.log("ima.requestAd: AD_REQUEST_COMPLETED",e.getContentType()),"application/javascript"==e.getContentType()&&this.eventHandler.trigger("vpaid-init",e),n(null))}),this.once(l,this.google.ima.AdEvent.Type.CLICK,()=>{this.log("ima.requestAd: click event"),this.pause()})})}async playAd(){if(this.log("ima.playAd()",this),!this._adsManager||!this._adLoaded)return;const t=this.currentAd();if(t&&(!this.sharedVideoTag||t.isLinear()))try{await this.startAndWaitForAdCompletion(this._adsManager,t.isLinear())}catch(t){throw this.log("ima.playAd",t),t}finally{this._adLoaded=!1,An(this._timers)}}startAndWaitForAdCompletion(t,e){if(!this._started)return this.log("ima.startAndWaitForAdCompletion(manager: %o)",{volume:t.getVolume()}),new Promise((r,i)=>{let n=!1;this.once(t,this.google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED,()=>{if(this.log("ima.startAndWaitForAdCompletion: CONTENT_RESUME_REQUESTED <<< happened"),this._started=!1,n)return this.log("ima.startAndWaitForAdCompletion: Content resume requested, but trying to recover from ad error");r()}),this.once(t,this.google.ima.AdErrorEvent.Type.AD_ERROR,async t=>{this.log("ima.startAndWaitForAdCompletion: beginning error recovery ->",t),n=!0;try{const{ok:e}=await IMA.pollForFatalError({err:t,ima:this});e&&(n=!1)}catch(e){this._started=!1,i(t)}});const s=this.getVideoTag();if(!s)return;const a=()=>{e&&(this._started=!0),t.start(),this.eventHandler.trigger("ad-play-requested")};if(!e||s.hasState(ot))return a();s.paused||s.pause(),s.once("viewenter",()=>a())})}pause(){this.log("ima.pause()"),this._adsManager&&this._adsManager.pause()}resume(){this.log("ima.resume()"),this._adsManager&&this._adsManager.resume()}volume(t){if(this._adsManager)try{return arguments.length>0&&"number"==typeof t&&this._adsManager.setVolume(t),this._volumeLevel=this._adsManager.getVolume()}catch(t){this.log("ima.volume() failed (%o)",t)}}onResize({width:t,height:e,linear:r,silent:i,resize_non_linear:n}){this._adsManager&&(this._adLinear=void 0===r?this._adLinear:r,this.opts&&(t||e)&&(!1===r&&(t+=10,e+=10),this._dimensions={width:t,height:e,linear:r},r&&(this.opts.width=t,this.opts.height=e),(this._adLinear||n)&&(i||this.log("ima.onResize %s x %s",t,e),this._adsManager.resize(t,e,this.google.ima.ViewMode.NORMAL))))}getAdInfo(){const t=this.currentAd();if(t)return{duration:t.getDuration(),currentTime:this._currentRemaining}}currentAd(){const t=this._adsManager;if(t)return t.getCurrentAd()}isAdPod(){const t=this.cuepoints();return!!(t&&t.length>1)}cuepoints(){return this._adsManager&&this._adsManager.getCuePoints()}async contentComplete(){this.log("ima.contentComplete() -> ",this),this._adsLoader&&this._adsLoader.contentComplete();const t=this.cuepoints();t&&-1!==t.indexOf(-1)&&await new Promise(t=>{IMA.race(this.eventHandler,["ad-break-completed","ad-error"],t)})}isUiDisabled(){try{const t=this.currentAd();return t&&t.isUiDisabled()}catch(t){return null}}getAdPodInfo(){try{const t=this.currentAd();return t&&t.getAdPodInfo()}catch(t){return null}}canDismissNonLinear(){const t=this.currentAd();if(!t||t.isLinear()||!this._adsManager||!this._currentDisplayTs)return!0;const e=Date.now(),r=t.getMinSuggestedDuration();return e-this._currentDisplayTs>1e3*r}static unwrapError(t,e){if(!t)return"";if("function"==typeof t.getMessage){return t.getMessage()}return t.message?t.message:e||""}static pollForFatalError({err:t,ima:e}){let r;try{const e=t.getError(),i=e.getInnerError(),n=i?IMA.unwrapError(i,e.message):"";r={reason:n,type:e.getType(),code:e.getErrorCode()}}catch(t){}const i=e._currentRemaining;return new Promise((t,n)=>{const s=setTimeout(()=>{e.eventHandler&&e.eventHandler.trigger("ad-playback-error",r),n(new Error("Ad not progressing"))},2500);e.eventHandler.once("ad-progress",e=>{const r=e.detail.remaining;-1!==r&&r<i&&(clearTimeout(s),t({ok:1}))})})}static pollRemaining({ima:t,adsManager:e}){let r=-1;return Sn(t._timers,250,(function(){t._currentRemaining=e.getRemainingTime(),r!=t._currentRemaining&&(r=t._currentRemaining,t.eventHandler.trigger("ad-progress",{remaining:t._currentRemaining,duration:t._currentDuration}))}))}once(t,e,r){this._adHandlers.push(function(t,e,r){const i=n=>{r(n),t.removeEventListener(e,i)};return t.addEventListener(e,i),()=>t.removeEventListener(e,i)}(t,e,r))}static race(t,e,r){e.forEach(i=>{const n=(...i)=>{e.forEach(e=>t.removeListener(e,n)),r(i)};t.on(i,n)})}clearAdHandlers(){this.log("ima.clearAdHandlers"),this._adHandlers.forEach(t=>t()),this._adHandlers=[]}emitWithAd(t,e){if(this.log("ima.emitWithAd",t,e),!this._adsManager)return;const r=function(t){try{return t.getAdPodInfo().getAdPosition()}catch(t){return}}(e),i=function(t){try{return t.getAdPodInfo().getTotalAds()}catch(t){return}}(e),n={ad:{duration:e.getDuration(),width:e.getWidth(),height:e.getHeight(),position:r,totals:i},volume:this._adsManager.getVolume(),vast_ad_id:e.getAdId(),linear:e.isLinear(),mime_type:e.getContentType(),ima_event:!0};this.log(`emitWithAd::event(name: ${t}, data: %o, ad: %o)`,n,e),this.eventHandler.trigger(t,n)}emitError(t,e){const r={vast_error_type:e.getError().getType(),reason:e.getError().getMessage(),vast_error:e.getError().getErrorCode()};this.log(`ima.error(${t})`,r),this.eventHandler.trigger(t,r)}debugEvent(t){try{const e=t.getAd();if(!e)return;this.log(`ima.event.${t.type} ->`,{event:t,data:t.getAdData(),position:Ln(e),ad:e})}catch(t){}}}var wn=Oe((function(t,e){var r=function(){for(var t=new Array(256),e=0;e<256;++e)t[e]="%"+((e<16?"0":"")+e.toString(16)).toUpperCase();return t}(),i=Object.prototype.hasOwnProperty;e.arrayToObject=function(t,e){for(var r=e.plainObjects?Object.create(null):{},i=0;i<t.length;++i)void 0!==t[i]&&(r[i]=t[i]);return r},e.merge=function(t,r,n){if(!r)return t;if("object"!=typeof r){if(Array.isArray(t))t.push(r);else{if("object"!=typeof t)return[t,r];(n.plainObjects||n.allowPrototypes||!i.call(Object.prototype,r))&&(t[r]=!0)}return t}if("object"!=typeof t)return[t].concat(r);var s=t;return Array.isArray(t)&&!Array.isArray(r)&&(s=e.arrayToObject(t,n)),Object.keys(r).reduce((function(t,s){var a=r[s];return i.call(t,s)?t[s]=e.merge(t[s],a,n):t[s]=a,t}),s)},e.decode=function(t){try{return decodeURIComponent(t.replace(/\+/g," "))}catch(e){return t}},e.encode=function(t){if(0===t.length)return t;for(var e="string"==typeof t?t:String(t),i="",n=0;n<e.length;++n){var s=e.charCodeAt(n);45===s||46===s||95===s||126===s||s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122?i+=e.charAt(n):s<128?i+=r[s]:s<2048?i+=r[192|s>>6]+r[128|63&s]:s<55296||s>=57344?i+=r[224|s>>12]+r[128|s>>6&63]+r[128|63&s]:(n+=1,s=65536+((1023&s)<<10|1023&e.charCodeAt(n)),i+=r[240|s>>18]+r[128|s>>12&63]+r[128|s>>6&63]+r[128|63&s])}return i},e.compact=function(t,r){if("object"!=typeof t||null===t)return t;var i=r||[],n=i.indexOf(t);if(-1!==n)return i[n];if(i.push(t),Array.isArray(t)){for(var s=[],a=0;a<t.length;++a)t[a]&&"object"==typeof t[a]?s.push(e.compact(t[a],i)):void 0!==t[a]&&s.push(t[a]);return s}for(var o=Object.keys(t),l=0;l<o.length;++l){var u=o[l];t[u]=e.compact(t[u],i)}return t},e.isRegExp=function(t){return"[object RegExp]"===Object.prototype.toString.call(t)},e.isBuffer=function(t){return null!=t&&!!(t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer(t))}})),Dn={brackets:function(t){return t+"[]"},indices:function(t,e){return t+"["+e+"]"},repeat:function(t){return t}},Rn={delimiter:"&",strictNullHandling:!1,skipNulls:!1,encode:!0,encoder:wn.encode},kn=function t(e,r,i,n,s,a,o,l,u){var d=e;if("function"==typeof o)d=o(r,d);else if(d instanceof Date)d=d.toISOString();else if(null===d){if(n)return a?a(r):r;d=""}if("string"==typeof d||"number"==typeof d||"boolean"==typeof d||wn.isBuffer(d))return a?[a(r)+"="+a(d)]:[r+"="+String(d)];var c,h=[];if(void 0===d)return h;if(Array.isArray(o))c=o;else{var f=Object.keys(d);c=l?f.sort(l):f}for(var p=0;p<c.length;++p){var g=c[p];s&&null===d[g]||(h=Array.isArray(d)?h.concat(t(d[g],i(r,g),i,n,s,a,o,l,u)):h.concat(t(d[g],r+(u?"."+g:"["+g+"]"),i,n,s,a,o,l,u)))}return h},On=Object.prototype.hasOwnProperty,In={delimiter:"&",depth:5,arrayLimit:20,parameterLimit:1e3,strictNullHandling:!1,plainObjects:!1,allowPrototypes:!1,allowDots:!1,decoder:wn.decode},Cn=function(t,e,r){if(t){var i=r.allowDots?t.replace(/\.([^.[]+)/g,"[$1]"):t,n=/(\[[^[\]]*])/g,s=/(\[[^[\]]*])/.exec(i),a=s?i.slice(0,s.index):i,o=[];if(a){if(!r.plainObjects&&On.call(Object.prototype,a)&&!r.allowPrototypes)return;o.push(a)}for(var l=0;null!==(s=n.exec(i))&&l<r.depth;){if(l+=1,!r.plainObjects&&On.call(Object.prototype,s[1].slice(1,-1))&&!r.allowPrototypes)return;o.push(s[1])}return s&&o.push("["+i.slice(s.index)+"]"),function t(e,r,i){if(!e.length)return r;var n,s=e.shift();if("[]"===s)n=(n=[]).concat(t(e,r,i));else{n=i.plainObjects?Object.create(null):{};var a="["===s.charAt(0)&&"]"===s.charAt(s.length-1)?s.slice(1,-1):s,o=parseInt(a,10);!isNaN(o)&&s!==a&&String(o)===a&&o>=0&&i.parseArrays&&o<=i.arrayLimit?(n=[])[o]=t(e,r,i):n[a]=t(e,r,i)}return n}(o,e,r)}},Pn=function(t,e){var r,i,n=t,s=e||{},a=void 0===s.delimiter?Rn.delimiter:s.delimiter,o="boolean"==typeof s.strictNullHandling?s.strictNullHandling:Rn.strictNullHandling,l="boolean"==typeof s.skipNulls?s.skipNulls:Rn.skipNulls,u=("boolean"==typeof s.encode?s.encode:Rn.encode)?"function"==typeof s.encoder?s.encoder:Rn.encoder:null,d="function"==typeof s.sort?s.sort:null,c=void 0!==s.allowDots&&s.allowDots;if(null!==s.encoder&&void 0!==s.encoder&&"function"!=typeof s.encoder)throw new TypeError("Encoder has to be a function.");"function"==typeof s.filter?n=(i=s.filter)("",n):Array.isArray(s.filter)&&(r=i=s.filter);var h,f=[];if("object"!=typeof n||null===n)return"";h=s.arrayFormat in Dn?s.arrayFormat:"indices"in s?s.indices?"indices":"repeat":"indices";var p=Dn[h];r||(r=Object.keys(n)),d&&r.sort(d);for(var g=0;g<r.length;++g){var v=r[g];l&&null===n[v]||(f=f.concat(kn(n[v],v,p,o,l,u,i,d,c)))}return f.join(a)},xn=function(t,e){var r=e||{};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||wn.isRegExp(r.delimiter)?r.delimiter:In.delimiter,r.depth="number"==typeof r.depth?r.depth:In.depth,r.arrayLimit="number"==typeof r.arrayLimit?r.arrayLimit:In.arrayLimit,r.parseArrays=!1!==r.parseArrays,r.decoder="function"==typeof r.decoder?r.decoder:In.decoder,r.allowDots="boolean"==typeof r.allowDots?r.allowDots:In.allowDots,r.plainObjects="boolean"==typeof r.plainObjects?r.plainObjects:In.plainObjects,r.allowPrototypes="boolean"==typeof r.allowPrototypes?r.allowPrototypes:In.allowPrototypes,r.parameterLimit="number"==typeof r.parameterLimit?r.parameterLimit:In.parameterLimit,r.strictNullHandling="boolean"==typeof r.strictNullHandling?r.strictNullHandling:In.strictNullHandling,""===t||null==t)return r.plainObjects?Object.create(null):{};for(var i="string"==typeof t?function(t,e){for(var r={},i=t.split(e.delimiter,e.parameterLimit===1/0?void 0:e.parameterLimit),n=0;n<i.length;++n){var s,a,o=i[n],l=-1===o.indexOf("]=")?o.indexOf("="):o.indexOf("]=")+1;-1===l?(s=e.decoder(o),a=e.strictNullHandling?null:""):(s=e.decoder(o.slice(0,l)),a=e.decoder(o.slice(l+1))),On.call(r,s)?r[s]=[].concat(r[s]).concat(a):r[s]=a}return r}(t,r):t,n=r.plainObjects?Object.create(null):{},s=Object.keys(i),a=0;a<s.length;++a){var o=s[a],l=Cn(o,i[o],r);n=wn.merge(n,l,r)}return wn.compact(n)};const Mn=Sr("fpads:macros"),Nn=/\[([\s\S]+?)\]/g;class Macros{constructor(t={},e=Nn){this.vars=t,this.pattern=e}static run(t){try{return t()}catch(t){return void console.error(t)}}static merge(...t){return t.reduce((t,e)=>Object.assign(t,e),{})}static cast(t){return void 0===t?"":"function"==typeof t?encodeURIComponent(Macros.run(t)||""):"string"==typeof t?encodeURIComponent(t):"number"==typeof t||"boolean"==typeof t?t.toString():""}static normalize(t){return t.trim()}static process_obj(t,e,r){return Object.keys(t).reduce((i,n)=>{const s=Macros.process_str(n,e,r,!0),a=t[n];return null===a?(i[s]=a,i):"object"==typeof a?(i[s]=Macros.process_obj(a,e,r),i):"string"==typeof a?(i[s]=Macros.process_str(a,e,r),i):(console.error(new Error(`${a} at ${n} not a handled Macro type`)),i)},{})}static process_str(t,e,r,i=!1){return t.replace(e.pattern,(t,e)=>{const n=Macros.normalize(e);if(!(n in r)||void 0===r[n])return t;const s=r[n],a=i?s:Macros.cast(s);return Mn("Macro.replace(raw: %s, macro: %s, value: %s)",i,e,a),a})}fork(t={},e=this.pattern){const r=Macros.merge(this.vars,t);return new Macros(r,e)}compile(t,e={}){const r=Macros.merge(this.vars,e),[i,n]=t.split("?"),s=xn(n||"",{strictNullHandling:!0,decoder:t=>t}),a=Pn(Macros.process_obj(s,this,r),{encode:!1,strictNullHandling:!0});return Macros.process_str(i,this,r,!0)+"?"+a}}function Fn(t,e={width:0,height:0}){let r,i;try{const t=document.createElement("a");t.href=r=window.location!=window.parent.location?document.referrer:document.location.href,i=t.hostname}catch(t){console.error(t)}const{width:n,height:s}=e,{video_source:a}=t||{},o=function(){const t=window;return"object"==typeof t.__flowplayerAdParameters?t.__flowplayerAdParameters:{}}();return Object.assign({random:Date.now(),page_url:r,domain:i,player_width:n,player_height:s,video_url:a,videourl:a},o)}Macros.patterns={BRACKETS:Nn,CURLY:/\{([\s\S]+?)\}/g,UNDERSCORE:/__([\s\S]+?)__/g};const Un=/^flowplayer:\/\/(.+)/;async function Bn(t){if("string"==typeof t&&Un.test(t)){const e=Un.exec(t),r=e&&window[e[1]];if(r)return Bn(r)}if("function"!=typeof t)return t;try{return await t()}catch(t){return""}}class Schedule{constructor(t,e={}){this._ads=t,this._opts=e,this._nextIndex=0,this._postroll=void 0,this._loadPending=!1,this._postrollActive=!1,this.reset(this._ads)}toJSON(){const t=(this._ads||[]).slice(this._nextIndex);return this._postroll&&t.push(this._postroll),t}reset(t){this.setAds(t),this._nextIndex=0,this._postrollActive=!1}resetCounter(){this._nextIndex=0,this._postrollActive=!1}setAds(t){this._ads=t||[],this.sort()}getAds(){return this._ads}getNextAd(t){return this._ads[this._nextIndex]||t}getCurrentAd(){return this._postrollActive?this._postroll:this._loadPending?0:this._ads[this._nextIndex-1]}getPostroll(){return this._postroll}isDrained(){return this._nextIndex+1>this._ads.length}setPostrollActive(){this._postrollActive=!0}updateContentDuration(t){this._opts.content_duration=t}increment(){++this._nextIndex}decrement(){this._nextIndex>0&&--this._nextIndex}getNextIndex(){return this._nextIndex}getCurrentType(){const t=this.getCurrentAd();if(t)return Schedule.kindOf(t.time)}sort(){this._postroll=this._ads.find(t=>-1===t.time),this._ads=this._ads.filter(t=>t!==this._postroll).sort((t,e)=>t.time===e.time?this._ads.indexOf(t)-this._ads.indexOf(e):t.time-e.time)}shallPlayAd(t){if(this._loadPending)return!1;const e=this.getCurrentAd()||this.getNextAd();return!!(e&&e.time<=t&&-1!==e.time)}shallPlayNext(){const t=this.getNextAd(),e=this.getCurrentAd();return!(!t||!e||t.time!==e.time)}waitForLoad(t,e,r){if(this._loadPending=!1,!e)return!1;const i=r?this._opts.preload_advance:0;return e.time>=0?this._loadPending=t<e.time-i:-1===e.time&&(this._loadPending=this._opts.content_duration>0&&-1!==t?t<this._opts.content_duration-i:-1!==t),this._loadPending}static hasPreroll(t){return!!t.find(t=>0===t.time)}static isOutstream(t){return Schedule.hasPreroll(t)&&!!t[0].outstream}static kindOf(t){switch(t){case 0:return"preroll";case-1:return"postroll";default:return"midroll"}}}const jn=Object.prototype,Gn=Object.getPrototypeOf;const Hn=Sr("fpads:ads:state");var Vn;!function(t){t[t.IDLE=0]="IDLE",t[t.INITIALIZING=1]="INITIALIZING",t[t.FETCHING_AD=2]="FETCHING_AD",t[t.AD_AVAILABLE=4]="AD_AVAILABLE",t[t.BREAK_ACTIVE=8]="BREAK_ACTIVE",t[t.PLAYING=16]="PLAYING",t[t.FATAL_ERROR=32]="FATAL_ERROR"}(Vn||(Vn={}));class AdsState{constructor(t=0){this._state=t}static of(){return new AdsState}reset(){this._state=0}toggleState(t,e){return void 0===t&&Hn(new Error("AdState cannot toggleState for `undefined`")),null==typeof e?this._state^=t:e?void(this._state|=t):this._state&=~t}hasAll(t){return this._state==(this._state|t)}hasAny(t){return!!(this._state&t)}get state(){return this._state}}const Kn={ok:Sr("fpads:analytics:request-queue"),err:Sr("fpads:analytics:request-queue:err"),warn:Sr("fpads:analytics:request-queue:warn")};class RequestQueue{constructor(t=[],e=[],r={failures:0,ttl:0}){this.pending=t,this.open=e,this.stats=r}static of(){return new RequestQueue}static is_empty(t){return 0==t.pending.length}static is_high_water(t){return t.open.length==RequestQueue.MAX_OPEN_REQUESTS}static maybe_spawn_req(t){if(RequestQueue.is_empty(t))return Kn.ok("maybe_spawn_req called Queue that is EMPTY"),t;if(RequestQueue.is_high_water(t))return Kn.warn("maybe_spawn_req called on Queue that is HIGH_WATER"),t;try{const e=RequestQueue.lpop(t);e&&RequestQueue.request(t,e)}catch(t){Kn.err(t)}}static increment_failures(t){return t.stats.failures++,t.stats.failures>RequestQueue.MAX_FAILURE_COUNT&&(t.stats.ttl=Date.now()+RequestQueue.REQUEST_TTL_MS),t}static handle_error(t,e){RequestQueue.rm(t,e),RequestQueue.increment_failures(t)}static request(t,[e,r,i]){if(Kn.ok(`Request[${i.event_type}] request`,i,t.stats),Date.now()<t.stats.ttl)return Kn.warn(`Request[${i.event_type}] skipping because too many errors too quickly`,t.stats);const n=new XMLHttpRequest;t.open.push(n),n.timeout=RequestQueue.REQUEST_TIMEOUT_MS,n.ontimeout=function(){RequestQueue.handle_error(t,n),Kn.warn(`Request[${i.event_type}] timed out in ${n.timeout}ms`,t.stats)},n.onerror=function(e){RequestQueue.handle_error(t,n),e&&Kn.err(e),Kn.warn(`Request[${i.event_type}] encountered an Error`,n.responseText,t.stats)},n.onreadystatechange=function(){n.readyState==XMLHttpRequest.DONE&&RequestQueue.rm(t,n),Math.floor(n.status/100)},n.onload=function(){RequestQueue.rm(t,n),t.stats.failures&&t.stats.failures--,Kn.ok(`Request[${i.event_type}] :ok`,n.status)},n.open(r,e),n.setRequestHeader("Content-Type","text/plain;charset=UTF-8");try{n.send(JSON.stringify(i))}catch(t){Kn.err(t)}}static rpush(t,...e){return e.forEach(e=>{if(RequestQueue.is_high_water(t))return Kn.warn("Too many open requests, skipping",t.stats);t.pending.push(e),RequestQueue.maybe_spawn_req(t)}),t}static lpop(t){return t.pending.shift()}static rm(t,e){const r=t.open.lastIndexOf(e);return~r&&t.open.splice(r,1),t}}RequestQueue.MAX_OPEN_REQUESTS=3,RequestQueue.REQUEST_TIMEOUT_MS=4e3,RequestQueue.REQUEST_TTL_MS=5e3,RequestQueue.MAX_FAILURE_COUNT=3;const qn={"Amazon Silk":"amazon_silk","Android Browser":"android",Bada:"bada",BlackBerry:"blackberry",Chrome:"chrome",Chromium:"chromium",Electron:"electron",Epiphany:"epiphany",Firefox:"firefox",Focus:"focus",Generic:"generic","Google Search":"google_search",Googlebot:"googlebot","Internet Explorer":"ie","K-Meleon":"k_meleon",Maxthon:"maxthon","Microsoft Edge":"edge","MZ Browser":"mz","NAVER Whale Browser":"naver",Opera:"opera","Opera Coast":"opera_coast",PhantomJS:"phantomjs",Puffin:"puffin",QupZilla:"qupzilla",QQ:"qq",QQLite:"qqlite",Safari:"safari",Sailfish:"sailfish","Samsung Internet for Android":"samsung_internet",SeaMonkey:"seamonkey",Sleipnir:"sleipnir",Swing:"swing",Tizen:"tizen","UC Browser":"uc",Vivaldi:"vivaldi","WebOS Browser":"webos",WeChat:"wechat","Yandex Browser":"yandex",Roku:"roku"},Wn={amazon_silk:"Amazon Silk",android:"Android Browser",bada:"Bada",blackberry:"BlackBerry",chrome:"Chrome",chromium:"Chromium",electron:"Electron",epiphany:"Epiphany",firefox:"Firefox",focus:"Focus",generic:"Generic",googlebot:"Googlebot",google_search:"Google Search",ie:"Internet Explorer",k_meleon:"K-Meleon",maxthon:"Maxthon",edge:"Microsoft Edge",mz:"MZ Browser",naver:"NAVER Whale Browser",opera:"Opera",opera_coast:"Opera Coast",phantomjs:"PhantomJS",puffin:"Puffin",qupzilla:"QupZilla",qq:"QQ Browser",qqlite:"QQ Browser Lite",safari:"Safari",sailfish:"Sailfish",samsung_internet:"Samsung Internet for Android",seamonkey:"SeaMonkey",sleipnir:"Sleipnir",swing:"Swing",tizen:"Tizen",uc:"UC Browser",vivaldi:"Vivaldi",webos:"WebOS Browser",wechat:"WeChat",yandex:"Yandex Browser"},zn={tablet:"tablet",mobile:"mobile",desktop:"desktop",tv:"tv"},Yn={WindowsPhone:"Windows Phone",Windows:"Windows",MacOS:"macOS",iOS:"iOS",Android:"Android",WebOS:"WebOS",BlackBerry:"BlackBerry",Bada:"Bada",Tizen:"Tizen",Linux:"Linux",ChromeOS:"Chrome OS",PlayStation4:"PlayStation 4",Roku:"Roku"},Xn={EdgeHTML:"EdgeHTML",Blink:"Blink",Trident:"Trident",Presto:"Presto",Gecko:"Gecko",WebKit:"WebKit"};class Utils{static getFirstMatch(t,e){const r=e.match(t);return r&&r.length>0&&r[1]||""}static getSecondMatch(t,e){const r=e.match(t);return r&&r.length>1&&r[2]||""}static matchAndReturnConst(t,e,r){if(t.test(e))return r}static getWindowsVersionName(t){switch(t){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}}static getMacOSVersionName(t){const e=t.split(".").splice(0,2).map(t=>parseInt(t,10)||0);if(e.push(0),10===e[0])switch(e[1]){case 5:return"Leopard";case 6:return"Snow Leopard";case 7:return"Lion";case 8:return"Mountain Lion";case 9:return"Mavericks";case 10:return"Yosemite";case 11:return"El Capitan";case 12:return"Sierra";case 13:return"High Sierra";case 14:return"Mojave";case 15:return"Catalina";default:return}}static getAndroidVersionName(t){const e=t.split(".").splice(0,2).map(t=>parseInt(t,10)||0);if(e.push(0),!(1===e[0]&&e[1]<5))return 1===e[0]&&e[1]<6?"Cupcake":1===e[0]&&e[1]>=6?"Donut":2===e[0]&&e[1]<2?"Eclair":2===e[0]&&2===e[1]?"Froyo":2===e[0]&&e[1]>2?"Gingerbread":3===e[0]?"Honeycomb":4===e[0]&&e[1]<1?"Ice Cream Sandwich":4===e[0]&&e[1]<4?"Jelly Bean":4===e[0]&&e[1]>=4?"KitKat":5===e[0]?"Lollipop":6===e[0]?"Marshmallow":7===e[0]?"Nougat":8===e[0]?"Oreo":9===e[0]?"Pie":void 0}static getVersionPrecision(t){return t.split(".").length}static compareVersions(t,e,r=!1){const i=Utils.getVersionPrecision(t),n=Utils.getVersionPrecision(e);let s=Math.max(i,n),a=0;const o=Utils.map([t,e],t=>{const e=s-Utils.getVersionPrecision(t),r=t+new Array(e+1).join(".0");return Utils.map(r.split("."),t=>new Array(20-t.length).join("0")+t).reverse()});for(r&&(a=s-Math.min(i,n)),s-=1;s>=a;){if(o[0][s]>o[1][s])return 1;if(o[0][s]===o[1][s]){if(s===a)return 0;s-=1}else if(o[0][s]<o[1][s])return-1}}static map(t,e){const r=[];let i;if(Array.prototype.map)return Array.prototype.map.call(t,e);for(i=0;i<t.length;i+=1)r.push(e(t[i]));return r}static find(t,e){let r,i;if(Array.prototype.find)return Array.prototype.find.call(t,e);for(r=0,i=t.length;r<i;r+=1){const i=t[r];if(e(i,r))return i}}static assign(t,...e){const r=t;let i,n;if(Object.assign)return Object.assign(t,...e);for(i=0,n=e.length;i<n;i+=1){const t=e[i];if("object"==typeof t&&null!==t){Object.keys(t).forEach(e=>{r[e]=t[e]})}}return t}static getBrowserAlias(t){return qn[t]}static getBrowserTypeByAlias(t){return Wn[t]||""}}const Qn=/version\/(\d+(\.?_?\d+)+)/i,$n=[{test:[/googlebot/i],describe(t){const e={name:"Googlebot"},r=Utils.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,t)||Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/opera/i],describe(t){const e={name:"Opera"},r=Utils.getFirstMatch(Qn,t)||Utils.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/opr\/|opios/i],describe(t){const e={name:"Opera"},r=Utils.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,t)||Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/SamsungBrowser/i],describe(t){const e={name:"Samsung Internet for Android"},r=Utils.getFirstMatch(Qn,t)||Utils.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/Whale/i],describe(t){const e={name:"NAVER Whale Browser"},r=Utils.getFirstMatch(Qn,t)||Utils.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/MZBrowser/i],describe(t){const e={name:"MZ Browser"},r=Utils.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,t)||Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/focus/i],describe(t){const e={name:"Focus"},r=Utils.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,t)||Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/swing/i],describe(t){const e={name:"Swing"},r=Utils.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,t)||Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/coast/i],describe(t){const e={name:"Opera Coast"},r=Utils.getFirstMatch(Qn,t)||Utils.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/opt\/\d+(?:.?_?\d+)+/i],describe(t){const e={name:"Opera Touch"},r=Utils.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,t)||Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/yabrowser/i],describe(t){const e={name:"Yandex Browser"},r=Utils.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,t)||Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/ucbrowser/i],describe(t){const e={name:"UC Browser"},r=Utils.getFirstMatch(Qn,t)||Utils.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/Maxthon|mxios/i],describe(t){const e={name:"Maxthon"},r=Utils.getFirstMatch(Qn,t)||Utils.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/epiphany/i],describe(t){const e={name:"Epiphany"},r=Utils.getFirstMatch(Qn,t)||Utils.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/puffin/i],describe(t){const e={name:"Puffin"},r=Utils.getFirstMatch(Qn,t)||Utils.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/sleipnir/i],describe(t){const e={name:"Sleipnir"},r=Utils.getFirstMatch(Qn,t)||Utils.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/k-meleon/i],describe(t){const e={name:"K-Meleon"},r=Utils.getFirstMatch(Qn,t)||Utils.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/micromessenger/i],describe(t){const e={name:"WeChat"},r=Utils.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,t)||Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/qqbrowser/i],describe(t){const e={name:/qqbrowserlite/i.test(t)?"QQ Browser Lite":"QQ Browser"},r=Utils.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,t)||Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/msie|trident/i],describe(t){const e={name:"Internet Explorer"},r=Utils.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/\sedg\//i],describe(t){const e={name:"Microsoft Edge"},r=Utils.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/edg([ea]|ios)/i],describe(t){const e={name:"Microsoft Edge"},r=Utils.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/vivaldi/i],describe(t){const e={name:"Vivaldi"},r=Utils.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/seamonkey/i],describe(t){const e={name:"SeaMonkey"},r=Utils.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/sailfish/i],describe(t){const e={name:"Sailfish"},r=Utils.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,t);return r&&(e.version=r),e}},{test:[/silk/i],describe(t){const e={name:"Amazon Silk"},r=Utils.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/phantom/i],describe(t){const e={name:"PhantomJS"},r=Utils.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/slimerjs/i],describe(t){const e={name:"SlimerJS"},r=Utils.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe(t){const e={name:"BlackBerry"},r=Utils.getFirstMatch(Qn,t)||Utils.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/(web|hpw)[o0]s/i],describe(t){const e={name:"WebOS Browser"},r=Utils.getFirstMatch(Qn,t)||Utils.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/bada/i],describe(t){const e={name:"Bada"},r=Utils.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/tizen/i],describe(t){const e={name:"Tizen"},r=Utils.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,t)||Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/qupzilla/i],describe(t){const e={name:"QupZilla"},r=Utils.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,t)||Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/firefox|iceweasel|fxios/i],describe(t){const e={name:"Firefox"},r=Utils.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/electron/i],describe(t){const e={name:"Electron"},r=Utils.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/MiuiBrowser/i],describe(t){const e={name:"Miui"},r=Utils.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/chromium/i],describe(t){const e={name:"Chromium"},r=Utils.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,t)||Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/chrome|crios|crmo/i],describe(t){const e={name:"Chrome"},r=Utils.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/GSA/i],describe(t){const e={name:"Google Search"},r=Utils.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test(t){const e=!t.test(/like android/i),r=t.test(/android/i);return e&&r},describe(t){const e={name:"Android Browser"},r=Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/playstation 4/i],describe(t){const e={name:"PlayStation 4"},r=Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/safari|applewebkit/i],describe(t){const e={name:"Safari"},r=Utils.getFirstMatch(Qn,t);return r&&(e.version=r),e}},{test:[/.*/i],describe(t){const e=-1!==t.search("\\(")?/^(.*)\/(.*)[ \t]\((.*)/:/^(.*)\/(.*) /;return{name:Utils.getFirstMatch(e,t),version:Utils.getSecondMatch(e,t)}}}];var Zn=[{test:[/Roku\/DVP/],describe(t){const e=Utils.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,t);return{name:Yn.Roku,version:e}}},{test:[/windows phone/i],describe(t){const e=Utils.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i,t);return{name:Yn.WindowsPhone,version:e}}},{test:[/windows /i],describe(t){const e=Utils.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,t),r=Utils.getWindowsVersionName(e);return{name:Yn.Windows,version:e,versionName:r}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe(t){const e={name:Yn.iOS},r=Utils.getSecondMatch(/(Version\/)(\d[\d.]+)/,t);return r&&(e.version=r),e}},{test:[/macintosh/i],describe(t){const e=Utils.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,t).replace(/[_\s]/g,"."),r=Utils.getMacOSVersionName(e),i={name:Yn.MacOS,version:e};return r&&(i.versionName=r),i}},{test:[/(ipod|iphone|ipad)/i],describe(t){const e=Utils.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,t).replace(/[_\s]/g,".");return{name:Yn.iOS,version:e}}},{test(t){const e=!t.test(/like android/i),r=t.test(/android/i);return e&&r},describe(t){const e=Utils.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,t),r=Utils.getAndroidVersionName(e),i={name:Yn.Android,version:e};return r&&(i.versionName=r),i}},{test:[/(web|hpw)[o0]s/i],describe(t){const e=Utils.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,t),r={name:Yn.WebOS};return e&&e.length&&(r.version=e),r}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe(t){const e=Utils.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,t)||Utils.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,t)||Utils.getFirstMatch(/\bbb(\d+)/i,t);return{name:Yn.BlackBerry,version:e}}},{test:[/bada/i],describe(t){const e=Utils.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,t);return{name:Yn.Bada,version:e}}},{test:[/tizen/i],describe(t){const e=Utils.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i,t);return{name:Yn.Tizen,version:e}}},{test:[/linux/i],describe:()=>({name:Yn.Linux})},{test:[/CrOS/],describe:()=>({name:Yn.ChromeOS})},{test:[/PlayStation 4/],describe(t){const e=Utils.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i,t);return{name:Yn.PlayStation4,version:e}}}],Jn=[{test:[/googlebot/i],describe:()=>({type:"bot",vendor:"Google"})},{test:[/huawei/i],describe(t){const e=Utils.getFirstMatch(/(can-l01)/i,t)&&"Nova",r={type:zn.mobile,vendor:"Huawei"};return e&&(r.model=e),r}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe:()=>({type:zn.tablet,vendor:"Nexus"})},{test:[/ipad/i],describe:()=>({type:zn.tablet,vendor:"Apple",model:"iPad"})},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:()=>({type:zn.tablet,vendor:"Apple",model:"iPad"})},{test:[/kftt build/i],describe:()=>({type:zn.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"})},{test:[/silk/i],describe:()=>({type:zn.tablet,vendor:"Amazon"})},{test:[/tablet(?! pc)/i],describe:()=>({type:zn.tablet})},{test(t){const e=t.test(/ipod|iphone/i),r=t.test(/like (ipod|iphone)/i);return e&&!r},describe(t){const e=Utils.getFirstMatch(/(ipod|iphone)/i,t);return{type:zn.mobile,vendor:"Apple",model:e}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe:()=>({type:zn.mobile,vendor:"Nexus"})},{test:[/[^-]mobi/i],describe:()=>({type:zn.mobile})},{test:t=>"blackberry"===t.getBrowserName(!0),describe:()=>({type:zn.mobile,vendor:"BlackBerry"})},{test:t=>"bada"===t.getBrowserName(!0),describe:()=>({type:zn.mobile})},{test:t=>"windows phone"===t.getBrowserName(),describe:()=>({type:zn.mobile,vendor:"Microsoft"})},{test(t){const e=Number(String(t.getOSVersion()).split(".")[0]);return"android"===t.getOSName(!0)&&e>=3},describe:()=>({type:zn.tablet})},{test:t=>"android"===t.getOSName(!0),describe:()=>({type:zn.mobile})},{test:t=>"macos"===t.getOSName(!0),describe:()=>({type:zn.desktop,vendor:"Apple"})},{test:t=>"windows"===t.getOSName(!0),describe:()=>({type:zn.desktop})},{test:t=>"linux"===t.getOSName(!0),describe:()=>({type:zn.desktop})},{test:t=>"playstation 4"===t.getOSName(!0),describe:()=>({type:zn.tv})},{test:t=>"roku"===t.getOSName(!0),describe:()=>({type:zn.tv})}],ts=[{test:t=>"microsoft edge"===t.getBrowserName(!0),describe(t){if(/\sedg\//i.test(t))return{name:Xn.Blink};const e=Utils.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,t);return{name:Xn.EdgeHTML,version:e}}},{test:[/trident/i],describe(t){const e={name:Xn.Trident},r=Utils.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:t=>t.test(/presto/i),describe(t){const e={name:Xn.Presto},r=Utils.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test(t){const e=t.test(/gecko/i),r=t.test(/like gecko/i);return e&&!r},describe(t){const e={name:Xn.Gecko},r=Utils.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}},{test:[/(apple)?webkit\/537\.36/i],describe:()=>({name:Xn.Blink})},{test:[/(apple)?webkit/i],describe(t){const e={name:Xn.WebKit},r=Utils.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,t);return r&&(e.version=r),e}}];class Parser{constructor(t,e=!1){if(null==t||""===t)throw new Error("UserAgent parameter can't be empty");this._ua=t,this.parsedResult={},!0!==e&&this.parse()}getUA(){return this._ua}test(t){return t.test(this._ua)}parseBrowser(){this.parsedResult.browser={};const t=Utils.find($n,t=>{if("function"==typeof t.test)return t.test(this);if(t.test instanceof Array)return t.test.some(t=>this.test(t));throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.browser=t.describe(this.getUA())),this.parsedResult.browser}getBrowser(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()}getBrowserName(t){return t?String(this.getBrowser().name).toLowerCase()||"":this.getBrowser().name||""}getBrowserVersion(){return this.getBrowser().version}getOS(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()}parseOS(){this.parsedResult.os={};const t=Utils.find(Zn,t=>{if("function"==typeof t.test)return t.test(this);if(t.test instanceof Array)return t.test.some(t=>this.test(t));throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os}getOSName(t){const{name:e}=this.getOS();return t?String(e).toLowerCase()||"":e||""}getOSVersion(){return this.getOS().version}getPlatform(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()}getPlatformType(t=!1){const{type:e}=this.getPlatform();return t?String(e).toLowerCase()||"":e||""}parsePlatform(){this.parsedResult.platform={};const t=Utils.find(Jn,t=>{if("function"==typeof t.test)return t.test(this);if(t.test instanceof Array)return t.test.some(t=>this.test(t));throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform}getEngine(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()}getEngineName(t){return t?String(this.getEngine().name).toLowerCase()||"":this.getEngine().name||""}parseEngine(){this.parsedResult.engine={};const t=Utils.find(ts,t=>{if("function"==typeof t.test)return t.test(this);if(t.test instanceof Array)return t.test.some(t=>this.test(t));throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine}parse(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this}getResult(){return Utils.assign({},this.parsedResult)}satisfies(t){const e={};let r=0;const i={};let n=0;if(Object.keys(t).forEach(s=>{const a=t[s];"string"==typeof a?(i[s]=a,n+=1):"object"==typeof a&&(e[s]=a,r+=1)}),r>0){const t=Object.keys(e),r=Utils.find(t,t=>this.isOS(t));if(r){const t=this.satisfies(e[r]);if(void 0!==t)return t}const i=Utils.find(t,t=>this.isPlatform(t));if(i){const t=this.satisfies(e[i]);if(void 0!==t)return t}}if(n>0){const t=Object.keys(i),e=Utils.find(t,t=>this.isBrowser(t,!0));if(void 0!==e)return this.compareVersion(i[e])}}isBrowser(t,e=!1){const r=this.getBrowserName().toLowerCase();let i=t.toLowerCase();const n=Utils.getBrowserTypeByAlias(i);return e&&n&&(i=n.toLowerCase()),i===r}compareVersion(t){let e=[0],r=t,i=!1;const n=this.getBrowserVersion();if("string"==typeof n)return">"===t[0]||"<"===t[0]?(r=t.substr(1),"="===t[1]?(i=!0,r=t.substr(2)):e=[],">"===t[0]?e.push(1):e.push(-1)):"="===t[0]?r=t.substr(1):"~"===t[0]&&(i=!0,r=t.substr(1)),e.indexOf(Utils.compareVersions(n,r,i))>-1}isOS(t){return this.getOSName(!0)===String(t).toLowerCase()}isPlatform(t){return this.getPlatformType(!0)===String(t).toLowerCase()}isEngine(t){return this.getEngineName(!0)===String(t).toLowerCase()}is(t,e=!1){return this.isBrowser(t,e)||this.isOS(t)||this.isPlatform(t)}some(t=[]){return t.some(t=>this.is(t))}}
374
374
  /*!
375
375
  * Bowser - a browser detector
376
376
  * https://github.com/lancedikson/bowser
377
377
  * MIT License | (c) Dustin Diaz 2012-2015
378
378
  * MIT License | (c) Denis Demchenko 2015-2019
379
- */const es=class Bowser{static getParser(t,e=!1){if("string"!=typeof t)throw new Error("UserAgent should be a string");return new Parser(t,e)}static parse(t){return new Parser(t).getResult()}static get BROWSER_MAP(){return Wn}static get ENGINE_MAP(){return Xn}static get OS_MAP(){return Yn}static get PLATFORMS_MAP(){return zn}}.parse(window.navigator.userAgent),{platform:rs,os:is,browser:ns}=es,ss=t=>t&&t.toLowerCase();var as={rnd:Math.random().toString(36).substr(2,32),os:ss(is.name+(is.versionName?" "+is.versionName:"")),device:ss(rs.type),browser:ss(ns.name),browser_version:(ns&&ns.version?ns.version:"unknown").split(".").shift(),plugin_version:"3.4.2"};const os="https://fp-eu-w1-aai.flowplayer.com/in",ls="POST",us=["ad-requested","ad-request-error","ad-request-completed","ad-completed","ad-started","ad-error","ad-skipped"],ds=["event_type","ad_tag_id","media_id","player_id","site_id","sitegroup_id","rnd","os","device","browser","browser_version","plugin_version","player_version"],cs=["vast_error","reason","request_load_time","ad_type","vast_ad_id"],hs=Sr("ads/analytics"),fs=RequestQueue.of(),ps=(...t)=>Object.assign({},...t);class Analytics{constructor(t,e={}){this.emitter=t,this.metadata=ps(as,e.metadata||{}),this.emitter=t,this.events=e.events||[],this.required_keys=e.required_keys||[],this.optional_keys=e.optional_keys||[],this.valid_keys=this.required_keys.slice(0).concat(this.optional_keys),hs(this),this.wireup()}static of(t,e){return new Analytics(t,e)}static ensure_required_keys(t,e){return t.required_keys.filter(t=>!(t in e))}static pluck_valid_keys(t,e){return((t,...e)=>Object.keys(t).filter(t=>~e.indexOf(t)).reduce((e,r)=>Object.assign(e,{[r]:t[r]}),{}))(e,...t.valid_keys)}static mergeMetadata(t,e={}){return t.metadata=Analytics.pluck_valid_keys(t,ps(t.metadata,e,{player_version:"3.4.2"})),t}wireup(){this.events.forEach(t=>{this.emitter.on(t,e=>{const r=e.detail,i=ps(this.metadata,{event_type:t},r),n=Analytics.pluck_valid_keys(this,i),s=Analytics.ensure_required_keys(this,n);if(hs(`Event[${t}]`,{payload:n,observation:r}),s.length)return hs(`Analytics.validate_metadata() failed for\n Event[${t}]\n missing keys: ${s}`,n);RequestQueue.rpush(fs,[os,ls,n])})})}destroy(){this.emitter=this.metadata=this.events=this.required_keys=this.optional_keys=this.valid_keys=void 0}}const gs=Sr("ads/controller"),vs={show_all_ads_on_seek:!1,timeout:5e3,preload_advance:10};class AdsController extends class EventBus{constructor(t=document.createElement("div"),e=[]){this._bus=t,this._listeners=e}removeAllListeners(){this._listeners.length=0,this._bus=document.createElement("div")}emit(t,e){const r=new CustomEvent(t,{detail:e||{}});this._bus.dispatchEvent(r)}on(t,e){this._listeners.push([t,e]),this._bus.addEventListener(t,e,{passive:!0})}once(t,e){this._bus.addEventListener(t,e,{once:!0})}removeListener(t,e){this._bus.removeEventListener(t,e)}}{constructor(t={}){var e;super(),this.adapter=function(t,e){return t.adapter?new t.adapter(e):new IMA(e)}(t,this),this.opts=Object.assign(Object.assign({},vs),t),this.analytics=(e=this,Analytics.of(e,{required_keys:ds,optional_keys:cs,events:us})),this._state=AdsState.of(),this._schedule=void 0,this._lastAd=void 0,this._macros=new Macros(t.parameters||{}),this.wireup()}reset(){return this.removeAllListeners(),this.wireup(),this.analytics&&this.analytics.wireup(),this._state.reset(),this.adapter.reset(),this}destroy(){this.removeAllListeners(),this.analytics&&this.analytics.destroy(),this.adapter&&this.adapter.destroy();this.analytics=void 0,this.opts=void 0,this.adapter=void 0,this._state=void 0,this._schedule=void 0,this._lastAd=void 0,this._macros=void 0}stop(){this.adapter&&this.adapter.stop()}onContentNewSrc(){this._state.reset(),this.adapter.destroyManager(),this.adapter.contentComplete()}wireup(){const t=()=>{var t;const e=new CustomEvent("ad/playing");null===(t=this.videoTag)||void 0===t||t.dispatchEvent(e),this._state.toggleState(Vn.PLAYING,!0)};this.on("ad-play-requested",t),this.on("ad-started",t),this.on("ad-resumed",t);const e=()=>{var t;if(!this.adPlaying)return;const e=new CustomEvent("ad/paused");null===(t=this.videoTag)||void 0===t||t.dispatchEvent(e),this._state.toggleState(Vn.PLAYING,!1)};this.on("ad-break-completed",e),this.on("ad-teardown",e),this.on("ad-playback-error",e),this.on("ad-request-error",e),this.on("ad-paused",e),this.on("ad-skipped",e),this.on("ad-completed",e),this.on("ad-break-completed",()=>{requestAnimationFrame(()=>{var t;const e=new CustomEvent("ad/complete");null===(t=this.videoTag)||void 0===t||t.dispatchEvent(e),this._state.toggleState(Vn.BREAK_ACTIVE,!1)})}),this.on("ad-adapter-init-failed",()=>{console.error("Adapter init failed"),e(),this._state.toggleState(Vn.FATAL_ERROR,!0)}),this.on("reload-ad-requested",async t=>{if(gs("Ads.on(RELOAD_AD_REQUESTED)",t),this._schedule){if(e(),t)return this._schedule.reset(this._schedule.getAds());this._state.hasAny(Vn.AD_AVAILABLE)&&(this._schedule.decrement(),this._state.toggleState(Vn.AD_AVAILABLE,!1))}})}async initialize(t,e={},r){return gs("Ads.initialize():",t,e,r),this._state.toggleState(Vn.INITIALIZING,!0),Object.assign(this.opts,e),Array.isArray(t)&&this.setSchedule(t),await this.adapter.init(this.opts),this._macros=this._macros.fork(Object.assign({},e.parameters||{},{autoplay:e.autoplay,muted:e.muted})),this.adapter.isReady()&&await this.adapterInitialized(r),this}get videoTag(){return this.adapter.getVideoTag()}get adInfo(){return this.adapter.getAdInfo()}async setVideoTag(t){gs("Ads.setVideoTag():",t),await this.adapter.setVideoTag(t),this.trigger("ad-videotag-attached",t),this.adapter.isReady()&&await this.adapterInitialized(),t.on("request/ad/pause",()=>this.adapter.pause()),t.on("request/ad/play",()=>this.adapter.resume()),t.on("request/ad/muteunmute",()=>{var e;t.muted=(null!==(e=this.adapter.volume())&&void 0!==e?e:0)>0,this.adapter.volume(t.muted?0:0==t.volume?.1:t.volume)})}waitForVideoTag(){return new Promise(t=>{const e=this.adapter.getVideoTag();if(e)return t(e);this.on("ad-videotag-attached",e=>{this.once(ln,()=>t(e))})})}async adapterInitialized(t){gs("Ads.adapterInitialized()"),this._state.toggleState(Vn.INITIALIZING,!1),this._state.toggleState(Vn.BREAK_ACTIVE,!!this.hasPreroll()),await this.setCurrentTime(0,t),this.checkIfBreakComplete(),t&&!this.opts.autoplay||this.trigger("ad-teardown")}async fetchNextAd(t,e=0){var r,i;if(!this._schedule)return;if(!this.adapter.isReady())return;if(e>50)throw this._state.toggleState(Vn.FATAL_ERROR,!0),this._state.toggleState(Vn.FETCHING_AD,!1),new Error("Ads.fetchNextAd() :max_recursion_depth");const n=(null===(r=this._schedule)||void 0===r?void 0:r.getNextAd())||(null===(i=this._schedule)||void 0===i?void 0:i.getPostroll());if(!n||this.adapter.canDismissNonLinear()||-1===t)if(this._schedule.waitForLoad(t,n,this.opts.preload_ads))this._state.toggleState(Vn.FETCHING_AD,!1);else if(n===this._schedule.getPostroll()&&this._schedule.setPostrollActive(),this._schedule.isDrained()||this._schedule.increment(),n){gs("Ads.fetchNextAd",n),this._state.toggleState(Vn.FETCHING_AD,!0);try{return await this.requestAd(n),this._state.toggleState(Vn.AD_AVAILABLE,!0),void this._state.toggleState(Vn.FETCHING_AD,!1)}catch(r){if(gs("Ads.fetchNextAd(err: %o, ad: %o)",r,n),this.setLastAd(n),n!==this._schedule.getPostroll())return await this.fetchNextAd(t,++e)}}else this._state.toggleState(Vn.FETCHING_AD,!1)}skipAdsOnSeek(t){if(!this._schedule)return;let e=this._schedule.getNextAd();for(;e&&e.time<t;)this._schedule.increment(),e=this._schedule.getNextAd()}async setCurrentTime(t,e=!1,r=!1){if(!this._schedule)return;if(!this.adapter.isReady())return;if(this._state.hasAny(Vn.FETCHING_AD))return;if(this._state.hasAny(Vn.PLAYING)&&this.adapter.isLinearAd())return;const i=0===t&&0===this._schedule.getNextIndex();try{if(r&&!this.opts.show_all_ads_on_seek&&this.skipAdsOnSeek(t),this._state.hasAny(Vn.AD_AVAILABLE)||await this.fetchNextAd(t),!this._state.hasAny(Vn.AD_AVAILABLE)||!this.shallPlayAd(t)||e)return;await this.playAd(),await this.setCurrentTime(t),this.checkIfBreakComplete()}catch(t){gs("setCurrentTime: Error(from: setCurrentTime, message: %s)",t.message)}finally{i&&this.trigger("ad-preroll-finished")}}async playAd(){var t;if(this._state.hasAny(Vn.AD_AVAILABLE)){this._state.toggleState(Vn.AD_AVAILABLE,!1),this._state.toggleState(Vn.BREAK_ACTIVE,!0);try{const e=null===(t=this._schedule)||void 0===t?void 0:t.getCurrentAd();await this.adapter.playAd(),e&&this.setLastAd(e)}catch(t){console.error("Ads.playAd: error",t)}}}checkIfBreakComplete(){if(!this._state.hasAny(Vn.BREAK_ACTIVE))return gs("Ads.checkIfBreakComplete(:bail, ad: %o)",this.getLastAd());gs("Ads.checkIfBreakComplete(:run, ad: %o)",this.getLastAd()),this._state.toggleState(Vn.BREAK_ACTIVE,!1),this.adapter.isAdPod()||this.trigger("ad-break-completed")}resetScheduleCounter(){this._schedule&&this._schedule.resetCounter()}setSchedule(t,e){if(e&&!isNaN(e)&&this._schedule&&this._schedule.updateContentDuration(e),this._schedule&&this._schedule.getNextIndex()>0)return this._schedule.setAds(t);this._schedule=new Schedule(t,{preload_advance:this.opts.preload_advance,content_duration:e?0:e})}toJSON(){return this._schedule?this._schedule.toJSON():[]}trigger(t,e={}){var r;if(!this.adapter.getVideoTag())return;if(!this._state)return;if("ad-break-completed"===t&&this._state.hasAny(Vn.BREAK_ACTIVE)&&!this.adapter.isAdPod())return gs("skipping AD_BREAK_COMPLETE reason: %s pod=%s",this._state.toString(),this.adapter.isAdPod());if(null===(i=e)||"object"!=typeof i||Gn(i)!==jn)return this.dispatch(t,e);var i;const n=Object.assign({},this.adapter.getOpts()||{},(null===(r=this._schedule)||void 0===r?void 0:r.getCurrentAd())||{},{ad_type:this.ad_type},e);return this.dispatch(t,n)}dispatch(t,e){const r=this.adapter.getVideoTag();if(r){gs(":dispatch",t,e);try{const i={event:"ads/"+t,detail:{outstream:e.outstream,ad_type:e.ad_type,ad_break_time:e.time,ad_remaining_seconds:e.remaining,ad_muted:e.muted,ad_duration_seconds:e.duration,ad_error_reason:e.reason,ad_vast_error:e.vast_error,ad_vast_error_type:e.vast_error_type,ad_request_load_type:e.request_load_time}};r.dispatchEvent(new CustomEvent(Tr,{detail:i}))}catch(t){gs(":error",t)}zt(r,t,e),this.emit(t,e)}}get ad_type(){return this._schedule&&this._schedule.getCurrentType()}shouldRestartContent(){if(this.adapter.isAdPod())return!0;const t=this.getLastAd();return!!t&&(!t.outstream&&!1!==t.restart)}async finished(t){if(this._schedule&&(gs("Ads.finished"),!(this.adapter.isSharedVideoTag()&&this._state.hasAny(Vn.PLAYING)&&this.adapter.isLinearAd()))){gs("Ads.finished: trying to play postroll");try{if(!this._schedule.getPostroll())return gs("Ads.finished: no postroll found"),await this.adapter.contentComplete();this._state.hasAny(Vn.AD_AVAILABLE)||await this.fetchNextAd(-1),await this.playAd(),this.adapter.contentComplete()}catch(t){gs("Ads.finished: postroll failed:",t)}finally{this.trigger("ad-postroll-finished"),this.checkIfBreakComplete(),"function"==typeof t&&t()}}}hasPreroll(){return this._schedule&&Schedule.hasPreroll(this._schedule.getAds())}shallPlayAd(t){var e;return(!this.adapter||!this.adapter.isAdPod())&&(!(!this._state||this._state.hasAny(Vn.FATAL_ERROR))&&!!(null===(e=this._schedule)||void 0===e?void 0:e.shallPlayAd(t)))}setLastAd(t){return this._lastAd=t,this}getLastAd(){return this._lastAd}mergeMacros(t={}){return this._macros=this._macros.fork(Object.assign({},t)),this}get paused(){return this.adapter&&this.adapter.isPaused()}pause(){this.adapter&&this.adapter.pause()}resume(){this.adapter&&this.adapter.resume()}resize(t){this.adapter&&this.adapter.onResize(t)}async requestAd(t,e=0,r=this.opts.timeout){if(!this._state)return;gs("Ads.requestAd(ad: %o)",{ad:t,timeout:r,idx:e});const i=await async function t(e){if("function"==typeof e)return[await Bn(e)];if("string"==typeof e)return[await Bn(e)];if(Array.isArray(e)){const t=e;return await Promise.all(t.map(Bn))}if("object"==typeof e&&e&&e.adTag)return await t(e.adTag);throw new Error(`\n unhandled ads type ${typeof e}:\n ${JSON.stringify(e)}\n can be:\n | Array<string>\n | string\n | function\n | {adTag: Array<string>|string|function}\n `)}(t);if(void 0===i[e])return Promise.reject(new Error("Ad failed, no fallbacks left"));if(!i[e])return await this.requestAd(i,e+1,r);this.trigger("ad-requested",t);const n=this._macros.compile(i[e],Nn(this.opts,this.adapter.getDimensions()));try{return void await this.adapter.initAd(n,r)}catch(t){return gs(`Ads.requestAd(:fallback, idx: ${e}, length: ${i.length}, adTag: ${i[e]})\nError `,{adTag:i,err:t}),this.requestAd(i,e+1,r)}}resetSchedule(t){this._schedule&&this._schedule.reset(t)}get adPlaying(){return this._state&&this._state.hasAny(Vn.PLAYING)}get adBreak(){return this._state&&this._state.hasAny(Vn.BREAK_ACTIVE)}get adRequesting(){return this._state.hasAny(Vn.FETCHING_AD)}get adLinear(){return this.adBreak&&this.adapter.isLinearAd()}}var ms=new Blob([new Uint8Array([255,227,24,196,0,0,0,3,72,1,64,0,0,4,132,16,31,227,192,225,76,255,67,12,255,221,27,255,228,97,73,63,255,195,131,69,192,232,223,255,255,207,102,239,255,255,255,101,158,206,70,20,59,255,254,95,70,149,66,4,16,128,0,2,2,32,240,138,255,36,106,183,255,227,24,196,59,11,34,62,80,49,135,40,0,253,29,191,209,200,141,71,7,255,252,152,74,15,130,33,185,6,63,255,252,195,70,203,86,53,15,255,255,247,103,76,121,64,32,47,255,34,227,194,209,138,76,65,77,69,51,46,57,55,170,170,170,170,170,170,170,170,170,170,255,227,24,196,73,13,153,210,100,81,135,56,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170])],{type:"audio/mpeg"}),ys=new Blob([new Uint8Array([0,0,0,28,102,116,121,112,105,115,111,109,0,0,2,0,105,115,111,109,105,115,111,50,109,112,52,49,0,0,0,8,102,114,101,101,0,0,2,239,109,100,97,116,33,16,5,32,164,27,255,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,33,16,5,32,164,27,255,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,167,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,2,194,109,111,111,118,0,0,0,108,109,118,104,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,232,0,0,0,47,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,236,116,114,97,107,0,0,0,92,116,107,104,100,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,101,100,116,115,0,0,0,28,101,108,115,116,0,0,0,0,0,0,0,1,0,0,0,47,0,0,0,0,0,1,0,0,0,0,1,100,109,100,105,97,0,0,0,32,109,100,104,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,68,0,0,8,0,85,196,0,0,0,0,0,45,104,100,108,114,0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0,0,0,1,15,109,105,110,102,0,0,0,16,115,109,104,100,0,0,0,0,0,0,0,0,0,0,0,36,100,105,110,102,0,0,0,28,100,114,101,102,0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1,0,0,0,211,115,116,98,108,0,0,0,103,115,116,115,100,0,0,0,0,0,0,0,1,0,0,0,87,109,112,52,97,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,16,0,0,0,0,172,68,0,0,0,0,0,51,101,115,100,115,0,0,0,0,3,128,128,128,34,0,2,0,4,128,128,128,20,64,21,0,0,0,0,1,244,0,0,1,243,249,5,128,128,128,2,18,16,6,128,128,128,1,2,0,0,0,24,115,116,116,115,0,0,0,0,0,0,0,1,0,0,0,2,0,0,4,0,0,0,0,28,115,116,115,99,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,28,115,116,115,122,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,115,0,0,1,116,0,0,0,20,115,116,99,111,0,0,0,0,0,0,0,1,0,0,0,44,0,0,0,98,117,100,116,97,0,0,0,90,109,101,116,97,0,0,0,0,0,0,0,33,104,100,108,114,0,0,0,0,0,0,0,0,109,100,105,114,97,112,112,108,0,0,0,0,0,0,0,0,0,0,0,0,45,105,108,115,116,0,0,0,37,169,116,111,111,0,0,0,29,100,97,116,97,0,0,0,1,0,0,0,0,76,97,118,102,53,54,46,52,48,46,49,48,49])],{type:"video/mp4"});function Es(t){return Object.assign({muted:!1,timeout:250,inline:!1},t)}function Ts(t,e){var r=t.muted,i=t.timeout,n=t.inline,s=e(),a=s.element,o=s.source,l=void 0,u=void 0,d=void 0;return a.muted=r,!0===r&&a.setAttribute("muted","muted"),!0===n&&a.setAttribute("playsinline","playsinline"),a.src=o,new Promise((function(t){l=a.play(),u=setTimeout((function(){d(!1,new Error("Timeout "+i+" ms has been reached"))}),i),d=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;a.remove(),a.srcObject=null,clearTimeout(u),t({result:e,error:r})},void 0!==l?l.then((function(){return d(!0)})).catch((function(t){return d(!1,t)})):d(!0)}))}var _s={audio:function(t){return Ts(t=Es(t),(function(){return{element:document.createElement("audio"),source:URL.createObjectURL(ms)}}))},video:function(t){return Ts(t=Es(t),(function(){return{element:document.createElement("video"),source:URL.createObjectURL(ys)}}))}};let bs=void 0;async function Ss(t=!0){return bs||(bs=await _s.video({timeout:500,muted:t}),bs)}const As=new Blob([new Uint8Array([0,0,0,28,102,116,121,112,105,115,111,109,0,0,2,0,105,115,111,109,105,115,111,50,109,112,52,49,0,0,0,8,102,114,101,101,0,0,2,239,109,100,97,116,33,16,5,32,164,27,255,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,33,16,5,32,164,27,255,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,167,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,2,194,109,111,111,118,0,0,0,108,109,118,104,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,232,0,0,0,47,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,236,116,114,97,107,0,0,0,92,116,107,104,100,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,101,100,116,115,0,0,0,28,101,108,115,116,0,0,0,0,0,0,0,1,0,0,0,47,0,0,0,0,0,1,0,0,0,0,1,100,109,100,105,97,0,0,0,32,109,100,104,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,68,0,0,8,0,85,196,0,0,0,0,0,45,104,100,108,114,0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0,0,0,1,15,109,105,110,102,0,0,0,16,115,109,104,100,0,0,0,0,0,0,0,0,0,0,0,36,100,105,110,102,0,0,0,28,100,114,101,102,0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1,0,0,0,211,115,116,98,108,0,0,0,103,115,116,115,100,0,0,0,0,0,0,0,1,0,0,0,87,109,112,52,97,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,16,0,0,0,0,172,68,0,0,0,0,0,51,101,115,100,115,0,0,0,0,3,128,128,128,34,0,2,0,4,128,128,128,20,64,21,0,0,0,0,1,244,0,0,1,243,249,5,128,128,128,2,18,16,6,128,128,128,1,2,0,0,0,24,115,116,116,115,0,0,0,0,0,0,0,1,0,0,0,2,0,0,4,0,0,0,0,28,115,116,115,99,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,28,115,116,115,122,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,115,0,0,1,116,0,0,0,20,115,116,99,111,0,0,0,0,0,0,0,1,0,0,0,44,0,0,0,98,117,100,116,97,0,0,0,90,109,101,116,97,0,0,0,0,0,0,0,33,104,100,108,114,0,0,0,0,0,0,0,0,109,100,105,114,97,112,112,108,0,0,0,0,0,0,0,0,0,0,0,0,45,105,108,115,116,0,0,0,37,169,116,111,111,0,0,0,29,100,97,116,97,0,0,0,1,0,0,0,0,76,97,118,102,53,54,46,52,48,46,49,48,49])],{type:"video/mp4"});var Ls=Object.freeze({__proto__:null,STICKY_CONTROLS:1,NO_FULLSCREEN:2,NO_AD_INDICATOR:4,AD_ATTRIBUTION:8,AD_CHOICES:16,REMAINING_TIME:32,VOLUME_BAR:64});const ws=["progress","duration","remaining"],Ds=Sr("ads/ui");class AdUI extends HTMLElement{constructor(t,e=document.createElement("div")){super(),this.player=t,this.adContainer=e,this.render(),t.addEventListener("ad/playing",t=>this.updateState(t.type)),t.addEventListener("ad/paused",t=>this.updateState(t.type)),t.addEventListener("ad/complete",t=>this.updateState(t.type)),t.on("ad-progress",t=>{const{remaining:e}=t.detail;this.setAttribute("remaining",e+"")})}static get observedAttributes(){return ws}updateState(t){["ad/paused","ad/playing"].forEach(e=>{const r=e.replace("/","-"),i=t===e;this.player.setState(r,i),this.classList.toggle(r,i)})}hideFirstFrame(t){Ds("hideFirstFrame"),t.classList.toggle("ad-hide-first-frame",!0)}showFirstFrame(t){Ds("showFirstFrame"),t.classList.toggle("ad-hide-first-frame",!1)}resize(t){const e=this.style;t.linear?t.width&&(e.width=t.width+"px"):t.width?this.adContainer.style.width=t.width+"px":e.removeProperty("width"),t.height?e.height=t.height+"px":e.removeProperty("height")}setUiFlags(t){if(t=t||0,this.classList.toggle("is-ad-controls-sticky",(1&t)>0),this.classList.toggle("no-fullscreen",(2&t)>0),this.classList.toggle("no-indicator",(4&t)>0),(8&t)>0){const t=document.createElement("div");t.classList.add("ad-attribution"),t.textContent=this.player.i18n("ads.advertisement","Advertisement"),this.adContainer.append(t)}if(this.classList.toggle("no-volume-bar",0==(64&t)),(32&t)>0&&this.controls&&(this.remaining=document.createElement("div"),this.remaining.classList.add("fp-ad-remaining","fp-color-text"),this.controls.prepend(this.remaining)),(16&t)>0&&this.controls){this.classList.toggle("is-ad-choices",!0);const t=document.createElement("div");t.classList.add("fp-ad-choices"),t.textContent=this.player.i18n("ads.adchoices","AdChoices"),t.addEventListener("click",t=>{t.preventDefault(),this.player.togglePlay(!1),window.open("https://adssettings.google.com","_blank")}),this.controls.append(t)}}attributeChangedCallback(t,e,r){switch(t){case"duration":return this.onDurationChange(parseFloat(r));case"progress":return this.onProgress(parseFloat(e),parseFloat(r));case"remaining":return this.onRemaining(r)}}onDurationChange(t){}onProgress(t,e){}onRemaining(t){this.remaining&&(this.remaining.textContent=parseFloat(t).toFixed())}render(){this.adContainer.classList.add("fp-ad-container"),this.append(this.adContainer),this.controls=gt(this.player,"flowplayer-ad-controls");const t=gt(this.player,"flowplayer-ad-countdown");this.append(this.controls,t)}}const Rs=Sr("fpads:native:outstream"),ks={OUTSTREAM:"is-outstream",HIDDEN:"is-outstream-hidden",SHOWING:"is-outstream-visible",DONE:"is-outstream-done"};var Os,Is;!function(t){t.OUTSTREAM_VISIBLE="ads-outstream-visible",t.OUTSTREAM_VIEWPORT_UPDATE="ads-outstream-viewport-update",t.OUTSTREAM_TEARDOWN="ads-outstream-teardown",t.OUTSTREAM_ENDSCREEN_READY="ads-outstream-endscreen-ready"}(Os||(Os={})),function(t){t[t.None=0]="None",t[t.Booting=1]="Booting",t[t.Ready=2]="Ready",t[t.Disposed=3]="Disposed"}(Is||(Is={}));class Outstream{constructor({ads:t,root:e,content:r,ima:i}){this.state=Is.None,Rs("creating Outstream instance"),this.content=r,this.ads=t,this.root=e,this.ima=i,this.aspectRatio=r.videoHeight/r.videoWidth,this.dimensions=function(t){if(t.clientWidth>0||t.clientHeight)return an(t);const e={height:t.style.height};on(t,"opacity",0),on(t,"display","absolute"),on(t,"display","inline-block"),on(t,"height","auto");const r=an(t);return on(t,"height",e.height),on(t,"opacity",1),r}(this.root),this.adUi=new AdUI(r),this.adContainer=this.adUi.adContainer,this.initialVolumeState={},e.classList.add(ks.OUTSTREAM),e.append(this.adUi),this.hide(),this.ads.on("ad-pause-content",t=>{var e;if(this.state==Is.Disposed)return;const r=!!(null===(e=t.detail)||void 0===e?void 0:e.linear);this.ads.resize(Object.assign(Object.assign({},this.dimensions),{linear:r}))}),r.on("resize",t=>{if(this.state==Is.Disposed)return;const e=t.detail;e&&(this.dimensions={width:e.contentRect.width,height:e.contentRect.height},this.ads.resize(this.dimensions))}),r.on("intersectionchange",t=>{if(this.state==Is.Disposed)return;const e=t.detail;if(e)switch(this.state){case Is.Booting:return Rs(":boot skipping intersectionchange");case Is.None:return this.state=Is.Booting,this.begin_life_cycle();case Is.Ready:if(e.ratio>=.5&&this.ads.adPlaying)return;e.ratio>=.5&&this.ads.resume(),e.ratio<.5&&this.ads.pause()}}),this.setup()}hide(){return this}restore_aspect_ratio(){return Rs(`Outstream.restore_aspect_ratio(${this.aspectRatio})`),this.content.setOpts({ratio:this.aspectRatio}),this}show(){this.root.classList.remove(Outstream.CLASS.HIDDEN),this.root.classList.add(Outstream.CLASS.SHOWING),this.adUi.classList.add("linear","on")}async begin_life_cycle(){this.state=Is.Ready;const{error:t,result:e}=await Ss(!1),{result:r}=await Ss(!0);this.attach_ad_listeners(),this.initialVolumeState={can_autoplay:!(!e&&!r),muted:!e},Rs("Outstream.show() :autoplay >> sound="+e),t&&this.content&&!e&&(this.content.muted=!0,this.content.volume=0),await this.ads.setVideoTag(this.content),await pn({ads:this.ads,content:this.content,adContainer:this.adContainer,ima:this.ima,state:{listening:!1},config:this.content.opts}),En({content:this.content,ads:this.ads}),this.state=Is.Ready}attach_ad_listeners(){const t=this.ads;t.once("ad-pause-content",()=>{this.show(),this.ads.adPlaying&&this.ads.pause()}),this.ima.always_show_controls||t.on("vpaid-init",()=>this.adUi.classList.add("is-vpaid"));const e=()=>{hn.forEach(t=>this.ads.removeListener(t,e));const t=new CustomEvent(Os.OUTSTREAM_TEARDOWN);Rs("Outstream(:teardown)",t),this.content.dispatchEvent(t)};hn.forEach(t=>this.ads.once(t,e)),this.content.once(Os.OUTSTREAM_TEARDOWN,t=>{setTimeout(()=>{if(t.defaultPrevented)return this.handle_endscreen();this.dispose()},0)})}handle_endscreen(){this.reset_ui(),this.ads.reset(),mn({config:this.content.opts,ui:this.adUi,ads:this.ads,adContainer:this.adContainer,ima:this.ima,content:this.content,root:this.content.root,state:{started:!0,listening:!1},initial:{muted:!0,volume:1}})}empty_src(){this.content.setSrc({type:"video/mp4",src:URL.createObjectURL(As)})}setup(){this.root.classList.add(Outstream.CLASS.OUTSTREAM),this.root.classList.add(Outstream.CLASS.HIDDEN),this.empty_src()}reset_ui(){const t=this.root;t.classList.remove(Outstream.CLASS.SHOWING),t.classList.remove(Outstream.CLASS.OUTSTREAM),this.adUi.classList.remove("on")}dispose(){if(this.state==Is.Disposed)return;const t=this.root,e=this.content;this.reset_ui(),t.classList.add(Outstream.CLASS.OUTSTREAM),t.classList.add(Outstream.CLASS.DONE);this.video=this.container=this.ads=0,this.state=Is.Disposed,e.destroy(),t.innerHTML=""}}function Cs(t){return t&&"number"==typeof t.time}function Ps(t){return t&&"number"==typeof t.percent&&"number"!=typeof t.time}Outstream.CLASS=ks;const xs=Sr("ads/index");function Ms(t,e,r){if(!("google"in window))return console.warn("google.ima unavailable");let i=t.autoplay;t.autoplay&&(xs("handling initial autoplay, original_autoplay: ",i),r.autoplay=!1,t.autoplay=0);const n=r.ads=new AdsController,s=n.analytics;let a=!1;n.resize(an(e)),dn&&(r.on([h,f,"webkitendfullscreen"],t=>{var e;const i=t.type===h;null===(e=null==r?void 0:r.ads)||void 0===e||e.adapter.setIOSPlaysInline(!i)}),n.on("ad-postroll-finished",()=>{n.adapter.isSharedVideoTag()&&n.once("ad-break-completed",()=>{r.src=r.original_src,r.once(_,()=>{r.togglePlay(!1)}),r.webkitExitFullscreen()})})),r.on(L,(function(){n&&n.destroy()})),r.on("src",()=>{if(n)return r.root.classList.contains("ad-paused")||r.root.classList.contains("ad-playing")?n.stop():void n.onContentNewSrc()}),r.on(w,(function({detail:o}){const l=o.ima;if(void 0===i&&o.autoplay&&(i=o.autoplay),!l)return;if(!Array.isArray(l.ads))return xs("handling non-array ima.ads"),void(void 0!==i?t.autoplay=i:delete t.autoplay);const u=o.duration||r.duration;if(l.ads=function(t,e){return Array.isArray(t)?t.filter(t=>Cs(t)||Ps(t)).reduce((t,r)=>{if(Cs(r))return t.push(r),t;if(r.lazy)return t.push(r),t;if(Ps(r)){const i=Object.assign({},r);return i.time=Math.floor(r.percentage*e),t.push(i),t}return t},[]):(console.warn("AdSchedule was not an Array"),[])}(l.ads,u),n.setSchedule(l.ads,u),o.metadata&&Analytics.mergeMetadata(s,o.metadata),o.metadata&&n.mergeMacros(o.metadata),o.metadata&&l.parameters&&(l.parameters=Object.assign(Object.assign({},l.parameters),o.metadata)),Analytics.mergeMetadata(s,{muted:o.muted||!1,autoplay:o.autoplay||!1}),!a){if(a=!0,t.lang&&!l.Locale&&(l.Locale=t.lang),Schedule.isOutstream(l.ads))return xs("is outstream, returning"),new Outstream({root:e,content:r,ads:n,ima:l});fn({config:Object.assign(Object.assign({},t),{autoplay:i}),root:e,content:r,ads:n,ima:l})}}))}class AdControls extends HTMLElement{constructor(t){super(),this.player=t,this.render(),t.on("ad-started",t=>{if(!this.indicatorControl)return;const{position:e,totals:r}=t.detail.ad;this.indicatorControl.textContent=`${this.player.i18n("ads.indicator","ADS")} ${e} / ${r}`})}render(){this.classList.add("fp-ad-controls"),this.indicatorControl=document.createElement("div"),this.indicatorControl.classList.add("ad-indicator","fp-color-text"),this.indicatorControl.textContent=this.player.i18n("ads.indicator","ADS");const t=document.createElement("div");t.classList.add("ad-playback-controls");const e=gt(this.player,H);e.addEventListener("click",()=>this.player.emit("request/ad/play"));const r=gt(this.player,V);r.addEventListener("click",()=>this.player.emit("request/ad/pause")),t.append(e,r);const i=gt(this.player,z);i.addEventListener("click",()=>this.player.emit("request/ad/muteunmute"));const n=gt(this.player,M),s=gt(this.player,N);this.append(this.indicatorControl,t,i,n,s)}}class AdCountdown extends HTMLElement{constructor(t){super(),this.player=t,t.on("ad-progress",t=>{const{duration:e,remaining:r}=t.detail;this.setAttribute("duration",e+""),this.setAttribute("remaining",r+"")}),this.addEventListener("animationend",()=>{const t=this.style.getPropertyValue("--ad-percent-complete")||"0";this.style.setProperty("--ad-percent-previous",t)})}static get observedAttributes(){return["remaining"]}attributeChangedCallback(t,e){switch(t){case"remaining":return this.onRemaining(e)}}onRemaining(t){const e=parseFloat(this.getAttribute("duration")||"0");t||(t=e+"");const r=parseFloat(t),i=this.style.getPropertyValue("--ad-percent-complete")||"0";this.style.setProperty("--ad-percent-previous",i),this.classList.remove("go");const n=((e-r)/e*100).toFixed(3);requestAnimationFrame(()=>{this.style.setProperty("--ad-percent-complete",n),this.classList.add("go")})}}const{samsung_tv:Fs}=r();class Ads{constructor(t){this.umd=t,vt(t,"flowplayer-ad-ui",AdUI),vt(t,"flowplayer-ad-controls",AdControls),vt(t,"flowplayer-ad-countdown",AdCountdown)}init(t,e,r){if(ce.from_token(t.token||"").is_granted(ce.permissions.ADS)&&!Fs)return Ms(t,e,r)}}return Ads.events=un,Ads.ui=Ls,ie(window,Ads),ui.extensions.push(HLS,OVP,Ads),Object.assign(ui,{hls:HLS,ads:Ads,ovp:OVP}),ui}));
379
+ */const es=class Bowser{static getParser(t,e=!1){if("string"!=typeof t)throw new Error("UserAgent should be a string");return new Parser(t,e)}static parse(t){return new Parser(t).getResult()}static get BROWSER_MAP(){return Wn}static get ENGINE_MAP(){return Xn}static get OS_MAP(){return Yn}static get PLATFORMS_MAP(){return zn}}.parse(window.navigator.userAgent),{platform:rs,os:is,browser:ns}=es,ss=t=>t&&t.toLowerCase();var as={rnd:Math.random().toString(36).substr(2,32),os:ss(is.name+(is.versionName?" "+is.versionName:"")),device:ss(rs.type),browser:ss(ns.name),browser_version:(ns&&ns.version?ns.version:"unknown").split(".").shift(),plugin_version:"3.4.3-rc.0"};const os="https://fp-eu-w1-aai.flowplayer.com/in",ls="POST",us=["ad-requested","ad-request-error","ad-request-completed","ad-completed","ad-started","ad-error","ad-skipped"],ds=["event_type","ad_tag_id","media_id","player_id","site_id","sitegroup_id","rnd","os","device","browser","browser_version","plugin_version","player_version"],cs=["vast_error","reason","request_load_time","ad_type","vast_ad_id"],hs=Sr("ads/analytics"),fs=RequestQueue.of(),ps=(...t)=>Object.assign({},...t);class Analytics{constructor(t,e={}){this.emitter=t,this.metadata=ps(as,e.metadata||{}),this.emitter=t,this.events=e.events||[],this.required_keys=e.required_keys||[],this.optional_keys=e.optional_keys||[],this.valid_keys=this.required_keys.slice(0).concat(this.optional_keys),hs(this),this.wireup()}static of(t,e){return new Analytics(t,e)}static ensure_required_keys(t,e){return t.required_keys.filter(t=>!(t in e))}static pluck_valid_keys(t,e){return((t,...e)=>Object.keys(t).filter(t=>~e.indexOf(t)).reduce((e,r)=>Object.assign(e,{[r]:t[r]}),{}))(e,...t.valid_keys)}static mergeMetadata(t,e={}){return t.metadata=Analytics.pluck_valid_keys(t,ps(t.metadata,e,{player_version:"3.4.3-rc.0"})),t}wireup(){this.events.forEach(t=>{this.emitter.on(t,e=>{const r=e.detail,i=ps(this.metadata,{event_type:t},r),n=Analytics.pluck_valid_keys(this,i),s=Analytics.ensure_required_keys(this,n);if(hs(`Event[${t}]`,{payload:n,observation:r}),s.length)return hs(`Analytics.validate_metadata() failed for\n Event[${t}]\n missing keys: ${s}`,n);RequestQueue.rpush(fs,[os,ls,n])})})}destroy(){this.emitter=this.metadata=this.events=this.required_keys=this.optional_keys=this.valid_keys=void 0}}const gs=Sr("ads/controller"),vs={show_all_ads_on_seek:!1,timeout:5e3,preload_advance:10};class AdsController extends class EventBus{constructor(t=document.createElement("div"),e=[]){this._bus=t,this._listeners=e}removeAllListeners(){this._listeners.length=0,this._bus=document.createElement("div")}emit(t,e){const r=new CustomEvent(t,{detail:e||{}});this._bus.dispatchEvent(r)}on(t,e){this._listeners.push([t,e]),this._bus.addEventListener(t,e,{passive:!0})}once(t,e){this._bus.addEventListener(t,e,{once:!0})}removeListener(t,e){this._bus.removeEventListener(t,e)}}{constructor(t={}){var e;super(),this.adapter=function(t,e){return t.adapter?new t.adapter(e):new IMA(e)}(t,this),this.opts=Object.assign(Object.assign({},vs),t),this.analytics=(e=this,Analytics.of(e,{required_keys:ds,optional_keys:cs,events:us})),this._state=AdsState.of(),this._schedule=void 0,this._lastAd=void 0,this._macros=new Macros(t.parameters||{}),this.wireup()}reset(){return this.removeAllListeners(),this.wireup(),this.analytics&&this.analytics.wireup(),this._state.reset(),this.adapter.reset(),this}destroy(){this.removeAllListeners(),this.analytics&&this.analytics.destroy(),this.adapter&&this.adapter.destroy();this.analytics=void 0,this.opts=void 0,this.adapter=void 0,this._state=void 0,this._schedule=void 0,this._lastAd=void 0,this._macros=void 0}stop(){this.adapter&&this.adapter.stop()}onContentNewSrc(){this._state.reset(),this.adapter.destroyManager(),this.adapter.contentComplete()}wireup(){const t=()=>{var t;const e=new CustomEvent("ad/playing");null===(t=this.videoTag)||void 0===t||t.dispatchEvent(e),this._state.toggleState(Vn.PLAYING,!0)};this.on("ad-play-requested",t),this.on("ad-started",t),this.on("ad-resumed",t);const e=()=>{var t;if(!this.adPlaying)return;const e=new CustomEvent("ad/paused");null===(t=this.videoTag)||void 0===t||t.dispatchEvent(e),this._state.toggleState(Vn.PLAYING,!1)};this.on("ad-break-completed",e),this.on("ad-teardown",e),this.on("ad-playback-error",e),this.on("ad-request-error",e),this.on("ad-paused",e),this.on("ad-skipped",e),this.on("ad-completed",e),this.on("ad-break-completed",()=>{requestAnimationFrame(()=>{var t;const e=new CustomEvent("ad/complete");null===(t=this.videoTag)||void 0===t||t.dispatchEvent(e),this._state.toggleState(Vn.BREAK_ACTIVE,!1)})}),this.on("ad-adapter-init-failed",()=>{console.error("Adapter init failed"),e(),this._state.toggleState(Vn.FATAL_ERROR,!0)}),this.on("reload-ad-requested",async t=>{if(gs("Ads.on(RELOAD_AD_REQUESTED)",t),this._schedule){if(e(),t)return this._schedule.reset(this._schedule.getAds());this._state.hasAny(Vn.AD_AVAILABLE)&&(this._schedule.decrement(),this._state.toggleState(Vn.AD_AVAILABLE,!1))}})}async initialize(t,e={},r){return gs("Ads.initialize():",t,e,r),this._state.toggleState(Vn.INITIALIZING,!0),Object.assign(this.opts,e),Array.isArray(t)&&this.setSchedule(t),await this.adapter.init(this.opts),this._macros=this._macros.fork(Object.assign({},e.parameters||{},{autoplay:e.autoplay,muted:e.muted})),this.adapter.isReady()&&await this.adapterInitialized(r),this}get videoTag(){return this.adapter.getVideoTag()}get adInfo(){return this.adapter.getAdInfo()}async setVideoTag(t){gs("Ads.setVideoTag():",t),await this.adapter.setVideoTag(t),this.trigger("ad-videotag-attached",t),this.adapter.isReady()&&await this.adapterInitialized(),t.on("request/ad/pause",()=>this.adapter.pause()),t.on("request/ad/play",()=>this.adapter.resume()),t.on("request/ad/muteunmute",()=>{var e;t.muted=(null!==(e=this.adapter.volume())&&void 0!==e?e:0)>0,this.adapter.volume(t.muted?0:0==t.volume?.1:t.volume)})}waitForVideoTag(){return new Promise(t=>{const e=this.adapter.getVideoTag();if(e)return t(e);this.on("ad-videotag-attached",e=>{this.once(ln,()=>t(e))})})}async adapterInitialized(t){gs("Ads.adapterInitialized()"),this._state.toggleState(Vn.INITIALIZING,!1),this._state.toggleState(Vn.BREAK_ACTIVE,!!this.hasPreroll()),await this.setCurrentTime(0,t),this.checkIfBreakComplete(),t&&!this.opts.autoplay||this.trigger("ad-teardown")}async fetchNextAd(t,e=0){var r,i;if(!this._schedule)return;if(!this.adapter.isReady())return;if(e>50)throw this._state.toggleState(Vn.FATAL_ERROR,!0),this._state.toggleState(Vn.FETCHING_AD,!1),new Error("Ads.fetchNextAd() :max_recursion_depth");const n=(null===(r=this._schedule)||void 0===r?void 0:r.getNextAd())||(null===(i=this._schedule)||void 0===i?void 0:i.getPostroll());if(!n||this.adapter.canDismissNonLinear()||-1===t)if(this._schedule.waitForLoad(t,n,this.opts.preload_ads))this._state.toggleState(Vn.FETCHING_AD,!1);else if(n===this._schedule.getPostroll()&&this._schedule.setPostrollActive(),this._schedule.isDrained()||this._schedule.increment(),n){gs("Ads.fetchNextAd",n),this._state.toggleState(Vn.FETCHING_AD,!0);try{return await this.requestAd(n),this._state.toggleState(Vn.AD_AVAILABLE,!0),void this._state.toggleState(Vn.FETCHING_AD,!1)}catch(r){if(gs("Ads.fetchNextAd(err: %o, ad: %o)",r,n),this.setLastAd(n),n!==this._schedule.getPostroll())return await this.fetchNextAd(t,++e)}}else this._state.toggleState(Vn.FETCHING_AD,!1)}skipAdsOnSeek(t){if(!this._schedule)return;let e=this._schedule.getNextAd();for(;e&&e.time<t;)this._schedule.increment(),e=this._schedule.getNextAd()}async setCurrentTime(t,e=!1,r=!1){if(!this._schedule)return;if(!this.adapter.isReady())return;if(this._state.hasAny(Vn.FETCHING_AD))return;if(this._state.hasAny(Vn.PLAYING)&&this.adapter.isLinearAd())return;const i=0===t&&0===this._schedule.getNextIndex();try{if(r&&!this.opts.show_all_ads_on_seek&&this.skipAdsOnSeek(t),this._state.hasAny(Vn.AD_AVAILABLE)||await this.fetchNextAd(t),!this._state.hasAny(Vn.AD_AVAILABLE)||!this.shallPlayAd(t)||e)return;await this.playAd(),await this.setCurrentTime(t),this.checkIfBreakComplete()}catch(t){gs("setCurrentTime: Error(from: setCurrentTime, message: %s)",t.message)}finally{i&&this.trigger("ad-preroll-finished")}}async playAd(){var t;if(!this._state.hasAny(Vn.AD_AVAILABLE))return;this._state.toggleState(Vn.AD_AVAILABLE,!1),this._state.toggleState(Vn.BREAK_ACTIVE,!0);const e=null===(t=this._schedule)||void 0===t?void 0:t.getCurrentAd();try{await this.adapter.playAd()}catch(t){console.error("Ads.playAd: error",t)}finally{e&&this.setLastAd(e)}}checkIfBreakComplete(){if(!this._state.hasAny(Vn.BREAK_ACTIVE))return gs("Ads.checkIfBreakComplete(:bail, ad: %o)",this.getLastAd());gs("Ads.checkIfBreakComplete(:run, ad: %o)",this.getLastAd()),this._state.toggleState(Vn.BREAK_ACTIVE,!1),this.adapter.isAdPod()||this.trigger("ad-break-completed")}resetScheduleCounter(){this._schedule&&this._schedule.resetCounter()}setSchedule(t,e){if(e&&!isNaN(e)&&this._schedule&&this._schedule.updateContentDuration(e),this._schedule&&this._schedule.getNextIndex()>0)return this._schedule.setAds(t);this._schedule=new Schedule(t,{preload_advance:this.opts.preload_advance,content_duration:e?0:e})}toJSON(){return this._schedule?this._schedule.toJSON():[]}trigger(t,e={}){var r;if(!this.adapter.getVideoTag())return;if(!this._state)return;if("ad-break-completed"===t&&this._state.hasAny(Vn.BREAK_ACTIVE)&&!this.adapter.isAdPod())return gs("skipping AD_BREAK_COMPLETE reason: %s pod=%s",this._state.toString(),this.adapter.isAdPod());if(null===(i=e)||"object"!=typeof i||Gn(i)!==jn)return this.dispatch(t,e);var i;const n=Object.assign({},this.adapter.getOpts()||{},(null===(r=this._schedule)||void 0===r?void 0:r.getCurrentAd())||{},{ad_type:this.ad_type},e);return this.dispatch(t,n)}dispatch(t,e){const r=this.adapter.getVideoTag();if(r){gs(":dispatch",t,e);try{const i={event:"ads/"+t,detail:{outstream:e.outstream,ad_type:e.ad_type,ad_break_time:e.time,ad_remaining_seconds:e.remaining,ad_muted:e.muted,ad_duration_seconds:e.duration,ad_error_reason:e.reason,ad_vast_error:e.vast_error,ad_vast_error_type:e.vast_error_type,ad_request_load_type:e.request_load_time}};r.dispatchEvent(new CustomEvent(Tr,{detail:i}))}catch(t){gs(":error",t)}zt(r,t,e),this.emit(t,e)}}get ad_type(){return this._schedule&&this._schedule.getCurrentType()}shouldRestartContent(){if(this.adapter.isAdPod())return!0;const t=this.getLastAd();return!!t&&(!t.outstream&&!1!==t.restart)}async finished(t){if(this._schedule&&(gs("Ads.finished"),!(this.adapter.isSharedVideoTag()&&this._state.hasAny(Vn.PLAYING)&&this.adapter.isLinearAd()))){gs("Ads.finished: trying to play postroll");try{if(!this._schedule.getPostroll())return gs("Ads.finished: no postroll found"),await this.adapter.contentComplete();this._state.hasAny(Vn.AD_AVAILABLE)||await this.fetchNextAd(-1),await this.playAd(),this.adapter.contentComplete()}catch(t){gs("Ads.finished: postroll failed:",t)}finally{this.trigger("ad-postroll-finished"),this.checkIfBreakComplete(),"function"==typeof t&&t()}}}hasPreroll(){return this._schedule&&Schedule.hasPreroll(this._schedule.getAds())}shallPlayAd(t){var e;return(!this.adapter||!this.adapter.isAdPod())&&(!(!this._state||this._state.hasAny(Vn.FATAL_ERROR))&&!!(null===(e=this._schedule)||void 0===e?void 0:e.shallPlayAd(t)))}setLastAd(t){return this._lastAd=t,this}getLastAd(){return this._lastAd}mergeMacros(t={}){return this._macros=this._macros.fork(Object.assign({},t)),this}get paused(){return this.adapter&&this.adapter.isPaused()}pause(){this.adapter&&this.adapter.pause()}resume(){this.adapter&&this.adapter.resume()}resize(t){this.adapter&&this.adapter.onResize(t)}async requestAd(t,e=0,r=this.opts.timeout){if(!this._state)return;gs("Ads.requestAd(ad: %o)",{ad:t,timeout:r,idx:e});const i=await async function t(e){if("function"==typeof e)return[await Bn(e)];if("string"==typeof e)return[await Bn(e)];if(Array.isArray(e)){const t=e;return await Promise.all(t.map(Bn))}if("object"==typeof e&&e&&e.adTag)return await t(e.adTag);throw new Error(`\n unhandled ads type ${typeof e}:\n ${JSON.stringify(e)}\n can be:\n | Array<string>\n | string\n | function\n | {adTag: Array<string>|string|function}\n `)}(t);if(void 0===i[e])return Promise.reject(new Error("Ad failed, no fallbacks left"));if(!i[e])return await this.requestAd(i,e+1,r);this.trigger("ad-requested",t);const n=this._macros.compile(i[e],Fn(this.opts,this.adapter.getDimensions()));try{return void await this.adapter.initAd(n,r)}catch(t){return gs(`Ads.requestAd(:fallback, idx: ${e}, length: ${i.length}, adTag: ${i[e]})\nError `,{adTag:i,err:t}),this.requestAd(i,e+1,r)}}resetSchedule(t){this._schedule&&this._schedule.reset(t)}get adPlaying(){return this._state&&this._state.hasAny(Vn.PLAYING)}get adBreak(){return this._state&&this._state.hasAny(Vn.BREAK_ACTIVE)}get adRequesting(){return this._state.hasAny(Vn.FETCHING_AD)}get adLinear(){return this.adBreak&&this.adapter.isLinearAd()}}var ms=new Blob([new Uint8Array([255,227,24,196,0,0,0,3,72,1,64,0,0,4,132,16,31,227,192,225,76,255,67,12,255,221,27,255,228,97,73,63,255,195,131,69,192,232,223,255,255,207,102,239,255,255,255,101,158,206,70,20,59,255,254,95,70,149,66,4,16,128,0,2,2,32,240,138,255,36,106,183,255,227,24,196,59,11,34,62,80,49,135,40,0,253,29,191,209,200,141,71,7,255,252,152,74,15,130,33,185,6,63,255,252,195,70,203,86,53,15,255,255,247,103,76,121,64,32,47,255,34,227,194,209,138,76,65,77,69,51,46,57,55,170,170,170,170,170,170,170,170,170,170,255,227,24,196,73,13,153,210,100,81,135,56,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170])],{type:"audio/mpeg"}),ys=new Blob([new Uint8Array([0,0,0,28,102,116,121,112,105,115,111,109,0,0,2,0,105,115,111,109,105,115,111,50,109,112,52,49,0,0,0,8,102,114,101,101,0,0,2,239,109,100,97,116,33,16,5,32,164,27,255,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,33,16,5,32,164,27,255,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,167,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,2,194,109,111,111,118,0,0,0,108,109,118,104,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,232,0,0,0,47,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,236,116,114,97,107,0,0,0,92,116,107,104,100,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,101,100,116,115,0,0,0,28,101,108,115,116,0,0,0,0,0,0,0,1,0,0,0,47,0,0,0,0,0,1,0,0,0,0,1,100,109,100,105,97,0,0,0,32,109,100,104,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,68,0,0,8,0,85,196,0,0,0,0,0,45,104,100,108,114,0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0,0,0,1,15,109,105,110,102,0,0,0,16,115,109,104,100,0,0,0,0,0,0,0,0,0,0,0,36,100,105,110,102,0,0,0,28,100,114,101,102,0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1,0,0,0,211,115,116,98,108,0,0,0,103,115,116,115,100,0,0,0,0,0,0,0,1,0,0,0,87,109,112,52,97,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,16,0,0,0,0,172,68,0,0,0,0,0,51,101,115,100,115,0,0,0,0,3,128,128,128,34,0,2,0,4,128,128,128,20,64,21,0,0,0,0,1,244,0,0,1,243,249,5,128,128,128,2,18,16,6,128,128,128,1,2,0,0,0,24,115,116,116,115,0,0,0,0,0,0,0,1,0,0,0,2,0,0,4,0,0,0,0,28,115,116,115,99,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,28,115,116,115,122,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,115,0,0,1,116,0,0,0,20,115,116,99,111,0,0,0,0,0,0,0,1,0,0,0,44,0,0,0,98,117,100,116,97,0,0,0,90,109,101,116,97,0,0,0,0,0,0,0,33,104,100,108,114,0,0,0,0,0,0,0,0,109,100,105,114,97,112,112,108,0,0,0,0,0,0,0,0,0,0,0,0,45,105,108,115,116,0,0,0,37,169,116,111,111,0,0,0,29,100,97,116,97,0,0,0,1,0,0,0,0,76,97,118,102,53,54,46,52,48,46,49,48,49])],{type:"video/mp4"});function Es(t){return Object.assign({muted:!1,timeout:250,inline:!1},t)}function Ts(t,e){var r=t.muted,i=t.timeout,n=t.inline,s=e(),a=s.element,o=s.source,l=void 0,u=void 0,d=void 0;return a.muted=r,!0===r&&a.setAttribute("muted","muted"),!0===n&&a.setAttribute("playsinline","playsinline"),a.src=o,new Promise((function(t){l=a.play(),u=setTimeout((function(){d(!1,new Error("Timeout "+i+" ms has been reached"))}),i),d=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;a.remove(),a.srcObject=null,clearTimeout(u),t({result:e,error:r})},void 0!==l?l.then((function(){return d(!0)})).catch((function(t){return d(!1,t)})):d(!0)}))}var _s={audio:function(t){return Ts(t=Es(t),(function(){return{element:document.createElement("audio"),source:URL.createObjectURL(ms)}}))},video:function(t){return Ts(t=Es(t),(function(){return{element:document.createElement("video"),source:URL.createObjectURL(ys)}}))}};let bs=void 0;async function Ss(t=!0){return bs||(bs=await _s.video({timeout:500,muted:t}),bs)}const As=new Blob([new Uint8Array([0,0,0,28,102,116,121,112,105,115,111,109,0,0,2,0,105,115,111,109,105,115,111,50,109,112,52,49,0,0,0,8,102,114,101,101,0,0,2,239,109,100,97,116,33,16,5,32,164,27,255,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,33,16,5,32,164,27,255,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,167,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,2,194,109,111,111,118,0,0,0,108,109,118,104,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,232,0,0,0,47,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,236,116,114,97,107,0,0,0,92,116,107,104,100,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,101,100,116,115,0,0,0,28,101,108,115,116,0,0,0,0,0,0,0,1,0,0,0,47,0,0,0,0,0,1,0,0,0,0,1,100,109,100,105,97,0,0,0,32,109,100,104,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,68,0,0,8,0,85,196,0,0,0,0,0,45,104,100,108,114,0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0,0,0,1,15,109,105,110,102,0,0,0,16,115,109,104,100,0,0,0,0,0,0,0,0,0,0,0,36,100,105,110,102,0,0,0,28,100,114,101,102,0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1,0,0,0,211,115,116,98,108,0,0,0,103,115,116,115,100,0,0,0,0,0,0,0,1,0,0,0,87,109,112,52,97,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,16,0,0,0,0,172,68,0,0,0,0,0,51,101,115,100,115,0,0,0,0,3,128,128,128,34,0,2,0,4,128,128,128,20,64,21,0,0,0,0,1,244,0,0,1,243,249,5,128,128,128,2,18,16,6,128,128,128,1,2,0,0,0,24,115,116,116,115,0,0,0,0,0,0,0,1,0,0,0,2,0,0,4,0,0,0,0,28,115,116,115,99,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,28,115,116,115,122,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,115,0,0,1,116,0,0,0,20,115,116,99,111,0,0,0,0,0,0,0,1,0,0,0,44,0,0,0,98,117,100,116,97,0,0,0,90,109,101,116,97,0,0,0,0,0,0,0,33,104,100,108,114,0,0,0,0,0,0,0,0,109,100,105,114,97,112,112,108,0,0,0,0,0,0,0,0,0,0,0,0,45,105,108,115,116,0,0,0,37,169,116,111,111,0,0,0,29,100,97,116,97,0,0,0,1,0,0,0,0,76,97,118,102,53,54,46,52,48,46,49,48,49])],{type:"video/mp4"});var Ls=Object.freeze({__proto__:null,STICKY_CONTROLS:1,NO_FULLSCREEN:2,NO_AD_INDICATOR:4,AD_ATTRIBUTION:8,AD_CHOICES:16,REMAINING_TIME:32,VOLUME_BAR:64});const ws=["progress","duration","remaining"],Ds=Sr("ads/ui");class AdUI extends HTMLElement{constructor(t,e=document.createElement("div")){super(),this.player=t,this.adContainer=e,this.render(),t.addEventListener("ad/playing",t=>this.updateState(t.type)),t.addEventListener("ad/paused",t=>this.updateState(t.type)),t.addEventListener("ad/complete",t=>this.updateState(t.type)),t.on("ad-progress",t=>{const{remaining:e}=t.detail;this.setAttribute("remaining",e+"")})}static get observedAttributes(){return ws}updateState(t){["ad/paused","ad/playing"].forEach(e=>{const r=e.replace("/","-"),i=t===e;this.player.setState(r,i),this.classList.toggle(r,i)})}hideFirstFrame(t){Ds("hideFirstFrame"),t.classList.toggle("ad-hide-first-frame",!0)}showFirstFrame(t){Ds("showFirstFrame"),t.classList.toggle("ad-hide-first-frame",!1)}resize(t){const e=this.style;t.linear?t.width&&(e.width=t.width+"px"):t.width?this.adContainer.style.width=t.width+"px":e.removeProperty("width"),t.height?e.height=t.height+"px":e.removeProperty("height")}setUiFlags(t){if(t=t||0,this.classList.toggle("is-ad-controls-sticky",(1&t)>0),this.classList.toggle("no-fullscreen",(2&t)>0),this.classList.toggle("no-indicator",(4&t)>0),(8&t)>0){const t=document.createElement("div");t.classList.add("ad-attribution"),t.textContent=this.player.i18n("ads.advertisement","Advertisement"),this.adContainer.append(t)}if(this.classList.toggle("no-volume-bar",0==(64&t)),(32&t)>0&&this.controls&&(this.remaining=document.createElement("div"),this.remaining.classList.add("fp-ad-remaining","fp-color-text"),this.controls.prepend(this.remaining)),(16&t)>0&&this.controls){this.classList.toggle("is-ad-choices",!0);const t=document.createElement("div");t.classList.add("fp-ad-choices"),t.textContent=this.player.i18n("ads.adchoices","AdChoices"),t.addEventListener("click",t=>{t.preventDefault(),this.player.togglePlay(!1),window.open("https://adssettings.google.com","_blank")}),this.controls.append(t)}}attributeChangedCallback(t,e,r){switch(t){case"duration":return this.onDurationChange(parseFloat(r));case"progress":return this.onProgress(parseFloat(e),parseFloat(r));case"remaining":return this.onRemaining(r)}}onDurationChange(t){}onProgress(t,e){}onRemaining(t){this.remaining&&(this.remaining.textContent=parseFloat(t).toFixed())}render(){this.adContainer.classList.add("fp-ad-container"),this.append(this.adContainer),this.controls=gt(this.player,"flowplayer-ad-controls");const t=gt(this.player,"flowplayer-ad-countdown");this.append(this.controls,t)}}const Rs=Sr("fpads:native:outstream"),ks={OUTSTREAM:"is-outstream",HIDDEN:"is-outstream-hidden",SHOWING:"is-outstream-visible",DONE:"is-outstream-done"};var Os,Is;!function(t){t.OUTSTREAM_VISIBLE="ads-outstream-visible",t.OUTSTREAM_VIEWPORT_UPDATE="ads-outstream-viewport-update",t.OUTSTREAM_TEARDOWN="ads-outstream-teardown",t.OUTSTREAM_ENDSCREEN_READY="ads-outstream-endscreen-ready"}(Os||(Os={})),function(t){t[t.None=0]="None",t[t.Booting=1]="Booting",t[t.Ready=2]="Ready",t[t.Disposed=3]="Disposed"}(Is||(Is={}));class Outstream{constructor({ads:t,root:e,content:r,ima:i}){this.state=Is.None,Rs("creating Outstream instance"),this.content=r,this.ads=t,this.root=e,this.ima=i,this.aspectRatio=r.videoHeight/r.videoWidth,this.dimensions=function(t){if(t.clientWidth>0||t.clientHeight)return an(t);const e={height:t.style.height};on(t,"opacity",0),on(t,"display","absolute"),on(t,"display","inline-block"),on(t,"height","auto");const r=an(t);return on(t,"height",e.height),on(t,"opacity",1),r}(this.root),this.adUi=new AdUI(r),this.adContainer=this.adUi.adContainer,this.initialVolumeState={},e.classList.add(ks.OUTSTREAM),e.append(this.adUi),this.hide(),this.ads.on("ad-pause-content",t=>{var e;if(this.state==Is.Disposed)return;const r=!!(null===(e=t.detail)||void 0===e?void 0:e.linear);this.ads.resize(Object.assign(Object.assign({},this.dimensions),{linear:r}))}),r.on("resize",t=>{if(this.state==Is.Disposed)return;const e=t.detail;e&&(this.dimensions={width:e.contentRect.width,height:e.contentRect.height},this.ads.resize(this.dimensions))}),r.on("intersectionchange",t=>{if(this.state==Is.Disposed)return;const e=t.detail;if(e)switch(this.state){case Is.Booting:return Rs(":boot skipping intersectionchange");case Is.None:return this.state=Is.Booting,this.begin_life_cycle();case Is.Ready:if(e.ratio>=.5&&this.ads.adPlaying)return;e.ratio>=.5&&this.ads.resume(),e.ratio<.5&&this.ads.pause()}}),this.setup()}hide(){return this}restore_aspect_ratio(){return Rs(`Outstream.restore_aspect_ratio(${this.aspectRatio})`),this.content.setOpts({ratio:this.aspectRatio}),this}show(){this.root.classList.remove(Outstream.CLASS.HIDDEN),this.root.classList.add(Outstream.CLASS.SHOWING),this.adUi.classList.add("linear","on")}async begin_life_cycle(){this.state=Is.Ready;const{error:t,result:e}=await Ss(!1),{result:r}=await Ss(!0);this.attach_ad_listeners(),this.initialVolumeState={can_autoplay:!(!e&&!r),muted:!e},Rs("Outstream.show() :autoplay >> sound="+e),t&&this.content&&!e&&(this.content.muted=!0,this.content.volume=0),await this.ads.setVideoTag(this.content),await pn({ads:this.ads,content:this.content,adContainer:this.adContainer,ima:this.ima,state:{listening:!1},config:this.content.opts}),En({content:this.content,ads:this.ads}),this.state=Is.Ready}attach_ad_listeners(){const t=this.ads;t.once("ad-pause-content",()=>{this.show(),this.ads.adPlaying&&this.ads.pause()}),this.ima.always_show_controls||t.on("vpaid-init",()=>this.adUi.classList.add("is-vpaid"));const e=()=>{hn.forEach(t=>this.ads.removeListener(t,e));const t=new CustomEvent(Os.OUTSTREAM_TEARDOWN);Rs("Outstream(:teardown)",t),this.content.dispatchEvent(t)};hn.forEach(t=>this.ads.once(t,e)),this.content.once(Os.OUTSTREAM_TEARDOWN,t=>{setTimeout(()=>{if(t.defaultPrevented)return this.handle_endscreen();this.dispose()},0)})}handle_endscreen(){this.reset_ui(),this.ads.reset(),mn({config:this.content.opts,ui:this.adUi,ads:this.ads,adContainer:this.adContainer,ima:this.ima,content:this.content,root:this.content.root,state:{started:!0,listening:!1},initial:{muted:!0,volume:1}})}empty_src(){this.content.setSrc({type:"video/mp4",src:URL.createObjectURL(As)})}setup(){this.root.classList.add(Outstream.CLASS.OUTSTREAM),this.root.classList.add(Outstream.CLASS.HIDDEN),this.empty_src()}reset_ui(){const t=this.root;t.classList.remove(Outstream.CLASS.SHOWING),t.classList.remove(Outstream.CLASS.OUTSTREAM),this.adUi.classList.remove("on")}dispose(){if(this.state==Is.Disposed)return;const t=this.root,e=this.content;this.reset_ui(),t.classList.add(Outstream.CLASS.OUTSTREAM),t.classList.add(Outstream.CLASS.DONE);this.video=this.container=this.ads=0,this.state=Is.Disposed,e.destroy(),t.innerHTML=""}}function Cs(t){return t&&"number"==typeof t.time}function Ps(t){return t&&"number"==typeof t.percent&&"number"!=typeof t.time}Outstream.CLASS=ks;const xs=Sr("ads/index");function Ms(t,e,r){if(!("google"in window))return console.warn("google.ima unavailable");let i=t.autoplay;t.autoplay&&(xs("handling initial autoplay, original_autoplay: ",i),r.autoplay=!1,t.autoplay=0);const n=r.ads=new AdsController,s=n.analytics;let a=!1;n.resize(an(e)),dn&&(r.on([h,f,"webkitendfullscreen"],t=>{var e;const i=t.type===h;null===(e=null==r?void 0:r.ads)||void 0===e||e.adapter.setIOSPlaysInline(!i)}),n.on("ad-postroll-finished",()=>{n.adapter.isSharedVideoTag()&&n.once("ad-break-completed",()=>{r.src=r.original_src,r.once(_,()=>{r.togglePlay(!1)}),r.webkitExitFullscreen()})})),r.on(L,(function(){n&&n.destroy()})),r.on("src",()=>{if(n)return r.root.classList.contains("ad-paused")||r.root.classList.contains("ad-playing")?n.stop():void n.onContentNewSrc()}),r.on(w,(function({detail:o}){const l=o.ima;if(void 0===i&&o.autoplay&&(i=o.autoplay),!l)return;if(!Array.isArray(l.ads))return xs("handling non-array ima.ads"),void(void 0!==i?t.autoplay=i:delete t.autoplay);const u=o.duration||r.duration;if(l.ads=function(t,e){return Array.isArray(t)?t.filter(t=>Cs(t)||Ps(t)).reduce((t,r)=>{if(Cs(r))return t.push(r),t;if(r.lazy)return t.push(r),t;if(Ps(r)){const i=Object.assign({},r);return i.time=Math.floor(r.percentage*e),t.push(i),t}return t},[]):(console.warn("AdSchedule was not an Array"),[])}(l.ads,u),n.setSchedule(l.ads,u),o.metadata&&Analytics.mergeMetadata(s,o.metadata),o.metadata&&n.mergeMacros(o.metadata),o.metadata&&l.parameters&&(l.parameters=Object.assign(Object.assign({},l.parameters),o.metadata)),Analytics.mergeMetadata(s,{muted:o.muted||!1,autoplay:o.autoplay||!1}),!a){if(a=!0,t.lang&&!l.Locale&&(l.Locale=t.lang),Schedule.isOutstream(l.ads))return xs("is outstream, returning"),new Outstream({root:e,content:r,ads:n,ima:l});fn({config:Object.assign(Object.assign({},t),{autoplay:i}),root:e,content:r,ads:n,ima:l})}}))}class AdControls extends HTMLElement{constructor(t){super(),this.player=t,this.render(),t.on("ad-started",t=>{if(!this.indicatorControl)return;const{position:e,totals:r}=t.detail.ad;this.indicatorControl.textContent=`${this.player.i18n("ads.indicator","ADS")} ${e} / ${r}`})}render(){this.classList.add("fp-ad-controls"),this.indicatorControl=document.createElement("div"),this.indicatorControl.classList.add("ad-indicator","fp-color-text"),this.indicatorControl.textContent=this.player.i18n("ads.indicator","ADS");const t=document.createElement("div");t.classList.add("ad-playback-controls");const e=gt(this.player,H);e.addEventListener("click",()=>this.player.emit("request/ad/play"));const r=gt(this.player,V);r.addEventListener("click",()=>this.player.emit("request/ad/pause")),t.append(e,r);const i=gt(this.player,z);i.addEventListener("click",()=>this.player.emit("request/ad/muteunmute"));const n=gt(this.player,M),s=gt(this.player,F);this.append(this.indicatorControl,t,i,n,s)}}class AdCountdown extends HTMLElement{constructor(t){super(),this.player=t,t.on("ad-progress",t=>{const{duration:e,remaining:r}=t.detail;this.setAttribute("duration",e+""),this.setAttribute("remaining",r+"")}),this.addEventListener("animationend",()=>{const t=this.style.getPropertyValue("--ad-percent-complete")||"0";this.style.setProperty("--ad-percent-previous",t)})}static get observedAttributes(){return["remaining"]}attributeChangedCallback(t,e){switch(t){case"remaining":return this.onRemaining(e)}}onRemaining(t){const e=parseFloat(this.getAttribute("duration")||"0");t||(t=e+"");const r=parseFloat(t),i=this.style.getPropertyValue("--ad-percent-complete")||"0";this.style.setProperty("--ad-percent-previous",i),this.classList.remove("go");const n=((e-r)/e*100).toFixed(3);requestAnimationFrame(()=>{this.style.setProperty("--ad-percent-complete",n),this.classList.add("go")})}}var Ns=Object.freeze({__proto__:null,SINGlE_INLINE_LINEAR:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_ad_samples&sz=640x480&cust_params=sample_ct%3Dlinear&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=",SINGLE_SKIPPABLE_INLINE:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_preroll_skippable&sz=640x480&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=",SINGLE_REDIRECT_LINEAR:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_ad_samples&sz=640x480&cust_params=sample_ct%3Dredirectlinear&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=",SINGLE_REDIRECT_ERROR:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_ad_samples&sz=640x480&cust_params=sample_ct%3Dredirecterror&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=",SINGLE_REDIRECT_BROKEN:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_ad_samples&sz=640x480&cust_params=sample_ct%3Dredirecterror&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&nofb=1&correlator=",SINGLE_VAPAID_20_LINEAR:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_ad_samples&sz=640x480&cust_params=sample_ct%3Dlinearvpaid2js&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=",SINGLE_VAPAID_20_NON_LINEAR:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_ad_samples&sz=640x480&cust_params=sample_ct%3Dnonlinearvpaid2js&ciu_szs=728x90%2C300x250&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=",SINGLE_NON_LINEAR_INLINE:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/nonlinear_ad_samples&sz=480x70&cust_params=sample_ct%3Dnonlinear&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=",VMAP_SESSION_AD_RULE_PREROLL:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/vmap_ad_samples&sz=640x480&cust_params=sar%3Da0f2&ciu_szs=300x250&ad_rule=1&gdfp_req=1&output=vmap&unviewed_position_start=1&env=vp&impl=s&correlator=",VMAP_PREROLL:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/vmap_ad_samples&sz=640x480&cust_params=sample_ar%3Dpreonly&ciu_szs=300x250%2C728x90&gdfp_req=1&ad_rule=1&output=vmap&unviewed_position_start=1&env=vp&impl=s&correlator=",VMAP_PREROLL_BUMPER:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/vmap_ad_samples&sz=640x480&cust_params=sample_ar%3Dpreonlybumper&ciu_szs=300x250&gdfp_req=1&ad_rule=1&output=vmap&unviewed_position_start=1&env=vp&impl=s&correlator=",VMAP_POSTROLL:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/vmap_ad_samples&sz=640x480&cust_params=sample_ar%3Dpostonly&ciu_szs=300x250&gdfp_req=1&ad_rule=1&output=vmap&unviewed_position_start=1&env=vp&impl=s&correlator=",VMAP_POSTROLL_BUMPER:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/vmap_ad_samples&sz=640x480&cust_params=sample_ar%3Dpostonlybumper&ciu_szs=300x250&gdfp_req=1&ad_rule=1&output=vmap&unviewed_position_start=1&env=vp&impl=s&correlator="});const{samsung_tv:Fs}=r();class Ads{constructor(t){this.umd=t,vt(t,"flowplayer-ad-ui",AdUI),vt(t,"flowplayer-ad-controls",AdControls),vt(t,"flowplayer-ad-countdown",AdCountdown)}init(t,e,r){if(ce.from_token(t.token||"").is_granted(ce.permissions.ADS)&&!Fs)return Ms(t,e,r)}}return Ads.events=un,Ads.ui=Ls,Ads.tags=Ns,ie(window,Ads),ui.extensions.push(HLS,OVP,Ads),Object.assign(ui,{hls:HLS,ads:Ads,ovp:OVP}),ui}));