@baladshow/plyr-shaka
Version:
A simple, accessible and customizable HTML5, YouTube and Vimeo media player
1 lines • 117 kB
JavaScript
"object"==typeof navigator&&function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define("Plyr",t):(e=e||self).Plyr=t()}(this,function(){"use strict";function e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function t(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function i(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var i=[],n=!0,a=!1,s=void 0;try{for(var o,r=e[Symbol.iterator]();!(n=(o=r.next()).done)&&(i.push(o.value),!t||i.length!==t);n=!0);}catch(e){a=!0,s=e}finally{try{n||null==r.return||r.return()}finally{if(a)throw s}}return i}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function s(e){return function(e){if(Array.isArray(e)){for(var t=0,i=new Array(e.length);t<e.length;t++)i[t]=e[t];return i}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var o={addCSS:!0,thumbWidth:15,watch:!0};var r=function(e){return null!=e?e.constructor:null},l=function(e,t){return Boolean(e&&t&&e instanceof t)},c=function(e){return null==e},u=function(e){return r(e)===Object},d=function(e){return r(e)===String},h=function(e){return Array.isArray(e)},m=function(e){return l(e,NodeList)},p={nullOrUndefined:c,object:u,number:function(e){return r(e)===Number&&!Number.isNaN(e)},string:d,boolean:function(e){return r(e)===Boolean},function:function(e){return r(e)===Function},array:h,nodeList:m,element:function(e){return l(e,Element)},event:function(e){return l(e,Event)},empty:function(e){return c(e)||(d(e)||h(e)||m(e))&&!e.length||u(e)&&!Object.keys(e).length}};function f(e,t){if(t<1){var i=(n="".concat(t).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/))?Math.max(0,(n[1]?n[1].length:0)-(n[2]?+n[2]:0)):0;return parseFloat(e.toFixed(i))}var n;return Math.round(e/t)*t}var g=function(){function t(i,n){e(this,t),p.element(i)?this.element=i:p.string(i)&&(this.element=document.querySelector(i)),p.element(this.element)&&p.empty(this.element.rangeTouch)&&(this.config=Object.assign({},o,n),this.init())}return i(t,[{key:"init",value:function(){t.enabled&&(this.config.addCSS&&(this.element.style.userSelect="none",this.element.style.webKitUserSelect="none",this.element.style.touchAction="manipulation"),this.listeners(!0),this.element.rangeTouch=this)}},{key:"destroy",value:function(){t.enabled&&(this.listeners(!1),this.element.rangeTouch=null)}},{key:"listeners",value:function(e){var t=this,i=e?"addEventListener":"removeEventListener";["touchstart","touchmove","touchend"].forEach(function(e){t.element[i](e,function(e){return t.set(e)},!1)})}},{key:"get",value:function(e){if(!t.enabled||!p.event(e))return null;var i,n=e.target,a=e.changedTouches[0],s=parseFloat(n.getAttribute("min"))||0,o=parseFloat(n.getAttribute("max"))||100,r=parseFloat(n.getAttribute("step"))||1,l=o-s,c=n.getBoundingClientRect(),u=100/c.width*(this.config.thumbWidth/2)/100;return(i=100/c.width*(a.clientX-c.left))<0?i=0:i>100&&(i=100),i<50?i-=(100-2*i)*u:i>50&&(i+=2*(i-50)*u),s+f(l*(i/100),r)}},{key:"set",value:function(e){t.enabled&&p.event(e)&&!e.target.disabled&&(e.preventDefault(),e.target.value=this.get(e),function(e,t){if(e&&t){var i=new Event(t);e.dispatchEvent(i)}}(e.target,"touchend"===e.type?"change":"input"))}}],[{key:"setup",value:function(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=null;if(p.empty(e)||p.string(e)?n=Array.from(document.querySelectorAll(p.string(e)?e:'input[type="range"]')):p.element(e)?n=[e]:p.nodeList(e)?n=Array.from(e):p.array(e)&&(n=e.filter(p.element)),p.empty(n))return null;var a=Object.assign({},o,i);p.string(e)&&a.watch&&new MutationObserver(function(i){Array.from(i).forEach(function(i){Array.from(i.addedNodes).forEach(function(i){if(p.element(i)&&function(){return Array.from(document.querySelectorAll(n)).includes(this)}.call(i,n=e)){var n;new t(i,a)}})})}).observe(document.body,{childList:!0,subtree:!0});return n.map(function(e){return new t(e,i)})}},{key:"enabled",get:function(){return"ontouchstart"in document.documentElement}}]),t}(),y=function(e){return null!=e?e.constructor:null},v=function(e,t){return Boolean(e&&t&&e instanceof t)},b=function(e){return null==e},k=function(e){return y(e)===Object},w=function(e){return y(e)===String},T=function(e){return Array.isArray(e)},A=function(e){return v(e,NodeList)},C=function(e){return b(e)||(w(e)||T(e)||A(e))&&!e.length||k(e)&&!Object.keys(e).length},E={nullOrUndefined:b,object:k,number:function(e){return y(e)===Number&&!Number.isNaN(e)},string:w,boolean:function(e){return y(e)===Boolean},function:function(e){return y(e)===Function},array:T,weakMap:function(e){return v(e,WeakMap)},nodeList:A,element:function(e){return v(e,Element)},textNode:function(e){return y(e)===Text},event:function(e){return v(e,Event)},keyboardEvent:function(e){return v(e,KeyboardEvent)},cue:function(e){return v(e,window.TextTrackCue)||v(e,window.VTTCue)},track:function(e){return v(e,TextTrack)||!b(e)&&w(e.kind)},promise:function(e){return v(e,Promise)},url:function(e){if(v(e,window.URL))return!0;if(!w(e))return!1;var t=e;e.startsWith("http://")&&e.startsWith("https://")||(t="http://".concat(e));try{return!C(new URL(t).hostname)}catch(e){return!1}},empty:C},S=function(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){return e=!0,null}});window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch(e){}return e}();function P(e,t,i){var n=this,a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=arguments.length>5&&void 0!==arguments[5]&&arguments[5];if(e&&"addEventListener"in e&&!E.empty(t)&&E.function(i)){var r=t.split(" "),l=o;S&&(l={passive:s,capture:o}),r.forEach(function(t){n&&n.eventListeners&&a&&n.eventListeners.push({element:e,type:t,callback:i,options:l}),e[a?"addEventListener":"removeEventListener"](t,i,l)})}}function M(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2?arguments[2]:void 0,n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=arguments.length>4&&void 0!==arguments[4]&&arguments[4];P.call(this,e,t,i,!0,n,a)}function N(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2?arguments[2]:void 0,n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=arguments.length>4&&void 0!==arguments[4]&&arguments[4];P.call(this,e,t,i,!1,n,a)}function x(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2?arguments[2]:void 0,a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];P.call(this,e,i,function o(){N(e,i,o,a,s);for(var r=arguments.length,l=new Array(r),c=0;c<r;c++)l[c]=arguments[c];n.apply(t,l)},!0,a,s)}function I(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(E.element(e)&&!E.empty(t)){var a=new CustomEvent(t,{bubbles:i,detail:Object.assign({},n,{plyr:this})});e.dispatchEvent(a)}}function L(e,t){var i=e.length?e:[e];Array.from(i).reverse().forEach(function(e,i){var n=i>0?t.cloneNode(!0):t,a=e.parentNode,s=e.nextSibling;n.appendChild(e),s?a.insertBefore(n,s):a.appendChild(n)})}function _(e,t){E.element(e)&&!E.empty(t)&&Object.entries(t).filter(function(e){var t=a(e,2)[1];return!E.nullOrUndefined(t)}).forEach(function(t){var i=a(t,2),n=i[0],s=i[1];return e.setAttribute(n,s)})}function O(e,t,i){var n=document.createElement(e);return E.object(t)&&_(n,t),E.string(i)&&(n.innerText=i),n}function j(e,t,i,n){E.element(t)&&t.appendChild(O(e,i,n))}function q(e){E.nodeList(e)||E.array(e)?Array.from(e).forEach(q):E.element(e)&&E.element(e.parentNode)&&e.parentNode.removeChild(e)}function D(e){if(E.element(e))for(var t=e.childNodes.length;t>0;)e.removeChild(e.lastChild),t-=1}function F(e,t){return E.element(t)&&E.element(t.parentNode)&&E.element(e)?(t.parentNode.replaceChild(e,t),e):null}function H(e,t){if(!E.string(e)||E.empty(e))return{};var i={},n=t;return e.split(",").forEach(function(e){var t=e.trim(),a=t.replace(".",""),s=t.replace(/[[\]]/g,"").split("="),o=s[0],r=s.length>1?s[1].replace(/["']/g,""):"";switch(t.charAt(0)){case".":E.object(n)&&E.string(n.class)&&(n.class+=" ".concat(a)),i.class=a;break;case"#":i.id=t.replace("#","");break;case"[":i[o]=r}}),i}function R(e,t){if(E.element(e)){var i=t;E.boolean(i)||(i=!e.hidden),i?e.setAttribute("hidden",""):e.removeAttribute("hidden")}}function B(e,t,i){if(E.nodeList(e))return Array.from(e).map(function(e){return B(e,t,i)});if(E.element(e)){var n="toggle";return void 0!==i&&(n=i?"add":"remove"),e.classList[n](t),e.classList.contains(t)}return!1}function V(e,t){return E.element(e)&&e.classList.contains(t)}function U(e,t){return function(){return Array.from(document.querySelectorAll(t)).includes(this)}.call(e,t)}function W(e){return this.elements.container.querySelectorAll(e)}function z(e){return this.elements.container.querySelector(e)}function K(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];E.element(e)&&(e.focus({preventScroll:!0}),t&&B(e,this.config.classNames.tabFocus))}var Y,Q,X,J=(Y=document.createElement("span"),Q={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},X=Object.keys(Q).find(function(e){return void 0!==Y.style[e]}),!!E.string(X)&&Q[X]);function $(e){setTimeout(function(){try{R(e,!0),e.offsetHeight,R(e,!1)}catch(e){}},0)}var G,Z={isIE:!!document.documentMode,isEdge:window.navigator.userAgent.includes("Edge"),isWebkit:"WebkitAppearance"in document.documentElement.style&&!/Edge/.test(navigator.userAgent),isIPhone:/(iPhone|iPod)/gi.test(navigator.platform),isIos:/(iPad|iPhone|iPod)/gi.test(navigator.platform)},ee={"audio/ogg":"vorbis","audio/wav":"1","video/webm":"vp8, vorbis","video/mp4":"avc1.42E01E, mp4a.40.2","video/ogg":"theora"},te={audio:"canPlayType"in document.createElement("audio"),video:"canPlayType"in document.createElement("video"),check:function(e,t,i){var n=Z.isIPhone&&i&&te.playsinline,a=te[e]||"html5"!==t;return{api:a,ui:a&&te.rangeInput&&("video"!==e||!Z.isIPhone||n)}},pip:!(Z.isIPhone||!E.function(O("video").webkitSetPresentationMode)&&(!document.pictureInPictureEnabled||O("video").disablePictureInPicture)),airplay:E.function(window.WebKitPlaybackTargetAvailabilityEvent),playsinline:"playsInline"in document.createElement("video"),mime:function(e){if(E.empty(e))return!1;var t=a(e.split("/"),1)[0],i=e;if(!this.isHTML5||t!==this.type)return!1;Object.keys(ee).includes(i)&&(i+='; codecs="'.concat(ee[e],'"'));try{return Boolean(i&&this.media.canPlayType(i).replace(/no/,""))}catch(e){return!1}},textTracks:"textTracks"in document.createElement("video"),rangeInput:(G=document.createElement("input"),G.type="range","range"===G.type),touch:"ontouchstart"in document.documentElement,transitions:!1!==J,reducedMotion:"matchMedia"in window&&window.matchMedia("(prefers-reduced-motion)").matches};function ie(e){return!!(E.array(e)||E.string(e)&&e.includes(":"))&&(E.array(e)?e:e.split(":")).map(Number).every(E.number)}function ne(e){var t=function(e){return ie(e)?e.split(":").map(Number):null},i=t(e);return null===i&&(i=t(this.config.ratio)),null===i&&!E.empty(this.embed)&&E.string(this.embed.ratio)&&(i=t(this.embed.ratio)),i}function ae(e){if(!this.isVideo)return{};var t=ne.call(this,e),i=a(E.array(t)?t:[0,0],2),n=100/i[0]*i[1];if(this.elements.wrapper.style.paddingBottom="".concat(n,"%"),this.isVimeo&&this.supported.ui){var s=(240-n)/4.8;this.media.style.transform="translateY(-".concat(s,"%)")}else this.isHTML5&&this.elements.wrapper.classList.toggle(this.config.classNames.videoFixedRatio,null!==t);return{padding:n,ratio:t}}var se={getSources:function(){var e=this;return this.isHTML5?Array.from(this.media.querySelectorAll("source")).filter(function(t){var i=t.getAttribute("type");return!!E.empty(i)||te.mime.call(e,i)}):[]},getQualityOptions:function(){return se.getSources.call(this).map(function(e){return Number(e.getAttribute("size"))}).filter(Boolean)},extend:function(){if(this.isHTML5){var e=this;ae.call(e),Object.defineProperty(e.media,"quality",{get:function(){var t=se.getSources.call(e).find(function(t){return t.getAttribute("src")===e.source});return t&&Number(t.getAttribute("size"))},set:function(t){var i=se.getSources.call(e).find(function(e){return Number(e.getAttribute("size"))===t});if(i){var n=e.media,a=n.currentTime,s=n.paused,o=n.preload,r=n.readyState;e.media.src=i.getAttribute("src"),("none"!==o||r)&&(e.once("loadedmetadata",function(){e.currentTime=a,s||e.play()}),e.media.load()),I.call(e,e.media,"qualitychange",!1,{quality:t})}}})}},cancelRequests:function(){this.isHTML5&&(q(se.getSources.call(this)),this.media.setAttribute("src",this.config.blankVideo),this.media.load(),this.debug.log("Cancelled network requests"))}};function oe(e){return E.array(e)?e.filter(function(t,i){return e.indexOf(t)===i}):e}function re(e,t){return t.split(".").reduce(function(e,t){return e&&e[t]},e)}function le(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length,i=new Array(t>1?t-1:0),a=1;a<t;a++)i[a-1]=arguments[a];if(!i.length)return e;var s=i.shift();return E.object(s)?(Object.keys(s).forEach(function(t){E.object(s[t])?(Object.keys(e).includes(t)||Object.assign(e,n({},t,{})),le(e[t],s[t])):Object.assign(e,n({},t,s[t]))}),le.apply(void 0,[e].concat(i))):e}function ce(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];return E.empty(e)?e:e.toString().replace(/{(\d+)}/g,function(e,t){return i[t].toString()})}function ue(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return e.replace(new RegExp(t.toString().replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1"),"g"),i.toString())}function de(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").toString().replace(/\w\S*/g,function(e){return e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()})}function he(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").toString();return(e=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").toString();return e=ue(e,"-"," "),e=ue(e,"_"," "),ue(e=de(e)," ","")}(e)).charAt(0).toLowerCase()+e.slice(1)}function me(e){var t=document.createElement("div");return t.appendChild(e),t.innerHTML}var pe={pip:"PIP",airplay:"AirPlay",html5:"HTML5",vimeo:"Vimeo",youtube:"YouTube"},fe=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(E.empty(e)||E.empty(t))return"";var i=re(t.i18n,e);if(E.empty(i))return Object.keys(pe).includes(e)?pe[e]:"";var n={"{seektime}":t.seekTime,"{title}":t.title};return Object.entries(n).forEach(function(e){var t=a(e,2),n=t[0],s=t[1];i=ue(i,n,s)}),i},ge=function(){function t(i){e(this,t),this.enabled=i.config.storage.enabled,this.key=i.config.storage.key}return i(t,[{key:"get",value:function(e){if(!t.supported||!this.enabled)return null;var i=window.localStorage.getItem(this.key);if(E.empty(i))return null;var n=JSON.parse(i);return E.string(e)&&e.length?n[e]:n}},{key:"set",value:function(e){if(t.supported&&this.enabled&&E.object(e)){var i=this.get();E.empty(i)&&(i={}),le(i,e),window.localStorage.setItem(this.key,JSON.stringify(i))}}}],[{key:"supported",get:function(){try{if(!("localStorage"in window))return!1;return window.localStorage.setItem("___test","___test"),window.localStorage.removeItem("___test"),!0}catch(e){return!1}}}]),t}();function ye(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"text";return new Promise(function(i,n){try{var a=new XMLHttpRequest;if(!("withCredentials"in a))return;a.addEventListener("load",function(){if("text"===t)try{i(JSON.parse(a.responseText))}catch(e){i(a.responseText)}else i(a.response)}),a.addEventListener("error",function(){throw new Error(a.status)}),a.open("GET",e,!0),a.responseType=t,a.send()}catch(e){n(e)}})}function ve(e,t){if(E.string(e)){var i=E.string(t),n=function(){return null!==document.getElementById(t)},a=function(e,t){e.innerHTML=t,i&&n()||document.body.insertAdjacentElement("afterbegin",e)};if(!i||!n()){var s=ge.supported,o=document.createElement("div");if(o.setAttribute("hidden",""),i&&o.setAttribute("id",t),s){var r=window.localStorage.getItem("".concat("cache","-").concat(t));if(null!==r){var l=JSON.parse(r);a(o,l.content)}}ye(e).then(function(e){E.empty(e)||(s&&window.localStorage.setItem("".concat("cache","-").concat(t),JSON.stringify({content:e})),a(o,e))}).catch(function(){})}}}var be=function(e){return Math.trunc(e/60/60%60,10)},ke=function(e){return Math.trunc(e/60%60,10)},we=function(e){return Math.trunc(e%60,10)};function Te(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!E.number(e))return Te(null,t,i);var n=function(e){return"0".concat(e).slice(-2)},a=be(e),s=ke(e),o=we(e);return a=t||a>0?"".concat(a,":"):"","".concat(i&&e>0?"-":"").concat(a).concat(n(s),":").concat(n(o))}var Ae={getIconUrl:function(){var e=new URL(this.config.iconUrl,window.location).host!==window.location.host||Z.isIE&&!window.svg4everybody;return{url:this.config.iconUrl,cors:e}},findElements:function(){try{return this.elements.controls=z.call(this,this.config.selectors.controls.wrapper),this.elements.buttons={play:W.call(this,this.config.selectors.buttons.play),pause:z.call(this,this.config.selectors.buttons.pause),restart:z.call(this,this.config.selectors.buttons.restart),rewind:z.call(this,this.config.selectors.buttons.rewind),fastForward:z.call(this,this.config.selectors.buttons.fastForward),mute:z.call(this,this.config.selectors.buttons.mute),pip:z.call(this,this.config.selectors.buttons.pip),airplay:z.call(this,this.config.selectors.buttons.airplay),settings:z.call(this,this.config.selectors.buttons.settings),captions:z.call(this,this.config.selectors.buttons.captions),fullscreen:z.call(this,this.config.selectors.buttons.fullscreen)},this.elements.progress=z.call(this,this.config.selectors.progress),this.elements.inputs={seek:z.call(this,this.config.selectors.inputs.seek),volume:z.call(this,this.config.selectors.inputs.volume)},this.elements.display={buffer:z.call(this,this.config.selectors.display.buffer),currentTime:z.call(this,this.config.selectors.display.currentTime),duration:z.call(this,this.config.selectors.display.duration)},E.element(this.elements.progress)&&(this.elements.display.seekTooltip=this.elements.progress.querySelector(".".concat(this.config.classNames.tooltip))),!0}catch(e){return this.debug.warn("It looks like there is a problem with your custom controls HTML",e),this.toggleNativeControls(!0),!1}},createIcon:function(e,t){var i=Ae.getIconUrl.call(this),n="".concat(i.cors?"":i.url,"#").concat(this.config.iconPrefix),a=document.createElementNS("http://www.w3.org/2000/svg","svg");_(a,le(t,{role:"presentation",focusable:"false"}));var s=document.createElementNS("http://www.w3.org/2000/svg","use"),o="".concat(n,"-").concat(e);return"href"in s&&s.setAttributeNS("http://www.w3.org/1999/xlink","href",o),s.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",o),a.appendChild(s),a},createLabel:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=fe(e,this.config);return O("span",Object.assign({},t,{class:[t.class,this.config.classNames.hidden].filter(Boolean).join(" ")}),i)},createBadge:function(e){if(E.empty(e))return null;var t=O("span",{class:this.config.classNames.menu.value});return t.appendChild(O("span",{class:this.config.classNames.menu.badge},e)),t},createButton:function(e,t){var i=Object.assign({},t),n=he(e),a={element:"button",toggle:!1,label:null,icon:null,labelPressed:null,iconPressed:null};switch(["element","icon","label"].forEach(function(e){Object.keys(i).includes(e)&&(a[e]=i[e],delete i[e])}),"button"!==a.element||Object.keys(i).includes("type")||(i.type="button"),Object.keys(i).includes("class")?i.class.includes(this.config.classNames.control)||(i.class+=" ".concat(this.config.classNames.control)):i.class=this.config.classNames.control,e){case"play":a.toggle=!0,a.label="play",a.labelPressed="pause",a.icon="play",a.iconPressed="pause";break;case"mute":a.toggle=!0,a.label="mute",a.labelPressed="unmute",a.icon="volume",a.iconPressed="muted";break;case"captions":a.toggle=!0,a.label="enableCaptions",a.labelPressed="disableCaptions",a.icon="captions-off",a.iconPressed="captions-on";break;case"fullscreen":a.toggle=!0,a.label="enterFullscreen",a.labelPressed="exitFullscreen",a.icon="enter-fullscreen",a.iconPressed="exit-fullscreen";break;case"play-large":i.class+=" ".concat(this.config.classNames.control,"--overlaid"),n="play",a.label="play",a.icon="play";break;default:E.empty(a.label)&&(a.label=n),E.empty(a.icon)&&(a.icon=e)}var s=O(a.element);return a.toggle?(s.appendChild(Ae.createIcon.call(this,a.iconPressed,{class:"icon--pressed"})),s.appendChild(Ae.createIcon.call(this,a.icon,{class:"icon--not-pressed"})),s.appendChild(Ae.createLabel.call(this,a.labelPressed,{class:"label--pressed"})),s.appendChild(Ae.createLabel.call(this,a.label,{class:"label--not-pressed"}))):(s.appendChild(Ae.createIcon.call(this,a.icon)),s.appendChild(Ae.createLabel.call(this,a.label))),le(i,H(this.config.selectors.buttons[n],i)),_(s,i),"play"===n?(E.array(this.elements.buttons[n])||(this.elements.buttons[n]=[]),this.elements.buttons[n].push(s)):this.elements.buttons[n]=s,s},createRange:function(e,t){var i=O("input",le(H(this.config.selectors.inputs[e]),{type:"range",min:0,max:100,step:.01,value:0,autocomplete:"off",role:"slider","aria-label":fe(e,this.config),"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":0},t));return this.elements.inputs[e]=i,Ae.updateRangeFill.call(this,i),g.setup(i),i},createProgress:function(e,t){var i=O("progress",le(H(this.config.selectors.display[e]),{min:0,max:100,value:0,role:"progressbar","aria-hidden":!0},t));if("volume"!==e){i.appendChild(O("span",null,"0"));var n={played:"played",buffer:"buffered"}[e],a=n?fe(n,this.config):"";i.innerText="% ".concat(a.toLowerCase())}return this.elements.display[e]=i,i},createTime:function(e){var t=H(this.config.selectors.display[e]),i=O("div",le(t,{class:"".concat(this.config.classNames.display.time," ").concat(t.class?t.class:"").trim(),"aria-label":fe(e,this.config)}),"00:00");return this.elements.display[e]=i,i},bindMenuItemShortcuts:function(e,t){var i=this;M(e,"keydown keyup",function(n){if([32,38,39,40].includes(n.which)&&(n.preventDefault(),n.stopPropagation(),"keydown"!==n.type)){var a,s=U(e,'[role="menuitemradio"]');if(!s&&[32,39].includes(n.which))Ae.showMenuPanel.call(i,t,!0);else 32!==n.which&&(40===n.which||s&&39===n.which?(a=e.nextElementSibling,E.element(a)||(a=e.parentNode.firstElementChild)):(a=e.previousElementSibling,E.element(a)||(a=e.parentNode.lastElementChild)),K.call(i,a,!0))}},!1),M(e,"keyup",function(e){13===e.which&&Ae.focusFirstMenuItem.call(i,null,!0)})},createMenuItem:function(e){var t=this,i=e.value,n=e.list,a=e.type,s=e.title,o=e.badge,r=void 0===o?null:o,l=e.checked,c=void 0!==l&&l,u=H(this.config.selectors.inputs[a]),d=O("button",le(u,{type:"button",role:"menuitemradio",class:"".concat(this.config.classNames.control," ").concat(u.class?u.class:"").trim(),"aria-checked":c,value:i})),h=O("span");h.innerHTML=s,E.element(r)&&h.appendChild(r),d.appendChild(h),Object.defineProperty(d,"checked",{enumerable:!0,get:function(){return"true"===d.getAttribute("aria-checked")},set:function(e){e&&Array.from(d.parentNode.children).filter(function(e){return U(e,'[role="menuitemradio"]')}).forEach(function(e){return e.setAttribute("aria-checked","false")}),d.setAttribute("aria-checked",e?"true":"false")}}),this.listeners.bind(d,"click keyup",function(e){if(!E.keyboardEvent(e)||32===e.which){switch(e.preventDefault(),e.stopPropagation(),d.checked=!0,a){case"language":t.currentTrack=Number(i);break;case"quality":"Auto"==i?t.config.shakaInstance.configure({abr:{enabled:!0}}):(t.config.shakaInstance.configure({abr:{enabled:!1}}),t.selectedQuality,t.config.shakaInstance.selectVariantTrack(t.config.mpdFiles[t.config.qualities.indexOf(i)],!0),t.config.audio.selected&&t.config.shakaInstance.selectAudioLanguage(t.config.audio.selected)),t.selectedQuality=i,Ae.updateSetting.call(t,"quality",null,i);break;case"audio":t.config.shakaInstance.selectAudioLanguage(i),t.config.audio.selected=i,Ae.updateSetting.call(t,"audio",null,i);break;case"speed":t.speed=parseFloat(i)}Ae.showMenuPanel.call(t,"home",E.keyboardEvent(e))}},a,!1),Ae.bindMenuItemShortcuts.call(this,d,a),n.appendChild(d)},formatTime:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return E.number(e)?Te(e,be(this.duration)>0,t):e},updateTimeDisplay:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];E.element(e)&&E.number(t)&&(e.innerText=Ae.formatTime(t,i))},updateVolume:function(){this.supported.ui&&(E.element(this.elements.inputs.volume)&&Ae.setRange.call(this,this.elements.inputs.volume,this.muted?0:this.volume),E.element(this.elements.buttons.mute)&&(this.elements.buttons.mute.pressed=this.muted||0===this.volume))},setRange:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;E.element(e)&&(e.value=t,Ae.updateRangeFill.call(this,e))},updateProgress:function(e){var t=this;if(this.supported.ui&&E.event(e)){var i,n,a=0;if(e)switch(e.type){case"timeupdate":case"seeking":case"seeked":i=this.currentTime,n=this.duration,a=0===i||0===n||Number.isNaN(i)||Number.isNaN(n)?0:(i/n*100).toFixed(2),"timeupdate"===e.type&&Ae.setRange.call(this,this.elements.inputs.seek,a);break;case"playing":case"progress":!function(e,i){var n=E.number(i)?i:0,a=E.element(e)?e:t.elements.display.buffer;if(E.element(a)){a.value=n;var s=a.getElementsByTagName("span")[0];E.element(s)&&(s.childNodes[0].nodeValue=n)}}(this.elements.display.buffer,100*this.buffered)}}},updateRangeFill:function(e){var t=E.event(e)?e.target:e;if(E.element(t)&&"range"===t.getAttribute("type")){if(U(t,this.config.selectors.inputs.seek)){t.setAttribute("aria-valuenow",this.currentTime);var i=Ae.formatTime(this.currentTime),n=Ae.formatTime(this.duration),a=fe("seekLabel",this.config);t.setAttribute("aria-valuetext",a.replace("{currentTime}",i).replace("{duration}",n))}else if(U(t,this.config.selectors.inputs.volume)){var s=100*t.value;t.setAttribute("aria-valuenow",s),t.setAttribute("aria-valuetext","".concat(s.toFixed(1),"%"))}else t.setAttribute("aria-valuenow",t.value);Z.isWebkit&&t.style.setProperty("--value","".concat(t.value/t.max*100,"%"))}},updateSeekTooltip:function(e){var t=this;if(this.config.tooltips.seek&&E.element(this.elements.inputs.seek)&&E.element(this.elements.display.seekTooltip)&&0!==this.duration){var i=0,n=this.elements.progress.getBoundingClientRect(),a="".concat(this.config.classNames.tooltip,"--visible"),s=function(e){B(t.elements.display.seekTooltip,a,e)};if(this.touch)s(!1);else{if(E.event(e))i=100/n.width*(e.pageX-n.left);else{if(!V(this.elements.display.seekTooltip,a))return;i=parseFloat(this.elements.display.seekTooltip.style.left,10)}i<0?i=0:i>100&&(i=100),Ae.updateTimeDisplay.call(this,this.elements.display.seekTooltip,this.duration/100*i),this.elements.display.seekTooltip.style.left="".concat(i,"%"),E.event(e)&&["mouseenter","mouseleave"].includes(e.type)&&s("mouseenter"===e.type)}}},timeUpdate:function(e){var t=!E.element(this.elements.display.duration)&&this.config.invertTime;Ae.updateTimeDisplay.call(this,this.elements.display.currentTime,t?this.duration-this.currentTime:this.currentTime,t),e&&"timeupdate"===e.type&&this.media.seeking||Ae.updateProgress.call(this,e)},durationUpdate:function(){if(this.supported.ui&&(this.config.invertTime||!this.currentTime)){if(this.duration>=Math.pow(2,32))return R(this.elements.display.currentTime,!0),void R(this.elements.progress,!0);E.element(this.elements.inputs.seek)&&this.elements.inputs.seek.setAttribute("aria-valuemax",this.duration);var e=E.element(this.elements.display.duration);!e&&this.config.displayDuration&&this.paused&&Ae.updateTimeDisplay.call(this,this.elements.display.currentTime,this.duration),e&&Ae.updateTimeDisplay.call(this,this.elements.display.duration,this.duration),Ae.updateSeekTooltip.call(this)}},toggleMenuButton:function(e,t){R(this.elements.settings.buttons[e],!t)},updateSetting:function(e,t,i){var n=this.elements.settings.panels[e],a=null,s=t;if("captions"===e)a=this.currentTrack;else{if(a=E.empty(i)?this[e]:i,E.empty(a)&&(a=this.config[e].default),!E.empty(this.options[e])&&!this.options[e].includes(a))return void this.debug.warn("Unsupported value of '".concat(a,"' for ").concat(e));if(!this.config[e].options.includes(a))return void this.debug.warn("Disabled value of '".concat(a,"' for ").concat(e))}if(E.element(s)||(s=n&&n.querySelector('[role="menu"]')),E.element(s)){this.elements.settings.buttons[e].querySelector(".".concat(this.config.classNames.menu.value)).innerHTML=Ae.getLabel.call(this,e,a);var o=s&&s.querySelector('[value="'.concat(a,'"]'));E.element(o)&&(o.checked=!0)}},getLabel:function(e,t){switch(e){case"speed":return 1===t?fe("normal",this.config):"".concat(t,"×");case"quality":if("Auto"==t)return"Auto";if(E.number(t)){var i=fe("qualityLabel.".concat(t),this.config);return i.length?i:"".concat(t,"p")}return de(t);case"audio":return this.config.audio.selected;case"captions":return Se.getLabel.call(this);default:return null}},setQualityMenu:function(e){var t=this;if(E.element(this.elements.settings.panels.quality)){var i=this.elements.settings.panels.quality.querySelector('[role="menu"]');E.array(e)&&(this.options.quality=oe(e).filter(function(e){return t.config.quality.options.includes(e)}));var n=!E.empty(this.options.quality)&&this.options.quality.length>1;if(Ae.toggleMenuButton.call(this,"quality",n),D(i),Ae.checkMenu.call(this),n){var a=function(e){var i=fe("qualityBadge.".concat(e),t.config);return i.length?Ae.createBadge.call(t,i):null};this.options.quality.sort(function(e,i){var n=t.config.quality.options;return n.indexOf(e)>n.indexOf(i)?1:-1}).forEach(function(e){Ae.createMenuItem.call(t,{value:e,list:i,type:"quality",title:Ae.getLabel.call(t,"quality",e),badge:a(e)})}),Ae.updateSetting.call(this,"quality",i)}}},setAudioMenu:function(e){var t=this;if(E.element(this.elements.settings.panels.audio)){var i=this.elements.settings.panels.audio.querySelector('[role="menu"]');E.array(e)&&(this.options.audio=oe(e).filter(function(e){return t.config.audio.options.includes(e)}));var n=!E.empty(this.options.audio)&&this.options.audio.length>1;Ae.toggleMenuButton.call(this,"audio",n),D(i),Ae.checkMenu.call(this),n&&(this.options.audio.sort(function(e,i){var n=t.config.audio.options;return n.indexOf(e)>n.indexOf(i)?1:-1}).forEach(function(e){Ae.createMenuItem.call(t,{value:e,list:i,type:"audio",title:e})}),Ae.updateSetting.call(this,"audio",i,this.config.audio.selected))}},setCaptionsMenu:function(){var e=this;if(E.element(this.elements.settings.panels.captions)){var t=this.elements.settings.panels.captions.querySelector('[role="menu"]'),i=Se.getTracks.call(this),n=Boolean(i.length);if(Ae.toggleMenuButton.call(this,"captions",n),D(t),Ae.checkMenu.call(this),n){var a=i.map(function(i,n){return{value:n,checked:e.captions.toggled&&e.currentTrack===n,title:Se.getLabel.call(e,i),badge:i.language&&Ae.createBadge.call(e,i.language.toUpperCase()),list:t,type:"language"}});a.unshift({value:-1,checked:!this.captions.toggled,title:fe("disabled",this.config),list:t,type:"language"}),a.forEach(Ae.createMenuItem.bind(this)),Ae.updateSetting.call(this,"captions",t)}}},setSpeedMenu:function(e){var t=this;if(E.element(this.elements.settings.panels.speed)){var i=this.elements.settings.panels.speed.querySelector('[role="menu"]');E.array(e)?this.options.speed=e:(this.isHTML5||this.isVimeo)&&(this.options.speed=[.5,.75,1,1.25,1.5,1.75,2]),this.options.speed=this.options.speed.filter(function(e){return t.config.speed.options.includes(e)});var n=!E.empty(this.options.speed)&&this.options.speed.length>1;Ae.toggleMenuButton.call(this,"speed",n),D(i),Ae.checkMenu.call(this),n&&(this.options.speed.forEach(function(e){Ae.createMenuItem.call(t,{value:e,list:i,type:"speed",title:Ae.getLabel.call(t,"speed",e)})}),Ae.updateSetting.call(this,"speed",i))}},checkMenu:function(){var e=this.elements.settings.buttons,t=!E.empty(e)&&Object.values(e).some(function(e){return!e.hidden});R(this.elements.settings.menu,!t)},focusFirstMenuItem:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!this.elements.settings.popup.hidden){var i=e;E.element(i)||(i=Object.values(this.elements.settings.panels).find(function(e){return!e.hidden}));var n=i.querySelector('[role^="menuitem"]');K.call(this,n,t)}},toggleMenu:function(e){var t=this.elements.settings.popup,i=this.elements.buttons.settings;if(E.element(t)&&E.element(i)){var n=t.hidden,a=n;if(E.boolean(e))a=e;else if(E.keyboardEvent(e)&&27===e.which)a=!1;else if(E.event(e)){var s=t.contains(e.target);if(s||!s&&e.target!==i&&a)return}i.setAttribute("aria-expanded",a),R(t,!a),B(this.elements.container,this.config.classNames.menu.open,a),a&&E.keyboardEvent(e)?Ae.focusFirstMenuItem.call(this,null,!0):a||n||K.call(this,i,E.keyboardEvent(e))}},getMenuSize:function(e){var t=e.cloneNode(!0);t.style.position="absolute",t.style.opacity=0,t.removeAttribute("hidden"),e.parentNode.appendChild(t);var i=t.scrollWidth,n=t.scrollHeight;return q(t),{width:i,height:n}},showMenuPanel:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=document.getElementById("plyr-settings-".concat(this.id,"-").concat(t));if(E.element(n)){var a=n.parentNode,s=Array.from(a.children).find(function(e){return!e.hidden});if(te.transitions&&!te.reducedMotion){a.style.width="".concat(s.scrollWidth,"px"),a.style.height="".concat(s.scrollHeight,"px");var o=Ae.getMenuSize.call(this,n);M.call(this,a,J,function t(i){i.target===a&&["width","height"].includes(i.propertyName)&&(a.style.width="",a.style.height="",N.call(e,a,J,t))}),a.style.width="".concat(o.width,"px"),a.style.height="".concat(o.height,"px")}R(s,!0),R(n,!1),Ae.focusFirstMenuItem.call(this,n,i)}},setDownloadLink:function(){var e=this.elements.buttons.download;E.element(e)&&e.setAttribute("href",this.download)},create:function(e){var t,i=this,n=O("div",H(this.config.selectors.controls.wrapper));if(this.config.controls.includes("restart")&&n.appendChild(Ae.createButton.call(this,"restart")),this.config.controls.includes("rewind")&&n.appendChild(Ae.createButton.call(this,"rewind")),this.config.controls.includes("play")&&n.appendChild(Ae.createButton.call(this,"play")),this.config.controls.includes("fast-forward")&&n.appendChild(Ae.createButton.call(this,"fast-forward")),this.config.controls.includes("progress")){var a=O("div",H(this.config.selectors.progress));if(a.appendChild(Ae.createRange.call(this,"seek",{id:"plyr-seek-".concat(e.id)})),a.appendChild(Ae.createProgress.call(this,"buffer")),this.config.tooltips.seek){var s=O("span",{class:this.config.classNames.tooltip},"00:00");a.appendChild(s),this.elements.display.seekTooltip=s}this.elements.progress=a,n.appendChild(this.elements.progress)}if(this.config.controls.includes("current-time")&&n.appendChild(Ae.createTime.call(this,"currentTime")),this.config.controls.includes("duration")&&n.appendChild(Ae.createTime.call(this,"duration")),this.config.controls.includes("mute")||this.config.controls.includes("volume")){var o=O("div",{class:"plyr__volume"});if(this.config.controls.includes("mute")&&o.appendChild(Ae.createButton.call(this,"mute")),this.config.controls.includes("volume")){var r={max:1,step:.05,value:this.config.volume};o.appendChild(Ae.createRange.call(this,"volume",le(r,{id:"plyr-volume-".concat(e.id)}))),this.elements.volume=o}n.appendChild(o)}if(this.config.controls.includes("captions")&&n.appendChild(Ae.createButton.call(this,"captions")),this.config.controls.includes("settings")&&!E.empty(this.config.settings)){var l=O("div",{class:"plyr__menu",hidden:""});l.appendChild(Ae.createButton.call(this,"settings",{"aria-haspopup":!0,"aria-controls":"plyr-settings-".concat(e.id),"aria-expanded":!1}));var c=O("div",{class:"plyr__menu__container",id:"plyr-settings-".concat(e.id),hidden:""}),u=O("div"),d=O("div",{id:"plyr-settings-".concat(e.id,"-home")}),h=O("div",{role:"menu"});d.appendChild(h),u.appendChild(d),this.elements.settings.panels.home=d,this.config.settings.forEach(function(t){var n=O("button",le(H(i.config.selectors.buttons.settings),{type:"button",class:"".concat(i.config.classNames.control," ").concat(i.config.classNames.control,"--forward"),role:"menuitem","aria-haspopup":!0,hidden:""}));Ae.bindMenuItemShortcuts.call(i,n,t),M(n,"click",function(){Ae.showMenuPanel.call(i,t,!1)});var a=O("span",null,fe(t,i.config));"audio"==t&&(a.innerHTML="Audio");var s=O("span",{class:i.config.classNames.menu.value});s.innerHTML=e[t],a.appendChild(s),n.appendChild(a),h.appendChild(n);var o=O("div",{id:"plyr-settings-".concat(e.id,"-").concat(t),hidden:""}),r=O("button",{type:"button",class:"".concat(i.config.classNames.control," ").concat(i.config.classNames.control,"--back")});r.appendChild(O("span",{"aria-hidden":!0},"audio"==t?"Audio":fe(t,i.config))),r.appendChild(O("span",{class:i.config.classNames.hidden},fe("menuBack",i.config))),M(o,"keydown",function(e){37===e.which&&(e.preventDefault(),e.stopPropagation(),Ae.showMenuPanel.call(i,"home",!0))},!1),M(r,"click",function(){Ae.showMenuPanel.call(i,"home",!1)}),o.appendChild(r),o.appendChild(O("div",{role:"menu"})),u.appendChild(o),i.elements.settings.buttons[t]=n,i.elements.settings.panels[t]=o}),c.appendChild(u),l.appendChild(c),n.appendChild(l),this.elements.settings.popup=c,this.elements.settings.menu=l}if(this.config.controls.includes("pip")&&te.pip&&n.appendChild(Ae.createButton.call(this,"pip")),this.config.controls.includes("airplay")&&te.airplay&&n.appendChild(Ae.createButton.call(this,"airplay")),this.config.controls.includes("download")){var m={element:"a",href:this.download,target:"_blank"},p=this.config.urls.download;!E.url(p)&&this.isEmbed&&le(m,{icon:"logo-".concat(this.provider),label:this.provider}),n.appendChild(Ae.createButton.call(this,"download",m))}(this.config.controls.includes("fullscreen")&&n.appendChild(Ae.createButton.call(this,"fullscreen")),this.config.controls.includes("play-large")&&this.elements.container.appendChild(Ae.createButton.call(this,"play-large")),this.elements.controls=n,this.isHTML5)&&(t=this.config.multipleQualities?this.config.qualities:se.getQualityOptions.call(this),Ae.setQualityMenu.call(this,t));return Ae.setAudioMenu.call(this,this.config.audio.options),Ae.setSpeedMenu.call(this),n},inject:function(){var e=this;if(this.config.loadSprite){var t=Ae.getIconUrl.call(this);t.cors&&ve(t.url,"sprite-plyr")}this.id=Math.floor(1e4*Math.random());var i=null;this.elements.controls=null;var n={id:this.id,seektime:this.config.seekTime,title:this.config.title},s=!0;E.function(this.config.controls)&&(this.config.controls=this.config.controls.call(this,n)),this.config.controls||(this.config.controls=[]),E.element(this.config.controls)||E.string(this.config.controls)?i=this.config.controls:(i=Ae.create.call(this,{id:this.id,seektime:this.config.seekTime,speed:this.speed,quality:this.selectedQuality,audio:this.config.audio.selected,captions:Se.getLabel.call(this)}),s=!1);var o,r=function(e){var t=e;return Object.entries(n).forEach(function(e){var i=a(e,2),n=i[0],s=i[1];t=ue(t,"{".concat(n,"}"),s)}),t};if(s&&(E.string(this.config.controls)?i=r(i):E.element(i)&&(i.innerHTML=r(i.innerHTML))),E.string(this.config.selectors.controls.container)&&(o=document.querySelector(this.config.selectors.controls.container)),E.element(o)||(o=this.elements.container),o[E.element(i)?"insertAdjacentElement":"insertAdjacentHTML"]("afterbegin",i),E.element(this.elements.controls)||Ae.findElements.call(this),!E.empty(this.elements.buttons)){var l=function(t){var i=e.config.classNames.controlPressed;Object.defineProperty(t,"pressed",{enumerable:!0,get:function(){return V(t,i)},set:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];B(t,i,e)}})};Object.values(this.elements.buttons).filter(Boolean).forEach(function(e){E.array(e)||E.nodeList(e)?Array.from(e).filter(Boolean).forEach(l):l(e)})}if(Z.isEdge&&$(o),this.config.tooltips.controls){var c=this.config,u=c.classNames,d=c.selectors,h="".concat(d.controls.wrapper," ").concat(d.labels," .").concat(u.hidden),m=W.call(this,h);Array.from(m).forEach(function(t){B(t,e.config.classNames.hidden,!1),B(t,e.config.classNames.tooltip,!0)})}}};function Ce(e){var t=e;if(!(arguments.length>1&&void 0!==arguments[1])||arguments[1]){var i=document.createElement("a");i.href=t,t=i.href}try{return new URL(t)}catch(e){return null}}function Ee(e){var t=new URLSearchParams;return E.object(e)&&Object.entries(e).forEach(function(e){var i=a(e,2),n=i[0],s=i[1];t.set(n,s)}),t}var Se={setup:function(){if(this.supported.ui)if(!this.isVideo||this.isYouTube||this.isHTML5&&!te.textTracks)E.array(this.config.controls)&&this.config.controls.includes("settings")&&this.config.settings.includes("captions")&&Ae.setCaptionsMenu.call(this);else{var e,t;if(E.element(this.elements.captions)||(this.elements.captions=O("div",H(this.config.selectors.captions)),e=this.elements.captions,t=this.elements.wrapper,E.element(e)&&E.element(t)&&t.parentNode.insertBefore(e,t.nextSibling)),Z.isIE&&window.URL){var i=this.media.querySelectorAll("track");Array.from(i).forEach(function(e){var t=e.getAttribute("src"),i=Ce(t);null!==i&&i.hostname!==window.location.href.hostname&&["http:","https:"].includes(i.protocol)&&ye(t,"blob").then(function(t){e.setAttribute("src",window.URL.createObjectURL(t))}).catch(function(){q(e)})})}var n=oe((navigator.languages||[navigator.language||navigator.userLanguage||"en"]).map(function(e){return e.split("-")[0]})),s=(this.storage.get("language")||this.config.captions.language||"auto").toLowerCase();if("auto"===s)s=a(n,1)[0];var o=this.storage.get("captions");if(E.boolean(o)||(o=this.config.captions.active),Object.assign(this.captions,{toggled:!1,active:o,language:s,languages:n}),this.isHTML5){var r=this.config.captions.update?"addtrack removetrack":"removetrack";M.call(this,this.media.textTracks,r,Se.update.bind(this))}setTimeout(Se.update.bind(this),0)}},update:function(){var e=this,t=Se.getTracks.call(this,!0),i=this.captions,n=i.active,a=i.language,s=i.meta,o=i.currentTrackNode,r=Boolean(t.find(function(e){return e.language===a}));this.isHTML5&&this.isVideo&&t.filter(function(e){return!s.get(e)}).forEach(function(t){e.debug.log("Track added",t),s.set(t,{default:"showing"===t.mode}),t.mode="hidden",M.call(e,t,"cuechange",function(){return Se.updateCues.call(e)})}),(r&&this.language!==a||!t.includes(o))&&(Se.setLanguage.call(this,a),Se.toggle.call(this,n&&r)),B(this.elements.container,this.config.classNames.captions.enabled,!E.empty(t)),(this.config.controls||[]).includes("settings")&&this.config.settings.includes("captions")&&Ae.setCaptionsMenu.call(this)},toggle:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.supported.ui){var i=this.captions.toggled,n=this.config.classNames.captions.active,a=E.nullOrUndefined(e)?!i:e;if(a!==i){if(t||(this.captions.active=a,this.storage.set({captions:a})),!this.language&&a&&!t){var o=Se.getTracks.call(this),r=Se.findTrack.call(this,[this.captions.language].concat(s(this.captions.languages)),!0);return this.captions.language=r.language,void Se.set.call(this,o.indexOf(r))}this.elements.buttons.captions&&(this.elements.buttons.captions.pressed=a),B(this.elements.container,n,a),this.captions.toggled=a,Ae.updateSetting.call(this,"captions"),I.call(this,this.media,a?"captionsenabled":"captionsdisabled")}}},set:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=Se.getTracks.call(this);if(-1!==e)if(E.number(e))if(e in i){if(this.captions.currentTrack!==e){this.captions.currentTrack=e;var n=i[e],a=(n||{}).language;this.captions.currentTrackNode=n,Ae.updateSetting.call(this,"captions"),t||(this.captions.language=a,this.storage.set({language:a})),this.isVimeo&&this.embed.enableTextTrack(a),I.call(this,this.media,"languagechange")}Se.toggle.call(this,!0,t),this.isHTML5&&this.isVideo&&Se.updateCues.call(this)}else this.debug.warn("Track not found",e);else this.debug.warn("Invalid caption argument",e);else Se.toggle.call(this,!1,t)},setLanguage:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(E.string(e)){var i=e.toLowerCase();this.captions.language=i;var n=Se.getTracks.call(this),a=Se.findTrack.call(this,[i]);Se.set.call(this,n.indexOf(a),t)}else this.debug.warn("Invalid language argument",e)},getTracks:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return Array.from((this.media||{}).textTracks||[]).filter(function(i){return!e.isHTML5||t||e.captions.meta.has(i)}).filter(function(e){return["captions","subtitles"].includes(e.kind)})},findTrack:function(e){var t,i=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=Se.getTracks.call(this),s=function(e){return Number((i.captions.meta.get(e)||{}).default)},o=Array.from(a).sort(function(e,t){return s(t)-s(e)});return e.every(function(e){return!(t=o.find(function(t){return t.language===e}))}),t||(n?o[0]:void 0)},getCurrentTrack:function(){return Se.getTracks.call(this)[this.currentTrack]},getLabel:function(e){var t=e;return!E.track(t)&&te.textTracks&&this.captions.toggled&&(t=Se.getCurrentTrack.call(this)),E.track(t)?E.empty(t.label)?E.empty(t.language)?fe("enabled",this.config):e.language.toUpperCase():t.label:fe("disabled",this.config)},updateCues:function(e){if(this.supported.ui)if(E.element(this.elements.captions))if(E.nullOrUndefined(e)||Array.isArray(e)){var t=e;if(!t){var i=Se.getCurrentTrack.call(this);t=Array.from((i||{}).activeCues||[]).map(function(e){return e.getCueAsHTML()}).map(me)}var n=t.map(function(e){return e.trim()}).join("\n");if(n!==this.elements.captions.innerHTML){D(this.elements.captions);var a=O("span",H(this.config.selectors.caption));a.innerHTML=n,this.elements.captions.appendChild(a),I.call(this,this.media,"cuechange")}}else this.debug.warn("updateCues: Invalid input",e);else this.debug.warn("No captions element to render to")}},Pe={enabled:!0,title:"",debug:!1,autoplay:!1,autopause:!0,playsinline:!0,seekTime:10,volume:1,muted:!1,duration:null,displayDuration:!0,invertTime:!0,toggleInvert:!0,ratio:null,clickToPlay:!0,hideControls:!0,resetOnEnd:!1,disableContextMenu:!0,loadSprite:!0,iconPrefix:"plyr",iconUrl:"https://cdn.plyr.io/3.5.3/plyr.svg",blankVideo:"https://cdn.plyr.io/static/blank.mp4",quality:{default:576,options:[4320,2880,2160,1440,1080,720,576,480,360,240]},loop:{active:!1},speed:{selected:1,options:[.5,.75,1,1.25,1.5,1.75,2]},keyboard:{focused:!0,global:!1},tooltips:{controls:!1,seek:!0},captions:{active:!1,language:"auto",update:!1},fullscreen:{enabled:!0,fallback:!0,iosNative:!1},storage:{enabled:!0,key:"plyr"},controls:["play-large","play","progress","current-time","mute","volume","captions","settings","pip","airplay","fullscreen"],settings:["captions","quality","speed"],i18n:{restart:"Restart",rewind:"Rewind {seektime}s",play:"Play",pause:"Pause",fastForward:"Forward {seektime}s",seek:"Seek",seekLabel:"{currentTime} of {duration}",played:"Played",buffered:"Buffered",currentTime:"Current time",duration:"Duration",volume:"Volume",mute:"Mute",unmute:"Unmute",enableCaptions:"Enable captions",disableCaptions:"Disable captions",download:"Download",enterFullscreen:"Enter fullscreen",exitFullscreen:"Exit fullscreen",frameTitle:"Player for {title}",captions:"Captions",settings:"Settings",menuBack:"Go back to previous menu",speed:"Speed",normal:"Normal",quality:"Quality",loop:"Loop",start:"Start",end:"End",all:"All",reset:"Reset",disabled:"Disabled",enabled:"Enabled",advertisement:"Ad",qualityBadge:{2160:"4K",1440:"HD",1080:"HD",720:"HD",576:"SD",480:"SD"}},urls:{download:null,vimeo:{sdk:"https://player.vimeo.com/api/player.js",iframe:"https://player.vimeo.com/video/{0}?{1}",api:"https://vimeo.com/api/v2/video/{0}.json"},youtube:{sdk:"https://www.youtube.com/iframe_api",api:"https://www.googleapis.com/youtube/v3/videos?id={0}&key={1}&fields=items(snippet(title))&part=snippet"},googleIMA:{sdk:"https://imasdk.googleapis.com/js/sdkloader/ima3.js"}},listeners:{seek:null,play:null,pause:null,restart:null,rewind:null,fastForward:null,mute:null,volume:null,captions:null,download:null,fullscreen:null,pip:null,airplay:null,speed:null,quality:null,loop:null,language:null},events:["ended","progress","stalled","playing","waiting","canplay","canplaythrough","loadstart","loadeddata","loadedmetadata","timeupdate","volumechange","play","pause","error","seeking","seeked","emptied","ratechange","cuechange","download","enterfullscreen","exitfullscreen","captionsenabled","captionsdisabled","languagechange","controlshidden","co