aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore5
-rw-r--r--demo/error.html2
-rw-r--r--demo/index.html5
-rw-r--r--demo/webvtt/View_From_A_Blue_Moon_Trailer-HD.en.vtt29
-rw-r--r--demo/webvtt/View_From_A_Blue_Moon_Trailer-HD.fr.vtt29
-rw-r--r--dist/plyr.js4
-rw-r--r--readme.md7
-rw-r--r--src/js/plyr.js81
8 files changed, 134 insertions, 28 deletions
diff --git a/.gitignore b/.gitignore
index 610716ad..06460b5a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,9 +3,6 @@ node_modules
*.sublime-workspace
.DS_Store
aws.json
-docs/index.dev.html
*.mp4
-index-dev.html
+index-*.html
notes.txt
-*.vtt
-docs/index.dev.php
diff --git a/demo/error.html b/demo/error.html
index f867c915..c9ba8c36 100644
--- a/demo/error.html
+++ b/demo/error.html
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Docs styles -->
- <link rel="stylesheet" href="dist/docs.css">
+ <link rel="stylesheet" href="dist/demo.css">
</head>
<body>
<main>
diff --git a/demo/index.html b/demo/index.html
index 0c9b83af..5c9a6166 100644
--- a/demo/index.html
+++ b/demo/index.html
@@ -51,13 +51,14 @@
</ul>
</nav>
<section>
- <video poster="https://cdn.selz.com/plyr/1.5/View_From_A_Blue_Moon_Trailer-HD.jpg" controls crossorigin>
+ <video poster="https://cdn.selz.com/plyr/1.5/View_From_A_Blue_Moon_Trailer-HD.jpg" controls>
<!-- Video files -->
<source src="https://cdn.selz.com/plyr/1.5/View_From_A_Blue_Moon_Trailer-HD.mp4" type="video/mp4">
<source src="https://cdn.selz.com/plyr/1.5/View_From_A_Blue_Moon_Trailer-HD.webm" type="video/webm">
<!-- Text track file -->
- <track kind="captions" label="English" srclang="en" src="https://cdn.selz.com/plyr/1.5/View_From_A_Blue_Moon_Trailer-HD.en.vtt" default>
+ <track kind="captions" label="English" srclang="en" src="webvtt/View_From_A_Blue_Moon_Trailer-HD.en.vtt" default>
+ <track kind="captions" label="Français" srclang="fr" src="webvtt/View_From_A_Blue_Moon_Trailer-HD.fr.vtt" default>
<!-- Fallback for browsers that don't support the <video> element -->
<a href="https://cdn.selz.com/plyr/1.5/View_From_A_Blue_Moon_Trailer-HD.mp4" download>Download</a>
diff --git a/demo/webvtt/View_From_A_Blue_Moon_Trailer-HD.en.vtt b/demo/webvtt/View_From_A_Blue_Moon_Trailer-HD.en.vtt
new file mode 100644
index 00000000..5da5f307
--- /dev/null
+++ b/demo/webvtt/View_From_A_Blue_Moon_Trailer-HD.en.vtt
@@ -0,0 +1,29 @@
+WEBVTT FILE
+
+1
+00:00:09.500 --> 00:00:12.000
+The ocean floor rises 5 miles to the shores
+
+2
+00:00:12.001 --> 00:00:16.500
+of what people call, the seven mile miracle
+
+3
+00:00:25.500 --> 00:00:28.000
+What would it be like to be born on this island?
+
+4
+00:00:32.500 --> 00:00:34.500
+To grow up on these shores
+
+5
+00:00:37.500 --> 00:00:40.000
+To witness this water, every day
+
+6
+00:00:43.500 --> 00:00:46.000
+You're about to meet someone, who did
+
+7
+00:02:45.500 --> 00:02:49.000
+This is a film about John John Florence \ No newline at end of file
diff --git a/demo/webvtt/View_From_A_Blue_Moon_Trailer-HD.fr.vtt b/demo/webvtt/View_From_A_Blue_Moon_Trailer-HD.fr.vtt
new file mode 100644
index 00000000..52e3af7d
--- /dev/null
+++ b/demo/webvtt/View_From_A_Blue_Moon_Trailer-HD.fr.vtt
@@ -0,0 +1,29 @@
+WEBVTT FILE
+
+1
+00:00:09.500 --> 00:00:12.000
+Le fond de l'océan monte 5 miles des rives
+
+2
+00:00:12.001 --> 00:00:16.500
+de ce que les gens appellent le miracle de sept mile
+
+3
+00:00:25.500 --> 00:00:28.000
+Que serait-il d'être né sur cette île?
+
+4
+00:00:32.500 --> 00:00:34.500
+Pour grandir sur ces rivages
+
+5
+00:00:37.500 --> 00:00:40.000
+Pour assister à cette eau, tous les jours
+
+6
+00:00:43.500 --> 00:00:46.000
+Vous êtes sur le point de rencontrer quelqu'un, qui ne
+
+7
+00:02:45.500 --> 00:02:49.000
+Ceci est un film sur John John Florence \ No newline at end of file
diff --git a/dist/plyr.js b/dist/plyr.js
index f5e27a50..23ecb295 100644
--- a/dist/plyr.js
+++ b/dist/plyr.js
@@ -1,2 +1,2 @@
-!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=t(e,document):"function"==typeof define&&define.amd?define([],function(){return t(e,document)}):e.plyr=t(e,document)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(){var e,n,a,r=navigator.userAgent,s=navigator.appName,o=""+parseFloat(navigator.appVersion),i=parseInt(navigator.appVersion,10),l=!1,u=!1,c=!1,d=!1;return-1!==navigator.appVersion.indexOf("Windows NT")&&-1!==navigator.appVersion.indexOf("rv:11")?(l=!0,s="IE",o="11"):-1!==(n=r.indexOf("MSIE"))?(l=!0,s="IE",o=r.substring(n+5)):-1!==(n=r.indexOf("Chrome"))?(c=!0,s="Chrome",o=r.substring(n+7)):-1!==(n=r.indexOf("Safari"))?(d=!0,s="Safari",o=r.substring(n+7),-1!==(n=r.indexOf("Version"))&&(o=r.substring(n+8))):-1!==(n=r.indexOf("Firefox"))?(u=!0,s="Firefox",o=r.substring(n+8)):(e=r.lastIndexOf(" ")+1)<(n=r.lastIndexOf("/"))&&(s=r.substring(e,n),o=r.substring(n+1),s.toLowerCase()===s.toUpperCase()&&(s=navigator.appName)),-1!==(a=o.indexOf(";"))&&(o=o.substring(0,a)),-1!==(a=o.indexOf(" "))&&(o=o.substring(0,a)),i=parseInt(""+o,10),isNaN(i)&&(o=""+parseFloat(navigator.appVersion),i=parseInt(navigator.appVersion,10)),{name:s,version:i,isIE:l,isFirefox:u,isChrome:c,isSafari:d,isIos:/(iPad|iPhone|iPod)/g.test(navigator.platform),isTouch:"ontouchstart"in t.documentElement}}function a(e){if(!t.querySelectorAll('script[src="'+e+'"]').length){var n=t.createElement("script");n.src=e;var a=t.getElementsByTagName("script")[0];a.parentNode.insertBefore(n,a)}}function r(e,t){return Array.prototype.indexOf&&-1!==e.indexOf(t)}function s(e,t,n){return e.replace(new RegExp(t.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1"),"g"),n)}function o(e,t){e.length||(e=[e]);for(var n=e.length-1;n>=0;n--){var a=n>0?t.cloneNode(!0):t,r=e[n],s=r.parentNode,o=r.nextSibling;return a.appendChild(r),o?s.insertBefore(a,o):s.appendChild(a),a}}function i(e){e&&e.parentNode.removeChild(e)}function l(e,t){e.insertBefore(t,e.firstChild)}function u(e,t){for(var n in t)e.setAttribute(n,I["boolean"](t[n])&&t[n]?"":t[n])}function c(e,n,a){var r=t.createElement(e);u(r,a),l(n,r)}function d(e){return e.replace(".","")}function p(e,t,n){if(e)if(e.classList)e.classList[n?"add":"remove"](t);else{var a=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=a+(n?" "+t:"")}}function m(e,t){return e?e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className):!1}function f(e,n){var a=Element.prototype,r=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.msMatchesSelector||function(e){return-1!==[].indexOf.call(t.querySelectorAll(e),this)};return r.call(e,n)}function b(e,t,n,a,r){g(e,t,function(t){n&&n.apply(e,[t]),a.apply(e,[t])},r)}function y(e,t,n,a,r){var s=t.split(" ");if(I["boolean"](r)||(r=!1),e instanceof NodeList)for(var o=0;o<e.length;o++)e[o]instanceof Node&&y(e[o],arguments[1],arguments[2],arguments[3]);else for(var i=0;i<s.length;i++)e[a?"addEventListener":"removeEventListener"](s[i],n,r)}function g(e,t,n,a){e&&y(e,t,n,!0,a)}function v(e,t,n,a){if(e&&t){I["boolean"](n)||(n=!1);var r=new CustomEvent(t,{bubbles:n,detail:a});e.dispatchEvent(r)}}function h(e,t){return e?(t=I["boolean"](t)?t:!e.getAttribute("aria-pressed"),e.setAttribute("aria-pressed",t),t):void 0}function _(e,t){return 0===e||0===t||isNaN(e)||isNaN(t)?0:(e/t*100).toFixed(2)}function k(){var e=arguments;if(e.length){if(1===e.length)return e[0];for(var t=Array.prototype.shift.call(e),n=e.length,a=0;n>a;a++){var r=e[a];for(var s in r)r[s]&&r[s].constructor&&r[s].constructor===Object?(t[s]=t[s]||{},k(t[s],r[s])):t[s]=r[s]}return t}}function w(y,w){function E(e,t,n,a){v(e,t,n,k({},a,{plyr:We}))}function N(t,n){w.debug&&e.console&&(n=Array.prototype.slice.call(n),I.string(w.logPrefix)&&w.logPrefix.length&&n.unshift(w.logPrefix),console[t].apply(console,n))}function M(){return{url:w.iconUrl,absolute:0===w.iconUrl.indexOf("http")||Ye.browser.isIE}}function O(){var e=[],t=M(),n=(t.absolute?"":t.url)+"#"+w.iconPrefix;return r(w.controls,"play-large")&&e.push('<button type="button" data-plyr="play" class="plyr__play-large">','<svg><use xlink:href="'+n+'-play" /></svg>','<span class="plyr__sr-only">'+w.i18n.play+"</span>","</button>"),e.push('<div class="plyr__controls">'),r(w.controls,"restart")&&e.push('<button type="button" data-plyr="restart">','<svg><use xlink:href="'+n+'-restart" /></svg>','<span class="plyr__sr-only">'+w.i18n.restart+"</span>","</button>"),r(w.controls,"rewind")&&e.push('<button type="button" data-plyr="rewind">','<svg><use xlink:href="'+n+'-rewind" /></svg>','<span class="plyr__sr-only">'+w.i18n.rewind+"</span>","</button>"),r(w.controls,"play")&&e.push('<button type="button" data-plyr="play">','<svg><use xlink:href="'+n+'-play" /></svg>','<span class="plyr__sr-only">'+w.i18n.play+"</span>","</button>",'<button type="button" data-plyr="pause">','<svg><use xlink:href="'+n+'-pause" /></svg>','<span class="plyr__sr-only">'+w.i18n.pause+"</span>","</button>"),r(w.controls,"fast-forward")&&e.push('<button type="button" data-plyr="fast-forward">','<svg><use xlink:href="'+n+'-fast-forward" /></svg>','<span class="plyr__sr-only">'+w.i18n.forward+"</span>","</button>"),r(w.controls,"progress")&&(e.push('<span class="plyr__progress">','<label for="seek-{id}" class="plyr__sr-only">Seek</label>','<input id="seek-{id}" class="plyr__progress--seek" type="range" min="0" max="100" step="0.1" value="0" data-plyr="seek">','<progress class="plyr__progress--played" max="100" value="0" role="presentation"></progress>','<progress class="plyr__progress--buffer" max="100" value="0">',"<span>0</span>% "+w.i18n.buffered,"</progress>"),w.tooltips.seek&&e.push('<span class="plyr__tooltip">00:00</span>'),e.push("</span>")),r(w.controls,"current-time")&&e.push('<span class="plyr__time">','<span class="plyr__sr-only">'+w.i18n.currentTime+"</span>",'<span class="plyr__time--current">00:00</span>',"</span>"),r(w.controls,"duration")&&e.push('<span class="plyr__time">','<span class="plyr__sr-only">'+w.i18n.duration+"</span>",'<span class="plyr__time--duration">00:00</span>',"</span>"),r(w.controls,"mute")&&e.push('<button type="button" data-plyr="mute">','<svg class="icon--muted"><use xlink:href="'+n+'-muted" /></svg>','<svg><use xlink:href="'+n+'-volume" /></svg>','<span class="plyr__sr-only">'+w.i18n.toggleMute+"</span>","</button>"),r(w.controls,"volume")&&e.push('<span class="plyr__volume">','<label for="volume-{id}" class="plyr__sr-only">'+w.i18n.volume+"</label>",'<input id="volume-{id}" class="plyr__volume--input" type="range" min="'+w.volumeMin+'" max="'+w.volumeMax+'" value="'+w.volume+'" data-plyr="volume">','<progress class="plyr__volume--display" max="'+w.volumeMax+'" value="'+w.volumeMin+'" role="presentation"></progress>',"</span>"),r(w.controls,"captions")&&e.push('<button type="button" data-plyr="captions">','<svg class="icon--captions-on"><use xlink:href="'+n+'-captions-on" /></svg>','<svg><use xlink:href="'+n+'-captions-off" /></svg>','<span class="plyr__sr-only">'+w.i18n.toggleCaptions+"</span>","</button>"),r(w.controls,"settings")&&e.push('<div class="plyr__menu" data-plyr="settings">','<button type="button" id="plyr-settings-toggle-{id}" aria-haspopup="true" aria-controls="plyr-settings-{id}" aria-expanded="false">','<svg><use xlink:href="'+n+'-settings" /></svg>','<span class="plyr__sr-only">'+w.i18n.settings+"</span>","</button>",'<div class="plyr__menu__container" id="plyr-settings-{id}" aria-hidden="true" aria-labelled-by="plyr-settings-toggle-{id}" role="tablist" tabindex="-1">',"<div>",'<div class="plyr__menu__primary" id="plyr-settings-{id}-primary" aria-hidden="false" aria-labelled-by="plyr-settings-toggle-{id}" role="tabpanel" tabindex="-1">',"<ul>",'<li role="tab">','<button type="button" class="plyr__menu__btn plyr__menu__btn--forward" id="plyr-settings-{id}-captions-toggle" aria-haspopup="true" aria-controls="plyr-settings-{id}-captions" aria-expanded="false">',w.i18n.captions+' <span class="plyr__menu__btn__value">{lang}</span>',"</button>","</li>",'<li role="tab">','<button type="button" class="plyr__menu__btn plyr__menu__btn--forward" id="plyr-settings-{id}-speed-toggle" aria-haspopup="true" aria-controls="plyr-settings-{id}-speed" aria-expanded="false">',w.i18n.speed+' <span class="plyr__menu__btn__value">{speed}</span>',"</button>","</li>",'<li role="tab">','<button type="button" class="plyr__menu__btn plyr__menu__btn--forward" id="plyr-settings-{id}-quality-toggle" aria-haspopup="true" aria-controls="plyr-settings-{id}-quality" aria-expanded="false">',w.i18n.quality+' <span class="plyr__menu__btn__value">Auto</span>',"</button>","</li>","</ul>","</div>",'<div class="plyr__menu__secondary" id="plyr-settings-{id}-captions" aria-hidden="true" aria-labelled-by="plyr-settings-{id}-captions-toggle" role="tabpanel" tabindex="-1">',"<ul>",'<li role="tab">','<button type="button" class="plyr__menu__btn plyr__menu__btn--back" aria-haspopup="true" aria-controls="plyr-settings-{id}-primary" aria-expanded="false">',w.i18n.captions,"</button>","</li>","<li>",'<button type="button">English</button>',"</li>","<li>",'<button type="button">Off</button>',"</li>","</ul>","</div>",'<div class="plyr__menu__secondary" id="plyr-settings-{id}-speed" aria-hidden="true" aria-labelled-by="plyr-settings-{id}-speed-toggle" role="tabpanel" tabindex="-1">',"<ul>",'<li role="tab">','<button type="button" class="plyr__menu__btn plyr__menu__btn--back" aria-haspopup="true" aria-controls="plyr-settings-{id}-primary" aria-expanded="false">',w.i18n.speed,"</button>","</li>","<li>",'<button type="button">2&times;</button>',"</li>","<li>",'<button type="button">1.5&times;</button>',"</li>","<li>",'<button type="button">1&times;</button>',"</li>","<li>",'<button type="button">0.5&times;</button>',"</li>","</ul>","</div>",'<div class="plyr__menu__secondary" id="plyr-settings-{id}-quality" aria-hidden="true" aria-labelled-by="plyr-settings-{id}-quality-toggle" role="tabpanel" tabindex="-1">',"<ul>",'<li role="tab">','<button type="button" class="plyr__menu__btn plyr__menu__btn--back" aria-haspopup="true" aria-controls="plyr-settings-{id}-primary" aria-expanded="false">',w.i18n.quality,"</button>","</li>","<li>",'<button type="button">1080P <span class="plyr__menu__btn__badge"><span>HD</span></span></button>',"</li>","<li>",'<button type="button">720P <span class="plyr__menu__btn__badge"><span>HD</span></span></button>',"</li>","<li>",'<button type="button">480P</button>',"</li>","<li>",'<button type="button">320P</button>',"</li>","</ul>","</div>","</div>","</div>","</div>"),r(w.controls,"fullscreen")&&e.push('<button type="button" data-plyr="fullscreen">','<svg class="icon--exit-fullscreen"><use xlink:href="'+n+'-exit-fullscreen" /></svg>','<svg><use xlink:href="'+n+'-enter-fullscreen" /></svg>','<span class="plyr__sr-only">'+w.i18n.toggleFullscreen+"</span>","</button>"),e.push("</div>"),e.join("")}function L(){if(Ye.supported.full&&("audio"!==Ye.type||w.fullscreen.allowAudio)&&w.fullscreen.enabled){var e=P.fullscreen;e||w.fullscreen.fallback&&!W()?(Ue((e?"Native":"Fallback")+" fullscreen enabled"),p(Ye.container,w.classes.fullscreen.enabled,!0)):Ue("Fullscreen not supported and fallback disabled"),Ye.buttons&&Ye.buttons.fullscreen&&h(Ye.buttons.fullscreen,!1),Y()}}function q(){if("video"===Ye.type){H(w.selectors.captions)||Ye.videoContainer.insertAdjacentHTML("afterbegin",'<div class="'+d(w.selectors.captions)+'"></div>'),Ye.usingTextTracks=!1,Ye.media.textTracks&&(Ye.usingTextTracks=!0);for(var e,t="",n=Ye.media.childNodes,a=0;a<n.length;a++)"track"===n[a].nodeName.toLowerCase()&&(e=n[a].kind,"captions"!==e&&"subtitles"!==e||(t=n[a].getAttribute("src")));if(Ye.captionExists=!0,""===t?(Ye.captionExists=!1,Ue("No caption track found")):Ue("Caption track found; URI: "+t),Ye.captionExists){for(var r=Ye.media.textTracks,s=0;s<r.length;s++)r[s].mode="hidden";if(R(Ye),(Ye.browser.isIE&&Ye.browser.version>=10||Ye.browser.isFirefox&&Ye.browser.version>=31)&&(Ue("Detected browser with known TextTrack issues - using manual fallback"),Ye.usingTextTracks=!1),Ye.usingTextTracks){Ue("TextTracks supported");for(var o=0;o<r.length;o++){var i=r[o];"captions"!==i.kind&&"subtitles"!==i.kind||g(i,"cuechange",function(){this.activeCues[0]&&"text"in this.activeCues[0]?j(this.activeCues[0].getCueAsHTML()):j()})}}else if(Ue("TextTracks not supported so rendering captions manually"),Ye.currentCaption="",Ye.captions=[],""!==t){var l=new XMLHttpRequest;l.onreadystatechange=function(){if(4===l.readyState)if(200===l.status){var e,t=[],n=l.responseText;t=n.split("\n\n");for(var a=0;a<t.length;a++){e=t[a],Ye.captions[a]=[];var r=e.split("\n"),s=0;-1===r[s].indexOf(":")&&(s=1),Ye.captions[a]=[r[s],r[s+1]]}Ye.captions.shift(),Ue("Successfully loaded the caption file via AJAX")}else Je(w.logPrefix+"There was a problem loading the caption file via AJAX")},l.open("get",t,!0),l.send()}}else p(Ye.container,w.classes.captions.enabled)}}function j(e){var n=H(w.selectors.captions),a=t.createElement("span");n.innerHTML="",I.undefined(e)&&(e=""),I.string(e)?a.innerHTML=e.trim():a.appendChild(e),n.appendChild(a);n.offsetHeight}function V(e){function t(e,t){var n=[];n=e.split(" --> ");for(var a=0;a<n.length;a++)n[a]=n[a].replace(/(\d+:\d+:\d+\.\d+).*/,"$1");return r(n[t])}function n(e){return t(e,0)}function a(e){return t(e,1)}function r(e){if(null===e||void 0===e)return 0;var t,n=[],a=[];return n=e.split(","),a=n[0].split(":"),t=Math.floor(60*a[0]*60)+Math.floor(60*a[1])+Math.floor(a[2])}if(!Ye.usingTextTracks&&"video"===Ye.type&&Ye.supported.full&&(Ye.subcount=0,e=I.number(e)?e:Ye.media.currentTime,Ye.captions[Ye.subcount])){for(;a(Ye.captions[Ye.subcount][0])<e.toFixed(1);)if(Ye.subcount++,Ye.subcount>Ye.captions.length-1){Ye.subcount=Ye.captions.length-1;break}Ye.media.currentTime.toFixed(1)>=n(Ye.captions[Ye.subcount][0])&&Ye.media.currentTime.toFixed(1)<=a(Ye.captions[Ye.subcount][0])?(Ye.currentCaption=Ye.captions[Ye.subcount][1],j(Ye.currentCaption)):j()}}function R(){if(Ye.buttons.captions){p(Ye.container,w.classes.captions.enabled,!0);var e=Ye.storage.captionsEnabled;I["boolean"](e)||(e=w.captions.defaultActive),e&&(p(Ye.container,w.classes.captions.active,!0),h(Ye.buttons.captions,!0))}}function D(e){return Ye.container.querySelectorAll(e)}function H(e){return D(e)[0]}function W(){try{return e.self!==e.top}catch(t){return!0}}function Y(){function e(e){9===e.which&&Ye.isFullscreen&&(e.target!==a||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),a.focus()):(e.preventDefault(),n.focus()))}var t=D("input:not([disabled]), button:not([disabled])"),n=t[0],a=t[t.length-1];g(Ye.container,"keydown",e)}function B(e,t){if(I.string(t))c(e,Ye.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)c(e,Ye.media,t[n])}function X(){if(w.loadSprite){var e=M();e.absolute?(Ue("AJAX loading absolute SVG sprite"+(Ye.browser.isIE?" (due to IE)":"")),x(e.url,"sprite-plyr")):Ue("Sprite will be used as external resource directly")}var n=w.html;Ue("Injecting custom controls"),n||(n=O()),n=s(n,"{seektime}",w.seekTime),n=s(n,"{speed}",w.currentSpeed.toFixed(1).toString().replace(".0","")+"&times;"),n=s(n,"{lang}","English"),n=s(n,"{id}",Math.floor(1e4*Math.random()));var a;if(I.string(w.selectors.controls.container)&&(a=t.querySelector(w.selectors.controls.container)),I.htmlElement(a)||(a=Ye.container),a.insertAdjacentHTML("beforeend",n),w.tooltips.controls)for(var r=D([w.selectors.controls.wrapper," ",w.selectors.labels," .",w.classes.hidden].join("")),o=r.length-1;o>=0;o--){var i=r[o];p(i,w.classes.hidden,!1),p(i,w.classes.tooltip,!0)}}function U(){try{return Ye.controls=H(w.selectors.controls.wrapper),Ye.buttons={},Ye.buttons.seek=H(w.selectors.buttons.seek),Ye.buttons.play=D(w.selectors.buttons.play),Ye.buttons.pause=H(w.selectors.buttons.pause),Ye.buttons.restart=H(w.selectors.buttons.restart),Ye.buttons.rewind=H(w.selectors.buttons.rewind),Ye.buttons.forward=H(w.selectors.buttons.forward),Ye.buttons.fullscreen=H(w.selectors.buttons.fullscreen),Ye.buttons.settings=H(w.selectors.buttons.settings),Ye.buttons.mute=H(w.selectors.buttons.mute),Ye.buttons.captions=H(w.selectors.buttons.captions),Ye.progress={},Ye.progress.container=H(w.selectors.progress.container),Ye.progress.buffer={},Ye.progress.buffer.bar=H(w.selectors.progress.buffer),Ye.progress.buffer.text=Ye.progress.buffer.bar&&Ye.progress.buffer.bar.getElementsByTagName("span")[0],Ye.progress.played=H(w.selectors.progress.played),Ye.progress.tooltip=Ye.progress.container&&Ye.progress.container.querySelector("."+w.classes.tooltip),Ye.volume={},Ye.volume.input=H(w.selectors.volume.input),Ye.volume.display=H(w.selectors.volume.display),Ye.duration=H(w.selectors.duration),Ye.currentTime=H(w.selectors.currentTime),Ye.seekTime=D(w.selectors.seekTime),!0}catch(e){return Je("It looks like there is a problem with your controls HTML"),z(!0),!1}}function J(){p(Ye.container,w.selectors.container.replace(".",""),Ye.supported.full)}function z(e){e&&r(w.types.html5,Ye.type)?Ye.media.setAttribute("controls",""):Ye.media.removeAttribute("controls")}function $(e){var t=w.i18n.play;if(I.string(w.title)&&w.title.length&&(t+=", "+w.title,Ye.container.setAttribute("aria-label",w.title)),Ye.supported.full&&Ye.buttons.play)for(var n=Ye.buttons.play.length-1;n>=0;n--)Ye.buttons.play[n].setAttribute("aria-label",t);I.htmlElement(e)&&e.setAttribute("title",w.i18n.frameTitle.replace("{title}",w.title))}function G(){var t=null;Ye.storage={},P.storage&&w.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(w.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?K({volume:parseFloat(t)}):Ye.storage=JSON.parse(t)))}function K(t){P.storage&&w.storage.enabled&&(k(Ye.storage,t),e.localStorage.setItem(w.storage.key,JSON.stringify(Ye.storage)))}function Q(){if(!Ye.media)return void Je("No media element found!");if(Ye.supported.full&&(p(Ye.container,w.classes.type.replace("{0}",Ye.type),!0),r(w.types.embed,Ye.type)&&p(Ye.container,w.classes.type.replace("{0}","video"),!0),p(Ye.container,w.classes.pip.enabled,P.pip(Ye)),p(Ye.container,w.classes.stopped,w.autoplay),p(Ye.ontainer,w.classes.isIos,Ye.browser.isIos),p(Ye.container,w.classes.isTouch,Ye.browser.isTouch),"video"===Ye.type)){var e=t.createElement("div");e.setAttribute("class",w.classes.videoWrapper),o(Ye.media,e),Ye.videoContainer=e}r(w.types.embed,Ye.type)&&Z()}function Z(){for(var n=t.createElement("div"),r=Ye.embedId,s=Ye.type+"-"+Math.floor(1e4*Math.random()),o=D('[id^="'+Ye.type+'-"]'),l=o.length-1;l>=0;l--)i(o[l]);if(p(Ye.media,w.classes.videoWrapper,!0),p(Ye.media,w.classes.embedWrapper,!0),"youtube"===Ye.type)Ye.media.appendChild(n),n.setAttribute("id",s),I.object(e.YT)?te(r,n):(a(w.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){te(r,n)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Ye.type)if(Ye.supported.full?Ye.media.appendChild(n):n=Ye.media,n.setAttribute("id",s),I.object(e.Vimeo))ne(r,n);else{a(w.urls.vimeo.api);var c=e.setInterval(function(){I.object(e.Vimeo)&&(e.clearInterval(c),ne(r,n))},50)}else if("soundcloud"===Ye.type){var d=t.createElement("iframe");d.loaded=!1,g(d,"load",function(){d.loaded=!0}),u(d,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+r,id:s}),n.appendChild(d),Ye.media.appendChild(n),e.SC||a(w.urls.soundcloud.api);var m=e.setInterval(function(){e.SC&&d.loaded&&(e.clearInterval(m),ae.call(d))},50)}}function ee(){Ye.supported.full&&(De(),He()),$(H("iframe"))}function te(t,n){Ye.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:w.autoplay?1:0,controls:Ye.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:w.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){E(Ye.container,"error",!0,{code:e.data,embed:e.target})},onReady:function(t){var n=t.target;Ye.media.play=function(){n.playVideo(),Ye.media.paused=!1},Ye.media.pause=function(){n.pauseVideo(),Ye.media.paused=!0},Ye.media.stop=function(){n.stopVideo(),Ye.media.paused=!0},Ye.media.duration=n.getDuration(),Ye.media.paused=!0,Ye.media.currentTime=0,Ye.media.muted=n.isMuted(),w.title=n.getVideoData().title,Ye.supported.full&&Ye.media.querySelector("iframe").setAttribute("tabindex","-1"),ee(),E(Ye.media,"timeupdate"),E(Ye.media,"durationchange"),e.clearInterval(Be.buffering),Be.buffering=e.setInterval(function(){Ye.media.buffered=n.getVideoLoadedFraction(),(null===Ye.media.lastBuffered||Ye.media.lastBuffered<Ye.media.buffered)&&E(Ye.media,"progress"),Ye.media.lastBuffered=Ye.media.buffered,1===Ye.media.buffered&&(e.clearInterval(Be.buffering),E(Ye.media,"canplaythrough"))},200)},onStateChange:function(t){var n=t.target;switch(e.clearInterval(Be.playing),t.data){case 0:Ye.media.paused=!0,E(Ye.media,"ended");break;case 1:Ye.media.paused=!1,Ye.media.seeking=!1,E(Ye.media,"play"),E(Ye.media,"playing"),Be.playing=e.setInterval(function(){Ye.media.currentTime=n.getCurrentTime(),E(Ye.media,"timeupdate")},100);break;case 2:Ye.media.paused=!0,E(Ye.media,"pause")}E(Ye.container,"statechange",!1,{code:t.data})}}})}function ne(t,n){Ye.embed=new e.Vimeo.Player(n,{id:parseInt(t),loop:w.loop,autoplay:w.autoplay,byline:!1,portrait:!1,title:!1}),Ye.media.play=function(){Ye.embed.play(),Ye.media.paused=!1},Ye.media.pause=function(){Ye.embed.pause(),Ye.media.paused=!0},Ye.media.stop=function(){Ye.embed.stop(),Ye.media.paused=!0},Ye.media.paused=!0,Ye.media.currentTime=0,ee(),Ye.embed.getCurrentTime().then(function(e){Ye.media.currentTime=e,E(Ye.media,"timeupdate")}),Ye.embed.getDuration().then(function(e){Ye.media.duration=e,E(Ye.media,"durationchange")}),Ye.embed.on("loaded",function(){I.htmlElement(Ye.embed.element)&&Ye.supported.full&&Ye.embed.element.setAttribute("tabindex","-1")}),Ye.embed.on("play",function(){Ye.media.paused=!1,E(Ye.media,"play"),E(Ye.media,"playing")}),Ye.embed.on("pause",function(){Ye.media.paused=!0,E(Ye.media,"pause")}),Ye.embed.on("timeupdate",function(e){Ye.media.seeking=!1,Ye.media.currentTime=e.seconds,E(Ye.media,"timeupdate")}),Ye.embed.on("progress",function(e){Ye.media.buffered=e.percent,E(Ye.media,"progress"),1===parseInt(e.percent)&&E(Ye.media,"canplaythrough")}),Ye.embed.on("ended",function(){Ye.media.paused=!0,E(Ye.media,"ended")})}function ae(){Ye.embed=e.SC.Widget(this),Ye.embed.bind(e.SC.Widget.Events.READY,function(){Ye.media.play=function(){Ye.embed.play(),Ye.media.paused=!1},Ye.media.pause=function(){Ye.embed.pause(),Ye.media.paused=!0},Ye.media.stop=function(){Ye.embed.seekTo(0),Ye.embed.pause(),Ye.media.paused=!0},Ye.media.paused=!0,Ye.media.currentTime=0,Ye.embed.getDuration(function(e){Ye.media.duration=e/1e3,ee()}),Ye.embed.getPosition(function(e){Ye.media.currentTime=e,E(Ye.media,"timeupdate")}),Ye.embed.bind(e.SC.Widget.Events.PLAY,function(){Ye.media.paused=!1,E(Ye.media,"play"),E(Ye.media,"playing")}),Ye.embed.bind(e.SC.Widget.Events.PAUSE,function(){Ye.media.paused=!0,E(Ye.media,"pause")}),Ye.embed.bind(e.SC.Widget.Events.PLAY_PROGRESS,function(e){Ye.media.seeking=!1,Ye.media.currentTime=e.currentPosition/1e3,E(Ye.media,"timeupdate")}),Ye.embed.bind(e.SC.Widget.Events.LOAD_PROGRESS,function(e){Ye.media.buffered=e.loadProgress,E(Ye.media,"progress"),1===parseInt(e.loadProgress)&&E(Ye.media,"canplaythrough")}),Ye.embed.bind(e.SC.Widget.Events.FINISH,function(){Ye.media.paused=!0,E(Ye.media,"ended")})})}function re(){"play"in Ye.media&&Ye.media.play()}function se(){"pause"in Ye.media&&Ye.media.pause()}function oe(e){return I["boolean"](e)||(e=Ye.media.paused),e?re():se(),e}function ie(e){I.number(e)||(e=w.seekTime),ce(Ye.media.currentTime-e)}function le(e){I.number(e)||(e=w.seekTime),ce(Ye.media.currentTime+e)}function ue(e){if(!I.array(w.speeds))return void Je("Invalid speeds format");if(!I.number(e)){var t=w.speeds.indexOf(w.currentSpeed);if(-1!==t){var n=t+1;n>=w.speeds.length&&(n=0),e=w.speeds[n]}else e=w.defaultSpeed}w.currentSpeed=e,Ye.media.playbackRate=e,K({speed:e})}function ce(e){var t=0,n=Ye.media.paused,a=de();I.number(e)?t=e:I.event(e)&&r(["input","change"],e.type)&&(t=e.target.value/e.target.max*a),0>t?t=0:t>a&&(t=a),Ae(t);try{Ye.media.currentTime=t.toFixed(4)}catch(s){}if(r(w.types.embed,Ye.type)){switch(Ye.type){case"youtube":Ye.embed.seekTo(t);break;case"vimeo":Ye.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Ye.embed.seekTo(1e3*t)}n&&se(),E(Ye.media,"timeupdate"),Ye.media.seeking=!0}Ue("Seeking to "+Ye.media.currentTime+" seconds"),V(t)}function de(){var e=parseInt(w.duration),t=0;return null===Ye.media.duration||isNaN(Ye.media.duration)||(t=Ye.media.duration),isNaN(e)?t:e}function pe(){p(Ye.container,w.classes.playing,!Ye.media.paused),p(Ye.container,w.classes.stopped,Ye.media.paused),Pe(Ye.media.paused)}function me(){A={x:e.pageXOffset||0,y:e.pageYOffset||0}}function fe(){e.scrollTo(A.x,A.y)}function be(e){var n=P.fullscreen;if(n){if(!e||e.type!==C.eventType)return C.isFullScreen(Ye.container)?C.cancelFullScreen():(me(),C.requestFullScreen(Ye.container)),void(Ye.isFullscreen=C.isFullScreen(Ye.container));Ye.isFullscreen=C.isFullScreen(Ye.container)}else Ye.isFullscreen=!Ye.isFullscreen,t.body.style.overflow=Ye.isFullscreen?"hidden":"";p(Ye.container,w.classes.fullscreen.active,Ye.isFullscreen),Y(Ye.isFullscreen),Ye.buttons&&Ye.buttons.fullscreen&&h(Ye.buttons.fullscreen,Ye.isFullscreen),E(Ye.container,Ye.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Ye.isFullscreen&&n&&fe()}function ye(e){if(I["boolean"](e)||(e=!Ye.media.muted),h(Ye.buttons.mute,e),Ye.media.muted=e,0===Ye.media.volume&&ge(w.volume),r(w.types.embed,Ye.type)){switch(Ye.type){case"youtube":Ye.embed[Ye.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Ye.embed.setVolume(Ye.media.muted?0:parseFloat(w.volume/w.volumeMax))}E(Ye.media,"volumechange")}}function ge(e){var t=w.volumeMax,n=w.volumeMin;if(I.undefined(e)&&(e=Ye.storage.volume),(null===e||isNaN(e))&&(e=w.volume),e>t&&(e=t),n>e&&(e=n),Ye.media.volume=parseFloat(e/t),Ye.volume.display&&(Ye.volume.display.value=e),r(w.types.embed,Ye.type)){switch(Ye.type){case"youtube":Ye.embed.setVolume(100*Ye.media.volume);break;case"vimeo":case"soundcloud":Ye.embed.setVolume(Ye.media.volume)}E(Ye.media,"volumechange")}0===e?Ye.media.muted=!0:Ye.media.muted&&e>0&&ye()}function ve(e){var t=Ye.media.muted?0:Ye.media.volume*w.volumeMax;I.number(e)||(e=w.volumeStep),ge(t+e)}function he(e){var t=Ye.media.muted?0:Ye.media.volume*w.volumeMax;I.number(e)||(e=w.volumeStep),ge(t-e)}function _e(){var e=Ye.media.muted?0:Ye.media.volume*w.volumeMax;Ye.supported.full&&(Ye.volume.input&&(Ye.volume.input.value=e),Ye.volume.display&&(Ye.volume.display.value=e)),K({volume:e}),p(Ye.container,w.classes.muted,0===e),Ye.supported.full&&Ye.buttons.mute&&h(Ye.buttons.mute,0===e)}function ke(e){Ye.supported.full&&Ye.buttons.captions&&(I["boolean"](e)||(e=-1===Ye.container.className.indexOf(w.classes.captions.active)),Ye.captionsEnabled=e,h(Ye.buttons.captions,Ye.captionsEnabled),p(Ye.container,w.classes.captions.active,Ye.captionsEnabled),E(Ye.container,Ye.captionsEnabled?"captionsenabled":"captionsdisabled",!0),K({captionsEnabled:Ye.captionsEnabled}))}function we(e){var t="waiting"===e.type;clearTimeout(Be.loading),Be.loading=setTimeout(function(){p(Ye.container,w.classes.loading,t),Pe(t)},t?250:0)}function xe(e){if(Ye.supported.full){var t=Ye.progress.played,n=0,a=de();if(e)switch(e.type){case"timeupdate":case"seeking":if(Ye.controls.pressed)return;n=_(Ye.media.currentTime,a),"timeupdate"===e.type&&Ye.buttons.seek&&(Ye.buttons.seek.value=n);break;case"playing":case"progress":t=Ye.progress.buffer,n=function(){var e=Ye.media.buffered;return e&&e.length?_(e.end(0),a):I.number(e)?100*e:0}()}Te(t,n)}}function Te(e,t){if(Ye.supported.full){if(I.undefined(t)&&(t=0),I.undefined(e)){if(!Ye.progress||!Ye.progress.buffer)return;e=Ye.progress.buffer}I.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Ee(e,t){if(t){isNaN(e)&&(e=0),Ye.secs=parseInt(e%60),Ye.mins=parseInt(e/60%60),Ye.hours=parseInt(e/60/60%60);var n=parseInt(de()/60/60%60)>0;Ye.secs=("0"+Ye.secs).slice(-2),Ye.mins=("0"+Ye.mins).slice(-2),t.innerHTML=(n?Ye.hours+":":"")+Ye.mins+":"+Ye.secs}}function Se(){if(Ye.supported.full){var e=de()||0;!Ye.duration&&w.displayDuration&&Ye.media.paused&&Ee(e,Ye.currentTime),Ye.duration&&Ee(e,Ye.duration),Fe()}}function Ce(e){Ee(Ye.media.currentTime,Ye.currentTime),e&&"timeupdate"===e.type&&Ye.media.seeking||xe(e)}function Ae(e){I.number(e)||(e=0);var t=de(),n=_(e,t);Ye.progress&&Ye.progress.played&&(Ye.progress.played.value=n),Ye.buttons&&Ye.buttons.seek&&(Ye.buttons.seek.value=n)}function Fe(e){var t=de();if(w.tooltips.seek&&Ye.progress.container&&0!==t){var n=Ye.progress.container.getBoundingClientRect(),a=0,s=w.classes.tooltip+"--visible";if(e)a=100/n.width*(e.pageX-n.left);else{if(!m(Ye.progress.tooltip,s))return;a=Ye.progress.tooltip.style.left.replace("%","")}0>a?a=0:a>100&&(a=100),Ee(t/100*a,Ye.progress.tooltip),Ye.progress.tooltip.style.left=a+"%",e&&r(["mouseenter","mouseleave"],e.type)&&p(Ye.progress.tooltip,s,"mouseenter"===e.type)}}function Ie(e){I.undefined(e)&&(e=Ye.storage.speed||w.defaultSpeed),ue(e)}function Pe(t){if(w.hideControls&&"audio"!==Ye.type){var n=0,a=!1,s=t,o=m(Ye.container,w.classes.loading);if(I["boolean"](t)||(t&&t.type?(a="enterfullscreen"===t.type,s=r(["mousemove","touchstart","mouseenter","focus"],t.type),r(["mousemove","touchmove"],t.type)&&(n=2e3),"focus"===t.type&&(n=3e3)):s=m(Ye.container,w.classes.hideControls)),e.clearTimeout(Be.hover),s||Ye.media.paused||o){if(p(Ye.container,w.classes.hideControls,!1),Ye.media.paused||o)return;Ye.browser.isTouch&&(n=3e3)}s&&Ye.media.paused||(Be.hover=e.setTimeout(function(){(!Ye.controls.pressed&&!Ye.controls.hover||a)&&p(Ye.container,w.classes.hideControls,!0)},n))}}function Ne(e){if(!I.undefined(e))return void Me(e);var t;switch(Ye.type){case"youtube":t=Ye.embed.getVideoUrl();break;case"vimeo":Ye.embed.getVideoUrl.then(function(e){t=e});break;case"soundcloud":Ye.embed.getCurrentSound(function(e){t=e.permalink_url});break;default:t=Ye.media.currentSrc}return t||""}function Me(e){function n(){if(Ye.embed=null,i(Ye.media),"video"===Ye.type&&Ye.videoContainer&&i(Ye.videoContainer),Ye.container&&Ye.container.removeAttribute("class"),"type"in e&&(Ye.type=e.type,"video"===Ye.type)){var n=e.sources[0];"type"in n&&r(w.types.embed,n.type)&&(Ye.type=n.type)}switch(Ye.supported=T(Ye.type),Ye.type){case"video":Ye.media=t.createElement("video");break;case"audio":Ye.media=t.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":Ye.media=t.createElement("div"),Ye.embedId=e.sources[0].src}l(Ye.container,Ye.media),I["boolean"](e.autoplay)&&(w.autoplay=e.autoplay),r(w.types.html5,Ye.type)&&(w.crossorigin&&Ye.media.setAttribute("crossorigin",""),w.autoplay&&Ye.media.setAttribute("autoplay",""),"poster"in e&&Ye.media.setAttribute("poster",e.poster),w.loop&&Ye.media.setAttribute("loop","")),p(Ye.container,w.classes.fullscreen.active,Ye.isFullscreen),p(Ye.container,w.classes.captions.active,Ye.captionsEnabled),J(),r(w.types.html5,Ye.type)&&B("source",e.sources),Q(),r(w.types.html5,Ye.type)&&("tracks"in e&&B("track",e.tracks),Ye.media.load()),(r(w.types.html5,Ye.type)||r(w.types.embed,Ye.type)&&!Ye.supported.full)&&(De(),He()),w.title=e.title,$()}return I.object(e)&&"sources"in e&&e.sources.length?(p(Ye.container,w.classes.ready,!1),se(),Ae(),Te(),je(),void Ve(n,!1)):void Je("Invalid source format")}function Oe(e){"video"===Ye.type&&Ye.media.setAttribute("poster",e)}function Le(){function n(){var e=oe(),t=Ye.buttons[e?"play":"pause"],n=Ye.buttons[e?"pause":"play"];if(n=n&&n.length>1?n[n.length-1]:n[0]){var a=m(t,w.classes.tabFocus);setTimeout(function(){n.focus(),a&&(p(t,w.classes.tabFocus,!1),p(n,w.classes.tabFocus,!0))},100)}}function a(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null;
-}function s(e){return e.keyCode?e.keyCode:e.which}function o(e){for(var t in Ye.buttons){var n=Ye.buttons[t];if(I.nodeList(n))for(var a=0;a<n.length;a++)p(n[a],w.classes.tabFocus,n[a]===e);else p(n,w.classes.tabFocus,n===e)}}function l(e){function t(){var e=Ye.media.duration;I.number(e)&&ce(e/10*(n-48))}var n=s(e),a="keydown"===e.type,o=a&&n===c;if(I.number(n))if(a){var i=[48,49,50,51,52,53,54,56,57,32,75,38,40,77,39,37,70,67];switch(r(i,n)&&(e.preventDefault(),e.stopPropagation()),n){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:o||t();break;case 32:case 75:o||oe();break;case 38:ve();break;case 40:he();break;case 77:o||ye();break;case 39:le();break;case 37:ie();break;case 70:be();break;case 67:o||ke()}!P.fullscreen&&Ye.isFullscreen&&27===n&&be(),c=n}else c=null}var u=Ye.browser.isIE?"change":"input";if(w.keyboardShorcuts.focused){var c=null;w.keyboardShorcuts.global&&g(e,"keydown keyup",function(e){var t=s(e),n=a(),o=[48,49,50,51,52,53,54,56,57,75,77,70,67],i=S().length;1!==i||!r(o,t)||I.htmlElement(n)&&f(n,w.selectors.editable)||l(e)}),g(Ye.container,"keydown keyup",l)}g(e,"keyup",function(e){var t=s(e),n=a();9===t&&o(n)}),g(t.body,"click",function(){p(H("."+w.classes.tabFocus),w.classes.tabFocus,!1)});for(var d in Ye.buttons){var y=Ye.buttons[d];g(y,"blur",function(){p(y,"tab-focus",!1)})}b(Ye.buttons.play,"click",w.listeners.play,n),b(Ye.buttons.pause,"click",w.listeners.pause,n),b(Ye.buttons.restart,"click",w.listeners.restart,ce),b(Ye.buttons.rewind,"click",w.listeners.rewind,ie),b(Ye.buttons.forward,"click",w.listeners.forward,le),b(Ye.buttons.speed,"click",w.listeners.speed,ue),b(Ye.buttons.seek,u,w.listeners.seek,ce),b(Ye.volume.input,u,w.listeners.volume,function(){ge(Ye.volume.input.value)}),b(Ye.buttons.mute,"click",w.listeners.mute,ye),b(Ye.buttons.fullscreen,"click",w.listeners.fullscreen,be),P.fullscreen&&g(t,C.eventType,be),g(Ye.buttons.captions,"click",ke),g(Ye.buttons.settings,"click",function(n){var a=this,r=n.target,s=t.getElementById(r.getAttribute("aria-controls")),o="false"===r.getAttribute("aria-expanded");if(I.htmlElement(s)){var l,u,c,d="tabpanel"===s.getAttribute("role");if(d){var p=a.querySelector('[role="tabpanel"][aria-hidden="false"]');c=p.parentNode,[].forEach.call(a.querySelectorAll('[aria-controls="'+p.getAttribute("id")+'"]'),function(e){e.setAttribute("aria-expanded",!1)}),c.style.width=p.scrollWidth+"px",c.style.height=p.scrollHeight+"px",p.setAttribute("aria-hidden",!0),p.setAttribute("tabindex",-1);var m=s.cloneNode(!0);m.style.position="absolute",m.style.opacity=0,m.setAttribute("aria-hidden",!1),c.appendChild(m),l=m.scrollWidth,u=m.scrollHeight,i(m)}s.setAttribute("aria-hidden",!o),r.setAttribute("aria-expanded",o),s.setAttribute("tabindex",0),d&&(c.style.width=l+"px",c.style.height=u+"px",e.setTimeout(function(){c.style.width="",c.style.height=""},300))}}),g(Ye.progress.container,"mouseenter mouseleave mousemove",Fe),w.hideControls&&(g(Ye.container,"mouseenter mouseleave mousemove touchstart touchend touchcancel touchmove enterfullscreen",Pe),g(Ye.controls,"mouseenter mouseleave",function(e){Ye.controls.hover="mouseenter"===e.type}),g(Ye.controls,"mousedown mouseup touchstart touchend touchcancel",function(e){Ye.controls.pressed=r(["mousedown","touchstart"],e.type)}),g(Ye.controls,"focus blur",Pe,!0)),g(Ye.volume.input,"wheel",function(e){e.preventDefault();var t=e.webkitDirectionInvertedFromDevice,n=w.volumeStep/5;(e.deltaY<0||e.deltaX>0)&&(t?he(n):ve(n)),(e.deltaY>0||e.deltaX<0)&&(t?ve(n):he(n))})}function qe(){if(g(Ye.media,"timeupdate seeking",Ce),g(Ye.media,"timeupdate",V),g(Ye.media,"durationchange loadedmetadata",Se),g(Ye.media,"ended",function(){"video"===Ye.type&&w.showPosterOnEnd&&("video"===Ye.type&&j(),ce(),Ye.media.load())}),g(Ye.media,"progress playing",xe),g(Ye.media,"volumechange",_e),g(Ye.media,"play pause ended",pe),g(Ye.media,"waiting canplay seeked",we),w.clickToPlay&&"audio"!==Ye.type){var e=H("."+w.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){w.hideControls&&Ye.browser.isTouch&&!Ye.media.paused||(Ye.media.paused?re():Ye.media.ended?(ce(),re()):se())})}w.disableContextMenu&&g(Ye.media,"contextmenu",function(e){e.preventDefault()}),g(Ye.media,w.events.concat(["keyup","keydown"]).join(" "),function(e){E(Ye.container,e.type,!0)})}function je(){if(r(w.types.html5,Ye.type)){for(var e=Ye.media.querySelectorAll("source"),t=0;t<e.length;t++)i(e[t]);Ye.media.setAttribute("src","https://cdn.selz.com/plyr/blank.mp4"),Ye.media.load(),Ue("Cancelled network requests")}}function Ve(t,n){function a(){I["boolean"](n)||(n=!0),I["function"](t)&&t.call(Xe),n&&(Ye.init=!1,Ye.container.parentNode.replaceChild(Xe,Ye.container),E(Xe,"destroyed",!0))}if(!Ye.init)return null;switch(Ye.type){case"youtube":e.clearInterval(Be.buffering),e.clearInterval(Be.playing),Ye.embed.destroy(),a();break;case"vimeo":Ye.embed.unload().then(a),e.setTimeout(a,200);break;case"video":case"audio":z(!0),a()}}function Re(){if(Ye.init)return null;if(Ye.browser=n(),I.htmlElement(Ye.media)){G();var e=y.tagName.toLowerCase();"div"===e?(Ye.type=y.getAttribute("data-type"),Ye.embedId=y.getAttribute("data-video-id"),y.removeAttribute("data-type"),y.removeAttribute("data-video-id")):(Ye.type=e,w.crossorigin=null!==y.getAttribute("crossorigin"),w.autoplay=w.autoplay||null!==y.getAttribute("autoplay"),w.loop=w.loop||null!==y.getAttribute("loop")),Ye.supported=T(Ye.type),Ye.supported.basic&&(Ye.container=o(y,t.createElement("div")),Ye.container.setAttribute("tabindex",0),J(),Ue(""+Ye.browser.name+" "+Ye.browser.version),Q(),(r(w.types.html5,Ye.type)||r(w.types.embed,Ye.type)&&!Ye.supported.full)&&(De(),He(),$()),Ye.init=!0)}}function De(){if(!Ye.supported.full)return Je("Basic support only",Ye.type),i(H(w.selectors.controls.wrapper)),i(H(w.selectors.buttons.play)),void z(!0);var e=!D(w.selectors.controls.wrapper).length;e&&X(),U()&&(e&&Le(),qe(),z(),L(),q(),ge(),_e(),Ie(),Ce(),pe())}function He(){e.setTimeout(function(){E(Ye.media,"ready")},0),p(Ye.media,F.classes.setup,!0),p(Ye.container,w.classes.ready,!0),Ye.media.plyr=We,w.autoplay&&re()}var We,Ye=this,Be={};Ye.media=y;var Xe=y.cloneNode(!0),Ue=function(){N("log",arguments)},Je=function(){N("warn",arguments)};return Ue("Config",w),We={getOriginal:function(){return Xe},getContainer:function(){return Ye.container},getEmbed:function(){return Ye.embed},getMedia:function(){return Ye.media},getType:function(){return Ye.type},getDuration:de,getCurrentTime:function(){return Ye.media.currentTime},getVolume:function(){return Ye.media.volume},isMuted:function(){return Ye.media.muted},isReady:function(){return m(Ye.container,w.classes.ready)},isLoading:function(){return m(Ye.container,w.classes.loading)},on:function(e,t){g(Ye.container,e,t)},play:re,pause:se,stop:function(){se(),ce()},restart:ce,rewind:ie,forward:le,seek:ce,source:Ne,poster:Oe,setVolume:ge,setSpeed:Ie,togglePlay:oe,toggleMute:ye,toggleCaptions:ke,toggleFullscreen:be,toggleControls:Pe,isFullscreen:function(){return Ye.isFullscreen||!1},support:function(e){return P.mime(Ye,e)},destroy:Ve},Re(),Ye.init?We:null}function x(e,n){var a=new XMLHttpRequest;if(!I.string(n)||!I.htmlElement(t.querySelector("#"+n))){var r=t.createElement("div");r.setAttribute("hidden",""),I.string(n)&&r.setAttribute("id",n),t.body.insertBefore(r,t.body.childNodes[0]),"withCredentials"in a&&(a.open("GET",e,!0),a.onload=function(){r.innerHTML=a.responseText},a.send())}}function T(e){var a,r,s=n(),o=s.isIE&&s.version<=9,i=s.isIos,l=/iPhone|iPod/i.test(navigator.userAgent),u=!!t.createElement("audio").canPlayType,c=!!t.createElement("video").canPlayType;switch(e){case"video":a=c,r=a&&!o&&!l;break;case"audio":a=u,r=a&&!o;break;case"vimeo":case"youtube":case"soundcloud":a=!0,r=!o&&!i;break;default:a=u&&c,r=a&&!o}return{basic:a,full:r}}function E(e,n){function a(e,t){m(t,F.classes.hook)||r.push({target:e,media:t})}var r=[],s=[],o=[F.selectors.html5,F.selectors.embed].join(",");if(I.string(e)?e=t.querySelectorAll(e):I.htmlElement(e)?e=[e]:I.nodeList(e)||I.array(e)||I.string(e)||(I.undefined(n)&&I.object(e)&&(n=e),e=t.querySelectorAll(o)),I.nodeList(e)&&(e=Array.prototype.slice.call(e)),!T().basic||!e.length)return!1;for(var i=0;i<e.length;i++){var l=e[i],u=l.querySelectorAll(o);if(u.length)for(var c=0;c<u.length;c++)a(l,u[c]);else f(l,o)&&a(l,l)}return r.forEach(function(e){var t=e.target,a=e.media,r=!1;a===t&&(r=!0);var o={};try{o=JSON.parse(t.getAttribute("data-plyr"))}catch(i){}var l=k({},F,n,o);if(!l.enabled)return null;var u=new w(a,l);if(I.object(u)){if(l.debug){var c=l.events.concat(["setup","statechange","enterfullscreen","exitfullscreen","captionsenabled","captionsdisabled"]);g(u.getContainer(),c.join(" "),function(e){console.log([l.logPrefix,"event:",e.type].join(" "),e.detail.plyr)})}v(u.getContainer(),"setup",!0,{plyr:u}),s.push(u)}}),s}function S(e){if(I.string(e)?e=t.querySelector(e):I.undefined(e)&&(e=t.body),I.htmlElement(e)){var n=e.querySelectorAll("."+F.classes.setup),a=[];return Array.prototype.slice.call(n).forEach(function(e){I.object(e.plyr)&&a.push(e.plyr)}),a}return[]}var C,A={x:0,y:0},F={enabled:!0,debug:!1,autoplay:!1,loop:!1,seekTime:10,volume:10,volumeMin:0,volumeMax:10,volumeStep:1,defaultSpeed:1,currentSpeed:1,speeds:[.5,1,1.5,2],duration:null,displayDuration:!0,loadSprite:!0,iconPrefix:"plyr",iconUrl:"https://cdn.plyr.io/2.0.7/plyr.svg",clickToPlay:!0,hideControls:!0,showPosterOnEnd:!1,disableContextMenu:!0,keyboardShorcuts:{focused:!0,global:!1},tooltips:{controls:!1,seek:!0},selectors:{html5:"video, audio",embed:"[data-type]",editable:"input, textarea, select, [contenteditable]",container:".plyr",controls:{container:null,wrapper:".plyr__controls"},labels:"[data-plyr]",buttons:{seek:'[data-plyr="seek"]',play:'[data-plyr="play"]',pause:'[data-plyr="pause"]',restart:'[data-plyr="restart"]',rewind:'[data-plyr="rewind"]',forward:'[data-plyr="fast-forward"]',mute:'[data-plyr="mute"]',captions:'[data-plyr="captions"]',fullscreen:'[data-plyr="fullscreen"]',settings:'[data-plyr="settings"]'},volume:{input:'[data-plyr="volume"]',display:".plyr__volume--display"},progress:{container:".plyr__progress",buffer:".plyr__progress--buffer",played:".plyr__progress--played"},captions:".plyr__captions",currentTime:".plyr__time--current",duration:".plyr__time--duration"},classes:{setup:"plyr--setup",ready:"plyr--ready",videoWrapper:"plyr__video-wrapper",embedWrapper:"plyr__video-embed",type:"plyr--{0}",stopped:"plyr--stopped",playing:"plyr--playing",muted:"plyr--muted",loading:"plyr--loading",hover:"plyr--hover",tooltip:"plyr__tooltip",hidden:"plyr__sr-only",hideControls:"plyr--hide-controls",isIos:"plyr--is-ios",isTouch:"plyr--is-touch",captions:{enabled:"plyr--captions-enabled",active:"plyr--captions-active"},fullscreen:{enabled:"plyr--fullscreen-enabled",active:"plyr--fullscreen-active"},pip:{enabled:"plyr--pip-enabled",active:"plyr--pip-active"},tabFocus:"tab-focus"},captions:{defaultActive:!1},fullscreen:{enabled:!0,fallback:!0,allowAudio:!1},storage:{enabled:!0,key:"plyr"},controls:["play-large","play","progress","current-time","mute","volume","settings","fullscreen"],i18n:{restart:"Restart",rewind:"Rewind {seektime} secs",play:"Play",pause:"Pause",forward:"Forward {seektime} secs",played:"played",buffered:"buffered",currentTime:"Current time",duration:"Duration",volume:"Volume",toggleMute:"Toggle Mute",toggleCaptions:"Toggle Captions",toggleFullscreen:"Toggle Fullscreen",frameTitle:"Player for {title}",captions:"Captions",settings:"Settings",speed:"Speed",quality:"Quality"},types:{embed:["youtube","vimeo","soundcloud"],html5:["video","audio"]},urls:{vimeo:{api:"https://player.vimeo.com/api/player.js"},youtube:{api:"https://www.youtube.com/iframe_api"},soundcloud:{api:"https://w.soundcloud.com/player/api.js"}},listeners:{seek:null,play:null,pause:null,restart:null,rewind:null,forward:null,mute:null,volume:null,captions:null,fullscreen:null,speed:null},events:["ready","ended","progress","stalled","playing","waiting","canplay","canplaythrough","loadstart","loadeddata","loadedmetadata","timeupdate","volumechange","play","pause","error","seeking","emptied"],logPrefix:"[Plyr]"},I={object:function(e){return null!==e&&"object"==typeof e&&e.constructor===Object},array:function(e){return null!==e&&"object"==typeof e&&e.constructor===Array},number:function(e){return null!==e&&("number"==typeof e&&!isNaN(e-0)||"object"==typeof e&&e.constructor===Number)},string:function(e){return null!==e&&("string"==typeof e||"object"==typeof e&&e.constructor===String)},"boolean":function(e){return null!==e&&"boolean"==typeof e},nodeList:function(e){return null!==e&&e instanceof NodeList},htmlElement:function(e){return null!==e&&e instanceof HTMLElement},"function":function(e){return null!==e&&"function"==typeof e},event:function(e){return null!==e&&"object"==typeof e&&(e.constructor===Event||e.constructor===CustomEvent)},undefined:function(e){return null!==e&&"undefined"==typeof e},empty:function(e){return null===e||this.undefined(e)||(this.string(e)||this.array(e)||this.nodeList(e))&&0===e.length||this.object(e)&&0===Object.keys(e).length}};!function(){var e=function(){return I.undefined(t.cancelFullScreen)?(["webkit","o","moz","ms","khtml"].forEach(function(e){return I.undefined(t[e+"CancelFullScreen"])?!I.undefined(t.msExitFullscreen)&&t.msFullscreenEnabled?"ms":void 0:e}),!1):""}();C={eventType:"ms"===e?"MSFullscreenChange":e+"fullscreenchange",isFullScreen:function(n){if(!P.fullscreen)return!1;switch(I.undefined(n)&&(n=t.body),this.prefix){case"":return t.fullscreenElement===n;case"moz":return t.mozFullScreenElement===n;default:return t[e+"FullscreenElement"]===n}},requestFullScreen:function(n){return P.fullscreen?(I.undefined(n)&&(n=t.body),""===e?n.requestFullScreen():n[e+("ms"===e?"RequestFullscreen":"RequestFullScreen")]()):!1},cancelFullScreen:function(){return P.fullscreen?""===e?t.cancelFullScreen():t[e+("ms"===e?"ExitFullscreen":"CancelFullScreen")]():!1},element:function(){return P.fullscreen?""===e?t.fullscreenElement:t[e+"FullscreenElement"]:null}}}();var P={fullscreen:C.prefix!==!1,storage:function(){if(!("localStorage"in e))return!1;try{e.localStorage.setItem("___test","OK");var t=e.localStorage.getItem("___test");return e.localStorage.removeItem("___test"),"OK"===t}catch(n){return!1}return!1}(),pip:function(e){return I["function"](e.media.webkitSetPresentationMode)},mime:function(e,t){var n=e.media;if("video"===e.type)switch(t){case"video/webm":return!(!n.canPlayType||!n.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/no/,""));case"video/mp4":return!(!n.canPlayType||!n.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"').replace(/no/,""));case"video/ogg":return!(!n.canPlayType||!n.canPlayType('video/ogg; codecs="theora"').replace(/no/,""))}else if("audio"===e.type)switch(t){case"audio/mpeg":return!(!n.canPlayType||!n.canPlayType("audio/mpeg;").replace(/no/,""));case"audio/ogg":return!(!n.canPlayType||!n.canPlayType('audio/ogg; codecs="vorbis"').replace(/no/,""));case"audio/wav":return!(!n.canPlayType||!n.canPlayType('audio/wav; codecs="1"').replace(/no/,""))}return!1}};return{setup:E,supported:T,loadSprite:x,get:S}}),function(){function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}"function"!=typeof window.CustomEvent&&(e.prototype=window.Event.prototype,window.CustomEvent=e)}(); \ No newline at end of file
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=t(e,document):"function"==typeof define&&define.amd?define([],function(){return t(e,document)}):e.plyr=t(e,document)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(){var e,n,a,s=navigator.userAgent,r=navigator.appName,o=""+parseFloat(navigator.appVersion),i=parseInt(navigator.appVersion,10),l=!1,u=!1,c=!1,d=!1;return-1!==navigator.appVersion.indexOf("Windows NT")&&-1!==navigator.appVersion.indexOf("rv:11")?(l=!0,r="IE",o="11"):-1!==(n=s.indexOf("MSIE"))?(l=!0,r="IE",o=s.substring(n+5)):-1!==(n=s.indexOf("Chrome"))?(c=!0,r="Chrome",o=s.substring(n+7)):-1!==(n=s.indexOf("Safari"))?(d=!0,r="Safari",o=s.substring(n+7),-1!==(n=s.indexOf("Version"))&&(o=s.substring(n+8))):-1!==(n=s.indexOf("Firefox"))?(u=!0,r="Firefox",o=s.substring(n+8)):(e=s.lastIndexOf(" ")+1)<(n=s.lastIndexOf("/"))&&(r=s.substring(e,n),o=s.substring(n+1),r.toLowerCase()===r.toUpperCase()&&(r=navigator.appName)),-1!==(a=o.indexOf(";"))&&(o=o.substring(0,a)),-1!==(a=o.indexOf(" "))&&(o=o.substring(0,a)),i=parseInt(""+o,10),isNaN(i)&&(o=""+parseFloat(navigator.appVersion),i=parseInt(navigator.appVersion,10)),{name:r,version:i,isIE:l,isFirefox:u,isChrome:c,isSafari:d,isIos:/(iPad|iPhone|iPod)/g.test(navigator.platform),isTouch:"ontouchstart"in t.documentElement}}function a(e){if(!t.querySelectorAll('script[src="'+e+'"]').length){var n=t.createElement("script");n.src=e;var a=t.getElementsByTagName("script")[0];a.parentNode.insertBefore(n,a)}}function s(e,t){return Array.prototype.indexOf&&-1!==e.indexOf(t)}function r(e,t,n){return e.replace(new RegExp(t.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1"),"g"),n)}function o(e,t){e.length||(e=[e]);for(var n=e.length-1;n>=0;n--){var a=n>0?t.cloneNode(!0):t,s=e[n],r=s.parentNode,o=s.nextSibling;return a.appendChild(s),o?r.insertBefore(a,o):r.appendChild(a),a}}function i(e){e&&e.parentNode.removeChild(e)}function l(e,t){e.insertBefore(t,e.firstChild)}function u(e,t){for(var n in t)e.setAttribute(n,P["boolean"](t[n])&&t[n]?"":t[n])}function c(e,n,a){var s=t.createElement(e);u(s,a),l(n,s)}function d(e){return e.replace(".","")}function p(e,t,n){if(e)if(e.classList)e.classList[n?"add":"remove"](t);else{var a=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=a+(n?" "+t:"")}}function m(e,t){return e?e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className):!1}function f(e,n){var a=Element.prototype,s=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.msMatchesSelector||function(e){return-1!==[].indexOf.call(t.querySelectorAll(e),this)};return s.call(e,n)}function b(e,t,n,a,s){g(e,t,function(t){n&&n.apply(e,[t]),a.apply(e,[t])},s)}function y(e,t,n,a,s){var r=t.split(" ");if(P["boolean"](s)||(s=!1),e instanceof NodeList)for(var o=0;o<e.length;o++)e[o]instanceof Node&&y(e[o],arguments[1],arguments[2],arguments[3]);else for(var i=0;i<r.length;i++)e[a?"addEventListener":"removeEventListener"](r[i],n,s)}function g(e,t,n,a){P.htmlElement(e)&&y(e,t,n,!0,a)}function v(e,t,n,a){P.htmlElement(e)&&y(e,t,n,!1,a)}function h(e,t,n,a){if(e&&t){P["boolean"](n)||(n=!1);var s=new CustomEvent(t,{bubbles:n,detail:a});e.dispatchEvent(s)}}function _(e,t){return e?(t=P["boolean"](t)?t:!e.getAttribute("aria-pressed"),e.setAttribute("aria-pressed",t),t):void 0}function k(e,t){return 0===e||0===t||isNaN(e)||isNaN(t)?0:(e/t*100).toFixed(2)}function x(){var e=arguments;if(e.length){if(1===e.length)return e[0];for(var t=Array.prototype.shift.call(e),n=e.length,a=0;n>a;a++){var s=e[a];for(var r in s)s[r]&&s[r].constructor&&s[r].constructor===Object?(t[r]=t[r]||{},x(t[r],s[r])):t[r]=s[r]}return t}}function w(y,w){function S(e,t,n,a){h(e,t,n,x({},a,{plyr:Xe}))}function M(t,n){w.debug&&e.console&&(n=Array.prototype.slice.call(n),P.string(w.logPrefix)&&w.logPrefix.length&&n.unshift(w.logPrefix),console[t].apply(console,n))}function O(){return{url:w.iconUrl,absolute:0===w.iconUrl.indexOf("http")||Ue.browser.isIE}}function L(){var e=[],t=O(),n=(t.absolute?"":t.url)+"#"+w.iconPrefix;return s(w.controls,"play-large")&&e.push('<button type="button" data-plyr="play" class="plyr__play-large">','<svg><use xlink:href="'+n+'-play" /></svg>','<span class="plyr__sr-only">'+w.i18n.play+"</span>","</button>"),e.push('<div class="plyr__controls">'),s(w.controls,"restart")&&e.push('<button type="button" data-plyr="restart">','<svg><use xlink:href="'+n+'-restart" /></svg>','<span class="plyr__sr-only">'+w.i18n.restart+"</span>","</button>"),s(w.controls,"rewind")&&e.push('<button type="button" data-plyr="rewind">','<svg><use xlink:href="'+n+'-rewind" /></svg>','<span class="plyr__sr-only">'+w.i18n.rewind+"</span>","</button>"),s(w.controls,"play")&&e.push('<button type="button" data-plyr="play">','<svg><use xlink:href="'+n+'-play" /></svg>','<span class="plyr__sr-only">'+w.i18n.play+"</span>","</button>",'<button type="button" data-plyr="pause">','<svg><use xlink:href="'+n+'-pause" /></svg>','<span class="plyr__sr-only">'+w.i18n.pause+"</span>","</button>"),s(w.controls,"fast-forward")&&e.push('<button type="button" data-plyr="fast-forward">','<svg><use xlink:href="'+n+'-fast-forward" /></svg>','<span class="plyr__sr-only">'+w.i18n.forward+"</span>","</button>"),s(w.controls,"progress")&&(e.push('<span class="plyr__progress">','<label for="seek-{id}" class="plyr__sr-only">Seek</label>','<input id="seek-{id}" class="plyr__progress--seek" type="range" min="0" max="100" step="0.1" value="0" data-plyr="seek">','<progress class="plyr__progress--played" max="100" value="0" role="presentation"></progress>','<progress class="plyr__progress--buffer" max="100" value="0">',"<span>0</span>% "+w.i18n.buffered,"</progress>"),w.tooltips.seek&&e.push('<span class="plyr__tooltip">00:00</span>'),e.push("</span>")),s(w.controls,"current-time")&&e.push('<span class="plyr__time">','<span class="plyr__sr-only">'+w.i18n.currentTime+"</span>",'<span class="plyr__time--current">00:00</span>',"</span>"),s(w.controls,"duration")&&e.push('<span class="plyr__time">','<span class="plyr__sr-only">'+w.i18n.duration+"</span>",'<span class="plyr__time--duration">00:00</span>',"</span>"),s(w.controls,"mute")&&e.push('<button type="button" data-plyr="mute">','<svg class="icon--muted"><use xlink:href="'+n+'-muted" /></svg>','<svg><use xlink:href="'+n+'-volume" /></svg>','<span class="plyr__sr-only">'+w.i18n.toggleMute+"</span>","</button>"),s(w.controls,"volume")&&e.push('<span class="plyr__volume">','<label for="volume-{id}" class="plyr__sr-only">'+w.i18n.volume+"</label>",'<input id="volume-{id}" class="plyr__volume--input" type="range" min="'+w.volumeMin+'" max="'+w.volumeMax+'" value="'+w.volume+'" data-plyr="volume">','<progress class="plyr__volume--display" max="'+w.volumeMax+'" value="'+w.volumeMin+'" role="presentation"></progress>',"</span>"),s(w.controls,"captions")&&e.push('<button type="button" data-plyr="captions">','<svg class="icon--captions-on"><use xlink:href="'+n+'-captions-on" /></svg>','<svg><use xlink:href="'+n+'-captions-off" /></svg>','<span class="plyr__sr-only">'+w.i18n.toggleCaptions+"</span>","</button>"),s(w.controls,"settings")&&e.push('<div class="plyr__menu" data-plyr="settings">','<button type="button" id="plyr-settings-toggle-{id}" aria-haspopup="true" aria-controls="plyr-settings-{id}" aria-expanded="false">','<svg><use xlink:href="'+n+'-settings" /></svg>','<span class="plyr__sr-only">'+w.i18n.settings+"</span>","</button>",'<div class="plyr__menu__container" id="plyr-settings-{id}" aria-hidden="true" aria-labelled-by="plyr-settings-toggle-{id}" role="tablist" tabindex="-1">',"<div>",'<div class="plyr__menu__primary" id="plyr-settings-{id}-primary" aria-hidden="false" aria-labelled-by="plyr-settings-toggle-{id}" role="tabpanel" tabindex="-1">',"<ul>",'<li role="tab">','<button type="button" class="plyr__menu__btn plyr__menu__btn--forward" id="plyr-settings-{id}-captions-toggle" aria-haspopup="true" aria-controls="plyr-settings-{id}-captions" aria-expanded="false">',w.i18n.captions+' <span class="plyr__menu__btn__value">{lang}</span>',"</button>","</li>",'<li role="tab">','<button type="button" class="plyr__menu__btn plyr__menu__btn--forward" id="plyr-settings-{id}-speed-toggle" aria-haspopup="true" aria-controls="plyr-settings-{id}-speed" aria-expanded="false">',w.i18n.speed+' <span class="plyr__menu__btn__value">{speed}</span>',"</button>","</li>",'<li role="tab">','<button type="button" class="plyr__menu__btn plyr__menu__btn--forward" id="plyr-settings-{id}-quality-toggle" aria-haspopup="true" aria-controls="plyr-settings-{id}-quality" aria-expanded="false">',w.i18n.quality+' <span class="plyr__menu__btn__value">Auto</span>',"</button>","</li>","</ul>","</div>",'<div class="plyr__menu__secondary" id="plyr-settings-{id}-captions" aria-hidden="true" aria-labelled-by="plyr-settings-{id}-captions-toggle" role="tabpanel" tabindex="-1">',"<ul>",'<li role="tab">','<button type="button" class="plyr__menu__btn plyr__menu__btn--back" aria-haspopup="true" aria-controls="plyr-settings-{id}-primary" aria-expanded="false">',w.i18n.captions,"</button>","</li>","<li>",'<button type="button">English</button>',"</li>","<li>",'<button type="button">Off</button>',"</li>","</ul>","</div>",'<div class="plyr__menu__secondary" id="plyr-settings-{id}-speed" aria-hidden="true" aria-labelled-by="plyr-settings-{id}-speed-toggle" role="tabpanel" tabindex="-1">',"<ul>",'<li role="tab">','<button type="button" class="plyr__menu__btn plyr__menu__btn--back" aria-haspopup="true" aria-controls="plyr-settings-{id}-primary" aria-expanded="false">',w.i18n.speed,"</button>","</li>","<li>",'<button type="button">2&times;</button>',"</li>","<li>",'<button type="button">1.5&times;</button>',"</li>","<li>",'<button type="button">1&times;</button>',"</li>","<li>",'<button type="button">0.5&times;</button>',"</li>","</ul>","</div>",'<div class="plyr__menu__secondary" id="plyr-settings-{id}-quality" aria-hidden="true" aria-labelled-by="plyr-settings-{id}-quality-toggle" role="tabpanel" tabindex="-1">',"<ul>",'<li role="tab">','<button type="button" class="plyr__menu__btn plyr__menu__btn--back" aria-haspopup="true" aria-controls="plyr-settings-{id}-primary" aria-expanded="false">',w.i18n.quality,"</button>","</li>","<li>",'<button type="button">1080P <span class="plyr__menu__btn__badge"><span>HD</span></span></button>',"</li>","<li>",'<button type="button">720P <span class="plyr__menu__btn__badge"><span>HD</span></span></button>',"</li>","<li>",'<button type="button">480P</button>',"</li>","<li>",'<button type="button">320P</button>',"</li>","</ul>","</div>","</div>","</div>","</div>"),s(w.controls,"fullscreen")&&e.push('<button type="button" data-plyr="fullscreen">','<svg class="icon--exit-fullscreen"><use xlink:href="'+n+'-exit-fullscreen" /></svg>','<svg><use xlink:href="'+n+'-enter-fullscreen" /></svg>','<span class="plyr__sr-only">'+w.i18n.toggleFullscreen+"</span>","</button>"),e.push("</div>"),e.join("")}function q(){if(Ue.supported.full&&("audio"!==Ue.type||w.fullscreen.allowAudio)&&w.fullscreen.enabled){var e=N.fullscreen;e||w.fullscreen.fallback&&!B()?($e((e?"Native":"Fallback")+" fullscreen enabled"),p(Ue.container,w.classes.fullscreen.enabled,!0)):$e("Fullscreen not supported and fallback disabled"),Ue.buttons&&Ue.buttons.fullscreen&&_(Ue.buttons.fullscreen,!1),X()}}function j(e){P.event(e)&&(e=e.target),e.activeCues[0]&&"text"in e.activeCues[0]?R(e.activeCues[0].getCueAsHTML()):R()}function V(){if("video"===Ue.type){Y(w.selectors.captions)||Ue.videoContainer.insertAdjacentHTML("afterbegin",'<div class="'+d(w.selectors.captions)+'"></div>'),Ue.usingTextTracks=!1,Ue.media.textTracks&&(Ue.usingTextTracks=!0);for(var e,t=[],n="",a=Ue.media.childNodes,s=0;s<a.length;s++)"track"===a[s].nodeName.toLowerCase()&&(e=a[s].kind,"captions"!==e&&"subtitles"!==e||t.push(a[s].getAttribute("src")));if(Ue.captionExists=!0,0===t.length?(Ue.captionExists=!1,$e("No caption track found")):w.captions.selectedIndex+1>t.length?(Ue.captionExists=!1,$e("Caption index out of bound")):(n=t[w.captions.selectedIndex],$e("Caption track found; URI: "+n)),Ue.captionExists){for(var r=Ue.media.textTracks,o=0;o<r.length;o++)v(r[o],"cuechange",j),r[o].mode="hidden";if(H(Ue),(Ue.browser.isIE&&Ue.browser.version>=10||Ue.browser.isFirefox&&Ue.browser.version>=31)&&($e("Detected browser with known TextTrack issues - using manual fallback"),Ue.usingTextTracks=!1),Ue.usingTextTracks){$e("TextTracks supported");var i=r[w.captions.selectedIndex];"captions"!==i.kind&&"subtitles"!==i.kind||(g(i,"cuechange",j),i.activeCues&&i.activeCues.length>0&&j(i))}else if($e("TextTracks not supported so rendering captions manually"),Ue.currentCaption="",Ue.captions=[],""!==n){var l=new XMLHttpRequest;l.onreadystatechange=function(){if(4===l.readyState)if(200===l.status){var e,t=[],n=l.responseText;t=n.split("\n\n");for(var a=0;a<t.length;a++){e=t[a],Ue.captions[a]=[];var s=e.split("\n"),r=0;-1===s[r].indexOf(":")&&(r=1),Ue.captions[a]=[s[r],s[r+1]]}Ue.captions.shift(),$e("Successfully loaded the caption file via AJAX")}else Ge(w.logPrefix+"There was a problem loading the caption file via AJAX")},l.open("get",n,!0),l.send()}}else p(Ue.container,w.classes.captions.enabled)}}function R(e){var n=Y(w.selectors.captions),a=t.createElement("span");n.innerHTML="",P.undefined(e)&&(e=""),P.string(e)?a.innerHTML=e.trim():a.appendChild(e),n.appendChild(a);n.offsetHeight}function D(e){function t(e,t){var n=[];n=e.split(" --> ");for(var a=0;a<n.length;a++)n[a]=n[a].replace(/(\d+:\d+:\d+\.\d+).*/,"$1");return s(n[t])}function n(e){return t(e,0)}function a(e){return t(e,1)}function s(e){if(null===e||void 0===e)return 0;var t,n=[],a=[];return n=e.split(","),a=n[0].split(":"),t=Math.floor(60*a[0]*60)+Math.floor(60*a[1])+Math.floor(a[2])}if(!Ue.usingTextTracks&&"video"===Ue.type&&Ue.supported.full&&(Ue.subcount=0,e=P.number(e)?e:Ue.media.currentTime,Ue.captions[Ue.subcount])){for(;a(Ue.captions[Ue.subcount][0])<e.toFixed(1);)if(Ue.subcount++,Ue.subcount>Ue.captions.length-1){Ue.subcount=Ue.captions.length-1;break}Ue.media.currentTime.toFixed(1)>=n(Ue.captions[Ue.subcount][0])&&Ue.media.currentTime.toFixed(1)<=a(Ue.captions[Ue.subcount][0])?(Ue.currentCaption=Ue.captions[Ue.subcount][1],R(Ue.currentCaption)):R()}}function H(){if(Ue.buttons.captions){p(Ue.container,w.classes.captions.enabled,!0);var e=Ue.storage.captionsEnabled;P["boolean"](e)||(e=w.captions.defaultActive),e&&(p(Ue.container,w.classes.captions.active,!0),_(Ue.buttons.captions,!0))}}function W(e){return Ue.container.querySelectorAll(e)}function Y(e){return W(e)[0]}function B(){try{return e.self!==e.top}catch(t){return!0}}function X(){function e(e){9===e.which&&Ue.isFullscreen&&(e.target!==a||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),a.focus()):(e.preventDefault(),n.focus()))}var t=W("input:not([disabled]), button:not([disabled])"),n=t[0],a=t[t.length-1];g(Ue.container,"keydown",e)}function U(e,t){if(P.string(t))c(e,Ue.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)c(e,Ue.media,t[n])}function J(){if(w.loadSprite){var e=O();e.absolute?($e("AJAX loading absolute SVG sprite"+(Ue.browser.isIE?" (due to IE)":"")),T(e.url,"sprite-plyr")):$e("Sprite will be used as external resource directly")}var n=w.html;$e("Injecting custom controls"),n||(n=L()),n=r(n,"{seektime}",w.seekTime),n=r(n,"{speed}",w.currentSpeed.toFixed(1).toString().replace(".0","")+"&times;"),n=r(n,"{lang}","English"),n=r(n,"{id}",Math.floor(1e4*Math.random()));var a;if(P.string(w.selectors.controls.container)&&(a=t.querySelector(w.selectors.controls.container)),P.htmlElement(a)||(a=Ue.container),a.insertAdjacentHTML("beforeend",n),w.tooltips.controls)for(var s=W([w.selectors.controls.wrapper," ",w.selectors.labels," .",w.classes.hidden].join("")),o=s.length-1;o>=0;o--){var i=s[o];p(i,w.classes.hidden,!1),p(i,w.classes.tooltip,!0)}}function z(){try{return Ue.controls=Y(w.selectors.controls.wrapper),Ue.buttons={},Ue.buttons.seek=Y(w.selectors.buttons.seek),Ue.buttons.play=W(w.selectors.buttons.play),Ue.buttons.pause=Y(w.selectors.buttons.pause),Ue.buttons.restart=Y(w.selectors.buttons.restart),Ue.buttons.rewind=Y(w.selectors.buttons.rewind),Ue.buttons.forward=Y(w.selectors.buttons.forward),Ue.buttons.fullscreen=Y(w.selectors.buttons.fullscreen),Ue.buttons.settings=Y(w.selectors.buttons.settings),Ue.buttons.mute=Y(w.selectors.buttons.mute),Ue.buttons.captions=Y(w.selectors.buttons.captions),Ue.progress={},Ue.progress.container=Y(w.selectors.progress.container),Ue.progress.buffer={},Ue.progress.buffer.bar=Y(w.selectors.progress.buffer),Ue.progress.buffer.text=Ue.progress.buffer.bar&&Ue.progress.buffer.bar.getElementsByTagName("span")[0],Ue.progress.played=Y(w.selectors.progress.played),Ue.progress.tooltip=Ue.progress.container&&Ue.progress.container.querySelector("."+w.classes.tooltip),Ue.volume={},Ue.volume.input=Y(w.selectors.volume.input),Ue.volume.display=Y(w.selectors.volume.display),Ue.duration=Y(w.selectors.duration),Ue.currentTime=Y(w.selectors.currentTime),Ue.seekTime=W(w.selectors.seekTime),!0}catch(e){return Ge("It looks like there is a problem with your controls HTML"),G(!0),!1}}function $(){p(Ue.container,w.selectors.container.replace(".",""),Ue.supported.full)}function G(e){e&&s(w.types.html5,Ue.type)?Ue.media.setAttribute("controls",""):Ue.media.removeAttribute("controls")}function K(e){var t=w.i18n.play;if(P.string(w.title)&&w.title.length&&(t+=", "+w.title,Ue.container.setAttribute("aria-label",w.title)),Ue.supported.full&&Ue.buttons.play)for(var n=Ue.buttons.play.length-1;n>=0;n--)Ue.buttons.play[n].setAttribute("aria-label",t);P.htmlElement(e)&&e.setAttribute("title",w.i18n.frameTitle.replace("{title}",w.title))}function Q(){var t=null;Ue.storage={},N.storage&&w.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(w.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?Z({volume:parseFloat(t)}):Ue.storage=JSON.parse(t)))}function Z(t){N.storage&&w.storage.enabled&&(x(Ue.storage,t),e.localStorage.setItem(w.storage.key,JSON.stringify(Ue.storage)))}function ee(){if(!Ue.media)return void Ge("No media element found!");if(Ue.supported.full&&(p(Ue.container,w.classes.type.replace("{0}",Ue.type),!0),s(w.types.embed,Ue.type)&&p(Ue.container,w.classes.type.replace("{0}","video"),!0),p(Ue.container,w.classes.pip.enabled,N.pip(Ue)),p(Ue.container,w.classes.stopped,w.autoplay),p(Ue.ontainer,w.classes.isIos,Ue.browser.isIos),p(Ue.container,w.classes.isTouch,Ue.browser.isTouch),"video"===Ue.type)){var e=t.createElement("div");e.setAttribute("class",w.classes.videoWrapper),o(Ue.media,e),Ue.videoContainer=e}s(w.types.embed,Ue.type)&&te()}function te(){for(var n=t.createElement("div"),s=Ue.embedId,r=Ue.type+"-"+Math.floor(1e4*Math.random()),o=W('[id^="'+Ue.type+'-"]'),l=o.length-1;l>=0;l--)i(o[l]);if(p(Ue.media,w.classes.videoWrapper,!0),p(Ue.media,w.classes.embedWrapper,!0),"youtube"===Ue.type)Ue.media.appendChild(n),n.setAttribute("id",r),P.object(e.YT)?ae(s,n):(a(w.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){ae(s,n)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Ue.type)if(Ue.supported.full?Ue.media.appendChild(n):n=Ue.media,n.setAttribute("id",r),P.object(e.Vimeo))se(s,n);else{a(w.urls.vimeo.api);var c=e.setInterval(function(){P.object(e.Vimeo)&&(e.clearInterval(c),se(s,n))},50)}else if("soundcloud"===Ue.type){var d=t.createElement("iframe");d.loaded=!1,g(d,"load",function(){d.loaded=!0}),u(d,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+s,id:r}),n.appendChild(d),Ue.media.appendChild(n),e.SC||a(w.urls.soundcloud.api);var m=e.setInterval(function(){e.SC&&d.loaded&&(e.clearInterval(m),re.call(d))},50)}}function ne(){Ue.supported.full&&(Ye(),Be()),K(Y("iframe"))}function ae(t,n){Ue.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:w.autoplay?1:0,controls:Ue.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:w.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){S(Ue.container,"error",!0,{code:e.data,embed:e.target})},onReady:function(t){var n=t.target;Ue.media.play=function(){n.playVideo(),Ue.media.paused=!1},Ue.media.pause=function(){n.pauseVideo(),Ue.media.paused=!0},Ue.media.stop=function(){n.stopVideo(),Ue.media.paused=!0},Ue.media.duration=n.getDuration(),Ue.media.paused=!0,Ue.media.currentTime=0,Ue.media.muted=n.isMuted(),w.title=n.getVideoData().title,Ue.supported.full&&Ue.media.querySelector("iframe").setAttribute("tabindex","-1"),ne(),S(Ue.media,"timeupdate"),S(Ue.media,"durationchange"),e.clearInterval(Je.buffering),Je.buffering=e.setInterval(function(){Ue.media.buffered=n.getVideoLoadedFraction(),(null===Ue.media.lastBuffered||Ue.media.lastBuffered<Ue.media.buffered)&&S(Ue.media,"progress"),Ue.media.lastBuffered=Ue.media.buffered,1===Ue.media.buffered&&(e.clearInterval(Je.buffering),S(Ue.media,"canplaythrough"))},200)},onStateChange:function(t){var n=t.target;switch(e.clearInterval(Je.playing),t.data){case 0:Ue.media.paused=!0,S(Ue.media,"ended");break;case 1:Ue.media.paused=!1,Ue.media.seeking=!1,S(Ue.media,"play"),S(Ue.media,"playing"),Je.playing=e.setInterval(function(){Ue.media.currentTime=n.getCurrentTime(),S(Ue.media,"timeupdate")},100);break;case 2:Ue.media.paused=!0,S(Ue.media,"pause")}S(Ue.container,"statechange",!1,{code:t.data})}}})}function se(t,n){Ue.embed=new e.Vimeo.Player(n,{id:parseInt(t),loop:w.loop,autoplay:w.autoplay,byline:!1,portrait:!1,title:!1}),Ue.media.play=function(){Ue.embed.play(),Ue.media.paused=!1},Ue.media.pause=function(){Ue.embed.pause(),Ue.media.paused=!0},Ue.media.stop=function(){Ue.embed.stop(),Ue.media.paused=!0},Ue.media.paused=!0,Ue.media.currentTime=0,ne(),Ue.embed.getCurrentTime().then(function(e){Ue.media.currentTime=e,S(Ue.media,"timeupdate")}),Ue.embed.getDuration().then(function(e){Ue.media.duration=e,S(Ue.media,"durationchange")}),Ue.embed.on("loaded",function(){P.htmlElement(Ue.embed.element)&&Ue.supported.full&&Ue.embed.element.setAttribute("tabindex","-1")}),Ue.embed.on("play",function(){Ue.media.paused=!1,S(Ue.media,"play"),S(Ue.media,"playing")}),Ue.embed.on("pause",function(){Ue.media.paused=!0,S(Ue.media,"pause")}),Ue.embed.on("timeupdate",function(e){Ue.media.seeking=!1,Ue.media.currentTime=e.seconds,S(Ue.media,"timeupdate")}),Ue.embed.on("progress",function(e){Ue.media.buffered=e.percent,S(Ue.media,"progress"),1===parseInt(e.percent)&&S(Ue.media,"canplaythrough")}),Ue.embed.on("ended",function(){Ue.media.paused=!0,S(Ue.media,"ended")})}function re(){Ue.embed=e.SC.Widget(this),Ue.embed.bind(e.SC.Widget.Events.READY,function(){Ue.media.play=function(){Ue.embed.play(),Ue.media.paused=!1},Ue.media.pause=function(){Ue.embed.pause(),Ue.media.paused=!0},Ue.media.stop=function(){Ue.embed.seekTo(0),Ue.embed.pause(),Ue.media.paused=!0},Ue.media.paused=!0,Ue.media.currentTime=0,Ue.embed.getDuration(function(e){Ue.media.duration=e/1e3,ne()}),Ue.embed.getPosition(function(e){Ue.media.currentTime=e,S(Ue.media,"timeupdate")}),Ue.embed.bind(e.SC.Widget.Events.PLAY,function(){Ue.media.paused=!1,S(Ue.media,"play"),S(Ue.media,"playing")}),Ue.embed.bind(e.SC.Widget.Events.PAUSE,function(){Ue.media.paused=!0,S(Ue.media,"pause")}),Ue.embed.bind(e.SC.Widget.Events.PLAY_PROGRESS,function(e){Ue.media.seeking=!1,Ue.media.currentTime=e.currentPosition/1e3,S(Ue.media,"timeupdate")}),Ue.embed.bind(e.SC.Widget.Events.LOAD_PROGRESS,function(e){Ue.media.buffered=e.loadProgress,S(Ue.media,"progress"),1===parseInt(e.loadProgress)&&S(Ue.media,"canplaythrough")}),Ue.embed.bind(e.SC.Widget.Events.FINISH,function(){Ue.media.paused=!0,S(Ue.media,"ended")})})}function oe(){"play"in Ue.media&&Ue.media.play()}function ie(){"pause"in Ue.media&&Ue.media.pause()}function le(e){return P["boolean"](e)||(e=Ue.media.paused),e?oe():ie(),e}function ue(e){P.number(e)||(e=w.seekTime),pe(Ue.media.currentTime-e)}function ce(e){P.number(e)||(e=w.seekTime),pe(Ue.media.currentTime+e)}function de(e){if(!P.array(w.speeds))return void Ge("Invalid speeds format");if(!P.number(e)){var t=w.speeds.indexOf(w.currentSpeed);if(-1!==t){var n=t+1;n>=w.speeds.length&&(n=0),e=w.speeds[n]}else e=w.defaultSpeed}w.currentSpeed=e,Ue.media.playbackRate=e,Z({speed:e})}function pe(e){var t=0,n=Ue.media.paused,a=me();P.number(e)?t=e:P.event(e)&&s(["input","change"],e.type)&&(t=e.target.value/e.target.max*a),0>t?t=0:t>a&&(t=a),Pe(t);try{Ue.media.currentTime=t.toFixed(4)}catch(r){}if(s(w.types.embed,Ue.type)){switch(Ue.type){case"youtube":Ue.embed.seekTo(t);break;case"vimeo":Ue.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Ue.embed.seekTo(1e3*t)}n&&ie(),S(Ue.media,"timeupdate"),Ue.media.seeking=!0}$e("Seeking to "+Ue.media.currentTime+" seconds"),D(t)}function me(){var e=parseInt(w.duration),t=0;return null===Ue.media.duration||isNaN(Ue.media.duration)||(t=Ue.media.duration),isNaN(e)?t:e}function fe(){p(Ue.container,w.classes.playing,!Ue.media.paused),p(Ue.container,w.classes.stopped,Ue.media.paused),Oe(Ue.media.paused)}function be(){F={x:e.pageXOffset||0,y:e.pageYOffset||0}}function ye(){e.scrollTo(F.x,F.y)}function ge(e){var n=N.fullscreen;if(n){if(!e||e.type!==A.eventType)return A.isFullScreen(Ue.container)?A.cancelFullScreen():(be(),A.requestFullScreen(Ue.container)),void(Ue.isFullscreen=A.isFullScreen(Ue.container));Ue.isFullscreen=A.isFullScreen(Ue.container)}else Ue.isFullscreen=!Ue.isFullscreen,t.body.style.overflow=Ue.isFullscreen?"hidden":"";p(Ue.container,w.classes.fullscreen.active,Ue.isFullscreen),X(Ue.isFullscreen),Ue.buttons&&Ue.buttons.fullscreen&&_(Ue.buttons.fullscreen,Ue.isFullscreen),S(Ue.container,Ue.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Ue.isFullscreen&&n&&ye()}function ve(e){if(P["boolean"](e)||(e=!Ue.media.muted),_(Ue.buttons.mute,e),Ue.media.muted=e,0===Ue.media.volume&&he(w.volume),s(w.types.embed,Ue.type)){switch(Ue.type){case"youtube":Ue.embed[Ue.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Ue.embed.setVolume(Ue.media.muted?0:parseFloat(w.volume/w.volumeMax))}S(Ue.media,"volumechange")}}function he(e){var t=w.volumeMax,n=w.volumeMin;if(P.undefined(e)&&(e=Ue.storage.volume),(null===e||isNaN(e))&&(e=w.volume),e>t&&(e=t),n>e&&(e=n),Ue.media.volume=parseFloat(e/t),Ue.volume.display&&(Ue.volume.display.value=e),s(w.types.embed,Ue.type)){switch(Ue.type){case"youtube":Ue.embed.setVolume(100*Ue.media.volume);break;case"vimeo":case"soundcloud":Ue.embed.setVolume(Ue.media.volume)}S(Ue.media,"volumechange")}0===e?Ue.media.muted=!0:Ue.media.muted&&e>0&&ve()}function _e(e){var t=Ue.media.muted?0:Ue.media.volume*w.volumeMax;P.number(e)||(e=w.volumeStep),he(t+e)}function ke(e){var t=Ue.media.muted?0:Ue.media.volume*w.volumeMax;P.number(e)||(e=w.volumeStep),he(t-e)}function xe(){var e=Ue.media.muted?0:Ue.media.volume*w.volumeMax;Ue.supported.full&&(Ue.volume.input&&(Ue.volume.input.value=e),Ue.volume.display&&(Ue.volume.display.value=e)),Z({volume:e}),p(Ue.container,w.classes.muted,0===e),Ue.supported.full&&Ue.buttons.mute&&_(Ue.buttons.mute,0===e)}function we(e){Ue.supported.full&&Ue.buttons.captions&&(P["boolean"](e)||(e=-1===Ue.container.className.indexOf(w.classes.captions.active)),Ue.captionsEnabled=e,_(Ue.buttons.captions,Ue.captionsEnabled),p(Ue.container,w.classes.captions.active,Ue.captionsEnabled),S(Ue.container,Ue.captionsEnabled?"captionsenabled":"captionsdisabled",!0),Z({captionsEnabled:Ue.captionsEnabled}))}function Te(e){w.captions.selectedIndex=e,R(),V()}function Ee(e){var t="waiting"===e.type;clearTimeout(Je.loading),Je.loading=setTimeout(function(){p(Ue.container,w.classes.loading,t),Oe(t)},t?250:0)}function Se(e){if(Ue.supported.full){var t=Ue.progress.played,n=0,a=me();if(e)switch(e.type){case"timeupdate":case"seeking":if(Ue.controls.pressed)return;n=k(Ue.media.currentTime,a),"timeupdate"===e.type&&Ue.buttons.seek&&(Ue.buttons.seek.value=n);break;case"playing":case"progress":t=Ue.progress.buffer,n=function(){var e=Ue.media.buffered;return e&&e.length?k(e.end(0),a):P.number(e)?100*e:0}()}Ce(t,n)}}function Ce(e,t){if(Ue.supported.full){if(P.undefined(t)&&(t=0),P.undefined(e)){if(!Ue.progress||!Ue.progress.buffer)return;e=Ue.progress.buffer}P.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Ae(e,t){if(t){isNaN(e)&&(e=0),Ue.secs=parseInt(e%60),Ue.mins=parseInt(e/60%60),Ue.hours=parseInt(e/60/60%60);var n=parseInt(me()/60/60%60)>0;Ue.secs=("0"+Ue.secs).slice(-2),Ue.mins=("0"+Ue.mins).slice(-2),t.innerHTML=(n?Ue.hours+":":"")+Ue.mins+":"+Ue.secs}}function Fe(){if(Ue.supported.full){var e=me()||0;!Ue.duration&&w.displayDuration&&Ue.media.paused&&Ae(e,Ue.currentTime),Ue.duration&&Ae(e,Ue.duration),Ne()}}function Ie(e){Ae(Ue.media.currentTime,Ue.currentTime),e&&"timeupdate"===e.type&&Ue.media.seeking||Se(e)}function Pe(e){P.number(e)||(e=0);var t=me(),n=k(e,t);Ue.progress&&Ue.progress.played&&(Ue.progress.played.value=n),Ue.buttons&&Ue.buttons.seek&&(Ue.buttons.seek.value=n)}function Ne(e){var t=me();if(w.tooltips.seek&&Ue.progress.container&&0!==t){var n=Ue.progress.container.getBoundingClientRect(),a=0,r=w.classes.tooltip+"--visible";if(e)a=100/n.width*(e.pageX-n.left);else{if(!m(Ue.progress.tooltip,r))return;a=Ue.progress.tooltip.style.left.replace("%","")}0>a?a=0:a>100&&(a=100),Ae(t/100*a,Ue.progress.tooltip),Ue.progress.tooltip.style.left=a+"%",e&&s(["mouseenter","mouseleave"],e.type)&&p(Ue.progress.tooltip,r,"mouseenter"===e.type)}}function Me(e){P.undefined(e)&&(e=Ue.storage.speed||w.defaultSpeed),de(e)}function Oe(t){if(w.hideControls&&"audio"!==Ue.type){var n=0,a=!1,r=t,o=m(Ue.container,w.classes.loading);if(P["boolean"](t)||(t&&t.type?(a="enterfullscreen"===t.type,r=s(["mousemove","touchstart","mouseenter","focus"],t.type),s(["mousemove","touchmove"],t.type)&&(n=2e3),"focus"===t.type&&(n=3e3)):r=m(Ue.container,w.classes.hideControls)),e.clearTimeout(Je.hover),r||Ue.media.paused||o){if(p(Ue.container,w.classes.hideControls,!1),Ue.media.paused||o)return;Ue.browser.isTouch&&(n=3e3)}r&&Ue.media.paused||(Je.hover=e.setTimeout(function(){(!Ue.controls.pressed&&!Ue.controls.hover||a)&&p(Ue.container,w.classes.hideControls,!0)},n))}}function Le(e){if(!P.undefined(e))return void qe(e);var t;switch(Ue.type){case"youtube":t=Ue.embed.getVideoUrl();break;case"vimeo":Ue.embed.getVideoUrl.then(function(e){t=e});break;case"soundcloud":Ue.embed.getCurrentSound(function(e){t=e.permalink_url});break;default:t=Ue.media.currentSrc}return t||""}function qe(e){function n(){if(Ue.embed=null,i(Ue.media),"video"===Ue.type&&Ue.videoContainer&&i(Ue.videoContainer),Ue.container&&Ue.container.removeAttribute("class"),"type"in e&&(Ue.type=e.type,"video"===Ue.type)){var n=e.sources[0];"type"in n&&s(w.types.embed,n.type)&&(Ue.type=n.type)}switch(Ue.supported=E(Ue.type),Ue.type){case"video":Ue.media=t.createElement("video");break;case"audio":Ue.media=t.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":Ue.media=t.createElement("div"),Ue.embedId=e.sources[0].src}l(Ue.container,Ue.media),P["boolean"](e.autoplay)&&(w.autoplay=e.autoplay),s(w.types.html5,Ue.type)&&(w.crossorigin&&Ue.media.setAttribute("crossorigin",""),w.autoplay&&Ue.media.setAttribute("autoplay",""),"poster"in e&&Ue.media.setAttribute("poster",e.poster),w.loop&&Ue.media.setAttribute("loop","")),p(Ue.container,w.classes.fullscreen.active,Ue.isFullscreen),p(Ue.container,w.classes.captions.active,Ue.captionsEnabled),$(),s(w.types.html5,Ue.type)&&U("source",e.sources),ee(),s(w.types.html5,Ue.type)&&("tracks"in e&&U("track",e.tracks),Ue.media.load()),(s(w.types.html5,Ue.type)||s(w.types.embed,Ue.type)&&!Ue.supported.full)&&(Ye(),Be()),w.title=e.title,K()}return P.object(e)&&"sources"in e&&e.sources.length?(p(Ue.container,w.classes.ready,!1),ie(),Pe(),Ce(),De(),void He(n,!1)):void Ge("Invalid source format")}function je(e){"video"===Ue.type&&Ue.media.setAttribute("poster",e);
+}function Ve(){function n(){var e=le(),t=Ue.buttons[e?"play":"pause"],n=Ue.buttons[e?"pause":"play"];if(n=n&&n.length>1?n[n.length-1]:n[0]){var a=m(t,w.classes.tabFocus);setTimeout(function(){n.focus(),a&&(p(t,w.classes.tabFocus,!1),p(n,w.classes.tabFocus,!0))},100)}}function a(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function r(e){return e.keyCode?e.keyCode:e.which}function o(e){for(var t in Ue.buttons){var n=Ue.buttons[t];if(P.nodeList(n))for(var a=0;a<n.length;a++)p(n[a],w.classes.tabFocus,n[a]===e);else p(n,w.classes.tabFocus,n===e)}}function l(e){function t(){var e=Ue.media.duration;P.number(e)&&pe(e/10*(n-48))}var n=r(e),a="keydown"===e.type,o=a&&n===c;if(P.number(n))if(a){var i=[48,49,50,51,52,53,54,56,57,32,75,38,40,77,39,37,70,67];switch(s(i,n)&&(e.preventDefault(),e.stopPropagation()),n){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:o||t();break;case 32:case 75:o||le();break;case 38:_e();break;case 40:ke();break;case 77:o||ve();break;case 39:ce();break;case 37:ue();break;case 70:ge();break;case 67:o||we()}!N.fullscreen&&Ue.isFullscreen&&27===n&&ge(),c=n}else c=null}var u=Ue.browser.isIE?"change":"input";if(w.keyboardShorcuts.focused){var c=null;w.keyboardShorcuts.global&&g(e,"keydown keyup",function(e){var t=r(e),n=a(),o=[48,49,50,51,52,53,54,56,57,75,77,70,67],i=C().length;1!==i||!s(o,t)||P.htmlElement(n)&&f(n,w.selectors.editable)||l(e)}),g(Ue.container,"keydown keyup",l)}g(e,"keyup",function(e){var t=r(e),n=a();9===t&&o(n)}),g(t.body,"click",function(){p(Y("."+w.classes.tabFocus),w.classes.tabFocus,!1)});for(var d in Ue.buttons){var y=Ue.buttons[d];g(y,"blur",function(){p(y,"tab-focus",!1)})}b(Ue.buttons.play,"click",w.listeners.play,n),b(Ue.buttons.pause,"click",w.listeners.pause,n),b(Ue.buttons.restart,"click",w.listeners.restart,pe),b(Ue.buttons.rewind,"click",w.listeners.rewind,ue),b(Ue.buttons.forward,"click",w.listeners.forward,ce),b(Ue.buttons.speed,"click",w.listeners.speed,de),b(Ue.buttons.seek,u,w.listeners.seek,pe),b(Ue.volume.input,u,w.listeners.volume,function(){he(Ue.volume.input.value)}),b(Ue.buttons.mute,"click",w.listeners.mute,ve),b(Ue.buttons.fullscreen,"click",w.listeners.fullscreen,ge),N.fullscreen&&g(t,A.eventType,ge),g(Ue.buttons.captions,"click",we),g(Ue.buttons.settings,"click",function(n){var a=this,s=n.target,r=t.getElementById(s.getAttribute("aria-controls")),o="false"===s.getAttribute("aria-expanded");if(P.htmlElement(r)){var l,u,c,d="tabpanel"===r.getAttribute("role");if(d){var p=a.querySelector('[role="tabpanel"][aria-hidden="false"]');c=p.parentNode,[].forEach.call(a.querySelectorAll('[aria-controls="'+p.getAttribute("id")+'"]'),function(e){e.setAttribute("aria-expanded",!1)}),c.style.width=p.scrollWidth+"px",c.style.height=p.scrollHeight+"px",p.setAttribute("aria-hidden",!0),p.setAttribute("tabindex",-1);var m=r.cloneNode(!0);m.style.position="absolute",m.style.opacity=0,m.setAttribute("aria-hidden",!1),c.appendChild(m),l=m.scrollWidth,u=m.scrollHeight,i(m)}r.setAttribute("aria-hidden",!o),s.setAttribute("aria-expanded",o),r.setAttribute("tabindex",0),d&&(c.style.width=l+"px",c.style.height=u+"px",e.setTimeout(function(){c.style.width="",c.style.height=""},300))}}),g(Ue.progress.container,"mouseenter mouseleave mousemove",Ne),w.hideControls&&(g(Ue.container,"mouseenter mouseleave mousemove touchstart touchend touchcancel touchmove enterfullscreen",Oe),g(Ue.controls,"mouseenter mouseleave",function(e){Ue.controls.hover="mouseenter"===e.type}),g(Ue.controls,"mousedown mouseup touchstart touchend touchcancel",function(e){Ue.controls.pressed=s(["mousedown","touchstart"],e.type)}),g(Ue.controls,"focus blur",Oe,!0)),g(Ue.volume.input,"wheel",function(e){e.preventDefault();var t=e.webkitDirectionInvertedFromDevice,n=w.volumeStep/5;(e.deltaY<0||e.deltaX>0)&&(t?ke(n):_e(n)),(e.deltaY>0||e.deltaX<0)&&(t?_e(n):ke(n))})}function Re(){if(g(Ue.media,"timeupdate seeking",Ie),g(Ue.media,"timeupdate",D),g(Ue.media,"durationchange loadedmetadata",Fe),g(Ue.media,"ended",function(){"video"===Ue.type&&w.showPosterOnEnd&&("video"===Ue.type&&R(),pe(),Ue.media.load())}),g(Ue.media,"progress playing",Se),g(Ue.media,"volumechange",xe),g(Ue.media,"play pause ended",fe),g(Ue.media,"waiting canplay seeked",Ee),w.clickToPlay&&"audio"!==Ue.type){var e=Y("."+w.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){w.hideControls&&Ue.browser.isTouch&&!Ue.media.paused||(Ue.media.paused?oe():Ue.media.ended?(pe(),oe()):ie())})}w.disableContextMenu&&g(Ue.media,"contextmenu",function(e){e.preventDefault()}),g(Ue.media,w.events.concat(["keyup","keydown"]).join(" "),function(e){S(Ue.container,e.type,!0)})}function De(){if(s(w.types.html5,Ue.type)){for(var e=Ue.media.querySelectorAll("source"),t=0;t<e.length;t++)i(e[t]);Ue.media.setAttribute("src","https://cdn.selz.com/plyr/blank.mp4"),Ue.media.load(),$e("Cancelled network requests")}}function He(t,n){function a(){P["boolean"](n)||(n=!0),P["function"](t)&&t.call(ze),n&&(Ue.init=!1,Ue.container.parentNode.replaceChild(ze,Ue.container),S(ze,"destroyed",!0))}if(!Ue.init)return null;switch(Ue.type){case"youtube":e.clearInterval(Je.buffering),e.clearInterval(Je.playing),Ue.embed.destroy(),a();break;case"vimeo":Ue.embed.unload().then(a),e.setTimeout(a,200);break;case"video":case"audio":G(!0),a()}}function We(){if(Ue.init)return null;if(Ue.browser=n(),P.htmlElement(Ue.media)){Q();var e=y.tagName.toLowerCase();"div"===e?(Ue.type=y.getAttribute("data-type"),Ue.embedId=y.getAttribute("data-video-id"),y.removeAttribute("data-type"),y.removeAttribute("data-video-id")):(Ue.type=e,w.crossorigin=null!==y.getAttribute("crossorigin"),w.autoplay=w.autoplay||null!==y.getAttribute("autoplay"),w.loop=w.loop||null!==y.getAttribute("loop")),Ue.supported=E(Ue.type),Ue.supported.basic&&(Ue.container=o(y,t.createElement("div")),Ue.container.setAttribute("tabindex",0),$(),$e(""+Ue.browser.name+" "+Ue.browser.version),ee(),(s(w.types.html5,Ue.type)||s(w.types.embed,Ue.type)&&!Ue.supported.full)&&(Ye(),Be(),K()),Ue.init=!0)}}function Ye(){if(!Ue.supported.full)return Ge("Basic support only",Ue.type),i(Y(w.selectors.controls.wrapper)),i(Y(w.selectors.buttons.play)),void G(!0);var e=!W(w.selectors.controls.wrapper).length;e&&J(),z()&&(e&&Ve(),Re(),G(),q(),V(),he(),xe(),Me(),Ie(),fe())}function Be(){e.setTimeout(function(){S(Ue.media,"ready")},0),p(Ue.media,I.classes.setup,!0),p(Ue.container,w.classes.ready,!0),Ue.media.plyr=Xe,w.autoplay&&oe()}var Xe,Ue=this,Je={};Ue.media=y;var ze=y.cloneNode(!0),$e=function(){M("log",arguments)},Ge=function(){M("warn",arguments)};return $e("Config",w),Xe={getOriginal:function(){return ze},getContainer:function(){return Ue.container},getEmbed:function(){return Ue.embed},getMedia:function(){return Ue.media},getType:function(){return Ue.type},getDuration:me,getCurrentTime:function(){return Ue.media.currentTime},getVolume:function(){return Ue.media.volume},isMuted:function(){return Ue.media.muted},isReady:function(){return m(Ue.container,w.classes.ready)},isLoading:function(){return m(Ue.container,w.classes.loading)},on:function(e,t){g(Ue.container,e,t)},play:oe,pause:ie,stop:function(){ie(),pe()},restart:pe,rewind:ue,forward:ce,seek:pe,source:Le,poster:je,setVolume:he,setSpeed:Me,togglePlay:le,toggleMute:ve,toggleCaptions:we,toggleFullscreen:ge,toggleControls:Oe,setCaptionIndex:Te,isFullscreen:function(){return Ue.isFullscreen||!1},support:function(e){return N.mime(Ue,e)},destroy:He},We(),Ue.init?Xe:null}function T(e,n){var a=new XMLHttpRequest;if(!P.string(n)||!P.htmlElement(t.querySelector("#"+n))){var s=t.createElement("div");s.setAttribute("hidden",""),P.string(n)&&s.setAttribute("id",n),t.body.insertBefore(s,t.body.childNodes[0]),"withCredentials"in a&&(a.open("GET",e,!0),a.onload=function(){s.innerHTML=a.responseText},a.send())}}function E(e){var a,s,r=n(),o=r.isIE&&r.version<=9,i=r.isIos,l=/iPhone|iPod/i.test(navigator.userAgent),u=!!t.createElement("audio").canPlayType,c=!!t.createElement("video").canPlayType;switch(e){case"video":a=c,s=a&&!o&&!l;break;case"audio":a=u,s=a&&!o;break;case"vimeo":case"youtube":case"soundcloud":a=!0,s=!o&&!i;break;default:a=u&&c,s=a&&!o}return{basic:a,full:s}}function S(e,n){function a(e,t){m(t,I.classes.hook)||s.push({target:e,media:t})}var s=[],r=[],o=[I.selectors.html5,I.selectors.embed].join(",");if(P.string(e)?e=t.querySelectorAll(e):P.htmlElement(e)?e=[e]:P.nodeList(e)||P.array(e)||P.string(e)||(P.undefined(n)&&P.object(e)&&(n=e),e=t.querySelectorAll(o)),P.nodeList(e)&&(e=Array.prototype.slice.call(e)),!E().basic||!e.length)return!1;for(var i=0;i<e.length;i++){var l=e[i],u=l.querySelectorAll(o);if(u.length)for(var c=0;c<u.length;c++)a(l,u[c]);else f(l,o)&&a(l,l)}return s.forEach(function(e){var t=e.target,a=e.media,s=!1;a===t&&(s=!0);var o={};try{o=JSON.parse(t.getAttribute("data-plyr"))}catch(i){}var l=x({},I,n,o);if(!l.enabled)return null;var u=new w(a,l);if(P.object(u)){if(l.debug){var c=l.events.concat(["setup","statechange","enterfullscreen","exitfullscreen","captionsenabled","captionsdisabled"]);g(u.getContainer(),c.join(" "),function(e){console.log([l.logPrefix,"event:",e.type].join(" "),e.detail.plyr)})}h(u.getContainer(),"setup",!0,{plyr:u}),r.push(u)}}),r}function C(e){if(P.string(e)?e=t.querySelector(e):P.undefined(e)&&(e=t.body),P.htmlElement(e)){var n=e.querySelectorAll("."+I.classes.setup),a=[];return Array.prototype.slice.call(n).forEach(function(e){P.object(e.plyr)&&a.push(e.plyr)}),a}return[]}var A,F={x:0,y:0},I={enabled:!0,debug:!1,autoplay:!1,loop:!1,seekTime:10,volume:10,volumeMin:0,volumeMax:10,volumeStep:1,defaultSpeed:1,currentSpeed:1,speeds:[.5,1,1.5,2],duration:null,displayDuration:!0,loadSprite:!0,iconPrefix:"plyr",iconUrl:"https://cdn.plyr.io/2.0.7/plyr.svg",clickToPlay:!0,hideControls:!0,showPosterOnEnd:!1,disableContextMenu:!0,keyboardShorcuts:{focused:!0,global:!1},tooltips:{controls:!1,seek:!0},selectors:{html5:"video, audio",embed:"[data-type]",editable:"input, textarea, select, [contenteditable]",container:".plyr",controls:{container:null,wrapper:".plyr__controls"},labels:"[data-plyr]",buttons:{seek:'[data-plyr="seek"]',play:'[data-plyr="play"]',pause:'[data-plyr="pause"]',restart:'[data-plyr="restart"]',rewind:'[data-plyr="rewind"]',forward:'[data-plyr="fast-forward"]',mute:'[data-plyr="mute"]',captions:'[data-plyr="captions"]',fullscreen:'[data-plyr="fullscreen"]',settings:'[data-plyr="settings"]'},volume:{input:'[data-plyr="volume"]',display:".plyr__volume--display"},progress:{container:".plyr__progress",buffer:".plyr__progress--buffer",played:".plyr__progress--played"},captions:".plyr__captions",currentTime:".plyr__time--current",duration:".plyr__time--duration"},classes:{setup:"plyr--setup",ready:"plyr--ready",videoWrapper:"plyr__video-wrapper",embedWrapper:"plyr__video-embed",type:"plyr--{0}",stopped:"plyr--stopped",playing:"plyr--playing",muted:"plyr--muted",loading:"plyr--loading",hover:"plyr--hover",tooltip:"plyr__tooltip",hidden:"plyr__sr-only",hideControls:"plyr--hide-controls",isIos:"plyr--is-ios",isTouch:"plyr--is-touch",captions:{enabled:"plyr--captions-enabled",active:"plyr--captions-active"},fullscreen:{enabled:"plyr--fullscreen-enabled",active:"plyr--fullscreen-active"},pip:{enabled:"plyr--pip-enabled",active:"plyr--pip-active"},tabFocus:"tab-focus"},captions:{defaultActive:!1,selectedIndex:0},fullscreen:{enabled:!0,fallback:!0,allowAudio:!1},storage:{enabled:!0,key:"plyr"},controls:["play-large","play","progress","current-time","mute","volume","settings","fullscreen"],i18n:{restart:"Restart",rewind:"Rewind {seektime} secs",play:"Play",pause:"Pause",forward:"Forward {seektime} secs",played:"played",buffered:"buffered",currentTime:"Current time",duration:"Duration",volume:"Volume",toggleMute:"Toggle Mute",toggleCaptions:"Toggle Captions",toggleFullscreen:"Toggle Fullscreen",frameTitle:"Player for {title}",captions:"Captions",settings:"Settings",speed:"Speed",quality:"Quality"},types:{embed:["youtube","vimeo","soundcloud"],html5:["video","audio"]},urls:{vimeo:{api:"https://player.vimeo.com/api/player.js"},youtube:{api:"https://www.youtube.com/iframe_api"},soundcloud:{api:"https://w.soundcloud.com/player/api.js"}},listeners:{seek:null,play:null,pause:null,restart:null,rewind:null,forward:null,mute:null,volume:null,captions:null,fullscreen:null,speed:null},events:["ready","ended","progress","stalled","playing","waiting","canplay","canplaythrough","loadstart","loadeddata","loadedmetadata","timeupdate","volumechange","play","pause","error","seeking","emptied"],logPrefix:"[Plyr]"},P={object:function(e){return null!==e&&"object"==typeof e&&e.constructor===Object},array:function(e){return null!==e&&"object"==typeof e&&e.constructor===Array},number:function(e){return null!==e&&("number"==typeof e&&!isNaN(e-0)||"object"==typeof e&&e.constructor===Number)},string:function(e){return null!==e&&("string"==typeof e||"object"==typeof e&&e.constructor===String)},"boolean":function(e){return null!==e&&"boolean"==typeof e},nodeList:function(e){return null!==e&&e instanceof NodeList},htmlElement:function(e){return null!==e&&e instanceof HTMLElement},"function":function(e){return null!==e&&"function"==typeof e},event:function(e){return null!==e&&"object"==typeof e&&(e.constructor===Event||e.constructor===CustomEvent)},undefined:function(e){return null!==e&&"undefined"==typeof e},empty:function(e){return null===e||this.undefined(e)||(this.string(e)||this.array(e)||this.nodeList(e))&&0===e.length||this.object(e)&&0===Object.keys(e).length}};!function(){var e=function(){return P.undefined(t.cancelFullScreen)?(["webkit","o","moz","ms","khtml"].forEach(function(e){return P.undefined(t[e+"CancelFullScreen"])?!P.undefined(t.msExitFullscreen)&&t.msFullscreenEnabled?"ms":void 0:e}),!1):""}();A={eventType:"ms"===e?"MSFullscreenChange":e+"fullscreenchange",isFullScreen:function(n){if(!N.fullscreen)return!1;switch(P.undefined(n)&&(n=t.body),this.prefix){case"":return t.fullscreenElement===n;case"moz":return t.mozFullScreenElement===n;default:return t[e+"FullscreenElement"]===n}},requestFullScreen:function(n){return N.fullscreen?(P.undefined(n)&&(n=t.body),""===e?n.requestFullScreen():n[e+("ms"===e?"RequestFullscreen":"RequestFullScreen")]()):!1},cancelFullScreen:function(){return N.fullscreen?""===e?t.cancelFullScreen():t[e+("ms"===e?"ExitFullscreen":"CancelFullScreen")]():!1},element:function(){return N.fullscreen?""===e?t.fullscreenElement:t[e+"FullscreenElement"]:null}}}();var N={fullscreen:A.prefix!==!1,storage:function(){if(!("localStorage"in e))return!1;try{e.localStorage.setItem("___test","OK");var t=e.localStorage.getItem("___test");return e.localStorage.removeItem("___test"),"OK"===t}catch(n){return!1}return!1}(),pip:function(e){return P["function"](e.media.webkitSetPresentationMode)},mime:function(e,t){var n=e.media;if("video"===e.type)switch(t){case"video/webm":return!(!n.canPlayType||!n.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/no/,""));case"video/mp4":return!(!n.canPlayType||!n.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"').replace(/no/,""));case"video/ogg":return!(!n.canPlayType||!n.canPlayType('video/ogg; codecs="theora"').replace(/no/,""))}else if("audio"===e.type)switch(t){case"audio/mpeg":return!(!n.canPlayType||!n.canPlayType("audio/mpeg;").replace(/no/,""));case"audio/ogg":return!(!n.canPlayType||!n.canPlayType('audio/ogg; codecs="vorbis"').replace(/no/,""));case"audio/wav":return!(!n.canPlayType||!n.canPlayType('audio/wav; codecs="1"').replace(/no/,""))}return!1}};return{setup:S,supported:E,loadSprite:T,get:C}}),function(){function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}"function"!=typeof window.CustomEvent&&(e.prototype=window.Event.prototype,window.CustomEvent=e)}(); \ No newline at end of file
diff --git a/readme.md b/readme.md
index b24e339f..49bd59f4 100644
--- a/readme.md
+++ b/readme.md
@@ -369,7 +369,7 @@ Note the single quotes encapsulating the JSON and double quotes on the object ke
<td><code>captions</code></td>
<td>Object</td>
<td>&mdash;</td>
- <td>One property <code>defaultActive</code> which toggles if captions should be on by default. The default value is <code>false</code>.</td>
+ <td>Two properties: <code>defaultActive</code> which toggles if captions should be on by default. The default value is <code>false</code>. The <code>selectedIndex</code> property sets the default starting index for the caption tracks.</td>
</tr>
<tr>
<td><code>fullscreen</code></td>
@@ -576,6 +576,11 @@ Here's a list of the methods supported:
<td>Toggles whether captions are enabled.</td>
</tr>
<tr>
+ <td><code>setCaptionIndex()</code></td>
+ <td>Number</td>
+ <td>Set the active track to the provided number. Index starts with 0.</td>
+ </tr>
+ <tr>
<td><code>toggleFullscreen()</code></td>
<td>Event</td>
<td>Toggles fullscreen. This can only be initiated by a user gesture due to browser security, i.e. a user event such as click.</td>
diff --git a/src/js/plyr.js b/src/js/plyr.js
index e24f258b..36e446f0 100644
--- a/src/js/plyr.js
+++ b/src/js/plyr.js
@@ -124,7 +124,8 @@
tabFocus: 'tab-focus'
},
captions: {
- defaultActive: false
+ defaultActive: false,
+ selectedIndex: 0
},
fullscreen: {
enabled: true,
@@ -437,13 +438,20 @@
}
}
- // Bind event
+ // Bind event handler
function _on(element, events, callback, useCapture) {
- if (element) {
+ if (_is.htmlElement(element)) {
_toggleListener(element, events, callback, true, useCapture);
}
}
+ // Unbind event handler
+ function _off(element, events, callback, useCapture) {
+ if (_is.htmlElement(element)) {
+ _toggleListener(element, events, callback, false, useCapture);
+ }
+ }
+
// Trigger event
function _event(element, type, bubbles, properties) {
// Bail if no element
@@ -1017,6 +1025,25 @@
}
}
+ // Caption cue change helper event
+ /*function _captionCueChange() {
+ _setActiveCueForTrack(this);
+ }*/
+
+ // Display active caption if it contains text
+ function _setActiveCueForTrack(track) {
+ if (_is.event(track)) {
+ track = track.target;
+ }
+
+ // Display a cue, if there is one
+ if (track.activeCues[0] && 'text' in track.activeCues[0]) {
+ _setCaption(track.activeCues[0].getCueAsHTML());
+ } else {
+ _setCaption();
+ }
+ }
+
// Setup captions
function _setupCaptions() {
// Bail if not HTML5 video
@@ -1036,7 +1063,8 @@
}
// Get URL of caption file if exists
- var captionSrc = '',
+ var captionSources = [],
+ captionSrc = '',
kind,
children = plyr.media.childNodes;
@@ -1044,17 +1072,21 @@
if (children[i].nodeName.toLowerCase() === 'track') {
kind = children[i].kind;
if (kind === 'captions' || kind === 'subtitles') {
- captionSrc = children[i].getAttribute('src');
+ captionSources.push(children[i].getAttribute('src'));
}
}
}
// Record if caption file exists or not
plyr.captionExists = true;
- if (captionSrc === '') {
+ if (captionSources.length === 0) {
plyr.captionExists = false;
_log('No caption track found');
+ } else if ((config.captions.selectedIndex + 1) > captionSources.length) {
+ plyr.captionExists = false;
+ _log('Caption index out of bound');
} else {
+ captionSrc = captionSources[config.captions.selectedIndex];
_log('Caption track found; URI: ' + captionSrc);
}
@@ -1066,6 +1098,8 @@
// This doesn't seem to work in Safari 7+, so the <track> elements are removed from the dom below
var tracks = plyr.media.textTracks;
for (var x = 0; x < tracks.length; x++) {
+ // Remove the listener to prevent event overlapping
+ _off(tracks[x], 'cuechange', _setActiveCueForTrack);
tracks[x].mode = 'hidden';
}
@@ -1089,20 +1123,16 @@
if (plyr.usingTextTracks) {
_log('TextTracks supported');
- for (var y = 0; y < tracks.length; y++) {
- var track = tracks[y];
+ var track = tracks[config.captions.selectedIndex];
- if (track.kind === 'captions' || track.kind === 'subtitles') {
- _on(track, 'cuechange', function() {
- // Display a cue, if there is one
- if (this.activeCues[0] && 'text' in this.activeCues[0]) {
- _setCaption(this.activeCues[0].getCueAsHTML());
- } else {
- _setCaption();
- }
- });
+ if (track.kind === 'captions' || track.kind === 'subtitles') {
+ _on(track, 'cuechange', _setActiveCueForTrack);
+
+ // if we change the active track while a cue is already displayed we need to update it
+ if (track.activeCues && track.activeCues.length > 0) {
+ _setActiveCueForTrack(track);
}
- }
+ }
} else {
// Caption tracks not natively supported
_log('TextTracks not supported so rendering captions manually');
@@ -2425,6 +2455,20 @@
_updateStorage({captionsEnabled: plyr.captionsEnabled});
}
+ // Select active caption
+ function _setCaptionIndex(index){
+
+ //save active caption
+ config.captions.selectedIndex = index;
+
+ // clear caption
+ _setCaption();
+
+ // re-run setup
+ _setupCaptions();
+
+ }
+
// Check if media is loading
function _checkLoading(event) {
var loading = (event.type === 'waiting');
@@ -3615,6 +3659,7 @@
toggleCaptions: _toggleCaptions,
toggleFullscreen: _toggleFullscreen,
toggleControls: _toggleControls,
+ setCaptionIndex: _setCaptionIndex,
isFullscreen: function() { return plyr.isFullscreen || false; },
support: function(mimeType) { return _support.mime(plyr, mimeType); },
destroy: _destroy