@flowplayer/player 3.14.1 → 3.15.0-rc.10

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.
Files changed (81) hide show
  1. package/core/events.d.ts +575 -68
  2. package/core/events.js +286 -34
  3. package/core.js +1 -1
  4. package/default.js +1 -1
  5. package/embed.js +2 -2
  6. package/flowplayer.css +1 -1
  7. package/index.d.ts +1480 -91
  8. package/package.json +1 -1
  9. package/plugins/ads.d.ts +3744 -112
  10. package/plugins/ads.js +1 -1
  11. package/plugins/airplay.d.ts +1440 -116
  12. package/plugins/airplay.js +1 -1
  13. package/plugins/analytics.d.ts +1409 -82
  14. package/plugins/analytics.js +1 -1
  15. package/plugins/asel.d.ts +1409 -82
  16. package/plugins/asel.js +1 -1
  17. package/plugins/audio.d.ts +1409 -82
  18. package/plugins/audio.js +1 -1
  19. package/plugins/chapters.d.ts +1409 -82
  20. package/plugins/chapters.js +1 -1
  21. package/plugins/chromecast.d.ts +1464 -80
  22. package/plugins/chromecast.js +1 -1
  23. package/plugins/comscore.d.ts +1409 -82
  24. package/plugins/consent.d.ts +1409 -82
  25. package/plugins/consent.js +1 -1
  26. package/plugins/context-menu.d.ts +1443 -116
  27. package/plugins/cuepoints.d.ts +1443 -116
  28. package/plugins/cuepoints.js +1 -1
  29. package/plugins/dash.d.ts +1445 -115
  30. package/plugins/dash.js +1 -1
  31. package/plugins/drm.d.ts +1409 -82
  32. package/plugins/drm.js +1 -1
  33. package/plugins/endscreen.d.ts +1442 -115
  34. package/plugins/endscreen.js +1 -1
  35. package/plugins/fas.d.ts +1409 -82
  36. package/plugins/float-on-scroll.d.ts +1443 -116
  37. package/plugins/float-on-scroll.js +1 -1
  38. package/plugins/ga4.d.ts +1409 -82
  39. package/plugins/gemius.d.ts +1439 -112
  40. package/plugins/google-analytics.d.ts +1409 -82
  41. package/plugins/health.d.ts +1435 -107
  42. package/plugins/health.js +1 -1
  43. package/plugins/hls.d.ts +1431 -104
  44. package/plugins/hls.js +1 -1
  45. package/plugins/id3.d.ts +1409 -82
  46. package/plugins/id3.js +1 -1
  47. package/plugins/iframe.d.ts +1440 -116
  48. package/plugins/iframe.js +1 -1
  49. package/plugins/keyboard.d.ts +1409 -82
  50. package/plugins/media-session.d.ts +1409 -82
  51. package/plugins/message.d.ts +1409 -82
  52. package/plugins/message.js +1 -1
  53. package/plugins/ovp.d.ts +1435 -110
  54. package/plugins/ovp.js +1 -1
  55. package/plugins/playlist.d.ts +1409 -82
  56. package/plugins/playlist.js +1 -1
  57. package/plugins/preview.d.ts +1409 -82
  58. package/plugins/preview.js +1 -1
  59. package/plugins/qsel.d.ts +1409 -82
  60. package/plugins/qsel.js +1 -1
  61. package/plugins/qul.d.ts +1441 -114
  62. package/plugins/qul.js +1 -1
  63. package/plugins/rts.d.ts +1409 -82
  64. package/plugins/rts.js +1 -1
  65. package/plugins/share.d.ts +1409 -82
  66. package/plugins/share.js +1 -1
  67. package/plugins/speed.d.ts +1434 -107
  68. package/plugins/speed.js +1 -1
  69. package/plugins/ssai.d.ts +1412 -82
  70. package/plugins/ssai.js +1 -1
  71. package/plugins/subtitles.d.ts +1426 -102
  72. package/plugins/thumbnails.d.ts +1434 -107
  73. package/plugins/thumbnails.js +1 -1
  74. package/plugins/tizen.d.ts +1409 -82
  75. package/plugins/tizen.js +1 -1
  76. package/plugins/vtsel.d.ts +1409 -82
  77. package/plugins/vtsel.js +1 -1
  78. package/plugins/webos.d.ts +1409 -82
  79. package/plugins/webos.js +1 -1
  80. package/util/loader.d.ts +1436 -101
  81. package/util/loader.js +13 -2
package/core/events.js CHANGED
@@ -1,65 +1,317 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.CONFIG = exports.REAP = exports.RECOVER = exports.SOURCE = exports.VIEW_LEAVE = exports.VIEW_ENTER = exports.CUEPOINT_END = exports.CUEPOINT_START = exports.CUEPOINTS = exports.STATE = exports.BEFORE_PAUSE = exports.BEFORE_PLAY = exports.DURATION_CHANGE = exports.SEEKING = exports.SEEKED = exports.ENDED = exports.CAN_PLAY = exports.WAITING = exports.PLAY = exports.PLAYING = exports.PAUSE = exports.VOLUME_CHANGE = exports.LOAD_START = exports.TIME_UPDATE = exports.PROGRESS = exports.DATA = exports.METADATA = exports.WEBKIT_NEEDKEY = exports.FULLSCREEN_CHANGE = exports.FULLSCREEN_EXIT = exports.FULLSCREEN_ENTER = exports.SCROLL = exports.RESIZE = exports.TOUCH_CANCEL = exports.TOUCH_END = exports.TOUCH_MOVE = exports.TOUCH_START = exports.MOUSE_MOVE = exports.MOUSE_DOWN = exports.MOUSE_UP = exports.MOUSE_LEAVE = exports.MOUSE_ENTER = exports.LOAD = exports.KEYDOWN = exports.KEYUP = exports.DBL_CLICK = exports.CLICK = exports.CONTEXT_MENU = exports.ERROR = exports.MOUNT = void 0;
5
- exports.RETRY = exports.INTERSECTIONCHANGE = exports.REMOTE_SESSION_ENDED = exports.REMOTE_SESSION_STARTED = exports.PLUGIN_REGISTERED = exports.SEEK_CANCEL = exports.SEEK_QUEUED = exports.LIVE = exports.DVR = exports.RENDER_PLUGIN = exports.PORTRAIT = exports.LANDSCAPE = exports.AUDIO_ONLY_SOURCE = exports.RECOMMENDATIONS_READY = exports.NON_RECOVERABLE_ERROR = exports.VIDEO_TRACK_SELECT = exports.SET_QUALITY = exports.VIDEO_TRACKS = exports.QUALITIES = void 0;
6
3
  /**
7
4
  * all events used by Flowplayer
8
5
  */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.REAP = exports.RECOVER = exports.SOURCE = exports.VIEW_LEAVE = exports.VIEW_ENTER = exports.CUEPOINT_END = exports.CUEPOINT_START = exports.CUEPOINTS = exports.STATE = exports.BEFORE_PAUSE = exports.BEFORE_PLAY = exports.DURATION_CHANGE = exports.SEEKING = exports.SEEKED = exports.ENDED = exports.CAN_PLAY = exports.WAITING = exports.PLAY = exports.PLAYING = exports.PAUSE = exports.VOLUME_CHANGE = exports.LOAD_START = exports.TIME_UPDATE = exports.PROGRESS = exports.DATA = exports.METADATA = exports.WEBKIT_NEEDKEY = exports.FULLSCREEN_CHANGE = exports.FULLSCREEN_EXIT = exports.FULLSCREEN_ENTER = exports.SCROLL = exports.RESIZE = exports.TOUCH_CANCEL = exports.TOUCH_END = exports.TOUCH_MOVE = exports.TOUCH_START = exports.MOUSE_MOVE = exports.MOUSE_DOWN = exports.MOUSE_UP = exports.MOUSE_LEAVE = exports.MOUSE_ENTER = exports.CONTENT_REAL_LOAD_START = exports.LOAD = exports.KEYDOWN = exports.KEYUP = exports.DBL_CLICK = exports.CLICK = exports.CONTEXT_MENU = exports.ERROR = exports.MOUNT = void 0;
8
+ exports.RETRY = exports.INTERSECTIONCHANGE = exports.REMOTE_SESSION_ENDED = exports.REMOTE_SESSION_STARTED = exports.PLUGIN_REGISTERED = exports.SEEK_CANCEL = exports.SEEK_QUEUED = exports.LIVE = exports.DVR = exports.RENDER_PLUGIN = exports.PORTRAIT = exports.LANDSCAPE = exports.AUDIO_ONLY_SOURCE = exports.RECOMMENDATIONS_READY = exports.NON_RECOVERABLE_ERROR = exports.VIDEO_TRACK_SELECT = exports.SET_QUALITY = exports.VIDEO_TRACKS = exports.QUALITIES = exports.CONFIG = void 0;
9
9
  exports.MOUNT = "mount",
10
- // native events that flowplayer uses
11
- exports.ERROR = "error", exports.CONTEXT_MENU = "contextmenu", exports.CLICK = "click", exports.DBL_CLICK = "dblclick", exports.KEYUP = "keyup", exports.KEYDOWN = "keydown", exports.LOAD = "load", exports.MOUSE_ENTER = "mouseenter", exports.MOUSE_LEAVE = "mouseleave", exports.MOUSE_UP = "mouseup", exports.MOUSE_DOWN = "mousedown", exports.MOUSE_MOVE = "mousemove", exports.TOUCH_START = "touchstart", exports.TOUCH_MOVE = "touchmove", exports.TOUCH_END = "touchend", exports.TOUCH_CANCEL = "touchcancel", exports.RESIZE = "resize", exports.SCROLL = "scroll", exports.FULLSCREEN_ENTER = "fullscreenenter", exports.FULLSCREEN_EXIT = "fullscreenexit", exports.FULLSCREEN_CHANGE = "fullscreenchange", exports.WEBKIT_NEEDKEY = "webkitneedkey",
12
- // general video events flowplayer uses internally
13
- // https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Media_events
14
- exports.METADATA = "loadedmetadata", exports.DATA = "loadeddata", exports.PROGRESS = "progress", exports.TIME_UPDATE = "timeupdate", exports.LOAD_START = "loadstart", exports.VOLUME_CHANGE = "volumechange", exports.PAUSE = "pause", exports.PLAYING = "playing", exports.PLAY = "play", exports.WAITING = "waiting", exports.CAN_PLAY = "canplay", exports.ENDED = "ended", exports.SEEKED = "seeked", exports.SEEKING = "seeking", exports.DURATION_CHANGE = "durationchange",
15
- // Custom video events
16
- exports.BEFORE_PLAY = "beforeplay", exports.BEFORE_PAUSE = "beforepause",
17
- // Player (UI) state changed
10
+ // native events that flowplayer use
11
+ /**
12
+ * @public
13
+ */
14
+ exports.ERROR = "error",
15
+ /**
16
+ * @public
17
+ */
18
+ exports.CONTEXT_MENU = "contextmenu",
19
+ /**
20
+ * @public
21
+ */
22
+ exports.CLICK = "click",
23
+ /**
24
+ * @public
25
+ */
26
+ exports.DBL_CLICK = "dblclick",
27
+ /**
28
+ * @public
29
+ */
30
+ exports.KEYUP = "keyup",
31
+ /**
32
+ * @public
33
+ */
34
+ exports.KEYDOWN = "keydown",
35
+ /**
36
+ * @public
37
+ */
38
+ exports.LOAD = "load",
39
+ /**
40
+ * @internal
41
+ * Emitted to normalize that content has started loading across various browsers & plugin combinations for analytics timing
42
+ */
43
+ exports.CONTENT_REAL_LOAD_START = "content:loadstart",
44
+ /**
45
+ * @public
46
+ */
47
+ exports.MOUSE_ENTER = "mouseenter",
48
+ /**
49
+ * @public
50
+ */
51
+ exports.MOUSE_LEAVE = "mouseleave",
52
+ /**
53
+ * @public
54
+ */
55
+ exports.MOUSE_UP = "mouseup",
56
+ /**
57
+ * @public
58
+ */
59
+ exports.MOUSE_DOWN = "mousedown",
60
+ /**
61
+ * @public
62
+ */
63
+ exports.MOUSE_MOVE = "mousemove",
64
+ /**
65
+ * @public
66
+ */
67
+ exports.TOUCH_START = "touchstart",
68
+ /**
69
+ * @public
70
+ */
71
+ exports.TOUCH_MOVE = "touchmove",
72
+ /**
73
+ * @public
74
+ */
75
+ exports.TOUCH_END = "touchend",
76
+ /**
77
+ * @public
78
+ */
79
+ exports.TOUCH_CANCEL = "touchcancel",
80
+ /**
81
+ * @public
82
+ */
83
+ exports.RESIZE = "resize",
84
+ /**
85
+ * @public
86
+ */
87
+ exports.SCROLL = "scroll",
88
+ /**
89
+ * @public
90
+ */
91
+ exports.FULLSCREEN_ENTER = "fullscreenenter",
92
+ /**
93
+ * @public
94
+ */
95
+ exports.FULLSCREEN_EXIT = "fullscreenexit",
96
+ /**
97
+ * @public
98
+ */
99
+ exports.FULLSCREEN_CHANGE = "fullscreenchange",
100
+ /**
101
+ * @internal
102
+ */
103
+ exports.WEBKIT_NEEDKEY = "webkitneedkey",
104
+ /**
105
+ * @public
106
+ * general video events flowplayer uses internally
107
+ * https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Media_events
108
+ */
109
+ exports.METADATA = "loadedmetadata",
110
+ /**
111
+ * @public
112
+ */
113
+ exports.DATA = "loadeddata",
114
+ /**
115
+ * @public
116
+ */
117
+ exports.PROGRESS = "progress",
118
+ /**
119
+ * @public
120
+ */
121
+ exports.TIME_UPDATE = "timeupdate",
122
+ /**
123
+ * @public
124
+ */
125
+ exports.LOAD_START = "loadstart",
126
+ /**
127
+ * @public
128
+ */
129
+ exports.VOLUME_CHANGE = "volumechange",
130
+ /**
131
+ * @public
132
+ */
133
+ exports.PAUSE = "pause",
134
+ /**
135
+ * @public
136
+ */
137
+ exports.PLAYING = "playing",
138
+ /**
139
+ * @public
140
+ */
141
+ exports.PLAY = "play",
142
+ /**
143
+ * @public
144
+ */
145
+ exports.WAITING = "waiting",
146
+ /**
147
+ * @public
148
+ */
149
+ exports.CAN_PLAY = "canplay",
150
+ /**
151
+ * @public
152
+ */
153
+ exports.ENDED = "ended",
154
+ /**
155
+ * @public
156
+ */
157
+ exports.SEEKED = "seeked",
158
+ /**
159
+ * @public
160
+ */
161
+ exports.SEEKING = "seeking",
162
+ /**
163
+ * @public
164
+ */
165
+ exports.DURATION_CHANGE = "durationchange",
166
+ /**
167
+ * @internal
168
+ * Custom video events
169
+ */
170
+ exports.BEFORE_PLAY = "beforeplay",
171
+ /**
172
+ * @internal
173
+ */
174
+ exports.BEFORE_PAUSE = "beforepause",
175
+ /**
176
+ * @internal
177
+ * Player (UI) state changed
178
+ */
18
179
  exports.STATE = "state",
19
- // cuepoints parsing is asynchronous
20
- // you cannot rely on them existing until
21
- // this event is emitted
180
+ /**
181
+ * @public
182
+ * cuepoints parsing is asynchronous
183
+ * you cannot rely on them existing until
184
+ * this event is emitted
185
+ */
22
186
  exports.CUEPOINTS = "cuepoints",
23
- // when a cuepoint is active
187
+ /**
188
+ * @public
189
+ * when a cuepoint is active
190
+ */
24
191
  exports.CUEPOINT_START = "cuepointstart",
25
- // when a cuepoint becomes inactive
192
+ /**
193
+ * @public
194
+ * when a cuepoint becomes inactive
195
+ */
26
196
  exports.CUEPOINT_END = "cuepointend",
27
- // when a player enters the viewpoint
197
+ /**
198
+ * @public
199
+ * when a player enters the viewpoint
200
+ */
28
201
  exports.VIEW_ENTER = "viewenter",
29
- // when a player leaves the viewport
202
+ /**
203
+ * @public
204
+ * when a player leaves the viewport
205
+ */
30
206
  exports.VIEW_LEAVE = "viewleave",
31
- // emitted when a valid source is found prior to mounting
207
+ /**
208
+ * @public
209
+ * emitted when a valid source is found prior to mounting
210
+ */
32
211
  exports.SOURCE = "src",
33
- // emitted when an Error recovery is attempted
212
+ /**
213
+ * @internal
214
+ * emitted when an Error recovery is attempted
215
+ */
34
216
  exports.RECOVER = "recover",
35
- // emitted when it is safe to clean up a fp instance
217
+ /**
218
+ * @public
219
+ * emitted when it is safe to clean up a fp instance
220
+ */
36
221
  exports.REAP = "reap",
37
- // emitted whenever config is changed
222
+ /**
223
+ * @internal
224
+ * emitted whenever config is changed
225
+ */
38
226
  exports.CONFIG = "config",
39
- // emitted whenever a list of qualities has been made available
40
- // when index 0 is the highest quality and index 0+N is the lowest
227
+ /**
228
+ * @public
229
+ * emitted whenever a list of qualities has been made available
230
+ * when index 0 is the highest quality and index 0+N is the lowest
231
+ */
41
232
  exports.QUALITIES = "qualities",
42
- //emitted whenever multiple video tracks are detected
233
+ /**
234
+ * @public
235
+ * emitted whenever multiple video tracks are detected
236
+ */
43
237
  exports.VIDEO_TRACKS = "videoTracks",
44
- // allows plugins to listen for forced quality changes
45
- // it should emit the index of the quality to set
46
- // -1 is a special idx saying to use ABR if the plugin
47
- // exposes an ABR implementation
238
+ /**
239
+ * @public
240
+ * allows plugins to listen for forced quality changes
241
+ * it should emit the index of the quality to set
242
+ * -1 is a special idx saying to use ABR if the plugin
243
+ * exposes an ABR implementation
244
+ */
48
245
  exports.SET_QUALITY = "quality:set",
49
- // emitted when a video track is selected
246
+ /**
247
+ * @public
248
+ * emitted when a video track is selected
249
+ */
50
250
  exports.VIDEO_TRACK_SELECT = "tracks:video:select",
51
- // error that is fatal in a sense where nothing can be done and
52
- // player should be destroyed
251
+ /**
252
+ * @internal
253
+ * error that is fatal in a sense where nothing can be done and
254
+ * player should be destroyed
255
+ */
53
256
  exports.NON_RECOVERABLE_ERROR = "error:fatal",
54
257
  /**
55
258
  * @deprecated please use Endscreen.events.RECOMMENDATIONS_READY / flowplayer.endscreen.events.RECOMMENDATIONS_READY
56
259
  **/
57
- exports.RECOMMENDATIONS_READY = "recommendationsready", exports.AUDIO_ONLY_SOURCE = "audioonlysource", exports.LANDSCAPE = "landscape", exports.PORTRAIT = "portrait", exports.RENDER_PLUGIN = "renderplugin",
58
260
  /**
261
+ * @public
262
+ */
263
+ exports.RECOMMENDATIONS_READY = "recommendationsready",
264
+ /**
265
+ * @internal
266
+ */
267
+ exports.AUDIO_ONLY_SOURCE = "audioonlysource",
268
+ /**
269
+ * @public
270
+ */
271
+ exports.LANDSCAPE = "landscape",
272
+ /**
273
+ * @public
274
+ */
275
+ exports.PORTRAIT = "portrait",
276
+ /**
277
+ * @internal
278
+ */
279
+ exports.RENDER_PLUGIN = "renderplugin",
280
+ /**
281
+ * @public
59
282
  * when the player has started playing dvr content
60
283
  */
61
284
  exports.DVR = "dvr",
62
285
  /**
286
+ * @public
63
287
  * when src is a livestream
64
288
  */
65
- exports.LIVE = "live", exports.SEEK_QUEUED = "seek:queued", exports.SEEK_CANCEL = "seek:cancel", exports.PLUGIN_REGISTERED = "plugin:registered", exports.REMOTE_SESSION_STARTED = "remotesession:started", exports.REMOTE_SESSION_ENDED = "remotesession:ended", exports.INTERSECTIONCHANGE = "intersectionchange", exports.RETRY = "retry";
289
+ exports.LIVE = "live",
290
+ /**
291
+ * @internal
292
+ */
293
+ exports.SEEK_QUEUED = "seek:queued",
294
+ /**
295
+ * @internal
296
+ */
297
+ exports.SEEK_CANCEL = "seek:cancel",
298
+ /**
299
+ * @internal
300
+ */
301
+ exports.PLUGIN_REGISTERED = "plugin:registered",
302
+ /**
303
+ * @internal
304
+ */
305
+ exports.REMOTE_SESSION_STARTED = "remotesession:started",
306
+ /**
307
+ * @internal
308
+ */
309
+ exports.REMOTE_SESSION_ENDED = "remotesession:ended",
310
+ /**
311
+ * @internal
312
+ */
313
+ exports.INTERSECTIONCHANGE = "intersectionchange",
314
+ /**
315
+ * @internal
316
+ */
317
+ exports.RETRY = "retry";
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",y="is-starting",m="is-seeking",E="is-ended",h="is-live",g="is-waiting",w="is-live-seeked",S="no-timeline",v="will-play",_="will-pause",O="is-in-viewport";var I=Object.freeze({__proto__:null,PLAYING:u,FULLSCREEN:"is-fullscreen",PAUSED:d,MUTED:"is-muted",LOADED:p,LOADING:f,STARTING:y,SEEKING:m,GRABBING:"is-grabbing",DISABLED:"is-disabled",SMALL:"is-small",TINY:"is-tiny",RTL:"is-rtl",TV:"is-tv",ENDED:E,LIVE:h,ERRORED:"is-error",WAITING:g,AUTOPLAY:"is-autoplay",SEAMLESS:"is-seamless",TOGGLING:"is-toggling",LIVE_SEEKED:w,NO_DVR:S,HAS_POSTER:"has-poster",WILL_PLAY:v,WILL_PAUSE:_,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:O,NO_CONTROLS:"no-controls",DESTROYED:"is-destroyed",IS_SOURCE_PROCESSING:"is-source-processing"});function N(e){this.message=e}N.prototype=new Error,N.prototype.name="InvalidCharacterError";var T="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new N("'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 A=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(T(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 T(t)}};function L(e){this.message=e}L.prototype=new Error,L.prototype.name="InvalidTokenError";var b=function(e,t){if("string"!=typeof e)throw new L("Invalid token specified");var n=!0===(t=t||{}).header?0:1;try{return JSON.parse(A(e.split(".")[n]))}catch(e){throw new L("Invalid token specified: "+e.message)}};b.InvalidTokenError=L;const R=new Map,C=(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 k,D;!function(e){e[e.LOW=1]="LOW",e[e.MEDIUM=2]="MEDIUM",e[e.HIGH=4]="HIGH"}(k||(k={})),function(e){e[e.OFF=0]="OFF",e[e.ON=1]="ON",e[e.AUDIO_REQUIRED=2]="AUDIO_REQUIRED"}(D||(D={}));const U=e=>{return e.autoplay&&D.AUDIO_REQUIRED&(!0===(t=e.autoplay)?D.ON:!1===t?D.OFF:t);var t};function P(e,t,n){const o="boolean"==typeof n;if("boolean"!=typeof n&&(n=!!e.hasState(_)||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(v)?(e.setState(_,!0),e.setState(v,!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!==x(e.original_src)&&M(e),r):(function(e){return(0==e.networkState||0==e.readyState)&&e.currentSrc==x(e.original_src)}(e)&&M(e),function(e){const t=e.hasState("is-autoplay"),n=t&&U(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(_)&&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.play()})}(e)):(e.setState(_,!1),!e.hasState(u)&&e.setState(v,!0),Promise.resolve())}function M(e){e.currentSrc.match(/^blob:/)||e.load()}function x(e){const t=document.createElement("a");return t.href=e,t.href}function W(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 V(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 H(e){switch(e){case"video/mpd":return"application/dash+xml";case"video/m3u8":return"application/x-mpegurl";default:return e}}const j=e=>{var{src:t}=e,n=W(e,["src"]);return[Object.assign({src:t,type:t?H("video/"+V(t)):""},n)]};function G(e){return j({src:e})}function F(e){var{src:t,type:n}=e,o=W(e,["src","type"]);return t&&n?[Object.assign({src:t,type:n},o)]:n&&!t?[Object.assign({type:n},o)]:j(Object.assign({src:t},o))}var K;function Y(e,t,n,o={safari:!1}){const r=function(e){return"string"==typeof e?G(e):Array.isArray(e)||"object"!=typeof e?e.reduce((function(e,t){return"string"==typeof t&&(t=G(t)),"object"!=typeof t||Array.isArray(t)||(t=F(t)),e.concat(t)}),[]):F(e)}(n);return function(e){[m,_,v,u,d,f,p,w].forEach(t=>e.setState(t,!1)),e.setState(y,!0)}(e),Array(...Array(r.length)).map((e,t)=>t).some(n=>{const i=r[n];if(K.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),K.Ok):K.Err}(e,t,i)||K.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 K.Err;if(n.drm&&(!n.drm["com.apple.fps.1_0"]||!o.safari))return K.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 K.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"}(K||(K={}));const B=[a,"seeking","src","seek:cancel"];var z;function q(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(z.BACKWARD,t.offset<0),e.setState(z.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(z.FORWARD,!1),e.setState(z.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 X(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"}(z||(z={}));const $=[1e7]+""+-1e3+-4e3+-8e3+-1e11,J=()=>"undefined"==typeof crypto?"":$.replace(/[018]/g,e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16));let ee="";!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 te=["touchstart","touchmove"];function ne(e,t){const n=new CustomEvent(e,{detail:t,cancelable:!0});return t&&Object.defineProperty(n,"data",{get:()=>t}),n}function oe(e,t,n){const o=ne(t,n);return e.dispatchEvent(o),e}function re(e,t,n){const o=ne(t,n);return e.dispatchEvent(o),o}function ie(e,t,n,o){Array.isArray(t)?t.forEach(t=>ae(e,t,n,o)):ae(e,t,n,o)}function ae(e,t,n,o){if(r=t,!~te.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 se(e,t,n,o){return ie(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 le={preload:"none",rtl:!1,controls:!0},ce=["loop","muted","preload"];function ue(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(S)!=n&&r.setState(S,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 Y(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,oe(r,"state",r.playerState),r},r.createComponents=function(...e){return Array.from({length:e.length}).map((t,n)=>C(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)=>(oe(r,e,t),r),r.on=(e,t)=>(ie(r,e,t),r),r.once=(e,t)=>(se(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)=>re(r,e,t),r.togglePlay=function(e){return P(r,0,e)},r.toggleMute=function(e){e=null==e?!r.muted:!!e,r.muted=e,r.muted||r.volume||(r.volume=1),oe(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(),oe(r,a),r.setState("is-destroyed",!0)}),0)},r.setAttrs=function(e){return ce.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?X(le,t):n,X(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:X(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(h)&&(r.setState(S,!0),oe(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(h,!!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+"')":"",oe(r,"config",e)},r.renderPlugin=function(e){re(r,"renderplugin",e).defaultPrevented||r.root.appendChild(e)};const s={offset:0,timer:0};var l,c;c=s,(l=r).on(B,(function(){Z(l,c)})),r.enqueueSeek=function(e){if(0!=r.opts.seekable&&!(1==r.opts.disabled&&e>0))return q(r,s,e)},r.deviceId=function(){return function(e){if(ee)return ee;try{const t=e.getItem("flowplayer/uuid");if(t)return t;const n=J();return e.setItem("flowplayer/uuid",n),n}catch(e){return ee=J()}}(r._storage)}}function de(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 pe="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};const fe=["localhost","127.0.0.1","0.0.0.0","s.codepen.io","cdpn.io","try.flowplayer.com"];function ye(e,t){return!!~fe.indexOf(e)||e.indexOf(t)===e.length-t.length}ye.check_whitelist=function(e){return!!~fe.indexOf(e)};const me="production";function Ee(e,t){const n={valid_jwt:!1,raw:"",data:{acl:0},exp:0};let o={c:"{}",exp:0};t=t||{};try{o=b(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&&Ee.validate(n),n}function he(e){try{return Ee.validate(e),{success:!0,message:""}}catch(e){return{success:!1,message:e.message}}}var ge;function we(e){return{grant:e,is_granted:t=>(e&t)===t}}function Se({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)}Ee.validate=function(e){if("string"==typeof e&&(e=Ee(e)),!e||!e.raw){if(ye.check_whitelist(window.location.hostname)||"dev"===me.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=ye.bind(null,t);if("dev"!==me.toString()&&e.data.domain&&e.data.domain.length&&!e.data.domain.some(n))throw new Error("Domain not allowed");if("dev"!==me.toString()&&1e3*e.exp-Date.now()<0)throw new Error("Expired token");return!0},Ee.id=function(e){if(e)return"string"==typeof e&&(e=Ee(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"}(ge||(ge={})),we.of=we,we.from_token=function(e){const t=Ee(e,{require_valid_token:!0});return we.of(t.data.acl)},we.permissions=ge;function ve(e){return function(e,t){const n=e.seekable;if("object"!=typeof e.opts||0==n.length)return{head:0,tail:0};const o=_e(e),r=t||e.live_state.dvr_window;return{head:o,tail:"number"!=typeof r||o-r<0?n.start(0):o-r}}(e).tail}function _e(e){var t;const n=e.seekable;return n.length?e.hasState("is-chromecast-playing")||!(null===(t=e.hls)||void 0===t?void 0:t.liveSyncPosition)?n.end(n.length-1):e.hls.liveSyncPosition:0}function Oe(e){try{e.dvr_offset=0,e.currentTime=_e(e)}catch(e){console.warn("failed to seek to now: %j",e)}}function Ie(e,t){const n=t.clientWidth;t.classList.toggle("is-small",n<600),t.classList.toggle("is-tiny",n<400)}function Ne(e,t,i){let a=!0;t.classList.add("flowplayer"),Ie(0,t),ie(i,["loadstart","resize"],(function(){Ie(0,t)})),ie(i,"state",(function(){Object.entries(i.playerState).forEach((function([e,n]){t.classList.toggle(e,n)}))})),ie(i,"timeupdate",(function(){i.setState(g,!i.hasState("is-casting")&&!i.hasState(y)&&i.readyState<3)})),ie(i,"ended",(function(t){setTimeout((function(){if(!t.defaultPrevented){if(e.rewind&&!i.loop){const e=i.src;i.setState(m,!0),se(i,"seeked",(function(){e===i.src&&(i.setState(m,!1),i.pause(),i.setState(y,!0))})),i.currentTime=0}se(i,"timeupdate",(function(){i.setState(E,!1)})),i.transitionState(E,u,e.loop||e.rewind?0:300)}}),0)})),ie(i,["seeking","seeked"],(function(e){i.setState(m,"seeking"==e.type)})),ie(i,"remotesession:ended",(function(e){setTimeout(()=>i.currentTime=e.detail.currentTime,0)})),ie(i,"ended",(function(){i.setState(u,!1),a=!0})),ie(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))}),ie(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")})),ie(i,"play",()=>{i.setState(v,!0)}),ie(i,["waiting","canplay","loadstart"],(function(t){if(!i.hasState(m)&&("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 se(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)}})),ie(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(v,!1),!n&&i.setState(_,!1),o)return;const s=n?u:d,l=n?d:u;i.transitionState(s,l,r?0:300),i.hasState(y)&&!i.root.classList.contains("ad-hide-first-frame")&&function(e,t){if(!e.hasState(h)||![void 0,0,-1].includes(t)||!e.seekable.length)return e.setState(y,!1);e.once("seeked",()=>e.setState(y,!1)),0===t?function(e){e.currentTime=ve(e)}(e):Oe(e)}(i,e.start_time)}))}const Te=[0].concat(Array.from({length:100}).map((e,t)=>(t+1)/100));function Ae(e,t,o){if(!window.IntersectionObserver)return;const r={should_resume:!!e.autoplay,locked:!1};ie(o,"play",(function(){r.locked||(r.should_resume=!0)}));const i=()=>{if(!e.autoplay)return;if(o.hasState(O)&&r.should_resume)return o.togglePlay(!0);const t=o.currentSrc;e.autopause||o.hasState(O)||!r.should_resume||se(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(O))return o.load();const t=o.currentSrc;se(o,"viewenter",()=>{t!==o.currentSrc||o.readyState>1||!o.paused||o.load()})};ie(o,"src",(function(){r.should_resume=!!e.autoplay,o.off("loadstart",s),o.once("loadstart",s),o.off("canplay",i),o.once("canplay",i)})),ie(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(O);if(o.setState(O,t>=.2),o.emit("intersectionchange",{ratio:t}),n===o.hasState(O))return;const r=o.hasState(O)?"viewenter":"viewleave";o.emit(r)},0)})},{threshold:Te});l.observe(t),o.on(a,()=>l.disconnect()),ie(o,"viewenter",(function(){!r.should_resume||!e.autopause||Le()||o.opts.autoplay&&!o.readyState||o.togglePlay(!0)})),ie(o,"viewleave",(function(){if(!e.autopause||Le())return;const t=!o.paused;r.locked=!0,o.pause(),setTimeout((function(){r.should_resume=t,r.locked=!1}),0)}))}function Le(){return t.find(e=>e.hasState("is-casting"))}function be(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 Re(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 Ce(e,t,n){const i=!!e.ratio,a=document.createElement("div");a.classList.add("fp-ratio"),t.append(a);let s=Re(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=Re((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(ke).forEach(([e,t])=>{r.style.setProperty(e,t,"important")}),o.appendChild(r)}}const ke={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 De(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 Ue(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=Pe("flowplayer.version","3.14.1");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=Pe("hls.version",i.version);o.append(e)}e.appendChild(o)}(e,t))})}const Pe=(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 Me=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 xe(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)),Me("%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 We=function(){const e="undefined"!=typeof window?window:void 0!==pe?pe:{},t=e.flowplayer?e.flowplayer:{extensions:[]};return Array.isArray(t.extensions)||(t.extensions=[]),t}();function Ve(n,r){if("function"==typeof n)return e.push(...[...arguments].filter(e=>"function"==typeof e)),Ve;"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=he(r.token);if(!l.success)return Se({root:i,data:{reason:"token",details:l.message}});const c=new Map,u=de(r,i);u.reaper=c,u._customElements=R,Object.defineProperty(u,"token",{value:"string"==typeof r.token?Ee.id(r.token):"",writable:!1}),u.addEventListener(a,()=>{c.clear(),u.reaper=0,delete u.root}),u.root=i,r.token&&we.from_token(r.token).is_granted(we.permissions.DEVELOPER_PLAN)&&e.push(ExplorerPlan),!~t.indexOf(u)&&t.push(u),ue(r,i,u),u.setAttrs(r),u.plugins=Ve.extensions.map(e=>new e(Ve,u)),Ne(r,i,u),Ae(r,i,u),be(i,u),Ce(r,i,u),De(u),Ue(i,u),xe(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){Se({root:i,video:u,data:e.data||{}})})),setTimeout(oe,0,document,"flowplayer:player:created",u),u}return Object.assign(Ve,We),function(o){Array.isArray(o.extensions)&&o.extensions.forEach(t=>e.push(t)),o.customElements=R,o.defaultElements=c,o.version="3.14.1",o.commit="fdc2d02da52c1b1c1f231bc8c940582a3a26866e",o.instances=t,o.extensions=e,o.support=n,o.events=l,o.states=I,o.jwt=b,o.autoplay=D,o.quality=k}(Ve),"object"==typeof document&&setTimeout(oe,0,document,"flowplayer:umd",Ve),Ve}));
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",CONTENT_REAL_LOAD_START:"content:loadstart",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",h="is-live",g="is-waiting",w="is-live-seeked",S="no-timeline",v="will-play",_="will-pause",O="is-in-viewport";var I=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:h,ERRORED:"is-error",WAITING:g,AUTOPLAY:"is-autoplay",SEAMLESS:"is-seamless",TOGGLING:"is-toggling",LIVE_SEEKED:w,NO_DVR:S,HAS_POSTER:"has-poster",WILL_PLAY:v,WILL_PAUSE:_,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:O,NO_CONTROLS:"no-controls",DESTROYED:"is-destroyed",IS_SOURCE_PROCESSING:"is-source-processing"});function T(e){this.message=e}T.prototype=new Error,T.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 T("'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 A=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 L(e){this.message=e}L.prototype=new Error,L.prototype.name="InvalidTokenError";var b=function(e,t){if("string"!=typeof e)throw new L("Invalid token specified");var n=!0===(t=t||{}).header?0:1;try{return JSON.parse(A(e.split(".")[n]))}catch(e){throw new L("Invalid token specified: "+e.message)}};b.InvalidTokenError=L;const R=new Map,C=(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 D,k;!function(e){e[e.LOW=1]="LOW",e[e.MEDIUM=2]="MEDIUM",e[e.HIGH=4]="HIGH"}(D||(D={})),function(e){e[e.OFF=0]="OFF",e[e.ON=1]="ON",e[e.AUDIO_REQUIRED=2]="AUDIO_REQUIRED"}(k||(k={}));const U=e=>{return e.autoplay&&k.AUDIO_REQUIRED&(!0===(t=e.autoplay)?k.ON:!1===t?k.OFF:t);var t};function P(e,t,n){const o="boolean"==typeof n;if("boolean"!=typeof n&&(n=!!e.hasState(_)||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(v)?(e.setState(_,!0),e.setState(v,!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!==x(e.original_src)&&M(e),r):(function(e){return(0==e.networkState||0==e.readyState)&&e.currentSrc==x(e.original_src)}(e)&&M(e),function(e){const t=e.hasState("is-autoplay"),n=t&&U(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(_)&&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.play()})}(e)):(e.setState(_,!1),!e.hasState(u)&&e.setState(v,!0),Promise.resolve())}function M(e){e.opts.is_native&&(e.hasState(p)||(e.hasState(f)||e.emit("content:loadstart"),e.setState(f,!0),e.load()))}function x(e){const t=document.createElement("a");return t.href=e,t.href}function W(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 V(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 H(e){switch(e){case"video/mpd":return"application/dash+xml";case"video/m3u8":return"application/x-mpegurl";default:return e}}const j=e=>{var{src:t}=e,n=W(e,["src"]);return[Object.assign({src:t,type:t?H("video/"+V(t)):""},n)]};function G(e){return j({src:e})}function F(e){var{src:t,type:n}=e,o=W(e,["src","type"]);return t&&n?[Object.assign({src:t,type:n},o)]:n&&!t?[Object.assign({type:n},o)]:j(Object.assign({src:t},o))}var K;function Y(e,t,n,o={safari:!1}){const r=function(e){return"string"==typeof e?G(e):Array.isArray(e)||"object"!=typeof e?e.reduce((function(e,t){return"string"==typeof t&&(t=G(t)),"object"!=typeof t||Array.isArray(t)||(t=F(t)),e.concat(t)}),[]):F(e)}(n);return function(e){[y,_,v,u,d,f,p,w].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(K.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),K.Ok):K.Err}(e,t,i)||K.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 K.Err;if(n.drm&&(!n.drm["com.apple.fps.1_0"]||!o.safari))return K.Err;"string"==typeof n.src&&(e.preload=null!==(r=t.preload)&&void 0!==r?r:"auto",e.src=n.src);return K.Ok}(e,t,i,o))return!0;n==r.length-1&&"string"==typeof i.src&&(e.src=i.src)}),e}!function(e){e[e.Err=0]="Err",e[e.Ok=1]="Ok"}(K||(K={}));const B=[a,"seeking","src","seek:cancel"];var z;function q(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(z.BACKWARD,t.offset<0),e.setState(z.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(z.FORWARD,!1),e.setState(z.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 X(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"}(z||(z={}));const $=[1e7]+""+-1e3+-4e3+-8e3+-1e11,J=()=>"undefined"==typeof crypto?"":$.replace(/[018]/g,e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16));let ee="";!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 te=["touchstart","touchmove"];function ne(e,t){const n=new CustomEvent(e,{detail:t,cancelable:!0});return t&&Object.defineProperty(n,"data",{get:()=>t}),n}function oe(e,t,n){const o=ne(t,n);return e.dispatchEvent(o),e}function re(e,t,n){const o=ne(t,n);return e.dispatchEvent(o),o}function ie(e,t,n,o){Array.isArray(t)?t.forEach(t=>ae(e,t,n,o)):ae(e,t,n,o)}function ae(e,t,n,o){if(r=t,!~te.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 se(e,t,n,o){return ie(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 le={preload:"auto",rtl:!1,controls:!0},ce=["loop","muted","preload"];function ue(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(S)!=n&&r.setState(S,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 Y(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,oe(r,"state",r.playerState),r},r.createComponents=function(...e){return Array.from({length:e.length}).map((t,n)=>C(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)=>(oe(r,e,t),r),r.on=(e,t)=>(ie(r,e,t),r),r.once=(e,t)=>(se(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)=>re(r,e,t),r.togglePlay=function(e){return P(r,0,e)},r.toggleMute=function(e){e=null==e?!r.muted:!!e,r.muted=e,r.muted||r.volume||(r.volume=1),oe(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(),oe(r,a),r.setState("is-destroyed",!0)}),0)},r.setAttrs=function(e){return ce.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?X(le,t):n,X(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:X(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(h)&&(r.setState(S,!0),oe(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(h,!!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+"')":"",oe(r,"config",e)},r.renderPlugin=function(e){re(r,"renderplugin",e).defaultPrevented||r.root.appendChild(e)};const s={offset:0,timer:0};var l,c;c=s,(l=r).on(B,(function(){Z(l,c)})),r.enqueueSeek=function(e){if(0!=r.opts.seekable&&!(1==r.opts.disabled&&e>0))return q(r,s,e)},r.deviceId=function(){return function(e){if(ee)return ee;try{const t=e.getItem("flowplayer/uuid");if(t)return t;const n=J();return e.setItem("flowplayer/uuid",n),n}catch(e){return ee=J()}}(r._storage)}}function de(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 pe="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};const fe=["localhost","127.0.0.1","0.0.0.0","s.codepen.io","cdpn.io","try.flowplayer.com"];function me(e,t){return!!~fe.indexOf(e)||e.indexOf(t)===e.length-t.length}me.check_whitelist=function(e){return!!~fe.indexOf(e)};const ye="production";function Ee(e,t){const n={valid_jwt:!1,raw:"",data:{acl:0},exp:0};let o={c:"{}",exp:0};t=t||{};try{o=b(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&&Ee.validate(n),n}function he(e){try{return Ee.validate(e),{success:!0,message:""}}catch(e){return{success:!1,message:e.message}}}var ge;function we(e){return{grant:e,is_granted:t=>(e&t)===t}}function Se({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)}Ee.validate=function(e){if("string"==typeof e&&(e=Ee(e)),!e||!e.raw){if(me.check_whitelist(window.location.hostname)||"dev"===ye.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=me.bind(null,t);if("dev"!==ye.toString()&&e.data.domain&&e.data.domain.length&&!e.data.domain.some(n))throw new Error("Domain not allowed");if("dev"!==ye.toString()&&1e3*e.exp-Date.now()<0)throw new Error("Expired token");return!0},Ee.id=function(e){if(e)return"string"==typeof e&&(e=Ee(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"}(ge||(ge={})),we.of=we,we.from_token=function(e){const t=Ee(e,{require_valid_token:!0});return we.of(t.data.acl)},we.permissions=ge;function ve(e){return function(e,t){const n=e.seekable;if("object"!=typeof e.opts||0==n.length)return{head:0,tail:0};const o=_e(e),r=t||e.live_state.dvr_window;return{head:o,tail:"number"!=typeof r||o-r<0?n.start(0):o-r}}(e).tail}function _e(e){var t;const n=e.seekable;return n.length?e.hasState("is-chromecast-playing")||!(null===(t=e.hls)||void 0===t?void 0:t.liveSyncPosition)?n.end(n.length-1):e.hls.liveSyncPosition:0}function Oe(e){try{e.dvr_offset=0,e.currentTime=_e(e)}catch(e){console.warn("failed to seek to now: %j",e)}}function Ie(e,t){const n=t.clientWidth;t.classList.toggle("is-small",n<600),t.classList.toggle("is-tiny",n<400)}function Te(e,t,n){let i=!0;t.classList.add("flowplayer"),Ie(0,t),ie(n,"loadstart",()=>{if(!n.hasState(f)&&!n.hasState(p)&&e.is_native&&"none"!==e.preload)return"metadata"===e.preload?(n.setState(f,!0),n.emit("content:loadstart")):void M(n)}),ie(n,o,()=>{e.is_native&&"metadata"===e.preload&&n.paused&&n.emit("canplay")}),ie(n,["loadstart","resize"],(function(){Ie(0,t)})),ie(n,"state",(function(){Object.entries(n.playerState).forEach((function([e,n]){t.classList.toggle(e,n)}))})),ie(n,"timeupdate",(function(){n.setState(g,!n.hasState("is-casting")&&!n.hasState(m)&&n.readyState<3)})),ie(n,"ended",(function(t){setTimeout((function(){if(!t.defaultPrevented){if(e.rewind&&!n.loop){const e=n.src;n.setState(y,!0),se(n,"seeked",(function(){e===n.src&&(n.setState(y,!1),n.pause(),n.setState(m,!0))})),n.currentTime=0}se(n,"timeupdate",(function(){n.setState(E,!1)})),n.transitionState(E,u,e.loop||e.rewind?0:300)}}),0)})),ie(n,["seeking","seeked"],(function(e){n.setState(y,"seeking"==e.type)})),ie(n,"remotesession:ended",(function(e){setTimeout(()=>n.currentTime=e.detail.currentTime,0)})),ie(n,"ended",(function(){n.setState(u,!1),i=!0})),ie(n,"progress",()=>{if(!n.opts.live||!n.opts.is_native)return;const e=n.seekable;0!=e.length&&n.emit("dvr/window",e.end(e.length-1)-e.start(0))}),ie(n,r,(function(){var e,t;n.setState(p,!0),n.setState(f,!1);const o=n;0===(null===(e=o.videoTracks)||void 0===e?void 0:e.length)&&(null===(t=o.audioTracks)||void 0===t?void 0:t.length)>0&&n.emit("audioonlysource")})),ie(n,"play",()=>{n.setState(v,!0)}),ie(n,["waiting","canplay","loadstart"],(function(t){if(!n.hasState(y)&&("canplay"!=t.type||e.autoplay||n.setState(g,!1),"loadstart"!=t.type||"none"!=n.opt("preload")||e.autoplay)){if("loadstart"==t.type&&e.autoplay)return se(n,"playing",(function(){n.setState(g,!1)}));"waiting"!=t.type||n.hasState(p)||n.setState(f,!0),n.setState(E,!1),n.setState(g,"waiting"==t.type)}})),ie(n,["playing","pause"],(function(t){setTimeout(()=>{const e=new CustomEvent("flowplayer/"+t.type,{detail:n});document.dispatchEvent(e)},0);const o="playing"==t.type,r=n.currentTime==n.duration,a=o&&i&&e.autoplay||n.hasState(g);if(o&&(n.started=!0,i=!1),n.setState(g,!1).setState(v,!1),!o&&n.setState(_,!1),r)return;const s=o?u:d,l=o?d:u;n.transitionState(s,l,a?0:300),n.hasState(m)&&!n.root.classList.contains("ad-hide-first-frame")&&function(e,t){if(!e.hasState(h)||![void 0,0,-1].includes(t)||!e.seekable.length)return e.setState(m,!1);e.once("seeked",()=>e.setState(m,!1)),0===t?function(e){e.currentTime=ve(e)}(e):Oe(e)}(n,e.start_time)}))}const Ne=[0].concat(Array.from({length:100}).map((e,t)=>(t+1)/100));function Ae(e,t,n){if(!window.IntersectionObserver)return;const o={should_resume:!!e.autoplay,locked:!1};ie(n,"play",(function(){o.locked||(o.should_resume=!0)}));const r=()=>{if(!e.autoplay)return;if(n.hasState(O)&&o.should_resume)return n.togglePlay(!0);const t=n.currentSrc;e.autopause||n.hasState(O)||!o.should_resume||se(n,"viewenter",()=>{e.autoplay&&o.should_resume&&t===n.currentSrc&&n.togglePlay(!0)})},i=()=>{if(!e.autoplay)return;if(!e.is_native)return;if("auto"===e.preload)return;if(n.hasState(O))return M(n);const t=n.currentSrc;se(n,"viewenter",()=>{t!==n.currentSrc||n.readyState>1||!n.paused||M(n)})};ie(n,"src",(function(){o.should_resume=!!e.autoplay,n.off("loadstart",i),n.once("loadstart",i),n.off("canplay",r),n.once("canplay",r)})),ie(n,"pause",(function(){o.locked||(o.should_resume=!1)}));const s=new IntersectionObserver(e=>{e.forEach(e=>{setTimeout(()=>{const t=e.intersectionRatio,o=n.hasState(O);if(n.setState(O,t>=.2),n.emit("intersectionchange",{ratio:t}),o===n.hasState(O))return;const r=n.hasState(O)?"viewenter":"viewleave";n.emit(r)},0)})},{threshold:Ne});s.observe(t),n.on(a,()=>s.disconnect()),ie(n,"viewenter",(function(){!o.should_resume||!e.autopause||Le()||n.opts.autoplay&&!n.readyState||n.togglePlay(!0)})),ie(n,"viewleave",(function(){if(!e.autopause||Le())return;const t=!n.paused;o.locked=!0,n.pause(),setTimeout((function(){o.should_resume=t,o.locked=!1}),0)}))}function Le(){return t.find(e=>e.hasState("is-casting"))}function be(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 Re(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 Ce(e,t,n){const i=!!e.ratio,a=document.createElement("div");a.classList.add("fp-ratio"),t.append(a);let s=Re(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=Re((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(De).forEach(([e,t])=>{r.style.setProperty(e,t,"important")}),o.appendChild(r)}}const De={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 ke(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 Ue(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=Pe("flowplayer.version","3.15.0-rc.10");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=Pe("hls.version",i.version);o.append(e)}e.appendChild(o)}(e,t))})}const Pe=(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 Me=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 xe(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)),Me("%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 We=function(){const e="undefined"!=typeof window?window:void 0!==pe?pe:{},t=e.flowplayer?e.flowplayer:{extensions:[]};return Array.isArray(t.extensions)||(t.extensions=[]),t}();function Ve(n,r){if("function"==typeof n)return e.push(...[...arguments].filter(e=>"function"==typeof e)),Ve;"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=he(r.token);if(!l.success)return Se({root:i,data:{reason:"token",details:l.message}});const c=new Map,u=de(r,i);u.reaper=c,u._customElements=R,Object.defineProperty(u,"token",{value:"string"==typeof r.token?Ee.id(r.token):"",writable:!1}),u.addEventListener(a,()=>{c.clear(),u.reaper=0,delete u.root}),u.root=i,r.token&&we.from_token(r.token).is_granted(we.permissions.DEVELOPER_PLAN)&&e.push(ExplorerPlan),!~t.indexOf(u)&&t.push(u),ue(r,i,u),u.setAttrs(r),u.plugins=Ve.extensions.map(e=>new e(Ve,u)),Te(r,i,u),Ae(r,i,u),be(i,u),Ce(r,i,u),ke(u),Ue(i,u),xe(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){Se({root:i,video:u,data:e.data||{}})})),setTimeout(oe,0,document,"flowplayer:player:created",u),u}return Object.assign(Ve,We),function(o){Array.isArray(o.extensions)&&o.extensions.forEach(t=>e.push(t)),o.customElements=R,o.defaultElements=c,o.version="3.15.0-rc.10",o.commit="8d8bc0f7d20c543eca3a2dddffe273f2a82ccc12",o.instances=t,o.extensions=e,o.support=n,o.events=l,o.states=I,o.jwt=b,o.autoplay=k,o.quality=D}(Ve),"object"==typeof document&&setTimeout(oe,0,document,"flowplayer:umd",Ve),Ve}));