@flowplayer/player 3.10.3 → 3.10.4-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/core/events.d.ts CHANGED
@@ -1,12 +1,139 @@
1
- /**
2
- * all events used by Flowplayer
3
- */
4
- export declare const MOUNT = "mount", ERROR = "error", CONTEXT_MENU = "contextmenu", CLICK = "click", DBL_CLICK = "dblclick", KEYUP = "keyup", KEYDOWN = "keydown", LOAD = "load", MOUSE_ENTER = "mouseenter", MOUSE_LEAVE = "mouseleave", MOUSE_UP = "mouseup", MOUSE_DOWN = "mousedown", MOUSE_MOVE = "mousemove", TOUCH_START = "touchstart", TOUCH_MOVE = "touchmove", TOUCH_END = "touchend", TOUCH_CANCEL = "touchcancel", RESIZE = "resize", SCROLL = "scroll", FULLSCREEN_ENTER = "fullscreenenter", FULLSCREEN_EXIT = "fullscreenexit", FULLSCREEN_CHANGE = "fullscreenchange", WEBKIT_NEEDKEY = "webkitneedkey", METADATA = "loadedmetadata", DATA = "loadeddata", PROGRESS = "progress", TIME_UPDATE = "timeupdate", LOAD_START = "loadstart", VOLUME_CHANGE = "volumechange", PAUSE = "pause", PLAYING = "playing", PLAY = "play", WAITING = "waiting", CAN_PLAY = "canplay", ENDED = "ended", SEEKED = "seeked", SEEKING = "seeking", 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 = "reap", CONFIG = "config", QUALITIES = "qualities", VIDEO_TRACKS = "videoTracks", SET_QUALITY = "quality:set", VIDEO_TRACK_SELECT = "tracks:video:select", NON_RECOVERABLE_ERROR = "error:fatal", RECOMMENDATIONS_READY = "recommendationsready", AUDIO_ONLY_SOURCE = "audioonlysource", LANDSCAPE = "landscape", PORTRAIT = "portrait", RENDER_PLUGIN = "renderplugin"
5
- /**
6
- * when the player has started playing dvr content
7
- */
8
- , DVR = "dvr"
9
- /**
10
- * when src is a livestream
11
- */
12
- , 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", RETRY = "retry";
1
+ export declare const AUDIO_ONLY_SOURCE = "audioonlysource";
2
+
3
+ export declare const BEFORE_PAUSE = "beforepause";
4
+
5
+ export declare const BEFORE_PLAY = "beforeplay";
6
+
7
+ export declare const CAN_PLAY = "canplay";
8
+
9
+ export declare const CLICK = "click";
10
+
11
+ export declare const CONFIG = "config";
12
+
13
+ export declare const CONTEXT_MENU = "contextmenu";
14
+
15
+ export declare const CUEPOINT_END = "cuepointend";
16
+
17
+ export declare const CUEPOINT_START = "cuepointstart";
18
+
19
+ export declare const CUEPOINTS = "cuepoints";
20
+
21
+ export declare const DATA = "loadeddata";
22
+
23
+ export declare const DBL_CLICK = "dblclick";
24
+
25
+ export declare const DURATION_CHANGE = "durationchange";
26
+
27
+ export declare const DVR = "dvr";
28
+
29
+ export declare const ENDED = "ended";
30
+
31
+ export declare const ERROR = "error";
32
+
33
+ export declare const FULLSCREEN_CHANGE = "fullscreenchange";
34
+
35
+ export declare const FULLSCREEN_ENTER = "fullscreenenter";
36
+
37
+ export declare const FULLSCREEN_EXIT = "fullscreenexit";
38
+
39
+ export declare const INTERSECTIONCHANGE = "intersectionchange";
40
+
41
+ export declare const KEYDOWN = "keydown";
42
+
43
+ export declare const KEYUP = "keyup";
44
+
45
+ export declare const LANDSCAPE = "landscape";
46
+
47
+ export declare const LIVE = "live";
48
+
49
+ export declare const LOAD = "load";
50
+
51
+ export declare const LOAD_START = "loadstart";
52
+
53
+ export declare const METADATA = "loadedmetadata";
54
+
55
+ export declare const MOUNT = "mount";
56
+
57
+ export declare const MOUSE_DOWN = "mousedown";
58
+
59
+ export declare const MOUSE_ENTER = "mouseenter";
60
+
61
+ export declare const MOUSE_LEAVE = "mouseleave";
62
+
63
+ export declare const MOUSE_MOVE = "mousemove";
64
+
65
+ export declare const MOUSE_UP = "mouseup";
66
+
67
+ export declare const NON_RECOVERABLE_ERROR = "error:fatal";
68
+
69
+ export declare const PAUSE = "pause";
70
+
71
+ export declare const PLAY = "play";
72
+
73
+ export declare const PLAYING = "playing";
74
+
75
+ export declare const PLUGIN_REGISTERED = "plugin:registered";
76
+
77
+ export declare const PORTRAIT = "portrait";
78
+
79
+ export declare const PROGRESS = "progress";
80
+
81
+ export declare const QUALITIES = "qualities";
82
+
83
+ export declare const REAP = "reap";
84
+
85
+ export declare const RECOMMENDATIONS_READY = "recommendationsready";
86
+
87
+ export declare const RECOVER = "recover";
88
+
89
+ export declare const REMOTE_SESSION_ENDED = "remotesession:ended";
90
+
91
+ export declare const REMOTE_SESSION_STARTED = "remotesession:started";
92
+
93
+ export declare const RENDER_PLUGIN = "renderplugin";
94
+
95
+ export declare const RESIZE = "resize";
96
+
97
+ export declare const RETRY = "retry";
98
+
99
+ export declare const SCROLL = "scroll";
100
+
101
+ export declare const SEEK_CANCEL = "seek:cancel";
102
+
103
+ export declare const SEEK_QUEUED = "seek:queued";
104
+
105
+ export declare const SEEKED = "seeked";
106
+
107
+ export declare const SEEKING = "seeking";
108
+
109
+ export declare const SET_QUALITY = "quality:set";
110
+
111
+ export declare const SOURCE = "src";
112
+
113
+ export declare const STATE = "state";
114
+
115
+ export declare const TIME_UPDATE = "timeupdate";
116
+
117
+ export declare const TOUCH_CANCEL = "touchcancel";
118
+
119
+ export declare const TOUCH_END = "touchend";
120
+
121
+ export declare const TOUCH_MOVE = "touchmove";
122
+
123
+ export declare const TOUCH_START = "touchstart";
124
+
125
+ export declare const VIDEO_TRACK_SELECT = "tracks:video:select";
126
+
127
+ export declare const VIDEO_TRACKS = "videoTracks";
128
+
129
+ export declare const VIEW_ENTER = "viewenter";
130
+
131
+ export declare const VIEW_LEAVE = "viewleave";
132
+
133
+ export declare const VOLUME_CHANGE = "volumechange";
134
+
135
+ export declare const WAITING = "waiting";
136
+
137
+ export declare const WEBKIT_NEEDKEY = "webkitneedkey";
138
+
139
+ export { }
package/core.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).flowplayer=t()}(this,(function(){"use strict";const e=[],t=[];function n(){const e="undefined"!=typeof document&&"undefined"!=typeof window,t=e?navigator.userAgent:"",n=/iP(hone|od)/i.test(t)&&!/iPad/.test(t)&&!/IEMobile/i.test(t),o=/Android/.test(t)&&!/Firefox/.test(t),r=/^((?!chrome|android).)*safari/i.test(t),i=/chrome|crios/i.test(t)&&!/opr|opera|chromium|edg|ucbrowser|googlebot/i.test(t),a=/firefox|fxios/i.test(t)&&!/seamonkey/i.test(t),s=/edg/i.test(t),l=/opr|opera/i.test(t),c=/SamsungBrowser/.test(t),u=c&&/SMART-TV/.test(t);return{controls:!n,video:function(t){return e&&document.createElement("video").canPlayType(t)},lang:e&&window.navigator.language,android:o,iphone:n,safari:r,edge:s,opera:l,chrome:i,firefox:a,ios:e&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,samsung:c,samsung_tv:c&&u,touch:"ontouchstart"in window,tizen:"tizen"in window,webOS:"webos"in window}}const o="loadedmetadata",r="loadeddata",i="recover",a="reap",s="retry";var l=Object.freeze({__proto__:null,MOUNT:"mount",ERROR:"error",CONTEXT_MENU:"contextmenu",CLICK:"click",DBL_CLICK:"dblclick",KEYUP:"keyup",KEYDOWN:"keydown",LOAD:"load",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_MOVE:"mousemove",TOUCH_START:"touchstart",TOUCH_MOVE:"touchmove",TOUCH_END:"touchend",TOUCH_CANCEL:"touchcancel",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_ENTER:"fullscreenenter",FULLSCREEN_EXIT:"fullscreenexit",FULLSCREEN_CHANGE:"fullscreenchange",WEBKIT_NEEDKEY:"webkitneedkey",METADATA:o,DATA:r,PROGRESS:"progress",TIME_UPDATE:"timeupdate",LOAD_START:"loadstart",VOLUME_CHANGE:"volumechange",PAUSE:"pause",PLAYING:"playing",PLAY:"play",WAITING:"waiting",CAN_PLAY:"canplay",ENDED:"ended",SEEKED:"seeked",SEEKING:"seeking",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:i,REAP:a,CONFIG:"config",QUALITIES:"qualities",VIDEO_TRACKS:"videoTracks",SET_QUALITY:"quality:set",VIDEO_TRACK_SELECT:"tracks:video:select",NON_RECOVERABLE_ERROR:"error:fatal",RECOMMENDATIONS_READY:"recommendationsready",AUDIO_ONLY_SOURCE:"audioonlysource",LANDSCAPE:"landscape",PORTRAIT:"portrait",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",RETRY:s});var c=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",VIDEO_MENU:"flowplayer-video-menu",UI:"flowplayer-ui",LOGO:"flowplayer-logo",CONTROL:"flowplayer-control",CONTROL_BUTTONS:"flowplayer-control-buttons",LIVE_STATUS:"flowplayer-live-status",ELAPSED:"flowplayer-elapsed-time",TIMELINE:"flowplayer-timeline-bar",CHAPTERS_TIMELINE:"flowplayer-chapters-timeline-bar",CONTROL_DURATION:"flowplayer-control-duration",VOLUME_CONTROL:"flowplayer-volume-control",VOLUME_BAR:"flowplayer-volume-bar",HEADER:"flowplayer-header",HEADER_LEFT_ZONE:"flowplayer-header-left-zone",HEADER_RIGHT_ZONE:"flowplayer-header-right-zone",HEADER_DURATION:"flowplayer-header-duration",MIDDLE:"flowplayer-middle",MIDDLE_ZONE:"flowplayer-middle-zone",WAIT:"flowplayer-wait",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:"flowplayer-small-play-icon",SMALL_PAUSE_ICON:"flowplayer-small-pause-icon",PLAY_ICON:"flowplayer-play-icon",PAUSE_ICON:"flowplayer-pause-icon",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:"flowplayer-rewind-icon",SHARE_ICON:"flowplayer-share-icon",SUBTITLES_MENU_ICON:"flowplayer-subs-menu-icon",MENU_BACK_ICON:"flowplayer-menu-back",VOLUME_ICON:"flowplayer-volume-icon",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:"flowplayer-live-countdown",PLAYLIST_CONTROLS:"flowplayer-playlist-controls",THUMBNAILS_CAROUSEL:"flowplayer-thumbnails-carousel",ERROR_COMPONENT:"flowplayer-error",TV_MENU:"flowplayer-tv-menu",CUE_COMPONENT:"flowplayer-cue",SSAI_UI:"flowplayer-ssai-ui",SSAI_CONTROLS:"flowplayer-ssai-controls",SSAI_TIMELINE:"flowplayer-ssai-timeline",SSAI_INDICATOR:"flowplayer-ssai-indicator"});const u="is-playing",d="is-paused",p="is-loaded",f="is-loading",m="is-starting",y="is-seeking",E="is-ended",g="is-waiting",h="is-live-seeked",w="no-timeline",S="will-play",v="will-pause",_="is-in-viewport";var O=Object.freeze({__proto__:null,PLAYING:u,FULLSCREEN:"is-fullscreen",PAUSED:d,MUTED:"is-muted",LOADED:p,LOADING:f,STARTING:m,SEEKING:y,GRABBING:"is-grabbing",DISABLED:"is-disabled",SMALL:"is-small",TINY:"is-tiny",RTL:"is-rtl",TV:"is-tv",ENDED:E,LIVE:"is-live",ERRORED:"is-error",WAITING:g,AUTOPLAY:"is-autoplay",SEAMLESS:"is-seamless",TOGGLING:"is-toggling",LIVE_SEEKED:h,NO_DVR:w,HAS_POSTER:"has-poster",WILL_PLAY:S,WILL_PAUSE:v,MENU_OPENED:"has-menu-opened",TOUCHED:"is-touched",HOVERED:"is-hovered",TOUCH_DEVICE:"is-touch-device",WILL_SEEK:"will-seek",SEEKABLE:"is-seekable",IN_VIEWPORT:_,NO_CONTROLS:"no-controls",DESTROYED:"is-destroyed",IS_SOURCE_PROCESSING:"is-source-processing"});function I(e){this.message=e}I.prototype=new Error,I.prototype.name="InvalidCharacterError";var N="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new I("'atob' failed: The string to be decoded is not correctly encoded.");for(var n,o,r=0,i=0,a="";o=t.charAt(i++);~o&&(n=r%4?64*n+o:o,r++%4)?a+=String.fromCharCode(255&n>>(-2*r&6)):0)o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(o);return a};var T=function(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw"Illegal base64url string!"}try{return function(e){return decodeURIComponent(N(e).replace(/(.)/g,(function(e,t){var n=t.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n="0"+n),"%"+n})))}(t)}catch(e){return N(t)}};function A(e){this.message=e}A.prototype=new Error,A.prototype.name="InvalidTokenError";var L=function(e,t){if("string"!=typeof e)throw new A("Invalid token specified");var n=!0===(t=t||{}).header?0:1;try{return JSON.parse(T(e.split(".")[n]))}catch(e){throw new A("Invalid token specified: "+e.message)}};L.InvalidTokenError=A;const b=new Map,R=(e,t)=>new(((e,t)=>{const n=e.get(t);if(!n)throw new Error(`no flowplayer component with the name ${t} exists`);const o=window.customElements.get(t);if(!o)throw new Error(`no default flowplayer component with the name ${t} exists`);const r=window.customElements.get(n);return"function"!=typeof r?o:r})(e._customElements,t))(e);var C,D;!function(e){e[e.LOW=1]="LOW",e[e.MEDIUM=2]="MEDIUM",e[e.HIGH=4]="HIGH"}(C||(C={})),function(e){e[e.OFF=0]="OFF",e[e.ON=1]="ON",e[e.AUDIO_REQUIRED=2]="AUDIO_REQUIRED"}(D||(D={}));function U(e,t,n){const o="boolean"==typeof n;if("boolean"!=typeof n&&(n=!!e.hasState(v)||e.paused),function(e,t,n){const o=e.poll(t?"beforeplay":"beforepause",{forced:n});return o&&o.defaultPrevented}(e,n,o))return Promise.resolve();if(!n)return e.hasState(S)?(e.setState(v,!0),e.setState(S,!1),Promise.resolve()):Promise.resolve(e.pause());if(0==e.reaper)return Promise.resolve();const r=e.reaper.get("__pending_play");return e.paused||r?r?(r.src!==P(e.original_src)&&k(e),r):(function(e){return(0==e.networkState||0==e.readyState)&&e.currentSrc==P(e.original_src)}(e)&&k(e),function(e){const t=e.hasState("is-autoplay"),n=t&&(e=>e.autoplay&&D.AUDIO_REQUIRED&e.autoplay)(e.opts);n&&(e.muted&&e.toggleMute(!1),0==e.volume&&(e.volume=1));t&&e.setState("is-autoplay",!1);return e.play().then(()=>{e.hasState(v)&&e.togglePlay(!1)}).catch(o=>{if(console.warn(t?n?"[flowplayer/play] autoplay audio required\n%s":"[flowplayer/play] attempting muted autoplay\n%s":"",o.message,"\ninstance:",e),t&&!n)return e.muted=!0,e.volume=0,e.play()})}(e)):(e.setState(v,!1),!e.hasState(u)&&e.setState(S,!0),Promise.resolve())}function k(e){e.currentSrc.match(/^blob:/)||e.load()}function P(e){const t=document.createElement("a");return t.href=e,t.href}function M(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n}function x(e){const t=document.createElement("a");t.href=e;const n=t.pathname&&t.pathname.split(".");return n.length>1&&n[n.length-1]}function W(e){switch(e){case"video/mpd":return"application/dash+xml";case"video/m3u8":return"application/x-mpegurl";default:return e}}const V=e=>{var{src:t}=e,n=M(e,["src"]);return[Object.assign({src:t,type:t?W("video/"+x(t)):""},n)]};function H(e){return V({src:e})}function G(e){var{src:t,type:n}=e,o=M(e,["src","type"]);return t&&n?[Object.assign({src:t,type:n},o)]:n&&!t?[Object.assign({type:n},o)]:V(Object.assign({src:t},o))}var j;function K(e,t,n,o={safari:!1}){const r=function(e){return"string"==typeof e?H(e):Array.isArray(e)||"object"!=typeof e?e.reduce((function(e,t){return"string"==typeof t&&(t=H(t)),"object"!=typeof t||Array.isArray(t)||(t=G(t)),e.concat(t)}),[]):G(e)}(n);return function(e){[y,v,S,u,d,f,p,h].forEach(t=>e.setState(t,!1)),e.setState(m,!0)}(e),Array(...Array(r.length)).map((e,t)=>t).some(n=>{const i=r[n];if(j.Ok==function(e,t,n){e.emit("src",n),"string"==typeof n.src&&(e.original_src=n.src);const o=function(e,t,n){return e.plugins.filter(e=>{return(t=e)&&"wants"in t;var t}).find(e=>e.wants(n.src||"",n,t))}(e,t,n);return e.setOpts({is_native:!o}),o?(o.onload(t,e.root,e,n),j.Ok):j.Err}(e,t,i)||j.Ok==function(e,t,n,o={safari:!1}){var r;/^audio\//.test(n.type||"")&&e.emit("audioonlysource");t.start_time&&(n.src=n.src+"#t="+t.start_time);if(""==e.canPlayType(n.type||""))return j.Err;if(n.drm&&(!n.drm["com.apple.fps.1_0"]||!o.safari))return j.Err;"string"==typeof n.src&&(e.preload=null!==(r=t.preload)&&void 0!==r?r:"auto",e.src=n.src,"none"!==e.preload&&e.setState(f,!0));return j.Ok}(e,t,i,o))return!0;n==r.length-1&&"string"==typeof i.src&&(e.src=i.src)}),function(e,t){!function(e,t){if(!e.currentSrc)return;if("none"==e.opt("preload"))return;if(t.autoplay&&t.autoplay>0)return;e.load()}(e,t)}(e,t),e}!function(e){e[e.Err=0]="Err",e[e.Ok=1]="Ok"}(j||(j={}));const Y=[a,"seeking","src","seek:cancel"];var F;function B(e,t,n){return isNaN(e.duration)||isNaN(e.currentTime)?{}:(t.offset+=n,0==t.offset?z(e,t):(t.timer&&clearTimeout(t.timer),t.timer=setTimeout((function(){0!=e.reaper&&(e.currentTime=function(e,t,n=0){return Math.max(Math.min(t,e),n)}(e.currentTime+t.offset,e.duration),t.timer=0,z(e,t))}),1e3),function(e,t){e.setState("will-seek",!0),e.setState(F.BACKWARD,t.offset<0),e.setState(F.FORWARD,t.offset>0)}(e,t),e.emit("seek:queued",t),t))}function z(e,t){t.timer&&clearTimeout(t.timer),t.timer=t.offset=0,function(e){e.setState(F.FORWARD,!1),e.setState(F.BACKWARD,!1),e.setState("will-seek",!1)}(e)}function q(){if("undefined"==typeof document)return!1;const e=document.documentElement;return e&&"rtl"==e.getAttribute("dir")}function Z(e,t,n){const o=function(e){return Array.isArray(e)?e.slice(0):e.split(".")}(t);for(;o.length;){if(null==e)return n;const t=o.shift();if("string"!=typeof t)return n;e=e[t]}return null==e?n:e}!function(e){e.FORWARD="forward",e.BACKWARD="backward"}(F||(F={}));const Q=[1e7]+""+-1e3+-4e3+-8e3+-1e11,X=()=>"undefined"==typeof crypto?"":Q.replace(/[018]/g,e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16));let $="";!function(){let e=!1;try{const t=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("testPassive",null,t),window.removeEventListener("testPassive",null,t)}catch(e){}}();const J=["touchstart","touchmove"];function ee(e,t){const n=new CustomEvent(e,{detail:t,cancelable:!0});return t&&Object.defineProperty(n,"data",{get:()=>t}),n}function te(e,t,n){const o=ee(t,n);return e.dispatchEvent(o),e}function ne(e,t,n){const o=ee(t,n);return e.dispatchEvent(o),o}function oe(e,t,n,o){Array.isArray(t)?t.forEach(t=>re(e,t,n,o)):re(e,t,n,o)}function re(e,t,n,o){if(r=t,!~J.indexOf(r))return e.addEventListener(t,n,o),e;var r;const i=Object.assign(o||{},{passive:!0});return e.addEventListener(t,n,i),e}function ie(e,t,n,o){return oe(e,t,n,Object.assign(o||{},{once:!0}))}class PlayerStorage{constructor(e,t){this.implementation=e,t&&t.keys().forEach(e=>{"string"==typeof t.implementation[e]&&this.implementation.setItem(e,t.implementation[e])})}keys(){var e;const t=[];for(var n=0;n<this.implementation.length;n++)(null===(e=this.implementation.key(n))||void 0===e?void 0:e.startsWith("flowplayer/"))&&t.push(this.implementation.key(n));return t}removeItem(e){try{this.implementation.removeItem("flowplayer/"+e)}catch(e){}}getItem(e){try{return this.implementation.getItem("flowplayer/"+e)}catch(e){return null}}setItem(e,t){try{this.implementation.setItem("flowplayer/"+e,t)}catch(e){}}clear(){try{this.keys().forEach(e=>this.implementation.removeItem(e))}catch(e){}}get length(){try{return this.keys().length}catch(e){return 0}}key(e){try{return this.implementation.key(e)}catch(e){return null}}}class InMemoryStorage{constructor(){this.pairs=[]}get length(){return this.pairs.length}clear(){this.pairs=[]}getItem(e){var t;return(null===(t=this.pairs.find(t=>t[0]===e))||void 0===t?void 0:t[1])||null}key(e){return this.pairs[e][0]||null}removeItem(e){this.pairs=this.pairs.filter(t=>t[0]!==e)}setItem(e,t){this.removeItem(e),this.pairs.push([e,t])}}const ae={preload:"none",rtl:!1,controls:!0},se=["loop","muted","preload"];function le(e,o,r){let i;r.live_state={dvr_window:void 0,get dvr(){return i},set dvr(t){i=t;const n=!(!e.live||t);r.hasState(w)!=n&&r.setState(w,n)}},r._storage=new PlayerStorage(["localStorage","sessionStorage"].map(e=>{try{const t=window[e];return t.getItem(""),t}catch(t){return console.debug(`Access to window.${e} denied, trying next option`),null}}).find(e=>!!e)||new InMemoryStorage),r.toJSON=function(){return{duration:r.duration,volume:r.volume,currentTime:r.currentTime,states:r.root.className}},r.setSrc=function(t){return K(r,e,t,n())},r.playerState=r.playerState||{},r.setState=function(e,t){if(r.playerState[e]===!!t)return r;const n=Object.assign({},r.playerState,{[e]:t});return r.playerState=n,te(r,"state",r.playerState),r},r.createComponents=function(...e){return Array.from({length:e.length}).map((t,n)=>R(this,e[n]))},r.hasState=function(e){return!!r.playerState[e]},r.transitionState=function(e,t,n){!r.hasState(e)&&r.hasState(t)||(n=0),n&&r.setState("is-toggling",!0),r.setState(t,!1),r.setState(e,!0),n&&setTimeout((function(){r.setState("is-toggling",!1)}),n)},r.emit=(e,t)=>(te(r,e,t),r),r.on=(e,t)=>(oe(r,e,t),r),r.once=(e,t)=>(ie(r,e,t),r),r.off=(e,t)=>{var n,o;return n=e,o=t,r.removeEventListener(n,o),r},r.poll=(e,t)=>ne(r,e,t),r.togglePlay=function(e){return U(r,0,e)},r.toggleMute=function(e){e=null==e?!r.muted:!!e,r.muted=e,r.muted||r.volume||(r.volume=1),te(r,"volumechange")},r.toggleDisable=function(e){e=null==e?!r.disabled:!!e,r.setState("is-disabled",e),r.disabled=e},r.destroy=function(){r.pause();const e=t.indexOf(r);~e&&t.splice(e,1),setTimeout((function(){r.setSrc([]),r.reaper&&r.reaper.clear(),te(r,a),r.setState("is-destroyed",!0)}),0)},r.setAttrs=function(e){return se.forEach(t=>{if(!(t in e))return;const n=e[t];n?r.setAttribute(t,n.toString()):r.removeAttribute(t)}),r},r.opt=function(t,n){return n=void 0===n?Z(ae,t):n,Z(e,t,n)},r.i18n=function(e,t){if(!r.reaper)return"";const n=r.reaper.get("translations");return n?function e(t,n,o,r){return(r=r||0)>=t.length?o:Z(t[r],n,e(t,n,o,r+1))}(n,e,t||""):t||""},r.setOpts=function(t){Object.assign(e,t),e.live&&!r.hasState("is-live")&&(r.setState(w,!0),te(r,"live")),"disabled"in t&&void 0!==t.disabled&&r.toggleDisable(t.disabled),"muted"in t&&void 0!==t.muted&&r.toggleMute(t.muted),"dvr"in e&&(r.live_state.dvr=r.opt("dvr")),r.setState("is-rtl",r.opt("rtl",function(e){if(!e)return q();const t=e.getAttribute("dir");return t?"rtl"==t:q()}(o))),r.setState("is-live",!!e.live),r.setState("has-poster","string"==typeof e.poster&&e.poster.length>0),r.setState("is-seekable",!!e.seekable),r.setState("no-controls",0==e.controls),o.style.backgroundImage=r.hasState("has-poster")?"url('"+e.poster+"')":"",te(r,"config",e)},r.renderPlugin=function(e){ne(r,"renderplugin",e).defaultPrevented||r.root.appendChild(e)};const s={offset:0,timer:0};var l,c;c=s,(l=r).on(Y,(function(){z(l,c)})),r.enqueueSeek=function(e){if(0!=r.opts.seekable&&!(1==r.opts.disabled&&e>0))return B(r,s,e)},r.deviceId=function(){return function(e){if($)return $;try{const t=e.getItem("flowplayer/uuid");if(t)return t;const n=X();return e.setItem("flowplayer/uuid",n),n}catch(e){return $=X()}}(r._storage)}}function ce(e,t){const n=t.querySelector("video"),o=n||(e._video_element_callback?e._video_element_callback(e):document.createElement("video"));return o.classList.add("fp-engine"),o.playsInline=!0,n||t.append(o),o}var ue="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};const de=["localhost","127.0.0.1","0.0.0.0","s.codepen.io","cdpn.io","try.flowplayer.com"];function pe(e,t){return!!~de.indexOf(e)||e.indexOf(t)===e.length-t.length}pe.check_whitelist=function(e){return!!~de.indexOf(e)};const fe="production";function me(e,t){const n={valid_jwt:!1,raw:"",data:{acl:0},exp:0};let o={c:"{}",exp:0};t=t||{};try{o=L(e),n.valid_jwt=!0}catch(e){}return n.raw=e,n.data=JSON.parse(o.c),n.exp=o.exp,t.require_valid_token&&me.validate(n),n}function ye(e){try{return me.validate(e),{success:!0,message:""}}catch(e){return{success:!1,message:e.message}}}var Ee;function ge(e){return{grant:e,is_granted:t=>(e&t)===t}}function he({root:e,video:t,data:n}){t&&t.destroy(),console.error(new Error(n.details||n.reason)),e.innerHTML="",e.classList.remove("flowplayer"),e.classList.add("flowplayer-fatal"),e.style.removeProperty("background-image");const o=document.createElement("h2");o.textContent="Playback Error";const r=document.createElement("p");r.textContent="Are you the site owner?";const i=document.createElement("a");i.classList.add("troubleshoot"),i.target="_blank",i.href="https://docs.flowplayer.com/troubleshooting/player#"+n.reason,i.textContent="Troubleshoot?";const a=document.createElement("img");a.src="https://flowplayer.com/user/pages/images/logo-white.png",e.append(o,r,i,a)}me.validate=function(e){if("string"==typeof e&&(e=me(e)),!e||!e.raw){if(pe.check_whitelist(window.location.hostname)||"dev"===fe.toString())return!0;throw new Error("No token provided in configuration")}if(!e.valid_jwt)throw new Error("Invalid token provided");const t=window.location.hostname,n=pe.bind(null,t);if("dev"!==fe.toString()&&e.data.domain&&e.data.domain.length&&!e.data.domain.some(n))throw new Error("Domain not allowed");if("dev"!==fe.toString()&&1e3*e.exp-Date.now()<0)throw new Error("Expired token");return!0},me.id=function(e){if(e)return"string"==typeof e&&(e=me(e)),e.data.id},function(e){e[e.ADS=2]="ADS",e[e.ANALYTICS=4]="ANALYTICS",e[e.NO_METERING=8]="NO_METERING",e[e.DEVELOPER_PLAN=16]="DEVELOPER_PLAN",e[e.WOWZA_VIDEO=32]="WOWZA_VIDEO"}(Ee||(Ee={})),ge.of=ge,ge.from_token=function(e){const t=me(e,{require_valid_token:!0});return ge.of(t.data.acl)},ge.permissions=Ee;function we(e,t){const n=t.clientWidth;t.classList.toggle("is-small",n<600),t.classList.toggle("is-tiny",n<400)}function Se(e,t,i){let a=!0;t.classList.add("flowplayer"),we(0,t),oe(i,["loadstart","resize"],(function(){we(0,t)})),oe(i,"state",(function(){Object.entries(i.playerState).forEach((function([e,n]){t.classList.toggle(e,n)}))})),oe(i,"timeupdate",(function(){i.setState(g,!i.hasState("is-casting")&&!i.hasState(m)&&i.readyState<3)})),oe(i,"ended",(function(t){setTimeout((function(){if(!t.defaultPrevented){if(e.rewind&&!i.loop){const e=i.src;i.setState(y,!0),ie(i,"seeked",(function(){e===i.src&&(i.setState(y,!1),i.pause(),i.setState(m,!0))})),i.currentTime=0}ie(i,"timeupdate",(function(){i.setState(E,!1)})),i.transitionState(E,u,e.loop||e.rewind?0:300)}}),0)})),oe(i,["seeking","seeked"],(function(e){i.setState(y,"seeking"==e.type)})),oe(i,"remotesession:ended",(function(e){setTimeout(()=>i.currentTime=e.detail.currentTime,0)})),oe(i,"ended",(function(){i.setState(u,!1),a=!0})),oe(i,"progress",()=>{if(!i.opts.live||!i.opts.is_native)return;const e=i.seekable;0!=e.length&&i.emit("dvr/window",e.end(e.length-1)-e.start(0))}),oe(i,n().ios?o:r,(function(){var e,t;i.setState(p,!0),i.setState(f,!1);const n=i;0===(null===(e=n.videoTracks)||void 0===e?void 0:e.length)&&(null===(t=n.audioTracks)||void 0===t?void 0:t.length)>0&&i.emit("audioonlysource")})),oe(i,"play",()=>{i.setState(S,!0)}),oe(i,["waiting","canplay","loadstart"],(function(t){if(!i.hasState(y)&&("canplay"!=t.type||e.autoplay||i.setState(g,!1),"loadstart"!=t.type||"none"!=i.opt("preload")||e.autoplay)){if("loadstart"==t.type&&e.autoplay)return ie(i,"playing",(function(){i.setState(g,!1)}));"waiting"!=t.type||i.hasState(p)||i.setState(f,!0),i.setState(E,!1),i.setState(g,"waiting"==t.type)}})),oe(i,["playing","pause"],(function(t){setTimeout(()=>{const e=new CustomEvent("flowplayer/"+t.type,{detail:i});document.dispatchEvent(e)},0);const n="playing"==t.type,o=i.currentTime==i.duration,r=n&&a&&e.autoplay||i.hasState(g);if(n&&(i.started=!0,a=!1),i.setState(g,!1).setState(m,!1).setState(S,!1),!n&&i.setState(v,!1),o)return;const s=n?u:d,l=n?d:u;i.transitionState(s,l,r?0:300)}))}const ve=[0].concat(Array.from({length:100}).map((e,t)=>(t+1)/100));function _e(e,t,o){if(!window.IntersectionObserver)return;const r={should_resume:!!e.autoplay,locked:!1};oe(o,"play",(function(){r.locked||(r.should_resume=!0)}));const i=()=>{if(!e.autoplay)return;if(o.hasState(_)&&r.should_resume)return o.togglePlay(!0);const t=o.currentSrc;e.autopause||o.hasState(_)||!r.should_resume||ie(o,"viewenter",()=>{e.autoplay&&r.should_resume&&t===o.currentSrc&&o.togglePlay(!0)})},s=()=>{if(!e.autoplay)return;if(!e.is_native)return;if("auto"===e.preload&&!n().ios)return;if(o.hasState(_))return o.load();const t=o.currentSrc;ie(o,"viewenter",()=>{t!==o.currentSrc||o.readyState>1||!o.paused||o.load()})};oe(o,"src",(function(){r.should_resume=!!e.autoplay,o.off("loadstart",s),o.once("loadstart",s),o.off("canplay",i),o.once("canplay",i)})),oe(o,"pause",(function(){r.locked||(r.should_resume=!1)}));const l=new IntersectionObserver(e=>{e.forEach(e=>{setTimeout(()=>{const t=e.intersectionRatio,n=o.hasState(_);if(o.setState(_,t>=.2),o.emit("intersectionchange",{ratio:t}),n===o.hasState(_))return;const r=o.hasState(_)?"viewenter":"viewleave";o.emit(r)},0)})},{threshold:ve});l.observe(t),o.on(a,()=>l.disconnect()),oe(o,"viewenter",(function(){!r.should_resume||!e.autopause||Oe()||o.opts.autoplay&&!o.readyState||o.togglePlay(!0)})),oe(o,"viewleave",(function(){if(!e.autopause||Oe())return;const t=!o.paused;r.locked=!0,o.pause(),setTimeout((function(){r.should_resume=t,r.locked=!1}),0)}))}function Oe(){return t.find(e=>e.hasState("is-casting"))}function Ie(e,t){if(!window.ResizeObserver)return;const n=new ResizeObserver(e=>{const n=e[e.length-1];t.emit("resize",n)});n.observe(e),t.on(a,()=>n.disconnect())}function Ne(e){if("number"==typeof e&&!isNaN(e))return Number(e);if("string"==typeof e){const t=e.split(":");return Number(t[1])/Number(t[0])}return e}function Te(e,t,n){const i=!!e.ratio,a=document.createElement("div");a.classList.add("fp-ratio"),t.append(a);let s=Ne(e.ratio||.5625);a.style.paddingTop=100*s+"%";const l=[r,o];n.on(l,(function(){if(i)return;const e=n.videoHeight&&n.videoWidth&&n.videoHeight/n.videoWidth;e&&n.setOpts({ratio:e})})),n.on("config",(function(){const t=n.videoHeight&&n.videoWidth&&n.videoHeight/n.videoWidth,o=Ne((null==e?void 0:e.ratio)||t||.5625);s!==o&&(s=o,a.style.paddingTop=100*o+"%")}))}class ExplorerPlan{constructor(){this.cleanUp=this.cleanUp.bind(this),this.render=this.render.bind(this),this.wireUp=this.wireUp.bind(this)}init(e,t,n){this.root=t,this.player=n,this.wireUp()}wireUp(){var e,t;this.cleanUp(),null===(e=this.player)||void 0===e||e.once("playing",this.render),null===(t=this.player)||void 0===t||t.once("ended",this.wireUp)}cleanUp(){var e,t,n,o;null===(t=null===(e=this._logo)||void 0===e?void 0:e.parentElement)||void 0===t||t.removeChild(this._logo),null===(n=this.player)||void 0===n||n.off("playing",this.render),null===(o=this.player)||void 0===o||o.off("ended",this.wireUp)}render(){var e,t,n;null===(t=null===(e=this._logo)||void 0===e?void 0:e.parentElement)||void 0===t||t.removeChild(this._logo);const o=(null===(n=this.root)||void 0===n?void 0:n.querySelector(".fp-ui"))||this.root;if(!o)return;const r=this._logo=document.createElement("a");r.href="https://explorer.flowplayer.com",r.target="_blank",Object.entries(Ae).forEach(([e,t])=>{r.style.setProperty(e,t,"important")}),o.appendChild(r)}}const Ae={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)"};function Le(e){const t=t=>{t.detail!==e&&!1===e.opt("multiplay")&&e.togglePlay(!1)};e.on(a,()=>document.removeEventListener("flowplayer/playing",t)),document.addEventListener("flowplayer/playing",t)}function be(e,t){const n=[];e.addEventListener("contextmenu",o=>{const r=o.timeStamp;for(n.push(r);n.length>3;)n.shift();n.length>=3&&n.every(e=>e-r<3e3)&&(console.debug("flowplayer/debug rendering info"),function(e,t){var n;!function(e){const t=e.querySelector(".debug-info");null==t||t.remove()}(e);const o=document.createElement("div");o.classList.add("debug-info");const r=Re("flowplayer.version","3.10.3");o.append(r);const i=null===(n=null==t?void 0:t.hls)||void 0===n?void 0:n.constructor;if(i&&i.version){const e=Re("hls.version",i.version);o.append(e)}e.appendChild(o)}(e,t))})}const Re=(e,t)=>{const n=document.createElement("div");n.classList.add("row",e);const o=document.createElement("span");o.classList.add("attr"),o.textContent=e;const r=document.createElement("span");return r.textContent=t,r.classList.add("value"),n.append(o,r),n};const Ce=function(e,t){const n=function(){try{return localStorage.getItem("flowplayer/debug")}catch(e){return""}}(),o=(o,...r)=>{try{const i=(null==t?void 0:t.debug)||n;i&&e.match(i)&&console.log(`flowplayer/${e} -- ${o}`,...r)}catch(e){console.warn(e)}};return o.log=o,o}("core/retry");function De(e,t){const n={pending:void 0,count:0};var o;e.on("error",o=>{t.retry&&void 0===n.pending&&(++n.count,n.pending=function(e,t){return setTimeout(()=>{e.hasState("is-destroyed")||(t.pending=void 0,[i,s].forEach(t=>e.emit(t)),Ce("%s try",t.count))},3e3*t.count)}(e,n))}),e.on("playing",()=>{n.count=0}),e.on(["src",i],()=>{n.pending&&(clearTimeout(n.pending),n.pending=void 0)}),e.on(s,(o=t=>{t.defaultPrevented||e.load()},e=>{setTimeout((function(){if(!e.defaultPrevented)return o(e)}),0)}))}const Ue=function(){const e="undefined"!=typeof window?window:void 0!==ue?ue:{},t=e.flowplayer?e.flowplayer:{extensions:[]};return Array.isArray(t.extensions)||(t.extensions=[]),t}();function ke(n,r){if("function"==typeof n)return e.push(...[...arguments].filter(e=>"function"==typeof e)),ke;"string"==typeof r&&(r={src:r}),r||(r={}),r.token||"string"!=typeof window.__FLOWPLAYER_TOKEN||(r.token=window.__FLOWPLAYER_TOKEN);const i="string"==typeof n?document.querySelector(n):n;if(!i)return console.error(new Error("Flowplayer: '"+n.toString()+"' not found"));const s=i.querySelector("video.fp-engine");if(s)return s;const l=ye(r.token);if(!l.success)return he({root:i,data:{reason:"token",details:l.message}});const c=new Map,u=ce(r,i);u.reaper=c,u._customElements=b,Object.defineProperty(u,"token",{value:"string"==typeof r.token?me.id(r.token):"",writable:!1}),u.addEventListener(a,()=>{c.clear(),u.reaper=0,delete u.root}),u.root=i,r.token&&ge.from_token(r.token).is_granted(ge.permissions.DEVELOPER_PLAN)&&e.push(ExplorerPlan),!~t.indexOf(u)&&t.push(u),le(r,i,u),u.setAttrs(r),u.plugins=ke.extensions.map(e=>new e(ke,u)),Se(r,i,u),_e(r,i,u),Ie(i,u),Te(r,i,u),Le(u),be(i,u),De(u,r),u.plugins.forEach(e=>{try{e.init(r,i,u)}catch(t){console.log("Error(plugin/%s)",e.constructor.name,t)}}),u.setOpts(r),u.opts=r,r.src&&u.setSrc(r.src);const d=u.readyState;return d>0&&u.currentSrc&&u.emit(o),d>2&&u.currentSrc&&u.emit("canplay"),u.emit("mount"),u.on("error:fatal",(function(e){he({root:i,video:u,data:e.data||{}})})),setTimeout(te,0,document,"flowplayer:player:created",u),u}return Object.assign(ke,Ue),function(o){Array.isArray(o.extensions)&&o.extensions.forEach(t=>e.push(t)),o.customElements=b,o.defaultElements=c,o.version="3.10.3",o.commit="911cff92d6be3cc259d1ce3b630b7e3f21b54ada",o.instances=t,o.extensions=e,o.support=n,o.events=l,o.states=O,o.jwt=L,o.autoplay=D,o.quality=C}(ke),"object"==typeof document&&setTimeout(te,0,document,"flowplayer:umd",ke),ke}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).flowplayer=t()}(this,(function(){"use strict";const e=[],t=[];function n(){const e="undefined"!=typeof document&&"undefined"!=typeof window,t=e?navigator.userAgent:"",n=/iP(hone|od)/i.test(t)&&!/iPad/.test(t)&&!/IEMobile/i.test(t),o=/Android/.test(t)&&!/Firefox/.test(t),r=/^((?!chrome|android).)*safari/i.test(t),i=/chrome|crios/i.test(t)&&!/opr|opera|chromium|edg|ucbrowser|googlebot/i.test(t),a=/firefox|fxios/i.test(t)&&!/seamonkey/i.test(t),s=/edg/i.test(t),l=/opr|opera/i.test(t),c=/SamsungBrowser/.test(t),u=c&&/SMART-TV/.test(t);return{controls:!n,video:function(t){return e&&document.createElement("video").canPlayType(t)},lang:e&&window.navigator.language,android:o,iphone:n,safari:r,edge:s,opera:l,chrome:i,firefox:a,ios:e&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,samsung:c,samsung_tv:c&&u,touch:"ontouchstart"in window,tizen:"tizen"in window,webOS:"webos"in window}}const o="loadedmetadata",r="loadeddata",i="recover",a="reap",s="retry";var l=Object.freeze({__proto__:null,MOUNT:"mount",ERROR:"error",CONTEXT_MENU:"contextmenu",CLICK:"click",DBL_CLICK:"dblclick",KEYUP:"keyup",KEYDOWN:"keydown",LOAD:"load",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_MOVE:"mousemove",TOUCH_START:"touchstart",TOUCH_MOVE:"touchmove",TOUCH_END:"touchend",TOUCH_CANCEL:"touchcancel",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_ENTER:"fullscreenenter",FULLSCREEN_EXIT:"fullscreenexit",FULLSCREEN_CHANGE:"fullscreenchange",WEBKIT_NEEDKEY:"webkitneedkey",METADATA:o,DATA:r,PROGRESS:"progress",TIME_UPDATE:"timeupdate",LOAD_START:"loadstart",VOLUME_CHANGE:"volumechange",PAUSE:"pause",PLAYING:"playing",PLAY:"play",WAITING:"waiting",CAN_PLAY:"canplay",ENDED:"ended",SEEKED:"seeked",SEEKING:"seeking",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:i,REAP:a,CONFIG:"config",QUALITIES:"qualities",VIDEO_TRACKS:"videoTracks",SET_QUALITY:"quality:set",VIDEO_TRACK_SELECT:"tracks:video:select",NON_RECOVERABLE_ERROR:"error:fatal",RECOMMENDATIONS_READY:"recommendationsready",AUDIO_ONLY_SOURCE:"audioonlysource",LANDSCAPE:"landscape",PORTRAIT:"portrait",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",RETRY:s});var c=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",VIDEO_MENU:"flowplayer-video-menu",UI:"flowplayer-ui",LOGO:"flowplayer-logo",CONTROL:"flowplayer-control",CONTROL_BUTTONS:"flowplayer-control-buttons",LIVE_STATUS:"flowplayer-live-status",ELAPSED:"flowplayer-elapsed-time",TIMELINE:"flowplayer-timeline-bar",CHAPTERS_TIMELINE:"flowplayer-chapters-timeline-bar",CONTROL_DURATION:"flowplayer-control-duration",VOLUME_CONTROL:"flowplayer-volume-control",VOLUME_BAR:"flowplayer-volume-bar",HEADER:"flowplayer-header",HEADER_LEFT_ZONE:"flowplayer-header-left-zone",HEADER_RIGHT_ZONE:"flowplayer-header-right-zone",HEADER_DURATION:"flowplayer-header-duration",MIDDLE:"flowplayer-middle",MIDDLE_ZONE:"flowplayer-middle-zone",WAIT:"flowplayer-wait",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:"flowplayer-small-play-icon",SMALL_PAUSE_ICON:"flowplayer-small-pause-icon",PLAY_ICON:"flowplayer-play-icon",PAUSE_ICON:"flowplayer-pause-icon",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:"flowplayer-rewind-icon",SHARE_ICON:"flowplayer-share-icon",SUBTITLES_MENU_ICON:"flowplayer-subs-menu-icon",MENU_BACK_ICON:"flowplayer-menu-back",VOLUME_ICON:"flowplayer-volume-icon",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:"flowplayer-live-countdown",PLAYLIST_CONTROLS:"flowplayer-playlist-controls",THUMBNAILS_CAROUSEL:"flowplayer-thumbnails-carousel",ERROR_COMPONENT:"flowplayer-error",TV_MENU:"flowplayer-tv-menu",CUE_COMPONENT:"flowplayer-cue",SSAI_UI:"flowplayer-ssai-ui",SSAI_CONTROLS:"flowplayer-ssai-controls",SSAI_TIMELINE:"flowplayer-ssai-timeline",SSAI_INDICATOR:"flowplayer-ssai-indicator"});const u="is-playing",d="is-paused",p="is-loaded",f="is-loading",m="is-starting",y="is-seeking",E="is-ended",g="is-waiting",h="is-live-seeked",w="no-timeline",S="will-play",v="will-pause",_="is-in-viewport";var O=Object.freeze({__proto__:null,PLAYING:u,FULLSCREEN:"is-fullscreen",PAUSED:d,MUTED:"is-muted",LOADED:p,LOADING:f,STARTING:m,SEEKING:y,GRABBING:"is-grabbing",DISABLED:"is-disabled",SMALL:"is-small",TINY:"is-tiny",RTL:"is-rtl",TV:"is-tv",ENDED:E,LIVE:"is-live",ERRORED:"is-error",WAITING:g,AUTOPLAY:"is-autoplay",SEAMLESS:"is-seamless",TOGGLING:"is-toggling",LIVE_SEEKED:h,NO_DVR:w,HAS_POSTER:"has-poster",WILL_PLAY:S,WILL_PAUSE:v,MENU_OPENED:"has-menu-opened",TOUCHED:"is-touched",HOVERED:"is-hovered",TOUCH_DEVICE:"is-touch-device",WILL_SEEK:"will-seek",SEEKABLE:"is-seekable",IN_VIEWPORT:_,NO_CONTROLS:"no-controls",DESTROYED:"is-destroyed",IS_SOURCE_PROCESSING:"is-source-processing"});function I(e){this.message=e}I.prototype=new Error,I.prototype.name="InvalidCharacterError";var N="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new I("'atob' failed: The string to be decoded is not correctly encoded.");for(var n,o,r=0,i=0,a="";o=t.charAt(i++);~o&&(n=r%4?64*n+o:o,r++%4)?a+=String.fromCharCode(255&n>>(-2*r&6)):0)o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(o);return a};var T=function(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw"Illegal base64url string!"}try{return function(e){return decodeURIComponent(N(e).replace(/(.)/g,(function(e,t){var n=t.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n="0"+n),"%"+n})))}(t)}catch(e){return N(t)}};function A(e){this.message=e}A.prototype=new Error,A.prototype.name="InvalidTokenError";var L=function(e,t){if("string"!=typeof e)throw new A("Invalid token specified");var n=!0===(t=t||{}).header?0:1;try{return JSON.parse(T(e.split(".")[n]))}catch(e){throw new A("Invalid token specified: "+e.message)}};L.InvalidTokenError=A;const b=new Map,R=(e,t)=>new(((e,t)=>{const n=e.get(t);if(!n)throw new Error(`no flowplayer component with the name ${t} exists`);const o=window.customElements.get(t);if(!o)throw new Error(`no default flowplayer component with the name ${t} exists`);const r=window.customElements.get(n);return"function"!=typeof r?o:r})(e._customElements,t))(e);var C,D;!function(e){e[e.LOW=1]="LOW",e[e.MEDIUM=2]="MEDIUM",e[e.HIGH=4]="HIGH"}(C||(C={})),function(e){e[e.OFF=0]="OFF",e[e.ON=1]="ON",e[e.AUDIO_REQUIRED=2]="AUDIO_REQUIRED"}(D||(D={}));function U(e,t,n){const o="boolean"==typeof n;if("boolean"!=typeof n&&(n=!!e.hasState(v)||e.paused),function(e,t,n){const o=e.poll(t?"beforeplay":"beforepause",{forced:n});return o&&o.defaultPrevented}(e,n,o))return Promise.resolve();if(!n)return e.hasState(S)?(e.setState(v,!0),e.setState(S,!1),Promise.resolve()):Promise.resolve(e.pause());if(0==e.reaper)return Promise.resolve();const r=e.reaper.get("__pending_play");return e.paused||r?r?(r.src!==P(e.original_src)&&k(e),r):(function(e){return(0==e.networkState||0==e.readyState)&&e.currentSrc==P(e.original_src)}(e)&&k(e),function(e){const t=e.hasState("is-autoplay"),n=t&&(e=>e.autoplay&&D.AUDIO_REQUIRED&e.autoplay)(e.opts);n&&(e.muted&&e.toggleMute(!1),0==e.volume&&(e.volume=1));t&&e.setState("is-autoplay",!1);return e.play().then(()=>{e.hasState(v)&&e.togglePlay(!1)}).catch(o=>{if(console.warn(t?n?"[flowplayer/play] autoplay audio required\n%s":"[flowplayer/play] attempting muted autoplay\n%s":"",o.message,"\ninstance:",e),t&&!n)return e.muted=!0,e.volume=0,e.play()})}(e)):(e.setState(v,!1),!e.hasState(u)&&e.setState(S,!0),Promise.resolve())}function k(e){e.currentSrc.match(/^blob:/)||e.load()}function P(e){const t=document.createElement("a");return t.href=e,t.href}function M(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n}function x(e){const t=document.createElement("a");t.href=e;const n=t.pathname&&t.pathname.split(".");return n.length>1&&n[n.length-1]}function W(e){switch(e){case"video/mpd":return"application/dash+xml";case"video/m3u8":return"application/x-mpegurl";default:return e}}const V=e=>{var{src:t}=e,n=M(e,["src"]);return[Object.assign({src:t,type:t?W("video/"+x(t)):""},n)]};function H(e){return V({src:e})}function G(e){var{src:t,type:n}=e,o=M(e,["src","type"]);return t&&n?[Object.assign({src:t,type:n},o)]:n&&!t?[Object.assign({type:n},o)]:V(Object.assign({src:t},o))}var j;function K(e,t,n,o={safari:!1}){const r=function(e){return"string"==typeof e?H(e):Array.isArray(e)||"object"!=typeof e?e.reduce((function(e,t){return"string"==typeof t&&(t=H(t)),"object"!=typeof t||Array.isArray(t)||(t=G(t)),e.concat(t)}),[]):G(e)}(n);return function(e){[y,v,S,u,d,f,p,h].forEach(t=>e.setState(t,!1)),e.setState(m,!0)}(e),Array(...Array(r.length)).map((e,t)=>t).some(n=>{const i=r[n];if(j.Ok==function(e,t,n){e.emit("src",n),"string"==typeof n.src&&(e.original_src=n.src);const o=function(e,t,n){return e.plugins.filter(e=>{return(t=e)&&"wants"in t;var t}).find(e=>e.wants(n.src||"",n,t))}(e,t,n);return e.setOpts({is_native:!o}),o?(o.onload(t,e.root,e,n),j.Ok):j.Err}(e,t,i)||j.Ok==function(e,t,n,o={safari:!1}){var r;/^audio\//.test(n.type||"")&&e.emit("audioonlysource");t.start_time&&(n.src=n.src+"#t="+t.start_time);if(""==e.canPlayType(n.type||""))return j.Err;if(n.drm&&(!n.drm["com.apple.fps.1_0"]||!o.safari))return j.Err;"string"==typeof n.src&&(e.preload=null!==(r=t.preload)&&void 0!==r?r:"auto",e.src=n.src,"none"!==e.preload&&e.setState(f,!0));return j.Ok}(e,t,i,o))return!0;n==r.length-1&&"string"==typeof i.src&&(e.src=i.src)}),function(e,t){!function(e,t){if(!e.currentSrc)return;if("none"==e.opt("preload"))return;if(t.autoplay&&t.autoplay>0)return;e.load()}(e,t)}(e,t),e}!function(e){e[e.Err=0]="Err",e[e.Ok=1]="Ok"}(j||(j={}));const Y=[a,"seeking","src","seek:cancel"];var F;function B(e,t,n){return isNaN(e.duration)||isNaN(e.currentTime)?{}:(t.offset+=n,0==t.offset?z(e,t):(t.timer&&clearTimeout(t.timer),t.timer=setTimeout((function(){0!=e.reaper&&(e.currentTime=function(e,t,n=0){return Math.max(Math.min(t,e),n)}(e.currentTime+t.offset,e.duration),t.timer=0,z(e,t))}),1e3),function(e,t){e.setState("will-seek",!0),e.setState(F.BACKWARD,t.offset<0),e.setState(F.FORWARD,t.offset>0)}(e,t),e.emit("seek:queued",t),t))}function z(e,t){t.timer&&clearTimeout(t.timer),t.timer=t.offset=0,function(e){e.setState(F.FORWARD,!1),e.setState(F.BACKWARD,!1),e.setState("will-seek",!1)}(e)}function q(){if("undefined"==typeof document)return!1;const e=document.documentElement;return e&&"rtl"==e.getAttribute("dir")}function Z(e,t,n){const o=function(e){return Array.isArray(e)?e.slice(0):e.split(".")}(t);for(;o.length;){if(null==e)return n;const t=o.shift();if("string"!=typeof t)return n;e=e[t]}return null==e?n:e}!function(e){e.FORWARD="forward",e.BACKWARD="backward"}(F||(F={}));const Q=[1e7]+""+-1e3+-4e3+-8e3+-1e11,X=()=>"undefined"==typeof crypto?"":Q.replace(/[018]/g,e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16));let $="";!function(){let e=!1;try{const t=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("testPassive",null,t),window.removeEventListener("testPassive",null,t)}catch(e){}}();const J=["touchstart","touchmove"];function ee(e,t){const n=new CustomEvent(e,{detail:t,cancelable:!0});return t&&Object.defineProperty(n,"data",{get:()=>t}),n}function te(e,t,n){const o=ee(t,n);return e.dispatchEvent(o),e}function ne(e,t,n){const o=ee(t,n);return e.dispatchEvent(o),o}function oe(e,t,n,o){Array.isArray(t)?t.forEach(t=>re(e,t,n,o)):re(e,t,n,o)}function re(e,t,n,o){if(r=t,!~J.indexOf(r))return e.addEventListener(t,n,o),e;var r;const i=Object.assign(o||{},{passive:!0});return e.addEventListener(t,n,i),e}function ie(e,t,n,o){return oe(e,t,n,Object.assign(o||{},{once:!0}))}class PlayerStorage{constructor(e,t){this.implementation=e,t&&t.keys().forEach(e=>{"string"==typeof t.implementation[e]&&this.implementation.setItem(e,t.implementation[e])})}keys(){var e;const t=[];for(var n=0;n<this.implementation.length;n++)(null===(e=this.implementation.key(n))||void 0===e?void 0:e.startsWith("flowplayer/"))&&t.push(this.implementation.key(n));return t}removeItem(e){try{this.implementation.removeItem("flowplayer/"+e)}catch(e){}}getItem(e){try{return this.implementation.getItem("flowplayer/"+e)}catch(e){return null}}setItem(e,t){try{this.implementation.setItem("flowplayer/"+e,t)}catch(e){}}clear(){try{this.keys().forEach(e=>this.implementation.removeItem(e))}catch(e){}}get length(){try{return this.keys().length}catch(e){return 0}}key(e){try{return this.implementation.key(e)}catch(e){return null}}}class InMemoryStorage{constructor(){this.pairs=[]}get length(){return this.pairs.length}clear(){this.pairs=[]}getItem(e){var t;return(null===(t=this.pairs.find(t=>t[0]===e))||void 0===t?void 0:t[1])||null}key(e){return this.pairs[e][0]||null}removeItem(e){this.pairs=this.pairs.filter(t=>t[0]!==e)}setItem(e,t){this.removeItem(e),this.pairs.push([e,t])}}const ae={preload:"none",rtl:!1,controls:!0},se=["loop","muted","preload"];function le(e,o,r){let i;r.live_state={dvr_window:void 0,get dvr(){return i},set dvr(t){i=t;const n=!(!e.live||t);r.hasState(w)!=n&&r.setState(w,n)}},r._storage=new PlayerStorage(["localStorage","sessionStorage"].map(e=>{try{const t=window[e];return t.getItem(""),t}catch(t){return console.debug(`Access to window.${e} denied, trying next option`),null}}).find(e=>!!e)||new InMemoryStorage),r.toJSON=function(){return{duration:r.duration,volume:r.volume,currentTime:r.currentTime,states:r.root.className}},r.setSrc=function(t){return K(r,e,t,n())},r.playerState=r.playerState||{},r.setState=function(e,t){if(r.playerState[e]===!!t)return r;const n=Object.assign({},r.playerState,{[e]:t});return r.playerState=n,te(r,"state",r.playerState),r},r.createComponents=function(...e){return Array.from({length:e.length}).map((t,n)=>R(this,e[n]))},r.hasState=function(e){return!!r.playerState[e]},r.transitionState=function(e,t,n){!r.hasState(e)&&r.hasState(t)||(n=0),n&&r.setState("is-toggling",!0),r.setState(t,!1),r.setState(e,!0),n&&setTimeout((function(){r.setState("is-toggling",!1)}),n)},r.emit=(e,t)=>(te(r,e,t),r),r.on=(e,t)=>(oe(r,e,t),r),r.once=(e,t)=>(ie(r,e,t),r),r.off=(e,t)=>{var n,o;return n=e,o=t,r.removeEventListener(n,o),r},r.poll=(e,t)=>ne(r,e,t),r.togglePlay=function(e){return U(r,0,e)},r.toggleMute=function(e){e=null==e?!r.muted:!!e,r.muted=e,r.muted||r.volume||(r.volume=1),te(r,"volumechange")},r.toggleDisable=function(e){e=null==e?!r.disabled:!!e,r.setState("is-disabled",e),r.disabled=e},r.destroy=function(){r.pause();const e=t.indexOf(r);~e&&t.splice(e,1),setTimeout((function(){r.setSrc([]),r.reaper&&r.reaper.clear(),te(r,a),r.setState("is-destroyed",!0)}),0)},r.setAttrs=function(e){return se.forEach(t=>{if(!(t in e))return;const n=e[t];n?r.setAttribute(t,n.toString()):r.removeAttribute(t)}),r},r.opt=function(t,n){return n=void 0===n?Z(ae,t):n,Z(e,t,n)},r.i18n=function(e,t){if(!r.reaper)return"";const n=r.reaper.get("translations");return n?function e(t,n,o,r){return(r=r||0)>=t.length?o:Z(t[r],n,e(t,n,o,r+1))}(n,e,t||""):t||""},r.setOpts=function(t){Object.assign(e,t),e.live&&!r.hasState("is-live")&&(r.setState(w,!0),te(r,"live")),"disabled"in t&&void 0!==t.disabled&&r.toggleDisable(t.disabled),"muted"in t&&void 0!==t.muted&&r.toggleMute(t.muted),"dvr"in e&&(r.live_state.dvr=r.opt("dvr")),r.setState("is-rtl",r.opt("rtl",function(e){if(!e)return q();const t=e.getAttribute("dir");return t?"rtl"==t:q()}(o))),r.setState("is-live",!!e.live),r.setState("has-poster","string"==typeof e.poster&&e.poster.length>0),r.setState("is-seekable",!!e.seekable),r.setState("no-controls",0==e.controls),o.style.backgroundImage=r.hasState("has-poster")?"url('"+e.poster+"')":"",te(r,"config",e)},r.renderPlugin=function(e){ne(r,"renderplugin",e).defaultPrevented||r.root.appendChild(e)};const s={offset:0,timer:0};var l,c;c=s,(l=r).on(Y,(function(){z(l,c)})),r.enqueueSeek=function(e){if(0!=r.opts.seekable&&!(1==r.opts.disabled&&e>0))return B(r,s,e)},r.deviceId=function(){return function(e){if($)return $;try{const t=e.getItem("flowplayer/uuid");if(t)return t;const n=X();return e.setItem("flowplayer/uuid",n),n}catch(e){return $=X()}}(r._storage)}}function ce(e,t){const n=t.querySelector("video"),o=n||(e._video_element_callback?e._video_element_callback(e):document.createElement("video"));return o.classList.add("fp-engine"),o.playsInline=!0,n||t.append(o),o}var ue="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};const de=["localhost","127.0.0.1","0.0.0.0","s.codepen.io","cdpn.io","try.flowplayer.com"];function pe(e,t){return!!~de.indexOf(e)||e.indexOf(t)===e.length-t.length}pe.check_whitelist=function(e){return!!~de.indexOf(e)};const fe="production";function me(e,t){const n={valid_jwt:!1,raw:"",data:{acl:0},exp:0};let o={c:"{}",exp:0};t=t||{};try{o=L(e),n.valid_jwt=!0}catch(e){}return n.raw=e,n.data=JSON.parse(o.c),n.exp=o.exp,t.require_valid_token&&me.validate(n),n}function ye(e){try{return me.validate(e),{success:!0,message:""}}catch(e){return{success:!1,message:e.message}}}var Ee;function ge(e){return{grant:e,is_granted:t=>(e&t)===t}}function he({root:e,video:t,data:n}){t&&t.destroy(),console.error(new Error(n.details||n.reason)),e.innerHTML="",e.classList.remove("flowplayer"),e.classList.add("flowplayer-fatal"),e.style.removeProperty("background-image");const o=document.createElement("h2");o.textContent="Playback Error";const r=document.createElement("p");r.textContent="Are you the site owner?";const i=document.createElement("a");i.classList.add("troubleshoot"),i.target="_blank",i.href="https://docs.flowplayer.com/troubleshooting/player#"+n.reason,i.textContent="Troubleshoot?";const a=document.createElement("img");a.src="https://flowplayer.com/user/pages/images/logo-white.png",e.append(o,r,i,a)}me.validate=function(e){if("string"==typeof e&&(e=me(e)),!e||!e.raw){if(pe.check_whitelist(window.location.hostname)||"dev"===fe.toString())return!0;throw new Error("No token provided in configuration")}if(!e.valid_jwt)throw new Error("Invalid token provided");const t=window.location.hostname,n=pe.bind(null,t);if("dev"!==fe.toString()&&e.data.domain&&e.data.domain.length&&!e.data.domain.some(n))throw new Error("Domain not allowed");if("dev"!==fe.toString()&&1e3*e.exp-Date.now()<0)throw new Error("Expired token");return!0},me.id=function(e){if(e)return"string"==typeof e&&(e=me(e)),e.data.id},function(e){e[e.ADS=2]="ADS",e[e.ANALYTICS=4]="ANALYTICS",e[e.NO_METERING=8]="NO_METERING",e[e.DEVELOPER_PLAN=16]="DEVELOPER_PLAN",e[e.WOWZA_VIDEO=32]="WOWZA_VIDEO"}(Ee||(Ee={})),ge.of=ge,ge.from_token=function(e){const t=me(e,{require_valid_token:!0});return ge.of(t.data.acl)},ge.permissions=Ee;function we(e,t){const n=t.clientWidth;t.classList.toggle("is-small",n<600),t.classList.toggle("is-tiny",n<400)}function Se(e,t,i){let a=!0;t.classList.add("flowplayer"),we(0,t),oe(i,["loadstart","resize"],(function(){we(0,t)})),oe(i,"state",(function(){Object.entries(i.playerState).forEach((function([e,n]){t.classList.toggle(e,n)}))})),oe(i,"timeupdate",(function(){i.setState(g,!i.hasState("is-casting")&&!i.hasState(m)&&i.readyState<3)})),oe(i,"ended",(function(t){setTimeout((function(){if(!t.defaultPrevented){if(e.rewind&&!i.loop){const e=i.src;i.setState(y,!0),ie(i,"seeked",(function(){e===i.src&&(i.setState(y,!1),i.pause(),i.setState(m,!0))})),i.currentTime=0}ie(i,"timeupdate",(function(){i.setState(E,!1)})),i.transitionState(E,u,e.loop||e.rewind?0:300)}}),0)})),oe(i,["seeking","seeked"],(function(e){i.setState(y,"seeking"==e.type)})),oe(i,"remotesession:ended",(function(e){setTimeout(()=>i.currentTime=e.detail.currentTime,0)})),oe(i,"ended",(function(){i.setState(u,!1),a=!0})),oe(i,"progress",()=>{if(!i.opts.live||!i.opts.is_native)return;const e=i.seekable;0!=e.length&&i.emit("dvr/window",e.end(e.length-1)-e.start(0))}),oe(i,n().ios?o:r,(function(){var e,t;i.setState(p,!0),i.setState(f,!1);const n=i;0===(null===(e=n.videoTracks)||void 0===e?void 0:e.length)&&(null===(t=n.audioTracks)||void 0===t?void 0:t.length)>0&&i.emit("audioonlysource")})),oe(i,"play",()=>{i.setState(S,!0)}),oe(i,["waiting","canplay","loadstart"],(function(t){if(!i.hasState(y)&&("canplay"!=t.type||e.autoplay||i.setState(g,!1),"loadstart"!=t.type||"none"!=i.opt("preload")||e.autoplay)){if("loadstart"==t.type&&e.autoplay)return ie(i,"playing",(function(){i.setState(g,!1)}));"waiting"!=t.type||i.hasState(p)||i.setState(f,!0),i.setState(E,!1),i.setState(g,"waiting"==t.type)}})),oe(i,["playing","pause"],(function(t){setTimeout(()=>{const e=new CustomEvent("flowplayer/"+t.type,{detail:i});document.dispatchEvent(e)},0);const n="playing"==t.type,o=i.currentTime==i.duration,r=n&&a&&e.autoplay||i.hasState(g);if(n&&(i.started=!0,a=!1),i.setState(g,!1).setState(m,!1).setState(S,!1),!n&&i.setState(v,!1),o)return;const s=n?u:d,l=n?d:u;i.transitionState(s,l,r?0:300)}))}const ve=[0].concat(Array.from({length:100}).map((e,t)=>(t+1)/100));function _e(e,t,o){if(!window.IntersectionObserver)return;const r={should_resume:!!e.autoplay,locked:!1};oe(o,"play",(function(){r.locked||(r.should_resume=!0)}));const i=()=>{if(!e.autoplay)return;if(o.hasState(_)&&r.should_resume)return o.togglePlay(!0);const t=o.currentSrc;e.autopause||o.hasState(_)||!r.should_resume||ie(o,"viewenter",()=>{e.autoplay&&r.should_resume&&t===o.currentSrc&&o.togglePlay(!0)})},s=()=>{if(!e.autoplay)return;if(!e.is_native)return;if("auto"===e.preload&&!n().ios)return;if(o.hasState(_))return o.load();const t=o.currentSrc;ie(o,"viewenter",()=>{t!==o.currentSrc||o.readyState>1||!o.paused||o.load()})};oe(o,"src",(function(){r.should_resume=!!e.autoplay,o.off("loadstart",s),o.once("loadstart",s),o.off("canplay",i),o.once("canplay",i)})),oe(o,"pause",(function(){r.locked||(r.should_resume=!1)}));const l=new IntersectionObserver(e=>{e.forEach(e=>{setTimeout(()=>{const t=e.intersectionRatio,n=o.hasState(_);if(o.setState(_,t>=.2),o.emit("intersectionchange",{ratio:t}),n===o.hasState(_))return;const r=o.hasState(_)?"viewenter":"viewleave";o.emit(r)},0)})},{threshold:ve});l.observe(t),o.on(a,()=>l.disconnect()),oe(o,"viewenter",(function(){!r.should_resume||!e.autopause||Oe()||o.opts.autoplay&&!o.readyState||o.togglePlay(!0)})),oe(o,"viewleave",(function(){if(!e.autopause||Oe())return;const t=!o.paused;r.locked=!0,o.pause(),setTimeout((function(){r.should_resume=t,r.locked=!1}),0)}))}function Oe(){return t.find(e=>e.hasState("is-casting"))}function Ie(e,t){if(!window.ResizeObserver)return;const n=new ResizeObserver(e=>{const n=e[e.length-1];t.emit("resize",n)});n.observe(e),t.on(a,()=>n.disconnect())}function Ne(e){if("number"==typeof e&&!isNaN(e))return Number(e);if("string"==typeof e){const t=e.split(":");return Number(t[1])/Number(t[0])}return e}function Te(e,t,n){const i=!!e.ratio,a=document.createElement("div");a.classList.add("fp-ratio"),t.append(a);let s=Ne(e.ratio||.5625);a.style.paddingTop=100*s+"%";const l=[r,o];n.on(l,(function(){if(i)return;const e=n.videoHeight&&n.videoWidth&&n.videoHeight/n.videoWidth;e&&n.setOpts({ratio:e})})),n.on("config",(function(){const t=n.videoHeight&&n.videoWidth&&n.videoHeight/n.videoWidth,o=Ne((null==e?void 0:e.ratio)||t||.5625);s!==o&&(s=o,a.style.paddingTop=100*o+"%")}))}class ExplorerPlan{constructor(){this.cleanUp=this.cleanUp.bind(this),this.render=this.render.bind(this),this.wireUp=this.wireUp.bind(this)}init(e,t,n){this.root=t,this.player=n,this.wireUp()}wireUp(){var e,t;this.cleanUp(),null===(e=this.player)||void 0===e||e.once("playing",this.render),null===(t=this.player)||void 0===t||t.once("ended",this.wireUp)}cleanUp(){var e,t,n,o;null===(t=null===(e=this._logo)||void 0===e?void 0:e.parentElement)||void 0===t||t.removeChild(this._logo),null===(n=this.player)||void 0===n||n.off("playing",this.render),null===(o=this.player)||void 0===o||o.off("ended",this.wireUp)}render(){var e,t,n;null===(t=null===(e=this._logo)||void 0===e?void 0:e.parentElement)||void 0===t||t.removeChild(this._logo);const o=(null===(n=this.root)||void 0===n?void 0:n.querySelector(".fp-ui"))||this.root;if(!o)return;const r=this._logo=document.createElement("a");r.href="https://explorer.flowplayer.com",r.target="_blank",Object.entries(Ae).forEach(([e,t])=>{r.style.setProperty(e,t,"important")}),o.appendChild(r)}}const Ae={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)"};function Le(e){const t=t=>{t.detail!==e&&!1===e.opt("multiplay")&&e.togglePlay(!1)};e.on(a,()=>document.removeEventListener("flowplayer/playing",t)),document.addEventListener("flowplayer/playing",t)}function be(e,t){const n=[];e.addEventListener("contextmenu",o=>{const r=o.timeStamp;for(n.push(r);n.length>3;)n.shift();n.length>=3&&n.every(e=>e-r<3e3)&&(console.debug("flowplayer/debug rendering info"),function(e,t){var n;!function(e){const t=e.querySelector(".debug-info");null==t||t.remove()}(e);const o=document.createElement("div");o.classList.add("debug-info");const r=Re("flowplayer.version","3.10.4-rc.2");o.append(r);const i=null===(n=null==t?void 0:t.hls)||void 0===n?void 0:n.constructor;if(i&&i.version){const e=Re("hls.version",i.version);o.append(e)}e.appendChild(o)}(e,t))})}const Re=(e,t)=>{const n=document.createElement("div");n.classList.add("row",e);const o=document.createElement("span");o.classList.add("attr"),o.textContent=e;const r=document.createElement("span");return r.textContent=t,r.classList.add("value"),n.append(o,r),n};const Ce=function(e,t){const n=function(){try{return localStorage.getItem("flowplayer/debug")}catch(e){return""}}(),o=(o,...r)=>{try{const i=(null==t?void 0:t.debug)||n;i&&e.match(i)&&console.log(`flowplayer/${e} -- ${o}`,...r)}catch(e){console.warn(e)}};return o.log=o,o}("core/retry");function De(e,t){const n={pending:void 0,count:0};var o;e.on("error",o=>{t.retry&&void 0===n.pending&&(++n.count,n.pending=function(e,t){return setTimeout(()=>{e.hasState("is-destroyed")||(t.pending=void 0,[i,s].forEach(t=>e.emit(t)),Ce("%s try",t.count))},3e3*t.count)}(e,n))}),e.on("playing",()=>{n.count=0}),e.on(["src",i],()=>{n.pending&&(clearTimeout(n.pending),n.pending=void 0)}),e.on(s,(o=t=>{t.defaultPrevented||e.load()},e=>{setTimeout((function(){if(!e.defaultPrevented)return o(e)}),0)}))}const Ue=function(){const e="undefined"!=typeof window?window:void 0!==ue?ue:{},t=e.flowplayer?e.flowplayer:{extensions:[]};return Array.isArray(t.extensions)||(t.extensions=[]),t}();function ke(n,r){if("function"==typeof n)return e.push(...[...arguments].filter(e=>"function"==typeof e)),ke;"string"==typeof r&&(r={src:r}),r||(r={}),r.token||"string"!=typeof window.__FLOWPLAYER_TOKEN||(r.token=window.__FLOWPLAYER_TOKEN);const i="string"==typeof n?document.querySelector(n):n;if(!i)return console.error(new Error("Flowplayer: '"+n.toString()+"' not found"));const s=i.querySelector("video.fp-engine");if(s)return s;const l=ye(r.token);if(!l.success)return he({root:i,data:{reason:"token",details:l.message}});const c=new Map,u=ce(r,i);u.reaper=c,u._customElements=b,Object.defineProperty(u,"token",{value:"string"==typeof r.token?me.id(r.token):"",writable:!1}),u.addEventListener(a,()=>{c.clear(),u.reaper=0,delete u.root}),u.root=i,r.token&&ge.from_token(r.token).is_granted(ge.permissions.DEVELOPER_PLAN)&&e.push(ExplorerPlan),!~t.indexOf(u)&&t.push(u),le(r,i,u),u.setAttrs(r),u.plugins=ke.extensions.map(e=>new e(ke,u)),Se(r,i,u),_e(r,i,u),Ie(i,u),Te(r,i,u),Le(u),be(i,u),De(u,r),u.plugins.forEach(e=>{try{e.init(r,i,u)}catch(t){console.log("Error(plugin/%s)",e.constructor.name,t)}}),u.setOpts(r),u.opts=r,r.src&&u.setSrc(r.src);const d=u.readyState;return d>0&&u.currentSrc&&u.emit(o),d>2&&u.currentSrc&&u.emit("canplay"),u.emit("mount"),u.on("error:fatal",(function(e){he({root:i,video:u,data:e.data||{}})})),setTimeout(te,0,document,"flowplayer:player:created",u),u}return Object.assign(ke,Ue),function(o){Array.isArray(o.extensions)&&o.extensions.forEach(t=>e.push(t)),o.customElements=b,o.defaultElements=c,o.version="3.10.4-rc.2",o.commit="d10d4cd20cc6a9e0e190d50b22c5177d87c83e6c",o.instances=t,o.extensions=e,o.support=n,o.events=l,o.states=O,o.jwt=L,o.autoplay=D,o.quality=C}(ke),"object"==typeof document&&setTimeout(te,0,document,"flowplayer:umd",ke),ke}));